:root{
  --font-ui:"Noto Sans CJ","Noto Sans","Segoe UI",sans-serif;
  --green:#10b45b;
  --green-dark:#078744;
  --orange:#ff7a1a;
  --blue:#1976d2;
  --text:#243044;
  --muted:#7b8aa0;
  --line:#e7ebf2;
  --bg:#f7f9fc;
  --card:#ffffff;
  --shadow:0 16px 36px rgba(28,44,68,.08);
  --chart-current:#0aa653;
  --chart-current-soft:#eaf8f0;
  --chart-comparison:#2d6fd3;
  --chart-comparison-soft:#edf4ff;
  --chart-target:#ee932a;
  --chart-target-soft:#fff4e6;
  --chart-projection:#27a9e1;
  --chart-projection-soft:#eaf8fd;
}

/* ==== TELEMETRIA CJ RUPTURA E ABASTECIMENTO POSTGRES V1 ==== */
.supply-page{display:grid;gap:18px;color:#17252d}.supply-hero{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;padding:26px 28px;border-radius:24px;background:linear-gradient(135deg,#132b31,#1e4b4b 62%,#397363);color:#fff;box-shadow:0 18px 40px rgba(16,45,48,.16)}
.supply-eyebrow{font-size:11px;font-weight:800;letter-spacing:.14em;color:#9ee0c5}.supply-hero h2{margin:5px 0 7px;font-size:30px}.supply-hero p{margin:0;color:#d6ebe4;max-width:760px}.supply-cutoff{min-width:185px;padding:14px 17px;border:1px solid rgba(255,255,255,.18);border-radius:16px;background:rgba(255,255,255,.08)}.supply-cutoff span,.supply-cutoff strong{display:block}.supply-cutoff span{font-size:11px;color:#bfe0d5}.supply-cutoff strong{margin-top:4px;font-size:17px}
.supply-kpis{display:grid;grid-template-columns:repeat(6,minmax(135px,1fr));gap:12px}.supply-kpi{position:relative;overflow:hidden;padding:17px;border:1px solid #dde7e5;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(20,52,54,.06)}.supply-kpi:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#2e7d69}.supply-kpi span,.supply-kpi small,.supply-kpi strong{display:block}.supply-kpi span{font-size:12px;color:#63767a}.supply-kpi strong{font-size:25px;margin:6px 0 3px}.supply-kpi small{font-size:11px;color:#87979a;line-height:1.35}.supply-tone-1:before,.supply-tone-3:before{background:#bb4a3c}.supply-tone-2:before{background:#dc8b30}.supply-tone-4:before{background:#596fb0}
.supply-causes{display:flex;gap:10px;overflow:auto;padding-bottom:2px}.supply-causes button{min-width:190px;text-align:left;padding:13px 15px;border:1px solid #dce7e4;border-radius:15px;background:#fff;cursor:pointer;color:#293c42}.supply-causes button:hover{border-color:#2e7d69;transform:translateY(-1px)}.supply-causes span,.supply-causes strong,.supply-causes small{display:block}.supply-causes span{font-size:11px;color:#64777a}.supply-causes strong{font-size:20px;margin:3px 0}.supply-causes small{font-size:10px;color:#8b999b}
.supply-panel{border:1px solid #dce7e4;border-radius:20px;background:#fff;overflow:hidden;box-shadow:0 10px 30px rgba(20,52,54,.06)}.supply-toolbar{display:flex;gap:12px;align-items:flex-end;padding:16px 18px;background:#f7faf9;border-bottom:1px solid #e3ecea}.supply-toolbar label{display:grid;gap:5px;min-width:175px}.supply-toolbar label:first-child{flex:1}.supply-toolbar label span{font-size:11px;font-weight:700;color:#617478}.supply-toolbar input,.supply-toolbar select{height:40px;border:1px solid #cedbd8;border-radius:11px;background:#fff;padding:0 12px;color:#27383d}.supply-toolbar button{height:40px;border:0;border-radius:11px;background:#173b3c;color:#fff;padding:0 20px;font-weight:700;cursor:pointer}.supply-toolbar .supply-check{display:flex;min-width:auto;align-items:center;height:40px}.supply-toolbar .supply-check input{width:17px;height:17px;padding:0}
.supply-table-wrap{overflow:auto}.supply-table{width:100%;border-collapse:collapse;min-width:1280px}.supply-table th{position:sticky;top:0;background:#f8faf9;color:#607276;font-size:10px;text-transform:uppercase;letter-spacing:.05em;text-align:left;padding:12px 13px;border-bottom:1px solid #e2ebe9}.supply-table td{padding:13px;border-bottom:1px solid #edf2f1;font-size:12px;vertical-align:middle}.supply-table tbody tr{cursor:pointer}.supply-table tbody tr:hover{background:#f4faf7}.supply-table td strong,.supply-table td small{display:block}.supply-table td small{margin-top:3px;color:#849397;font-size:10px}.supply-severity{display:inline-flex!important;width:max-content;padding:4px 7px;border-radius:999px;font-size:9px!important;font-weight:800;color:#fff}.supply-severity.critica{background:#b43f34}.supply-severity.alta{background:#d47825}.supply-severity.media{background:#b79a25}.supply-severity.baixa{background:#4e8878}.supply-cause{font-weight:700}.supply-gap{color:#b43f34}.supply-pagination{display:flex;justify-content:space-between;align-items:center;padding:13px 18px;background:#fafcfc;color:#607276;font-size:12px}.supply-pagination div{display:flex;gap:10px;align-items:center}.supply-pagination button{border:1px solid #d4e0dd;border-radius:9px;background:#fff;padding:7px 12px}.supply-error{color:#a6372f!important}.supply-error-card{grid-column:1/-1;padding:18px;border-radius:15px;background:#fff2ef;color:#91352d}.supply-error-card strong,.supply-error-card span{display:block}
.supply-modal{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:24px;background:rgba(10,26,29,.58);backdrop-filter:blur(5px)}.supply-modal>article{position:relative;width:min(1050px,96vw);max-height:92vh;overflow:auto;border-radius:22px;background:#fff;padding:25px;box-shadow:0 30px 80px rgba(0,0,0,.3)}.supply-close{position:absolute;right:18px;top:15px;border:0;background:#eef4f2;width:34px;height:34px;border-radius:50%;font-size:22px;cursor:pointer}.supply-modal header{padding-right:50px}.supply-modal header span{font-size:11px;font-weight:800;color:#2e7d69}.supply-modal header h2{margin:5px 0}.supply-modal header p{margin:0;color:#687a7e}.supply-detail-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:9px;margin:18px 0}.supply-detail-kpis div{padding:13px;border-radius:13px;background:#f4f8f7}.supply-detail-kpis span,.supply-detail-kpis strong{display:block}.supply-detail-kpis span{font-size:10px;color:#718286}.supply-detail-kpis strong{font-size:17px;margin-top:4px}.supply-modal section{margin-top:18px}.supply-modal section h3{margin:0 0 9px}.supply-modal section p{color:#52666a;line-height:1.6}.supply-timeline{display:grid;gap:7px}.supply-timeline>div{display:grid;grid-template-columns:170px 1fr 90px;gap:12px;align-items:center;padding:10px 12px;border:1px solid #e2ebe9;border-radius:11px}.supply-timeline span{color:#64767a;font-size:11px}.supply-timeline em{text-align:right;font-style:normal;font-size:10px;font-weight:700;color:#2e7d69}.supply-detail-loading{padding:50px;text-align:center;color:#637579}
@media(max-width:1200px){.supply-kpis{grid-template-columns:repeat(3,1fr)}.supply-detail-kpis{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.supply-hero{display:block}.supply-cutoff{margin-top:15px}.supply-kpis{grid-template-columns:repeat(2,1fr)}.supply-toolbar{display:grid;grid-template-columns:1fr}.supply-toolbar label{min-width:0}.supply-detail-kpis{grid-template-columns:repeat(2,1fr)}.supply-timeline>div{grid-template-columns:1fr}.supply-timeline em{text-align:left}}
.supply-patterns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.supply-pattern-card{min-width:0;padding:20px;border:1px solid #dce6e4;border-radius:20px;background:#fff;box-shadow:0 12px 28px rgba(20,53,53,.07)}.supply-pattern-card>header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:12px}.supply-pattern-card>header span{font-size:.68rem;font-weight:800;letter-spacing:.12em;color:#397363}.supply-pattern-card h3{margin:3px 0 0;font-size:1.02rem}.supply-pattern-card>header>small{color:#6d7d83;text-align:right}.supply-pattern-list{display:grid}.supply-pattern-list>div{display:grid;grid-template-columns:minmax(0,1fr) 88px 88px;gap:10px;align-items:center;padding:11px 0;border-top:1px solid #edf2f1}.supply-pattern-list>div:first-child{border-top:0}.supply-pattern-list strong,.supply-pattern-list b{display:block}.supply-pattern-list small{display:block;color:#718188;font-size:.74rem}.supply-pattern-list>div>span{text-align:right}.supply-pattern-list .is-alert b{color:#b44032}.supply-inline-error{color:#a33b31}@media(max-width:980px){.supply-patterns{grid-template-columns:1fr}}@media(max-width:620px){.supply-pattern-list>div{grid-template-columns:minmax(0,1fr) 70px 70px}.supply-pattern-card{padding:15px}}
/* ==== FIM TELEMETRIA CJ RUPTURA E ABASTECIMENTO POSTGRES V1 ==== */

*{box-sizing:border-box}

body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:var(--font-ui);
}

.layout{
  display:flex;
  min-height:100vh;
}

.sidebar{
  width:300px;
  min-width:300px;
  background:#ffffff;
  border-right:1px solid var(--line);
  padding:22px 20px 18px;
  display:flex;
  flex-direction:column;
  position:sticky;
  top:0;
  height:100vh;
  overflow:hidden;
}

.brand{
  width:100%;
  min-height:118px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:14px;
}

.brand-logo{
  width:235px;
  max-width:235px;
  height:auto;
  max-height:105px;
  object-fit:contain;
  display:block;
}

.menu{
  display:grid;
  gap:5px;
  position:relative;
  z-index:2;
}

.menu-item{
  border:0;
  background:transparent;
  color:#637286;
  text-align:left;
  padding:12px 15px;
  border-radius:12px;
  font-size:15px;
  font-weight:700;
  cursor:pointer;
  transition:.18s ease;
}

.menu-item:hover,
.menu-item.active{
  background:linear-gradient(135deg,var(--green),#18c764);
  color:#fff;
  box-shadow:0 10px 22px rgba(16,180,91,.22);
}

.sidebar-rpm{
  margin-top:24px;
  position:relative;
  z-index:2;
}

.rpm-title{
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--green-dark);
  margin-bottom:4px;
}

.rpm-subtitle{
  font-size:12px;
  color:var(--muted);
  margin-bottom:10px;
}

.rpm-visual{
  position:relative;
  height:135px;
  border-radius:24px;
  overflow:hidden;
  background:
    linear-gradient(135deg, rgba(16,180,91,.08), rgba(25,118,210,.04) 45%, rgba(255,122,26,.10)),
    #fff;
  border:1px solid #eef2f6;
  box-shadow:0 14px 30px rgba(35,48,68,.07);
}

.rpm-arc{
  position:absolute;
  border-radius:999px 999px 0 0;
  border-bottom:0 !important;
  transform:rotate(-8deg);
}

.arc-green{
  left:-30px;
  bottom:-15px;
  width:220px;
  height:110px;
  border:10px solid rgba(16,180,91,.18);
}

.arc-orange{
  left:-12px;
  bottom:-23px;
  width:250px;
  height:125px;
  border:8px solid rgba(255,122,26,.20);
}

.arc-blue{
  left:20px;
  bottom:-30px;
  width:245px;
  height:120px;
  border:6px solid rgba(25,118,210,.14);
}

.rpm-line{
  position:absolute;
  display:block;
  height:7px;
  border-radius:999px;
  transform:rotate(-25deg);
  left:-38px;
  opacity:.95;
  animation:rpmPulse 3.6s ease-in-out infinite;
}

.line-1{ width:170px; bottom:20px; background:linear-gradient(90deg, rgba(16,180,91,.18), #10b45b); animation-delay:.0s; }
.line-2{ width:205px; bottom:38px; background:linear-gradient(90deg, rgba(16,180,91,.13), #19b85f); animation-delay:.2s; }
.line-3{ width:230px; bottom:58px; background:linear-gradient(90deg, rgba(25,118,210,.10), #1976d2); animation-delay:.4s; }
.line-4{ width:255px; bottom:80px; background:linear-gradient(90deg, rgba(255,122,26,.12), #ff7a1a); animation-delay:.6s; }
.line-5{ width:215px; bottom:102px; background:linear-gradient(90deg, rgba(255,122,26,.10), #ff9b4a); animation-delay:.8s; }

.rpm-dot{
  position:absolute;
  right:18px;
  bottom:24px;
  width:18px;
  height:18px;
  background:var(--orange);
  border-radius:50%;
  box-shadow:0 0 22px rgba(255,122,26,.45);
}

@keyframes rpmPulse{
  0%,100%{transform:rotate(-25deg) translateX(0);opacity:.72}
  50%{transform:rotate(-25deg) translateX(10px);opacity:1}
}

.main{
  flex:1;
  min-width:0;
  padding:0 30px 30px;
}

.topbar{
  min-height:92px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid var(--line);
  gap:20px;
  position:sticky;
  top:0;
  z-index:900;
  background:rgba(247,249,252,.96);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  box-shadow:0 8px 22px rgba(28,44,68,.04);
}

.eyebrow{
  margin:0;
  color:#324055;
  font-weight:900;
  font-size:14px;
}

h1{
  margin:6px 0 0;
  font-size:30px;
  letter-spacing:-.5px;
}

.top-actions{
  display:flex;
  align-items:center;
  gap:11px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

select{
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  padding:11px 12px;
  color:#42516a;
  font-weight:700;
}

.notification{
  width:42px;
  height:42px;
  border-radius:14px;
  background:#fff;
  border:1px solid var(--line);
  display:grid;
  place-items:center;
  position:relative;
  box-shadow:var(--shadow);
}

.notification span{
  position:absolute;
  right:-3px;
  top:-5px;
  background:var(--green);
  color:#fff;
  font-size:11px;
  border-radius:999px;
  padding:2px 6px;
  font-weight:900;
}

.user-box{
  display:flex;
  align-items:center;
  gap:10px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  padding:8px 12px;
  box-shadow:var(--shadow);
}

.avatar{
  width:38px;
  height:38px;
  background:linear-gradient(135deg,var(--green),var(--blue));
  color:#fff;
  border-radius:50%;
  display:grid;
  place-items:center;
  font-weight:900;
}

.user-box strong{
  display:block;
  font-size:14px;
}

.user-box small{
  color:var(--muted);
}

.culture-card{
  margin:22px 0;
  background:linear-gradient(135deg,#ffffff 0%,#f1fbf6 52%,#fff7f0 100%);
  border:1px solid var(--line);
  border-radius:22px;
  padding:23px 26px;
  display:flex;
  justify-content:space-between;
  gap:20px;
  box-shadow:var(--shadow);
}

.culture-card span{
  text-transform:uppercase;
  letter-spacing:.9px;
  color:var(--green);
  font-size:12px;
  font-weight:900;
}

.culture-card h2{
  margin:8px 0;
  font-size:27px;
}

.culture-card p{
  margin:0;
  color:var(--muted);
}

.scope-badge{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:14px 18px;
  min-width:190px;
}

.scope-badge small{
  display:block;
  color:var(--muted);
  font-weight:700;
}

.scope-badge strong{
  color:var(--green-dark);
}

.kpis{
  display:grid;
  grid-template-columns:repeat(4,minmax(190px,1fr));
  gap:16px;
  margin-bottom:20px;
}

.kpi{
  background:#fff;
  border:1px solid var(--line);
  border-radius:20px;
  padding:20px;
  display:grid;
  grid-template-columns:56px 1fr;
  gap:15px;
  position:relative;
  overflow:hidden;
  box-shadow:var(--shadow);
}

.icon{
  width:52px;
  height:52px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#fff;
  font-size:25px;
  font-weight:900;
}

.icon.green{background:linear-gradient(135deg,var(--green),#0c974d)}
.icon.blue{background:linear-gradient(135deg,var(--blue),#0f5fb1)}
.icon.orange{background:linear-gradient(135deg,var(--orange),#f35c00)}

.kpi span{
  font-size:12px;
  color:#5d6b80;
  font-weight:900;
  text-transform:uppercase;
}

.kpi strong{
  display:block;
  margin:8px 0 4px;
  font-size:22px;
}

.kpi small{
  color:var(--muted);
}

.spark{
  position:absolute;
  right:0;
  bottom:0;
  width:155px;
  height:50px;
  opacity:.28;
}

.green-line{background:linear-gradient(160deg,transparent 42%,var(--green) 43%,transparent 47%)}
.blue-line{background:linear-gradient(160deg,transparent 42%,var(--blue) 43%,transparent 47%)}
.orange-line{background:linear-gradient(160deg,transparent 42%,var(--orange) 43%,transparent 47%)}

.dashboard-grid{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(340px,.95fr);
  gap:18px;
}

.panel{
  background:#fff;
  border:1px solid var(--line);
  border-radius:22px;
  padding:22px;
  box-shadow:var(--shadow);
}

.chart-panel{min-height:365px}

.panel-header{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
  margin-bottom:14px;
}

.panel-header h3{
  margin:0;
  font-size:17px;
  text-transform:uppercase;
  letter-spacing:.2px;
}

.panel-header p{
  margin:5px 0 0;
  color:var(--muted);
  font-size:13px;
}

.panel-header a{
  color:var(--green);
  font-weight:900;
  font-size:13px;
}

.mini-filters{
  display:flex;
  gap:8px;
}

.mini-filters button{
  background:#fff;
  border:1px solid var(--line);
  border-radius:10px;
  padding:9px 12px;
  color:#596a80;
  font-weight:800;
}

.chart{height:290px}

.legend{
  display:flex;
  gap:20px;
  margin:3px 0 5px 70px;
  color:#566579;
  font-size:13px;
}

.lg:before{
  content:"";
  display:inline-block;
  width:20px;
  height:3px;
  border-radius:999px;
  margin-right:7px;
  vertical-align:middle;
}

.green-dot:before{background:var(--green)}
.blue-dot:before{background:var(--blue)}
.orange-dot:before{background:var(--orange)}

svg{width:100%;height:250px}
.gridline{stroke:#edf1f7;stroke-width:1}
.line{fill:none;stroke-width:4;stroke-linecap:round}
.green-stroke{stroke:var(--green)}
.blue-stroke{stroke:var(--blue)}
.orange-stroke{stroke:var(--orange)}
.dashed{stroke-dasharray:8 9}

.sales-performance-panel{
  min-height:590px;
  overflow:hidden;
  grid-column:1 / -1;
}

.sales-performance-header{
  align-items:center;
}

.sales-performance-toolbar{
  display:grid;
  grid-template-columns:minmax(190px,.65fr) minmax(380px,1.8fr);
  gap:12px;
  align-items:start;
  padding:12px 0 14px;
  border-top:1px solid #edf1f6;
  border-bottom:1px solid #edf1f6;
}

.sales-control{
  display:grid;
  gap:6px;
  min-width:0;
}

.sales-control > span{
  color:#617087;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
}

.sales-control input{
  width:100%;
  min-width:0;
  min-height:38px;
  border:1px solid #dbe3ed;
  border-radius:7px;
  padding:8px 10px;
  background:#fff;
  color:#17233b;
  font:inherit;
  font-size:13px;
  font-weight:800;
}

.sales-compare-input-wrap{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  min-width:0;
}

.sales-compare-input-wrap.has-comparison{
  grid-template-columns:minmax(0,1fr) 38px;
}

.sales-compare-input-wrap.has-comparison input{
  border-radius:7px 0 0 7px;
}

.sales-compare-input-wrap button{
  min-width:38px;
  border:1px solid #dbe3ed;
  border-left:0;
  border-radius:0 7px 7px 0;
  background:#f5f7fa;
  color:#65758b;
  font:inherit;
  font-size:20px;
  font-weight:700;
  cursor:pointer;
}

.sales-compare-input-wrap button:hover,
.sales-compare-input-wrap button:focus-visible{
  background:#e9eef4;
  color:#17233b;
}

.sales-compare-input-wrap button[hidden]{display:none}

.sales-goal-input-wrap{
  display:grid;
  grid-template-columns:auto minmax(100px,1fr) auto auto;
  align-items:center;
  min-height:38px;
  border:1px solid #dbe3ed;
  border-radius:7px;
  overflow:hidden;
  background:#fff;
}

.sales-goal-input-wrap > span{
  padding-left:10px;
  color:#758197;
  font-size:12px;
  font-weight:900;
}

.sales-goal-input-wrap input{
  min-height:36px;
  border:0;
  border-radius:0;
  box-shadow:none;
}

.sales-goal-input-wrap button{
  align-self:stretch;
  border:0;
  border-left:1px solid #dbe3ed;
  padding:0 13px;
  background:#eefaf3;
  color:#078b44;
  font:inherit;
  font-size:12px;
  font-weight:900;
  cursor:pointer;
}

.sales-goal-input-wrap button:hover,
.sales-goal-input-wrap button:focus-visible{
  background:#dff6e8;
}

.sales-goal-input-wrap button:disabled,
.sales-goal-input-wrap input:disabled{
  cursor:not-allowed;
  opacity:.55;
}

.sales-goal-input-wrap.consolidated{
  grid-template-columns:auto minmax(0,1fr);
  border-color:#cfe8da;
  background:#f3fbf6;
}

.sales-goal-input-wrap.consolidated input{
  cursor:default;
  background:transparent;
  color:#087f40;
  font-size:14px;
  font-weight:950;
}

.sales-goal-hint{
  min-height:15px;
  color:#748198;
  font-size:10px;
  font-weight:750;
  line-height:1.35;
}

.sales-performance-summary{
  position:relative;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
  min-height:310px;
  padding:20px 0 18px;
  border-bottom:1px solid #edf1f6;
}

.sales-performance-summary.target-pending{
  grid-template-columns:minmax(280px,1fr) minmax(220px,.7fr);
}

.sales-executive-legend{
  grid-column:1 / -1;
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  padding-bottom:2px;
  color:#68768b;
  font-size:10px;
  font-weight:850;
}

.sales-executive-legend span{
  border:1px solid #dfe6ef;
  border-radius:4px;
  padding:5px 8px;
  background:#fff;
}

.sales-executive-legend span::before{
  content:"";
  display:inline-block;
  width:16px;
  height:7px;
  margin-right:5px;
  background:var(--chart-current);
}

.sales-executive-legend .comparison::before{background:var(--chart-comparison)}
.sales-executive-legend .target::before{background:var(--chart-target)}
.sales-executive-legend .projection::before{background:var(--chart-projection)}

.sales-executive-group{
  display:grid;
  grid-template-rows:minmax(210px,1fr) auto auto;
  min-width:0;
  text-align:center;
}

.sales-executive-group.single{
  grid-template-rows:minmax(210px,1fr) auto;
}

.sales-executive-bars{
  display:grid;
  grid-template-columns:repeat(var(--bar-count,2),minmax(0,1fr));
  gap:14px;
  align-items:end;
  min-height:210px;
  padding:12px 12% 0;
  border-bottom:1px dashed #dce4ee;
}

.sales-executive-bars[data-count="3"]{
  gap:10px;
  padding-inline:4%;
}

.sales-executive-bars.single{
  grid-template-columns:minmax(0,1fr);
  padding-inline:30%;
}

.sales-executive-column{
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  align-items:center;
  height:100%;
  min-width:0;
}

.sales-executive-column strong{
  margin-bottom:7px;
  color:#14223a;
  font-size:13px;
  font-weight:950;
  white-space:nowrap;
}

.sales-executive-bar{
  width:100%;
  max-width:64px;
  min-height:4px;
  height:var(--bar-height);
  background:var(--chart-current);
}

.sales-executive-column span{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:22px;
  margin-top:7px;
  border-radius:3px;
  padding:3px 5px;
  background:var(--chart-current-soft);
  color:var(--chart-current);
  font-size:9px;
  font-weight:950;
  text-transform:uppercase;
}

.sales-executive-column.comparison strong,
.sales-executive-column.comparison span{color:var(--chart-comparison)}
.sales-executive-column.comparison .sales-executive-bar{background:var(--chart-comparison)}
.sales-executive-column.comparison span{background:var(--chart-comparison-soft)}
.sales-executive-column.target strong,
.sales-executive-column.target span{color:#d97706}
.sales-executive-column.target .sales-executive-bar{background:var(--chart-target)}
.sales-executive-column.target span{background:var(--chart-target-soft)}
.sales-executive-column.projection strong,
.sales-executive-column.projection span{color:#188bbd}
.sales-executive-column.projection .sales-executive-bar{background:var(--chart-projection)}
.sales-executive-column.projection span{background:var(--chart-projection-soft)}

.sales-executive-delta{
  justify-self:center;
  margin-top:9px;
  border-radius:6px;
  padding:5px 9px;
  background:#f0f3f7;
  color:#536176;
  font-size:11px;
  font-weight:950;
}

.sales-executive-delta.positive{background:#e8f8ef;color:#078b44}
.sales-executive-delta.negative{background:#fff0ef;color:#c63535}

.sales-executive-group h4{
  margin:9px 0 0;
  color:#14223a;
  font-size:12px;
  font-weight:950;
}

.sales-executive-empty{
  align-self:center;
  border-left:1px solid #edf1f6;
  padding:24px;
  color:#748198;
  text-align:left;
}

.sales-executive-empty strong,
.sales-executive-empty span{display:block}
.sales-executive-empty strong{margin-bottom:7px;color:#14223a;font-size:14px}
.sales-executive-empty span{font-size:11px;line-height:1.55}

.sales-calendar-strip{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
  padding:14px 0;
}

.sales-calendar-card{
  position:relative;
  display:grid;
  grid-template-columns:auto 1fr;
  grid-template-areas:
    "value label"
    "value detail"
    "note note";
  gap:2px 10px;
  min-width:0;
  min-height:88px;
  border:1px solid #e1e7ef;
  border-radius:8px;
  padding:12px 13px 10px;
  background:#fff;
  box-shadow:0 3px 12px rgba(28,44,68,.045);
}

.sales-calendar-card::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  border-radius:8px 0 0 8px;
  background:#0aa653;
}

.sales-calendar-card.blue::before{background:#2d6fd3}
.sales-calendar-card.orange::before{background:#ee932a}
.sales-calendar-card.holiday::before{background:#8190a6}
.sales-calendar-card.holiday.attention::before{background:#d97706}

.sales-calendar-card.month{
  grid-template-columns:1fr;
  grid-template-areas:
    "label"
    "value"
    "detail"
    "note";
  background:#14223a;
  border-color:#14223a;
}

.sales-calendar-card.month::before{background:#0fbd62}
.sales-calendar-card.month > span{align-self:auto;color:#9fe5bd}
.sales-calendar-card.month > strong{
  align-self:end;
  color:#fff;
  font-size:22px;
  white-space:nowrap;
}
.sales-calendar-card.month > small{color:#e6edf7}
.sales-calendar-card.month > em{border-top-color:rgba(255,255,255,.16);color:#b8c6d9}

.sales-calendar-card > span{
  grid-area:label;
  align-self:end;
  color:#657389;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
}

.sales-calendar-card > strong{
  grid-area:value;
  align-self:center;
  min-width:34px;
  color:#14223a;
  font-size:28px;
  font-weight:950;
  line-height:1;
}

.sales-calendar-card > small{
  grid-area:detail;
  overflow:hidden;
  color:#14223a;
  font-size:10px;
  font-weight:850;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.sales-calendar-card > em{
  grid-area:note;
  margin-top:6px;
  overflow:hidden;
  border-top:1px solid #edf1f6;
  padding-top:6px;
  color:#748198;
  font-size:9px;
  font-style:normal;
  font-weight:800;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.sales-chart-heading{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:center;
  border-top:1px solid #edf1f6;
  padding:15px 0 3px;
}

.sales-chart-heading > div{display:grid;gap:2px}
.sales-chart-heading span{
  color:#078b44;
  font-size:9px;
  font-weight:950;
  text-transform:uppercase;
}
.sales-chart-heading strong{color:#14223a;font-size:14px;font-weight:950}
.sales-chart-heading small{color:#748198;font-size:10px;font-weight:800;text-align:right}

.sales-branch-progress{
  margin-top:6px;
  border-top:1px solid #edf1f6;
}

.sales-branch-progress[hidden]{display:none}
.sales-branch-progress .sales-chart-heading{padding-top:20px}
.sales-branch-progress .sales-chart-heading strong{font-size:18px}
.sales-branch-progress .sales-chart-heading small{font-size:11px}
.sales-branch-bars{overflow:hidden}
.sales-branch-legend{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-start;
  gap:7px;
  padding:12px 0 7px;
  color:#68768b;
  font-size:10px;
  font-weight:850;
}

.sales-branch-legend .legend-item{
  border:1px solid #dfe6ef;
  border-radius:4px;
  padding:5px 8px;
  background:#fff;
}

.sales-branch-legend .legend-item::before{
  content:"";
  display:inline-block;
  width:16px;
  height:7px;
  margin-right:5px;
  background:var(--chart-current);
}
.sales-branch-legend .legend-item.target::before{background:var(--chart-target)}
.sales-branch-legend .legend-item.comparison::before{background:var(--chart-comparison)}
.sales-branch-legend .legend-item.monthly::before{background:var(--chart-target)}
.sales-branch-legend .legend-item.projection::before{background:var(--chart-projection)}

.sales-branch-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:24px 0;
  padding:12px 0 8px;
}

.sales-branch-grid.has-comparison{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:28px 0;
}

.sales-branch-group{
  display:grid;
  grid-template-rows:auto 265px auto;
  min-width:0;
  padding:0 16px 18px;
  border-right:1px dashed #d5dfeb;
  border-bottom:1px dashed #d5dfeb;
  text-align:center;
}

.sales-branch-grid:not(.has-comparison) .sales-branch-group:nth-child(4n),
.sales-branch-grid.has-comparison .sales-branch-group:nth-child(2n){border-right:0}

.sales-branch-plot{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;
  align-items:end;
  border-bottom:1px dashed #dce4ee;
  padding:0 4%;
}

.sales-branch-plot.has-comparison{
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.sales-branch-plot.with-projection{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}

.sales-branch-plot.with-projection.has-comparison{
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:5px;
  padding-inline:0;
}

.sales-branch-column{
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  align-items:center;
  height:100%;
  min-width:0;
}

.sales-branch-column strong{
  margin-bottom:7px;
  color:#078b44;
  font-size:11px;
  font-weight:950;
  white-space:nowrap;
}

.sales-branch-column > div{
  width:100%;
  max-width:34px;
  min-height:3px;
  height:var(--bar-height);
  flex-shrink:0;
  background:var(--chart-current);
}

.sales-branch-column-label{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:22px;
  margin-top:6px;
  border-radius:3px;
  padding:3px 2px;
  background:var(--chart-current-soft);
  color:#078b44;
  font-size:10px;
  font-weight:950;
  line-height:1.1;
  text-align:center;
  text-transform:uppercase;
}

.sales-branch-column.target strong{color:#d97706}
.sales-branch-column.target > div{background:var(--chart-target)}
.sales-branch-column.target .sales-branch-column-label{background:var(--chart-target-soft);color:#d97706}
.sales-branch-column.comparison strong{color:#2d6fd3}
.sales-branch-column.comparison > div{background:var(--chart-comparison)}
.sales-branch-column.comparison .sales-branch-column-label{background:var(--chart-comparison-soft);color:var(--chart-comparison)}
.sales-branch-column.monthly{position:relative;margin-left:4px}
.sales-branch-column.monthly::before{
  content:"";
  position:absolute;
  left:-7px;
  top:18%;
  bottom:28px;
  width:1px;
  background:#dbe4ee;
}
.sales-branch-column.monthly strong{color:#d97706}
.sales-branch-column.monthly > div{background:var(--chart-target)}
.sales-branch-column.monthly .sales-branch-column-label{background:var(--chart-target-soft);color:#d97706}
.sales-branch-column.projection strong{color:#1689a6}
.sales-branch-column.projection > div{background:var(--chart-projection)}
.sales-branch-column.projection .sales-branch-column-label{background:var(--chart-projection-soft);color:#1689a6}
.sales-branch-column.unavailable strong{color:#8190a6}
.sales-branch-column.unavailable > div{min-height:0}
#meta-pace.positive{color:#078b44}
#meta-pace.negative{color:#d97706}
.sales-branch-pace{
  justify-self:center;
  margin-top:9px;
  color:#56657b;
  font-size:11px;
  font-weight:950;
}
.sales-branch-pace.positive{color:#078b44}
.sales-branch-pace.negative{color:#d43d3d}
.sales-branch-statuses{
  display:flex;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  gap:6px 9px;
  margin-top:9px;
}
.sales-branch-statuses .sales-branch-pace{margin-top:0}
.sales-branch-projection-pace{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:4px 8px;
  border-radius:6px;
  background:#eff8fb;
  color:#1689a6;
  font-size:11px;
  font-weight:900;
  line-height:1.2;
}
.sales-branch-projection-pace.positive{background:#eaf8f0;color:#078b44}
.sales-branch-projection-pace.negative{background:#fff1f1;color:#c43d3d}
.sales-branch-group h4{
  margin:0 0 10px;
  border-left:3px solid var(--chart-current);
  padding:2px 0 2px 9px;
  color:#14223a;
  font-size:13px;
  font-weight:950;
  line-height:1.25;
  text-align:left;
}

.sales-chart-loading,
.sales-chart-error{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:#748198;
  font-size:13px;
  font-weight:850;
}

.sales-chart-error{color:#b42318}

.sales-goal-status{min-height:0;color:#078b44;font-size:10px;font-weight:850}
.sales-goal-status.error{color:#b42318}

.ranking-panel{
  grid-column:1 / -1;
}

.ranking-panel #ranking-list{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0 22px;
}

@media(max-width:900px){
  .sales-performance-panel{min-height:0}
  .sales-performance-header{align-items:flex-start}
  .sales-performance-toolbar{grid-template-columns:1fr 1fr}
  .ranking-panel #ranking-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sales-performance-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .sales-calendar-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
  .sales-branch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sales-branch-grid:not(.has-comparison) .sales-branch-group:nth-child(4n){border-right:1px dashed #d5dfeb}
  .sales-branch-grid:not(.has-comparison) .sales-branch-group:nth-child(2n){border-right:0}
}

@media(max-width:560px){
  .sales-performance-header{display:grid;grid-template-columns:1fr}
  .sales-performance-toolbar{grid-template-columns:1fr}
  .sales-goal-field{grid-column:auto}
  .sales-goal-input-wrap{grid-template-columns:auto minmax(90px,1fr) auto}
  .sales-goal-input-wrap #sales-goal-suggestion{grid-column:1 / -1;border-left:0;border-top:1px solid #dbe3ed;min-height:34px}
  .ranking-panel #ranking-list{grid-template-columns:1fr}
  .sales-performance-summary,
  .sales-performance-summary.target-pending{grid-template-columns:1fr;gap:18px}
  .sales-executive-group{grid-template-rows:190px auto auto}
  .sales-executive-bars{min-height:190px;padding-inline:18%}
  .sales-executive-bars[data-count="3"]{gap:8px;padding-inline:2%}
  .sales-executive-empty{border-top:1px solid #edf1f6;border-left:0;padding:16px 0}
  .sales-calendar-strip{grid-template-columns:1fr 1fr;gap:8px}
  .sales-calendar-card.month{grid-column:1 / -1}
  .sales-calendar-card{min-height:82px;padding:10px 10px 9px}
  .sales-calendar-card > strong{font-size:24px}
  .sales-calendar-card.month > strong{font-size:22px}
  .sales-chart-heading{align-items:flex-start}
  .sales-chart-heading small{max-width:42%;line-height:1.35}
  .sales-branch-grid{grid-template-columns:1fr;gap:18px}
  .sales-branch-group,
  .sales-branch-grid:not(.has-comparison) .sales-branch-group:nth-child(4n),
  .sales-branch-grid:not(.has-comparison) .sales-branch-group:nth-child(2n),
  .sales-branch-grid.has-comparison .sales-branch-group:nth-child(2n){
    grid-template-rows:auto 240px auto;
    padding-inline:4px;
    border-right:0;
  }
  .sales-branch-grid.has-comparison .sales-branch-group{grid-template-rows:auto 400px auto}
  .sales-branch-plot.with-projection.has-comparison{
    grid-template-columns:repeat(3,minmax(0,1fr));
    grid-template-rows:repeat(2,minmax(0,1fr));
    gap:10px 8px;
    padding-inline:4%;
  }
  .sales-branch-plot.with-projection.has-comparison .sales-branch-column{
    min-height:0;
  }
  .sales-branch-plot.with-projection.has-comparison .sales-branch-column.monthly{
    grid-column:1 / 2;
    margin-left:0;
  }
  .sales-branch-plot.with-projection.has-comparison .sales-branch-column.projection{
    grid-column:2 / 3;
  }
  .sales-branch-plot.with-projection.has-comparison .sales-branch-column.monthly::before{
    display:none;
  }
  .sales-goal-status{width:100%;margin-left:0}
}

.ranking-panel{min-height:365px}

.rank-item{
  display:grid;
  grid-template-columns:44px 1fr 70px;
  gap:13px;
  align-items:center;
  padding:13px 0;
  border-bottom:1px solid #f0f3f7;
}

.medal{
  width:36px;
  height:36px;
  border-radius:50%;
  display:grid;
  place-items:center;
  font-weight:900;
  color:#fff;
  background:#95a3b5;
}

.medal.gold{background:#f6b329}
.medal.silver{background:#b8c0ca}
.medal.bronze{background:#ce7c3b}

.rank-item strong{font-size:14px}

.rank-item small{
  display:block;
  color:var(--muted);
  margin-top:4px;
}

.progress{
  height:8px;
  background:#eef2f6;
  border-radius:999px;
  margin-top:8px;
  overflow:hidden;
}

.progress div{
  height:100%;
  background:var(--green);
  border-radius:999px;
}

.rank-score{
  text-align:right;
  color:#314157;
  font-weight:900;
}

.campaign-item,.message,.client{
  display:flex;
  align-items:center;
  gap:13px;
  padding:12px 0;
  border-bottom:1px solid #f0f3f7;
}

.campaign-img,.msg-icon,.client-logo{
  width:52px;
  height:52px;
  border-radius:14px;
  display:grid;
  place-items:center;
  color:#fff;
  font-weight:900;
  flex-shrink:0;
}

.campaign-img.green,.msg-icon.green{
  background:linear-gradient(135deg,var(--green),#0c934a);
}

.campaign-img.orange,.msg-icon.orange{
  background:linear-gradient(135deg,var(--orange),#f35a00);
}

.msg-icon.blue,.client-logo.blue{
  background:linear-gradient(135deg,var(--blue),#0f5fb1);
}

.client-logo.orange{background:var(--orange)}
.client-logo.dark{background:#2c3442}

.campaign-item strong,.message strong,.client strong{
  display:block;
  font-size:14px;
}

.campaign-item small,.message small,.client small{
  color:var(--muted);
}

.badge{
  margin-left:auto;
  background:#e9fbf1;
  color:var(--green-dark);
  border:1px solid #c5f0d7;
  border-radius:999px;
  padding:6px 10px;
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
}

.client span{
  margin-left:auto;
  color:var(--green);
  font-weight:900;
  font-size:13px;
}

.page-panel{min-height:360px}

.page-panel p{
  color:var(--muted);
  font-size:17px;
  line-height:1.7;
}

.view{display:none}
.view.active{display:block}

@media(max-height:760px){
  .brand{min-height:88px;margin-bottom:8px}
  .brand-logo{width:210px;max-height:78px}
  .menu-item{padding:10px 14px;font-size:14px}
  .sidebar-rpm{margin-top:14px}
  .rpm-visual{height:105px}
  .rpm-title,.rpm-subtitle{font-size:11px}
}

@media(max-width:1280px){
  .sidebar{width:270px;min-width:270px}
  .brand-logo{width:215px}
  .kpis{grid-template-columns:repeat(2,minmax(220px,1fr))}
  .dashboard-grid{grid-template-columns:1fr}
}

@media(max-width:900px){
  .layout{display:block}
  .sidebar{
    width:100%;
    min-width:0;
    height:auto;
    position:relative;
    overflow:visible;
  }
  .brand{min-height:auto}
  .brand-logo{width:230px;max-height:none}
  .menu{grid-template-columns:repeat(2,1fr)}
  .sidebar-rpm{display:none}
  .main{padding:0 18px 24px}
  .topbar,.culture-card{flex-direction:column;align-items:flex-start}
  .top-actions{justify-content:flex-start}
  .kpis{grid-template-columns:1fr}
}

/* ===== SIDEBAR TELEMETRIA ANIMADA ===== */
.sidebar{
  overflow:hidden !important;
}

.sidebar-rpm{
  margin-top:auto !important;
  width:100% !important;
  height:245px !important;
  min-height:245px !important;
  padding:0 !important;
  position:relative !important;
  z-index:1 !important;
  border-radius:0 !important;
  overflow:hidden !important;
}

.rpm-image{
  width:135% !important;
  height:100% !important;
  position:absolute !important;
  left:-58px !important;
  bottom:-8px !important;
  border:0 !important;
  pointer-events:none !important;
}

/* deixa a arte visível mesmo quando a tela é mais baixa */
@media(max-height:760px){
  .brand{
    min-height:82px !important;
    margin-bottom:8px !important;
  }

  .brand-logo{
    width:205px !important;
    max-height:78px !important;
  }

  .menu-item{
    padding:9px 14px !important;
    font-size:14px !important;
  }

  .sidebar-rpm{
    height:185px !important;
    min-height:185px !important;
  }

  .rpm-image{
    width:140% !important;
    left:-62px !important;
  }
}

/* no mobile, tira a arte para não ocupar espaço */
@media(max-width:900px){
  .sidebar-rpm{
    display:none !important;
  }
}


/* ===== TELEMETRIA V2 SIDEBAR DEFINITIVA ===== */
.sidebar{
  width:300px !important;
  min-width:300px !important;
  background:#ffffff !important;
  border-right:1px solid var(--line) !important;
  padding:18px 20px 0 !important;
  display:flex !important;
  flex-direction:column !important;
  position:sticky !important;
  top:0 !important;
  height:100vh !important;
  overflow:hidden !important;
}

.brand{
  width:100% !important;
  min-height:122px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 0 12px 0 !important;
  padding:0 !important;
  flex-shrink:0 !important;
}

.brand-logo{
  width:238px !important;
  max-width:238px !important;
  max-height:112px !important;
  height:auto !important;
  object-fit:contain !important;
  display:block !important;
}

.menu{
  display:grid !important;
  gap:5px !important;
  position:relative !important;
  z-index:4 !important;
  flex-shrink:0 !important;
}

.menu-item{
  padding:11px 15px !important;
  border-radius:12px !important;
  font-size:14px !important;
}

.sidebar-telemetria-v2{
  margin-top:auto !important;
  width:calc(100% + 40px) !important;
  margin-left:-20px !important;
  height:278px !important;
  min-height:278px !important;
  position:relative !important;
  overflow:hidden !important;
  z-index:1 !important;
  background:linear-gradient(180deg, rgba(255,255,255,0) 0%, #ffffff 16%, #f7fafc 100%) !important;
}

.telemetria-v2-object{
  position:absolute !important;
  left:-14px !important;
  bottom:-8px !important;
  width:114% !important;
  height:110% !important;
  border:0 !important;
  pointer-events:none !important;
}

/* tela com altura menor */
@media(max-height:820px){
  .brand{
    min-height:102px !important;
    margin-bottom:8px !important;
  }

  .brand-logo{
    width:220px !important;
    max-height:92px !important;
  }

  .menu-item{
    padding:9px 14px !important;
    font-size:13px !important;
  }

  .sidebar-telemetria-v2{
    height:230px !important;
    min-height:230px !important;
  }

  .telemetria-v2-object{
    left:-12px !important;
    bottom:-14px !important;
    width:116% !important;
    height:116% !important;
  }
}

/* telas muito baixas */
@media(max-height:700px){
  .sidebar-telemetria-v2{
    height:180px !important;
    min-height:180px !important;
  }

  .brand-logo{
    width:200px !important;
  }
}

@media(max-width:900px){
  .sidebar{
    width:100% !important;
    min-width:0 !important;
    height:auto !important;
    position:relative !important;
    overflow:visible !important;
  }

  .brand{
    min-height:auto !important;
    padding:12px 0 !important;
  }

  .brand-logo{
    width:230px !important;
    max-height:none !important;
  }

  .sidebar-telemetria-v2{
    display:none !important;
  }
}

/* ===== RANKING COMPLETO REAL ===== */
.rank-score small{
  display:block;
  color:var(--muted);
  font-size:10px;
  text-align:right;
}

.rank-score strong{
  display:block;
  font-size:14px;
}

.ranking-full-panel{
  min-height:620px;
}

.ranking-note{
  background:#f6faf8;
  border:1px solid #dff3e8;
  color:#405169;
  border-radius:16px;
  padding:14px 16px;
  margin-bottom:16px;
  font-size:14px;
}

.ranking-note span{
  color:var(--green-dark);
  font-weight:900;
}

.ranking-table-wrap{
  width:100%;
  overflow:auto;
  border:1px solid var(--line);
  border-radius:16px;
}

.ranking-table{
  width:100%;
  min-width:980px;
  border-collapse:collapse;
  font-size:14px;
  background:#fff;
}

.ranking-table thead{
  background:#f8fafc;
}

.ranking-table th{
  text-align:left;
  color:#53637a;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.04em;
  padding:14px 16px;
  border-bottom:1px solid var(--line);
}

.ranking-table td{
  padding:14px 16px;
  border-bottom:1px solid #eef2f6;
  color:#27364d;
}

.ranking-table tr:hover{
  background:#fbfdfc;
}

.pos-cell{
  font-weight:900;
  color:var(--green-dark);
}

.tm-badge{
  display:inline-flex;
  min-width:78px;
  justify-content:center;
  padding:6px 10px;
  border-radius:999px;
  font-weight:900;
}

.tm-badge.ok{
  background:#e9fbf1;
  color:#078744;
}

.tm-badge.warn{
  background:#fff6e8;
  color:#c86a00;
}

.tm-badge.danger{
  background:#fff0f0;
  color:#c62828;
}

.mini-progress{
  width:110px;
  height:8px;
  background:#edf2f6;
  border-radius:999px;
  overflow:hidden;
}

.mini-progress div{
  height:100%;
  background:linear-gradient(90deg,var(--green),#42d392);
  border-radius:999px;
}

/* ===== CLIENTES TM BAIXA REAL ===== */
.clientes-full-panel{
  min-height:620px;
}

.clientes-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(180px,1fr));
  gap:12px;
  margin-bottom:16px;
}

.clientes-summary div{
  background:#f8fbfa;
  border:1px solid #dff3e8;
  border-radius:16px;
  padding:14px 16px;
}

.clientes-summary strong{
  display:block;
  font-size:20px;
  color:#243044;
  margin-bottom:3px;
}

.clientes-summary span{
  color:var(--muted);
  font-size:13px;
  font-weight:700;
}

.clientes-table td:nth-child(4){
  min-width:260px;
}

.clientes-table td:nth-child(6){
  min-width:220px;
}

@media(max-width:900px){
  .clientes-summary{
    grid-template-columns:1fr;
  }
}

/* ===== DRILL DOWN / DRILL UP ===== */
.rank-clickable{
  cursor:pointer;
}

.rank-clickable:hover{
  background:#f7fbf9 !important;
}

.rank-clickable.row-open{
  background:#effaf4 !important;
}

.drill-hint{
  display:block;
  color:var(--green-dark);
  font-size:11px;
  font-weight:800;
  margin-top:3px;
}

.drill-row td{
  background:#fbfdfc;
  padding:0 !important;
}

.drill-box{
  margin:0;
  border-top:1px solid #dff3e8;
  border-bottom:1px solid #dff3e8;
  background:linear-gradient(135deg,#ffffff,#f5fbf8);
  padding:18px;
}

.drill-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-bottom:14px;
}

.drill-header strong{
  display:block;
  font-size:16px;
  color:#243044;
}

.drill-header span{
  display:block;
  color:var(--muted);
  font-size:13px;
  margin-top:3px;
}

.drill-btn{
  border:0;
  background:var(--green);
  color:white;
  border-radius:10px;
  padding:10px 13px;
  font-weight:900;
  cursor:pointer;
  margin-left:6px;
}

.drill-btn.secondary{
  background:#eef2f6;
  color:#53637a;
}

.drill-table{
  width:100%;
  border-collapse:collapse;
  background:white;
  border:1px solid var(--line);
  border-radius:14px;
  overflow:hidden;
  font-size:13px;
}

.drill-table th{
  text-align:left;
  padding:11px 12px;
  background:#f8fafc;
  color:#53637a;
  text-transform:uppercase;
  font-size:11px;
  border-bottom:1px solid var(--line);
}

.drill-table td{
  padding:11px 12px !important;
  border-bottom:1px solid #eef2f6;
  background:white;
}

.drill-table small{
  display:block;
  color:var(--muted);
  margin-top:3px;
}

.drill-itens-table{
  min-width:980px;
}

.drill-content{
  overflow:auto;
}

.drill-footer{
  color:var(--muted);
  font-size:12px;
  margin-top:10px;
}

.ranking-table td:nth-child(4) small{
  display:block;
}

#ranking-filial,
#ranking-atualizar{
  display:none !important;
}

/* ===== DRILL CLIENTE -> ITENS ===== */
.client-clickable{
  cursor:pointer;
}

.client-clickable:hover{
  background:#f8fcfa;
}

.client-clickable.client-open{
  background:#effaf4;
}

.client-items-row td{
  padding:0 !important;
  background:#fbfdfc !important;
}

.client-items-box{
  border-top:1px solid #dff3e8;
  border-bottom:1px solid #dff3e8;
  background:linear-gradient(135deg,#ffffff,#f7fbf9);
  padding:15px;
}

.client-items-title{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:baseline;
  margin-bottom:12px;
}

.client-items-title strong{
  color:#243044;
  font-size:15px;
}

.client-items-title span{
  color:var(--muted);
  font-size:12px;
}

.client-items-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(120px,1fr));
  gap:10px;
  margin-bottom:12px;
}

.client-items-summary div{
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px 12px;
}

.client-items-summary strong{
  display:block;
  color:#243044;
  font-size:15px;
}

.client-items-summary span{
  color:var(--muted);
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
}

.client-item-table{
  min-width:920px;
}

.tp-badge{
  display:inline-flex;
  min-width:34px;
  justify-content:center;
  padding:5px 8px;
  border-radius:999px;
  font-weight:900;
}

.tp-badge.ven{
  background:#e9fbf1;
  color:#078744;
}

.tp-badge.dev{
  background:#fff0f0;
  color:#c62828;
}

.drill-help{
  background:#f8fbfa;
  border:1px solid #e4f4ec;
  color:#5d6b80;
  padding:10px 12px;
  border-radius:12px;
  margin-bottom:10px;
  font-size:13px;
  font-weight:700;
}

.seller-workspace {
  width: 100%;
  padding: 4px 0 24px;
}

.seller-workspace-header {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 20px;
  padding: 18px 0;
  border-bottom: 1px solid #dbe5ef;
}

.seller-workspace-header > div > span {
  color: #078744;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.seller-workspace-header h2 {
  margin: 5px 0 2px;
  color: #17223b;
  font-size: 24px;
}

.seller-workspace-header p {
  margin: 0;
  color: #6f7f94;
  font-size: 13px;
}

.seller-workspace-header label {
  display: grid;
  gap: 5px;
  min-width: 230px;
  color: #607087;
  font-size: 11px;
  font-weight: 800;
}

.seller-workspace-header select {
  min-height: 40px;
  border: 1px solid #cfdbe7;
  border-radius: 6px;
  background: #fff;
  color: #243044;
  padding: 0 10px;
}

.seller-workspace-tabs {
  display: flex;
  gap: 4px;
  padding: 14px 0;
  border-bottom: 1px solid #e5ebf1;
}

.seller-workspace-tabs button {
  min-height: 36px;
  padding: 0 14px;
  border: 1px solid #d6e0ea;
  border-radius: 6px;
  background: #fff;
  color: #52647b;
  font-weight: 850;
  cursor: pointer;
}

.seller-workspace-tabs button.active {
  border-color: #078744;
  background: #eaf8f0;
  color: #06723b;
}

.seller-workspace-content {
  max-width: 100%;
  overflow-x: auto;
  padding-top: 14px;
}

.seller-central-loading,
.seller-central-empty {
  min-height: 120px;
  display: grid;
  place-items: center;
  border: 1px solid #d9e3ec;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.97);
  box-shadow: 0 5px 18px rgba(35, 54, 76, 0.06);
  color: #66778d;
  font-size: 14px;
  font-weight: 750;
  text-align: center;
  padding: 24px;
}

.seller-central-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 20px;
}

.seller-central-kpis article {
  min-width: 0;
  min-height: 112px;
  display: grid;
  align-content: center;
  gap: 6px;
  border: 1px solid #dbe4ed;
  border-top: 4px solid #078744;
  border-radius: 8px;
  background: #fff;
  padding: 15px 16px;
}

.seller-central-kpis article:nth-child(2) {
  border-top-color: #2876cf;
}

.seller-central-kpis article:nth-child(3) {
  border-top-color: #f18b21;
}

.seller-central-kpis article:nth-child(4) {
  border-top-color: #17223b;
}

.seller-central-kpis span,
.seller-central-kpis small {
  overflow-wrap: anywhere;
}

.seller-central-kpis span {
  color: #62748a;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.seller-central-kpis strong {
  color: #17223b;
  font-size: 24px;
}

.seller-central-kpis small {
  color: #77879a;
  font-size: 11px;
}

.seller-goal-panel {
  display: grid;
  gap: 14px;
  border-top: 1px solid #dfe7ef;
  border-bottom: 1px solid #dfe7ef;
  margin-bottom: 20px;
  padding: 17px 0;
}

.seller-goal-head,
.seller-goal-foot,
.seller-goal-actions {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 14px;
}

.seller-goal-head span,
.seller-goal-grid span,
.seller-goal-actions label span {
  color: #078744;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.seller-goal-head h3 {
  margin: 3px 0 0;
  color: #17223b;
  font-size: 18px;
}

.seller-goal-head small,
.seller-goal-foot > span,
.seller-goal-status {
  color: #6e7e91;
  font-size: 11px;
}

.seller-goal-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.seller-goal-grid article {
  min-width: 0;
  display: grid;
  gap: 5px;
  border-left: 3px solid #078744;
  background: #f6faf8;
  padding: 12px 13px;
}

.seller-goal-grid article:nth-child(2) {
  border-left-color: #2876cf;
}

.seller-goal-grid article:nth-child(3) {
  border-left-color: #f18b21;
}

.seller-goal-grid article:nth-child(4) {
  border-left-color: #17223b;
}

.seller-goal-grid strong {
  color: #17223b;
  font-size: 19px;
}

.seller-goal-grid small {
  color: #738398;
  font-size: 10px;
}

.seller-goal-grid small.positive {
  color: #087b42;
}

.seller-goal-grid small.negative {
  color: #b7382f;
}

.seller-goal-chart {
  display: grid;
  gap: 10px;
  border: 1px solid #dce5ed;
  border-radius: 8px;
  background: #fff;
  padding: 14px;
}

.seller-goal-chart-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 14px;
}

.seller-goal-chart-head > div {
  display: grid;
  gap: 3px;
}

.seller-goal-chart-head span {
  color: #607187;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.seller-goal-chart-head strong {
  color: #17223b;
  font-size: 24px;
}

.seller-goal-chart-head small {
  color: #6f8094;
  font-size: 14px;
  font-weight: 750;
}

.seller-goal-track {
  position: relative;
  display: flex;
  width: 100%;
  height: 18px;
  overflow: visible;
  border: 1px solid #d9e2eb;
  border-radius: 5px;
  background: #edf2f6;
}

.seller-goal-track > span {
  display: block;
  height: 100%;
}

.seller-goal-track > span:first-child {
  border-radius: 4px 0 0 4px;
}

.seller-goal-track .weekdays {
  background: #078744;
}

.seller-goal-track .saturday {
  background: #2876cf;
}

.seller-goal-track .other {
  background: #22a8c7;
}

.seller-goal-track i {
  position: absolute;
  top: -5px;
  bottom: -5px;
  width: 3px;
  border-radius: 2px;
  background: #f18b21;
  transform: translateX(-1px);
}

.seller-goal-track i::after {
  content: "";
  position: absolute;
  top: -3px;
  left: -3px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #f18b21;
}

.seller-goal-legend {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(175px, 1fr));
  gap: 10px;
}

.seller-goal-legend > div {
  min-width: 0;
  display: grid;
  gap: 5px;
  border-top: 3px solid #8b99aa;
  background: #f5f8fb;
  padding: 12px 13px;
}

.seller-goal-legend > div.monthly {
  border-top-color: #17223b;
  background: #f0f3f7;
}

.seller-goal-legend > div.weekdays {
  border-top-color: #078744;
  background: #ecf8f1;
}

.seller-goal-legend > div.saturday {
  border-top-color: #2876cf;
  background: #edf5ff;
}

.seller-goal-legend > div.other {
  border-top-color: #22a8c7;
  background: #ecf9fc;
}

.seller-goal-legend > div.expected {
  border-top-color: #f18b21;
  background: #fff6e9;
}

.seller-goal-legend > div.realized {
  border-top-color: #0aa65b;
  background: #eaf8f0;
}

.seller-goal-legend > div.positive {
  border-top-color: #078744;
  background: #ecf8f1;
}

.seller-goal-legend > div.negative {
  border-top-color: #c4473e;
  background: #fff1f0;
}

.seller-goal-legend span {
  color: #65768a;
  font-size: 11px;
  font-weight: 850;
  text-transform: uppercase;
}

.seller-goal-legend strong {
  overflow-wrap: anywhere;
  color: #26354a;
  font-size: 17px;
}

.seller-goal-actions {
  align-items: end;
  justify-content: flex-end;
  flex-wrap: wrap;
}

.seller-goal-actions label {
  display: grid;
  gap: 4px;
}

.seller-goal-actions input {
  width: 150px;
  height: 36px;
  border: 1px solid #cfdbe6;
  border-radius: 5px;
  padding: 0 10px;
}

.seller-goal-actions button {
  min-height: 36px;
  border: 1px solid #078744;
  border-radius: 5px;
  background: #078744;
  color: #fff;
  font-weight: 850;
  padding: 0 13px;
  cursor: pointer;
}

.seller-goal-actions button.secondary {
  background: #fff;
  color: #087b42;
}

.seller-goal-actions button:disabled {
  cursor: wait;
  opacity: 0.65;
}

.seller-goal-status {
  min-height: 14px;
}

.seller-central-section {
  border: 1px solid #dfe7ef;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.97);
  box-shadow: 0 5px 18px rgba(35, 54, 76, 0.05);
  padding: 16px;
  margin-bottom: 16px;
}

.seller-central-section-head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 18px;
  margin-bottom: 14px;
}

.seller-central-section-head span {
  color: #078744;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.seller-central-section-head h3 {
  margin: 3px 0 0;
  color: #17223b;
  font-size: 18px;
}

.seller-central-section-head small {
  max-width: 360px;
  color: #6e7e91;
  font-size: 12px;
  text-align: right;
}

.seller-central-table-wrap {
  overflow-x: auto;
  border: 1px solid #dce5ed;
  border-radius: 8px;
}

.seller-central-table {
  width: 100%;
  min-width: 980px;
  border-collapse: collapse;
  background: #fff;
}

.seller-central-table th {
  background: #f5f8fb;
  color: #5b6e84;
  font-size: 11px;
  text-align: left;
  text-transform: uppercase;
  padding: 11px 12px;
}

.seller-central-table td {
  border-top: 1px solid #e5ebf1;
  color: #334157;
  font-size: 12px;
  line-height: 1.4;
  padding: 11px 12px;
  vertical-align: top;
}

.seller-central-table tr.client-clickable {
  cursor: pointer;
}

.seller-central-table tr.client-clickable:hover {
  background: #f3faf6;
}

.seller-central-table td strong,
.seller-central-table td small {
  display: block;
}

.seller-central-table td small {
  margin-top: 3px;
  color: #78889b;
  font-size: 10px;
}

.seller-central-action-cell {
  display: grid;
  gap: 7px;
  align-items: start;
}

.seller-central-action-cell button,
.seller-treatment-reopen {
  width: max-content;
  min-height: 29px;
  border: 1px solid #b8dcca;
  border-radius: 5px;
  background: #eff9f3;
  color: #087542;
  font-size: 10px;
  font-weight: 850;
  padding: 0 9px;
  cursor: pointer;
}

.seller-central-action-cell button:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

.seller-central-return-value {
  color: #b7382f;
}

.seller-central-returns-table {
  min-width: 840px;
}

.seller-central-status {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  border-radius: 5px;
  background: #edf2f7;
  color: #44566c;
  font-size: 10px;
  font-weight: 900;
  padding: 3px 7px;
  text-transform: uppercase;
}

.seller-central-status.atencao,
.seller-central-status.sem_recompra {
  background: #fff4e5;
  color: #a65b08;
}

.seller-central-status.risco {
  background: #fff0df;
  color: #bd5b00;
}

.seller-central-status.inativo {
  background: #fff0ef;
  color: #b7382f;
}

.seller-central-status.em_ritmo,
.seller-central-status.compra_recente {
  background: #e9f8ef;
  color: #087b42;
}

.seller-central-status.ativo_com_equipe {
  background: #e8f2ff;
  color: #1767ad;
}

.seller-central-method {
  display: grid;
  grid-template-columns: 210px minmax(0, 1fr);
  gap: 16px;
  margin-top: 16px;
  border-left: 4px solid #2876cf;
  background: #f4f8fd;
  color: #53677e;
  padding: 13px 15px;
  font-size: 12px;
}

.seller-central-method strong {
  color: #27496f;
}

.seller-central-status-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 10px;
  margin-bottom: 20px;
}

.seller-central-status-strip > div {
  min-width: 0;
  display: grid;
  gap: 3px;
  border: 1px solid #dfe7ef;
  border-top: 3px solid #078744;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.97);
  box-shadow: 0 4px 14px rgba(35, 54, 76, 0.05);
  padding: 13px 14px;
}

.seller-central-status-strip > div + div {
  border-left: 1px solid #dfe7ef;
}

.seller-central-status-strip > div:nth-child(2) { border-top-color: #2476c9; }
.seller-central-status-strip > div:nth-child(3) { border-top-color: #f28c18; }
.seller-central-status-strip > div:nth-child(4) { border-top-color: #17223b; }

.seller-central-status-strip strong {
  color: #17223b;
  font-size: 20px;
}

.seller-central-status-strip span {
  color: #6b7b8e;
  font-size: 11px;
  font-weight: 800;
}

.seller-treatment-history {
  min-width: 850px;
}

.seller-treatment-dialog {
  width: min(620px, calc(100vw - 28px));
  max-height: calc(100vh - 40px);
  overflow: auto;
  border: 1px solid #cbd8e4;
  border-radius: 8px;
  background: #fff;
  color: #26364b;
  padding: 0;
  box-shadow: 0 24px 70px rgba(20, 35, 55, 0.28);
}

.seller-treatment-dialog::backdrop {
  background: rgba(20, 31, 45, 0.52);
}

.seller-treatment-dialog form {
  display: grid;
}

.seller-treatment-dialog header,
.seller-treatment-dialog footer {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 18px;
}

.seller-treatment-dialog header {
  align-items: start;
  border-bottom: 1px solid #e0e7ee;
}

.seller-treatment-dialog header > div {
  display: grid;
  gap: 2px;
}

.seller-treatment-dialog header span {
  color: #078744;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.seller-treatment-dialog header h3 {
  margin: 2px 0 0;
  color: #17223b;
  font-size: 19px;
}

.seller-treatment-dialog header small {
  color: #718196;
  font-size: 11px;
}

.seller-treatment-dialog header button {
  width: 34px;
  height: 34px;
  border: 1px solid #d3dde7;
  border-radius: 5px;
  background: #fff;
  color: #586a80;
  font-size: 22px;
  cursor: pointer;
}

.seller-treatment-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 13px;
  padding: 18px;
}

.seller-treatment-fields label {
  min-width: 0;
  display: grid;
  gap: 5px;
}

.seller-treatment-fields label > span {
  color: #607187;
  font-size: 10px;
  font-weight: 850;
  text-transform: uppercase;
}

.seller-treatment-fields select,
.seller-treatment-fields input,
.seller-treatment-fields textarea {
  width: 100%;
  border: 1px solid #cfd9e4;
  border-radius: 5px;
  background: #fff;
  color: #26364b;
  font: inherit;
  padding: 9px 10px;
}

.seller-treatment-fields select,
.seller-treatment-fields input {
  min-height: 40px;
}

.seller-treatment-fields textarea {
  resize: vertical;
}

.seller-treatment-fields .seller-treatment-note {
  grid-column: 1 / -1;
}

.seller-treatment-dialog footer {
  align-items: center;
  border-top: 1px solid #e0e7ee;
  background: #f7f9fb;
}

.seller-treatment-dialog footer > span {
  color: #a33a32;
  font-size: 11px;
  font-weight: 750;
}

.seller-treatment-dialog footer > div {
  display: flex;
  gap: 8px;
  margin-left: auto;
}

.seller-treatment-dialog footer button {
  min-height: 36px;
  border: 1px solid #078744;
  border-radius: 5px;
  background: #078744;
  color: #fff;
  font-weight: 850;
  padding: 0 13px;
  cursor: pointer;
}

.seller-treatment-dialog footer button.secondary {
  border-color: #cbd6e1;
  background: #fff;
  color: #53657b;
}

.seller-treatment-dialog footer button:disabled {
  cursor: wait;
  opacity: 0.6;
}

.client-360-dialog {
  width: min(1180px, calc(100vw - 30px));
  max-height: calc(100vh - 30px);
  overflow: auto;
  border: 1px solid #c7d4df;
  border-radius: 8px;
  background: #f8fafc;
  color: #25364a;
  padding: 0;
  box-shadow: 0 26px 80px rgba(19, 34, 52, 0.3);
}

.client-360-dialog::backdrop {
  background: rgba(16, 28, 42, 0.58);
}

.client-360-shell {
  min-width: 0;
  background: #f8fafc;
}

.client-360-header {
  position: sticky;
  top: 0;
  z-index: 4;
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 18px;
  border-bottom: 1px solid #d9e2ea;
  background: #fff;
  padding: 18px 22px;
}

.client-360-header > div {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.client-360-header span,
.client-360-section-head span,
.client-360-summary span,
.client-360-goal-line span,
.client-360-inline-form label > span,
.client-360-goal-form label > span {
  color: #078744;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.client-360-header h2 {
  margin: 0;
  color: #17223b;
  font-size: 24px;
  overflow-wrap: anywhere;
}

.client-360-header p {
  margin: 0;
  color: #6c7d90;
  font-size: 12px;
}

.client-360-header > button {
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  border: 1px solid #d0dae4;
  border-radius: 5px;
  background: #fff;
  color: #52657b;
  font-size: 23px;
  cursor: pointer;
}

.client-360-body {
  display: grid;
  gap: 0;
  padding: 0 22px 24px;
}

.client-360-summary {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border-bottom: 1px solid #dce5ed;
  background: #fff;
}

.client-360-summary article {
  min-width: 0;
  display: grid;
  gap: 5px;
  border-top: 4px solid #078744;
  padding: 15px 16px;
}

.client-360-summary article:nth-child(2) {
  border-top-color: #2876cf;
}

.client-360-summary article:nth-child(3) {
  border-top-color: #f18b21;
}

.client-360-summary article:nth-child(4) {
  border-top-color: #17223b;
}

.client-360-summary article:nth-child(5) {
  border-top-color: #b24f49;
}

.client-360-summary article + article {
  border-left: 1px solid #e1e8ef;
}

.client-360-summary-clickable {
  padding: 0 !important;
}

.client-360-summary-button {
  width: 100%;
  min-height: 100%;
  display: grid;
  gap: 5px;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  padding: 15px 16px;
  cursor: pointer;
}

.client-360-summary-clickable:hover,
.client-360-summary-clickable:focus-within {
  background: #f3faf6;
}

.client-360-summary-clickable.is-active {
  background: #e9f7ef;
  box-shadow: inset 0 -3px #078744;
}

.client-360-summary-button:focus-visible {
  outline: 2px solid #078744;
  outline-offset: -2px;
}

.client-360-summary strong {
  color: #17223b;
  font-size: 20px;
  overflow-wrap: anywhere;
}

.client-360-summary small,
.client-360-section-head small,
.client-360-goal-line small,
.client-360-inline-form > small,
.client-360-goal-form > small {
  color: #708195;
  font-size: 11px;
}

.client-360-section {
  border-bottom: 1px solid #dce5ed;
  padding: 20px 0;
}

.client-360-detail-panel[hidden] {
  display: none !important;
}

.client-360-detail-panel {
  margin-top: 12px;
  border: 1px solid #d7e2eb;
  border-left: 4px solid #078744;
  border-radius: 7px;
  background: #f9fcfa;
  padding: 17px 18px;
  scroll-margin-top: 82px;
}

.client-360-detail-panel[data-client-360-detail-panel="devolucoes"] {
  border-left-color: #b24f49;
  background: #fffafa;
}

.client-360-detail-panel[data-client-360-detail-panel="garantias"] {
  border-left-color: #f18b21;
  background: #fffdf8;
}

.client-360-section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 13px;
}

.client-360-section-head > div {
  min-width: 0;
}

.client-360-section-head h3 {
  margin: 3px 0 0;
  color: #17223b;
  font-size: 18px;
}

.client-360-section-head > small {
  max-width: 520px;
  text-align: right;
}

.client-360-section-head > button,
.client-360-inline-form button,
.client-360-goal-form button {
  min-height: 36px;
  border: 1px solid #078744;
  border-radius: 5px;
  background: #078744;
  color: #fff;
  font-size: 11px;
  font-weight: 850;
  padding: 0 13px;
  cursor: pointer;
}

.client-360-section-head > button:disabled,
.client-360-inline-form button:disabled,
.client-360-goal-form button:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

.client-360-section-head > .client-360-detail-close {
  flex: 0 0 34px;
  width: 34px;
  min-height: 34px;
  border-color: #cbd7e2;
  background: #fff;
  color: #52657b;
  font-size: 20px;
  line-height: 1;
  padding: 0;
}

.client-360-section-head > .client-360-detail-close:hover,
.client-360-section-head > .client-360-detail-close:focus-visible {
  border-color: #078744;
  color: #078744;
}

.client-360-history-wrap {
  overflow-x: auto;
  border: 1px solid #d9e3eb;
  border-radius: 7px;
  background: #fff;
}

.client-360-history {
  width: 100%;
  min-width: 900px;
  border-collapse: collapse;
}

.client-360-history th {
  background: #f3f7fa;
  color: #5e7085;
  font-size: 10px;
  text-align: left;
  text-transform: uppercase;
  padding: 10px 11px;
}

.client-360-history td {
  border-top: 1px solid #e5ebf0;
  color: #334258;
  font-size: 12px;
  padding: 9px 11px;
}

.client-360-history td small {
  display: block;
  margin-top: 2px;
  color: #77879a;
  font-size: 10px;
}

.client-360-return {
  color: #b7382f;
  font-weight: 800;
}

.client-360-table-action {
  min-height: 30px;
  border: 1px solid #b9c9d7;
  border-radius: 4px;
  background: #fff;
  color: #315c8f;
  font-size: 10px;
  font-weight: 850;
  padding: 0 9px;
  cursor: pointer;
}

.client-360-guarantee-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid #dce5ed;
  border-bottom: 1px solid #dce5ed;
  background: #fff;
}

.client-360-guarantee-grid article {
  min-width: 0;
  display: grid;
  gap: 5px;
  border-top: 3px solid #b24f49;
  padding: 13px 14px;
}

.client-360-guarantee-grid article:nth-child(2) {
  border-top-color: #f18b21;
}

.client-360-guarantee-grid article:nth-child(3) {
  border-top-color: #2876cf;
}

.client-360-guarantee-grid article:nth-child(4) {
  border-top-color: #17223b;
}

.client-360-guarantee-grid article + article {
  border-left: 1px solid #e1e8ef;
}

.client-360-guarantee-grid span,
.client-360-items-controls label > span {
  color: #687a8f;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.client-360-guarantee-grid strong {
  color: #17223b;
  font-size: 18px;
}

.client-360-guarantee-grid small,
.client-360-rule-note {
  color: #708195;
  font-size: 10px;
}

.client-360-rule-note {
  margin: 9px 0 0;
}

.client-360-profile-form {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto;
  align-items: end;
  gap: 10px;
}

.client-360-profile-form label {
  min-width: 0;
  display: grid;
  gap: 5px;
}

.client-360-profile-form label > span {
  color: #078744;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.client-360-profile-form input,
.client-360-profile-form select {
  width: 100%;
  min-height: 38px;
  border: 1px solid #cbd7e2;
  border-radius: 5px;
  background: #fff;
  color: #26364b;
  font: inherit;
  padding: 8px 9px;
}

.client-360-profile-form button {
  min-height: 38px;
  border: 1px solid #078744;
  border-radius: 5px;
  background: #078744;
  color: #fff;
  font-size: 11px;
  font-weight: 850;
  padding: 0 14px;
  cursor: pointer;
}

.client-360-profile-form button:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

.client-360-profile-form > small {
  grid-column: 1 / -1;
  min-height: 14px;
  color: #708195;
  font-size: 11px;
}

.client-360-profile-status {
  display: flex;
  align-items: center;
  min-height: 32px;
  border: 1px solid #d8e2eb;
  border-radius: 5px;
  background: #f7f9fb;
  padding: 7px 9px;
  font-weight: 750;
}

.client-360-profile-status[data-state="loading"] {
  border-color: #b9d4f4;
  background: #edf6ff;
  color: #1769aa;
}

.client-360-profile-status[data-state="success"] {
  border-color: #8bd3aa;
  background: #edfaf2;
  color: #06763b;
}

.client-360-profile-status[data-state="error"] {
  border-color: #efaaa6;
  background: #fff1f0;
  color: #b42318;
}

.client-360-detail-group {
  border-top: 1px solid #dce5ed;
  padding: 10px 0 0;
  margin-top: 12px;
}

.client-360-detail-group summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  color: #26374d;
  font-size: 12px;
  font-weight: 850;
  padding: 0 2px 10px;
  cursor: pointer;
}

.client-360-detail-group summary span {
  color: #708195;
  font-size: 10px;
  font-weight: 750;
}

.client-360-detail-table {
  min-width: 1020px;
}

.client-360-detail-table.compact {
  min-width: 850px;
}

.client-360-items-head {
  align-items: end;
}

.client-360-items-controls {
  display: flex;
  align-items: end;
  justify-content: flex-end;
  gap: 8px;
}

.client-360-items-controls label {
  display: grid;
  gap: 4px;
}

.client-360-items-controls select {
  min-width: 150px;
  min-height: 36px;
  border: 1px solid #cbd7e2;
  border-radius: 5px;
  background: #fff;
  color: #26364b;
  padding: 6px 8px;
}

.client-360-items-content {
  min-height: 60px;
  color: #718195;
  font-size: 12px;
}

.client-360-items-summary {
  display: grid;
  grid-template-columns: auto auto 1fr;
  align-items: baseline;
  gap: 10px;
  border: 1px solid #d9e3eb;
  border-bottom: 0;
  border-radius: 7px 7px 0 0;
  background: #f3f7fa;
  padding: 10px 12px;
}

.client-360-items-summary span {
  color: #078744;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.client-360-items-summary strong {
  color: #26374d;
  font-size: 13px;
}

.client-360-items-summary small {
  color: #708195;
  font-size: 10px;
}

.client-360-items-summary + .client-360-history-wrap {
  border-radius: 0 0 7px 7px;
}

.client-360-items-table {
  min-width: 980px;
}

.client-360-month-bars {
  position: relative;
  width: 190px;
  height: 22px;
  border-radius: 4px;
  background: #edf2f6;
  overflow: hidden;
}

.client-360-month-bars span {
  position: absolute;
  left: 0;
  display: block;
  min-width: 0;
  height: 9px;
}

.client-360-month-bars .company {
  top: 1px;
  background: #0aa65b;
}

.client-360-month-bars .seller {
  bottom: 1px;
  background: #2876cf;
}

.client-360-chart-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 9px;
  color: #617389;
  font-size: 11px;
}

.client-360-chart-legend span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.client-360-chart-legend i {
  width: 18px;
  height: 7px;
  border-radius: 2px;
}

.client-360-chart-legend i.company {
  background: #0aa65b;
}

.client-360-chart-legend i.seller {
  background: #2876cf;
}

.client-360-two-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

.client-360-two-columns > div {
  min-width: 0;
}

.client-360-contact-list,
.client-360-official-links,
.client-360-treatment-list {
  display: grid;
  border-top: 1px solid #dce4eb;
}

.client-360-contact-list > div,
.client-360-official-links > div,
.client-360-treatment-list > div {
  min-width: 0;
  display: grid;
  gap: 3px;
  border-bottom: 1px solid #e2e9ef;
  background: #fff;
  padding: 11px 12px;
}

.client-360-contact-list strong,
.client-360-official-links strong,
.client-360-treatment-list strong {
  color: #26374d;
  font-size: 13px;
}

.client-360-contact-list span,
.client-360-official-links span,
.client-360-treatment-list span {
  color: #617389;
  font-size: 11px;
  overflow-wrap: anywhere;
}

.client-360-contact-list small,
.client-360-official-links small,
.client-360-treatment-list small {
  color: #78889b;
  font-size: 10px;
}

.client-360-contact-list small.ready {
  color: #087b42;
}

.client-360-contact-list small.review {
  color: #a65b08;
}

.client-360-official-links > div.platform {
  border-left: 3px solid #078744;
  background: #eff9f3;
}

.client-360-inline-form,
.client-360-goal-form {
  display: flex;
  align-items: end;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 13px;
}

.client-360-inline-form label,
.client-360-goal-form label {
  min-width: 135px;
  display: grid;
  gap: 5px;
  flex: 1;
}

.client-360-inline-form input,
.client-360-inline-form select,
.client-360-goal-form input {
  width: 100%;
  min-height: 38px;
  border: 1px solid #cbd7e2;
  border-radius: 5px;
  background: #fff;
  color: #26364b;
  font: inherit;
  padding: 8px 9px;
}

.client-360-inline-form .client-360-check {
  min-width: 125px;
  grid-template-columns: 18px 1fr;
  align-items: center;
  flex: 0 0 auto;
  min-height: 38px;
}

.client-360-inline-form .client-360-check input {
  width: 16px;
  min-height: 16px;
}

.client-360-inline-form .client-360-check span {
  color: #5f7186;
  font-size: 11px;
  font-weight: 750;
  text-transform: none;
}

.client-360-inline-form.compact label:first-child {
  flex-basis: 190px;
}

.client-360-inline-form > small,
.client-360-goal-form > small {
  flex-basis: 100%;
  min-height: 14px;
}

.client-360-goal-line {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid #dce5ed;
  border-bottom: 1px solid #dce5ed;
  background: #fff;
}

.client-360-goal-line > div {
  min-width: 0;
  display: grid;
  gap: 4px;
  border-top: 3px solid #2876cf;
  padding: 13px 14px;
}

.client-360-goal-line > div + div {
  border-left: 1px solid #e1e8ef;
}

.client-360-goal-line > div:nth-child(2) {
  border-top-color: #17223b;
}

.client-360-goal-line > div:nth-child(3) {
  border-top-color: #078744;
}

.client-360-goal-line > div.positive {
  border-top-color: #078744;
  background: #eff9f3;
}

.client-360-goal-line > div.negative {
  border-top-color: #c4473e;
  background: #fff3f2;
}

.client-360-goal-line strong {
  color: #17223b;
  font-size: 18px;
}

.client-360-goal-form {
  justify-content: flex-end;
}

.client-360-allocation {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid #bfe0cc;
  background: #eff9f3;
  color: #32694d;
  padding: 9px 12px;
}

.client-360-allocation strong {
  color: #087442;
  font-size: 11px;
}

.client-360-allocation span {
  font-size: 10px;
  text-align: right;
}

.client-360-allocation.acima_da_meta_vendedor,
.client-360-allocation.sem_clientes_para_ratear,
.client-360-allocation.sem_meta_vendedor {
  border-bottom-color: #efd0a8;
  background: #fff7eb;
  color: #8a5a1d;
}

.client-360-allocation.acima_da_meta_vendedor strong,
.client-360-allocation.sem_clientes_para_ratear strong,
.client-360-allocation.sem_meta_vendedor strong {
  color: #9b5c0c;
}

.client-360-goal-form label {
  max-width: 230px;
}

.client-360-goal-form button.secondary {
  border-color: #c7d4df;
  background: #fff;
  color: #53667c;
}

.client-360-empty {
  margin: 0;
  border-top: 1px solid #dce4eb;
  border-bottom: 1px solid #dce4eb;
  color: #718195;
  font-size: 12px;
  padding: 13px 3px;
}

.client-360-loading,
.client-360-error {
  min-height: 180px;
  display: grid;
  place-content: center;
  gap: 9px;
  color: #55687e;
  padding: 30px;
  text-align: center;
}

.client-360-error strong {
  color: #a3322b;
  font-size: 18px;
}

.client-360-error button {
  min-height: 36px;
  border: 1px solid #c7d4df;
  border-radius: 5px;
  background: #fff;
  color: #52657b;
  cursor: pointer;
}

.seller-workspace-error {
  padding: 18px 0;
  border-top: 1px solid #f2c8c5;
  border-bottom: 1px solid #f2c8c5;
  color: #a3322b;
  font-weight: 750;
}

@media (max-width: 760px) {
  .seller-workspace-header {
    align-items: stretch;
    flex-direction: column;
  }

  .seller-workspace-header label {
    min-width: 0;
  }

  .seller-workspace-tabs button {
    flex: 1;
  }

  .seller-central-kpis {
    grid-template-columns: 1fr 1fr;
  }

  .seller-goal-head,
  .seller-goal-foot {
    align-items: stretch;
    flex-direction: column;
  }

  .seller-goal-grid {
    grid-template-columns: 1fr 1fr;
  }

  .seller-goal-chart-head {
    align-items: start;
    flex-direction: column;
  }

  .seller-goal-legend {
    grid-template-columns: 1fr 1fr;
  }

  .seller-goal-actions {
    justify-content: flex-start;
  }

  .seller-central-section-head,
  .seller-central-method {
    align-items: start;
    grid-template-columns: 1fr;
    flex-direction: column;
  }

  .seller-central-section-head small {
    text-align: left;
  }

  .seller-central-status-strip {
    grid-template-columns: 1fr 1fr;
  }

  .seller-central-status-strip > div + div {
    border-left: 1px solid #dfe7ef;
  }

  .seller-treatment-fields {
    grid-template-columns: 1fr;
  }

  .seller-treatment-fields .seller-treatment-note {
    grid-column: auto;
  }

  .seller-treatment-dialog footer {
    align-items: stretch;
    flex-direction: column;
  }

  .seller-treatment-dialog footer > div {
    margin-left: 0;
  }

  .client-360-header {
    padding: 15px;
  }

  .client-360-body {
    padding: 0 15px 18px;
  }

  .client-360-summary {
    grid-template-columns: 1fr 1fr;
  }

  .client-360-summary article + article {
    border-left: 0;
  }

  .client-360-guarantee-grid {
    grid-template-columns: 1fr 1fr;
  }

  .client-360-guarantee-grid article + article {
    border-left: 0;
  }

  .client-360-items-controls {
    width: 100%;
    justify-content: stretch;
  }

  .client-360-items-controls label {
    flex: 1;
  }

  .client-360-items-controls select {
    width: 100%;
    min-width: 0;
  }

  .client-360-items-summary {
    grid-template-columns: 1fr;
  }

  .client-360-two-columns {
    grid-template-columns: 1fr;
  }

  .client-360-section-head {
    align-items: start;
    flex-direction: column;
  }

  .client-360-section-head > small {
    text-align: left;
  }

  .client-360-goal-line {
    grid-template-columns: 1fr 1fr;
  }

  .client-360-goal-line > div + div {
    border-left: 0;
  }

  .client-360-allocation {
    align-items: start;
    flex-direction: column;
  }

  .client-360-allocation span {
    text-align: left;
  }
}

@media(max-width:900px){
  .client-items-summary{
    grid-template-columns:1fr;
  }
}

/* ===== ORDENACAO DE TABELAS ===== */
.sortable-th{
  cursor:pointer;
  user-select:none;
  position:relative;
  white-space:nowrap;
}

.sortable-th::after{
  content:"↕";
  font-size:11px;
  color:#9aa7b8;
  margin-left:6px;
}

.sortable-th.sort-asc::after{
  content:"↑";
  color:var(--green-dark);
  font-weight:900;
}

.sortable-th.sort-desc::after{
  content:"↓";
  color:var(--green-dark);
  font-weight:900;
}

/* ===== BOTÕES DE DRILL-UP ===== */
.drill-actions{
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
}

.client-close-btn{
  white-space:nowrap;
}

.client-items-title{
  align-items:center !important;
}

.client-items-title > div{
  display:block;
}

.client-items-title button{
  flex-shrink:0;
}

/* melhora visual da linha aberta */
.client-open,
.row-open{
  outline:2px solid rgba(16,180,91,.14);
  outline-offset:-2px;
}

/* evita clique parecer estranho */
.client-clickable td:first-child small,
.rank-clickable td:nth-child(4) small{
  color:var(--green-dark);
}

/* ===== AJUSTE COLUNA PRODUTO NOS DRILLS ===== */
.produto-cell{
  min-width: 310px;
}

.produto-cell strong{
  display:block;
  font-size:12px;
  color:#7b8aa0;
  font-weight:900;
  margin-bottom:3px;
}

.produto-cell small{
  display:block;
  font-size:13.5px !important;
  line-height:1.35;
  color:#243044 !important;
  font-weight:700;
}

/* Produto nos itens do vendedor: coluna 3 */
.drill-itens-table td:nth-child(3){
  min-width:310px;
}

/* Produto nos itens do cliente: coluna 4 */
.client-item-table td:nth-child(4){
  min-width:310px;
}

.drill-itens-table td:nth-child(3) small,
.client-item-table td:nth-child(4) small{
  font-size:13.5px !important;
  line-height:1.35;
  color:#243044 !important;
  font-weight:700;
}

.drill-itens-table td:nth-child(3) strong,
.client-item-table td:nth-child(4) strong{
  font-size:12px;
  color:#7b8aa0;
  font-weight:900;
}

/* ===== PRODUTO / MARCA / REFERENCIA ===== */
.drill-itens-table,
.client-item-table{
  min-width:1320px;
}

.produto-cell{
  min-width:310px;
}

.produto-cell strong{
  display:block;
  font-size:12px;
  color:#7b8aa0;
  font-weight:900;
  margin-bottom:3px;
}

.produto-cell small{
  display:block;
  font-size:13.5px !important;
  line-height:1.35;
  color:#243044 !important;
  font-weight:700;
}

.marca-cell{
  min-width:155px;
}

.marca-cell strong{
  display:block;
  font-size:13px;
  color:#243044;
  font-weight:900;
  line-height:1.25;
}

.marca-cell small{
  display:block;
  color:#7b8aa0;
  font-size:11.5px;
  margin-top:3px;
}

.ref-cell{
  min-width:150px;
}

.ref-cell strong{
  display:block;
  font-size:13px;
  color:#243044;
  font-weight:900;
}

.ref-cell small{
  display:block;
  color:#7b8aa0;
  font-size:11.5px;
  margin-top:3px;
}

.drill-table th{
  white-space:nowrap;
}

/* ===== AJUSTE FINAL PRODUTO / MARCA SEM COLUNA REFERENCIA ===== */
.drill-itens-table,
.client-item-table{
  min-width:1120px !important;
}

.produto-cell{
  min-width:360px !important;
  max-width:430px;
}

.produto-cell strong{
  display:block;
  font-size:12px;
  color:#7b8aa0;
  font-weight:900;
  margin-bottom:3px;
}

.produto-cell .produto-desc,
.produto-cell small:not(.produto-ref){
  display:block;
  font-size:13.5px !important;
  line-height:1.35;
  color:#243044 !important;
  font-weight:700;
}

.produto-ref{
  display:block;
  margin-top:3px;
  font-size:11.5px !important;
  line-height:1.25;
  color:#7b8aa0 !important;
  font-weight:700;
}

.marca-cell{
  min-width:150px !important;
  max-width:190px;
}

.marca-cell strong{
  display:block;
  font-size:13px;
  color:#243044;
  font-weight:900;
  line-height:1.25;
}

.marca-cell small{
  display:none !important;
}

/* coluna referência antiga não será mais usada */
.ref-cell{
  display:none !important;
}

/* ===== PRODUTO: DESCRICAO EM DESTAQUE, CODIGO/REF DISCRETOS ===== */
.produto-cell{
  min-width: 360px !important;
  max-width: 450px !important;
}

.produto-desc{
  display:block;
  font-size:13.8px !important;
  line-height:1.32;
  color:#1f2d42 !important;
  font-weight:850 !important;
  letter-spacing:-0.05px;
}

.produto-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:4px;
  font-size:11.2px !important;
  line-height:1.2;
  color:#7f8ca1 !important;
  font-weight:700 !important;
}

.produto-meta span{
  color:#7f8ca1 !important;
  font-weight:700 !important;
  white-space:nowrap;
}

.produto-codigo,
.produto-ref{
  font-size:11.2px !important;
  color:#7f8ca1 !important;
  font-weight:700 !important;
}

/* neutraliza estilos antigos que davam destaque demais para codigo/ref */
.produto-cell strong{
  font-size:11.2px !important;
  color:#7f8ca1 !important;
  font-weight:700 !important;
}

.produto-cell small{
  font-size:11.2px !important;
  color:#7f8ca1 !important;
  font-weight:700 !important;
}

/* mas preserva a descricao como principal */
.produto-cell .produto-desc{
  font-size:13.8px !important;
  color:#1f2d42 !important;
  font-weight:850 !important;
}

/* ===== MENU HIERARQUIA VENDAS ===== */
.menu-group-title{
  margin:12px 8px 4px;
  font-size:10.5px;
  text-transform:uppercase;
  letter-spacing:.10em;
  color:#9aa7b8;
  font-weight:900;
}

.menu-item.sub-item{
  padding-left:24px !important;
  font-size:13.5px !important;
}

/* ===== FILTRO GLOBAL DE DATAS ===== */
.date-filter{
  display:flex;
  align-items:center;
  gap:7px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  padding:7px 10px;
  height:42px;
}

.date-filter span{
  font-size:11px;
  color:#7b8aa0;
  font-weight:900;
  text-transform:uppercase;
}

.date-filter input{
  border:0;
  outline:0;
  background:transparent;
  font-weight:800;
  font-family:inherit;
}

.date-filter-control{
  position:relative;
  display:grid;
  align-items:center;
  min-width:116px;
}

.date-filter-control input{
  grid-area:1 / 1;
  width:100%;
  min-width:0;
  color:transparent;
  position:relative;
  z-index:1;
}

.date-filter-control input::-webkit-calendar-picker-indicator{
  cursor:pointer;
  opacity:1;
}

.date-filter-control output{
  grid-area:1 / 1;
  padding-right:28px;
  color:#42516a;
  font-size:13px;
  font-weight:800;
  line-height:1;
  pointer-events:none;
  position:relative;
  z-index:2;
}

.seller-treatment-date-control{
  min-width:150px;
  width:100%;
}

.seller-treatment-date-control input{
  min-height:38px;
}

/* ===== FILTROS LIVRES POR TELA ===== */
.filter-row{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.filter-input{
  display:flex;
  align-items:center;
  gap:7px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  padding:8px 10px;
  height:40px;
}

.filter-input span{
  font-size:11px;
  color:#7b8aa0;
  font-weight:900;
  text-transform:uppercase;
  white-space:nowrap;
}

.filter-input input{
  width:86px;
  border:0;
  outline:0;
  background:transparent;
  color:#243044;
  font-weight:900;
  font-family:inherit;
}

.secondary-filter-btn{
  background:#eef2f6 !important;
  color:#53637a !important;
  border:1px solid var(--line) !important;
}

/* ===== CLIENTES / ITENS DIRETOS ===== */
.clientes-full-panel,
.itens-full-panel{
  min-height:620px;
}

.clientes-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(180px,1fr));
  gap:12px;
  margin-bottom:16px;
}

.clientes-summary div{
  background:#f8fbfa;
  border:1px solid #dff3e8;
  border-radius:16px;
  padding:14px 16px;
}

.clientes-summary strong{
  display:block;
  font-size:20px;
  color:#243044;
  margin-bottom:3px;
}

.clientes-summary span{
  color:var(--muted);
  font-size:13px;
  font-weight:700;
}

.clientes-table td:nth-child(4){
  min-width:260px;
}

.clientes-table td:nth-child(6){
  min-width:220px;
}

.itens-table{
  min-width:1320px !important;
}

/* Produto compacto */
.drill-itens-table,
.client-item-table{
  min-width:1120px !important;
}

.produto-cell{
  min-width:360px !important;
  max-width:450px !important;
}

.produto-desc{
  display:block;
  font-size:13.8px !important;
  line-height:1.32;
  color:#1f2d42 !important;
  font-weight:850 !important;
  letter-spacing:-0.05px;
}

.produto-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:4px;
  font-size:11.2px !important;
  line-height:1.2;
  color:#7f8ca1 !important;
  font-weight:700 !important;
}

.produto-meta span{
  color:#7f8ca1 !important;
  font-weight:700 !important;
  white-space:nowrap;
}

.marca-cell{
  min-width:150px !important;
  max-width:190px;
}

.marca-cell strong{
  display:block;
  font-size:13px;
  color:#243044;
  font-weight:900;
  line-height:1.25;
}

@media(max-width:900px){
  .clientes-summary{
    grid-template-columns:1fr;
  }

  .date-filter,
  .filter-input{
    width:100%;
    justify-content:space-between;
  }
}

/* ===== CLIENTES: RESUMO SEM VENDA DE RECORTE ===== */
.clientes-summary div:nth-child(1){
  background:#f8faff;
  border-color:#dce9ff;
}

.clientes-summary div:nth-child(1) strong{
  color:#1976d2;
}

.clientes-summary div:nth-child(4){
  background:#fffaf5;
  border-color:#ffe2c5;
}

.clientes-summary div:nth-child(4) strong{
  color:#b85d00;
}


/* ===== COMPRAS > AUDITORIA DE PREÇOS ===== */

.compras-menu-section {
  margin-top: 8px;
}

.compras-toggle {
  width: 100%;
  border: 0;
  background: transparent;
  color: inherit;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px;
  border-radius: 12px;
  cursor: pointer;
  font-weight: 700;
}

.compras-toggle:hover,
#menu-compras-auditoria-precos:hover {
  background: rgba(27, 94, 32, 0.08);
}

.compras-submenu {
  display: none;
  padding-left: 10px;
  margin-top: 4px;
}

.compras-submenu.open {
  display: block;
}

#menu-compras-auditoria-precos {
  width: 100%;
  border: 0;
  background: transparent;
  color: inherit;
  display: block;
  text-align: left;
  padding: 10px 14px;
  border-radius: 12px;
  cursor: pointer;
}

.aud-page {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.aud-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
}

.aud-filters {
  display: grid;
  grid-template-columns: 2fr repeat(4, minmax(150px, 1fr)) repeat(2, 110px);
  gap: 12px;
  align-items: end;
  padding: 16px;
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 18px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
}

.aud-filters .field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.aud-filters label {
  font-size: 12px;
  font-weight: 700;
  color: #475569;
}

.aud-filters input,
.aud-filters select {
  min-height: 38px;
  border: 1px solid #d8dee9;
  border-radius: 10px;
  padding: 8px 10px;
  background: #fff;
  font-size: 14px;
}

.aud-filter-actions {
  grid-column: 1 / -1;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.btn-primary,
.btn-secondary {
  border: 0;
  border-radius: 12px;
  padding: 10px 14px;
  cursor: pointer;
  font-weight: 700;
}

.btn-primary {
  background: #0f7a3b;
  color: #fff;
}

.btn-secondary {
  background: #eef2f7;
  color: #334155;
}

.aud-cards {
  display: grid;
  grid-template-columns: repeat(6, minmax(120px, 1fr));
  gap: 12px;
}

.aud-card {
  background: #fff;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 16px;
  padding: 14px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
}

.aud-card span {
  display: block;
  font-size: 12px;
  color: #64748b;
  margin-bottom: 6px;
}

.aud-card strong {
  font-size: 22px;
  color: #0f172a;
}

.aud-table-wrap {
  background: #fff;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
}

.aud-table-title {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  border-bottom: 1px solid #eef2f7;
}

.aud-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

.aud-table th,
.aud-table td {
  padding: 10px 12px;
  border-bottom: 1px solid #eef2f7;
  vertical-align: top;
}

.aud-table th {
  text-align: left;
  background: #f8fafc;
  color: #334155;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .02em;
}

.aud-table th.sortable {
  cursor: pointer;
}

.aud-table th.sortable:hover,
.aud-table th.sorted {
  color: #0f7a3b;
  background: #eefbf3;
}

.aud-table td small {
  display: block;
  color: #64748b;
  margin-top: 4px;
}

.aud-badge {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 4px 8px;
  font-weight: 700;
  font-size: 11px;
  background: #e2e8f0;
  color: #334155;
}

.aud-sem-custo,
.aud-sem-preco {
  background: #fee2e2;
  color: #991b1b;
}

.aud-tm-negativa,
.aud-tm-baixa {
  background: #ffedd5;
  color: #9a3412;
}

.aud-tm-normal {
  background: #dcfce7;
  color: #166534;
}

.aud-tm-alta {
  background: #dbeafe;
  color: #1e40af;
}

.aud-tm-muito-alta {
  background: #f3e8ff;
  color: #6b21a8;
}

.aud-loading,
.aud-empty,
.aud-error {
  padding: 18px;
}

.aud-error {
  color: #991b1b;
  white-space: pre-wrap;
}

@media (max-width: 1200px) {
  .aud-filters {
    grid-template-columns: repeat(2, minmax(160px, 1fr));
  }

  .aud-cards {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 760px) {
  .aud-filters,
  .aud-cards {
    grid-template-columns: 1fr;
  }

  .aud-table-wrap {
    overflow-x: auto;
  }
}

/* ===== FIM COMPRAS > AUDITORIA DE PREÇOS ===== */


/* Ajustes Auditoria de Preços V2 */
.aud-base-nao-mapeada {
  background: #fee2e2;
  color: #991b1b;
}

.aud-filters-v2 {
  grid-template-columns: minmax(220px, 1.4fr) 2fr repeat(4, minmax(145px, 1fr)) repeat(2, 110px);
}

.aud-table th:nth-child(7),
.aud-table td:nth-child(7) {
  min-width: 145px;
}


/* Menu final CJ */
.menu-cj-final .menu-section-toggle {
  margin-top: 6px;
}

.menu-cj-final .submenu {
  margin-bottom: 4px;
}


/* ===== AUDITORIA DE PREÇOS: PAGINAÇÃO BASE ===== */

.aud2-page {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.aud2-filters {
  grid-template-columns: minmax(220px, 1.4fr) 2fr repeat(4, minmax(145px, 1fr)) repeat(3, 110px);
}

.aud2-table-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.aud2-table-title .muted {
  display: block;
  margin-top: 4px;
}

.aud2-pager {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 16px;
  border-top: 1px solid #eef2f7;
  border-bottom: 1px solid #eef2f7;
  background: #fbfdff;
  flex-wrap: wrap;
}

.aud2-pager-left {
  display: flex;
  flex-direction: column;
  gap: 4px;
  color: #334155;
}

.aud2-pager-left span {
  color: #64748b;
  font-size: 12px;
}

.aud2-pager-right {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.aud2-page-btn {
  border: 1px solid #d8dee9;
  background: #fff;
  color: #0f172a;
  border-radius: 10px;
  padding: 8px 10px;
  cursor: pointer;
  font-weight: 700;
}

.aud2-page-btn:hover:not(:disabled) {
  background: #eefbf3;
  border-color: #18b957;
}

.aud2-page-btn:disabled {
  opacity: .45;
  cursor: not-allowed;
}

.aud2-page-jump {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #64748b;
  font-size: 12px;
  font-weight: 700;
}

.aud2-page-jump input {
  width: 76px;
  border: 1px solid #d8dee9;
  border-radius: 10px;
  padding: 8px 8px;
}

.aud2-produto strong {
  font-size: 13px;
}

.aud2-produto small {
  display: block;
  color: #64748b;
  margin-top: 4px;
}

.aud2-table th.sorted {
  color: #0f7a3b;
  background: #eefbf3;
}

@media (max-width: 1200px) {
  .aud2-filters {
    grid-template-columns: repeat(2, minmax(160px, 1fr));
  }

  .aud2-pager {
    align-items: flex-start;
  }
}

@media (max-width: 760px) {
  .aud2-filters {
    grid-template-columns: 1fr;
  }

  .aud2-pager {
    flex-direction: column;
    align-items: stretch;
  }

  .aud2-pager-right {
    justify-content: flex-start;
  }
}

/* ===== FIM AUDITORIA DE PREÇOS: PAGINAÇÃO BASE ===== */


/* ===== AUDITORIA DE PREÇOS: PAGINAÇÃO FINAL ===== */

.aud2-pager {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 16px;
  border-top: 1px solid #eef2f7;
  border-bottom: 1px solid #eef2f7;
  background: #fbfdff;
  flex-wrap: wrap;
}

.aud2-pager-left {
  display: flex;
  flex-direction: column;
  gap: 4px;
  color: #334155;
}

.aud2-pager-left span {
  color: #64748b;
  font-size: 12px;
}

.aud2-pager-right {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.aud2-page-btn {
  border: 1px solid #d8dee9;
  background: #fff;
  color: #0f172a;
  border-radius: 10px;
  padding: 8px 10px;
  cursor: pointer;
  font-weight: 700;
}

.aud2-page-btn:hover:not(:disabled) {
  background: #eefbf3;
  border-color: #18b957;
}

.aud2-page-btn:disabled {
  opacity: .45;
  cursor: not-allowed;
}

.aud2-page-jump {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #64748b;
  font-size: 12px;
  font-weight: 700;
}

.aud2-page-jump input {
  width: 76px;
  border: 1px solid #d8dee9;
  border-radius: 10px;
  padding: 8px 8px;
}

.aud2-table th.sorted {
  color: #0f7a3b;
  background: #eefbf3;
}

.aud2-table th.sortable {
  cursor: pointer;
}

.aud2-table th.sortable:hover {
  color: #0f7a3b;
  background: #eefbf3;
}

/* ===== FIM AUDITORIA DE PREÇOS: PAGINAÇÃO FINAL ===== */


/* ===== COMPRAS > CURVA ABC: TELA BASE ===== */

.abc-page {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.abc-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
}

.abc-run-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  padding: 14px 16px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, .05);
}

.abc-run-card span,
.abc-run-card small {
  display: block;
  color: #64748b;
  margin-top: 3px;
}

.abc-run-card strong {
  display: block;
  margin-top: 4px;
  color: #0f172a;
  font-size: 16px;
}

.abc-filters {
  display: grid;
  grid-template-columns: repeat(5, minmax(140px, 1fr));
  gap: 12px;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  padding: 16px;
}

.abc-filters .field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.abc-filters label {
  font-size: 12px;
  font-weight: 700;
  color: #64748b;
}

.abc-filters input,
.abc-filters select {
  border: 1px solid #d8dee9;
  border-radius: 10px;
  padding: 9px 10px;
  background: #fff;
}

.abc-filters .field-wide {
  grid-column: span 2;
}

.abc-actions {
  display: flex;
  align-items: end;
}

.abc-resumos {
  display: grid;
  grid-template-columns: repeat(3, minmax(260px, 1fr));
  gap: 14px;
}

.abc-resumo-box,
.abc-table-wrap {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(15, 23, 42, .05);
}

.abc-resumo-box h3 {
  margin: 0;
  padding: 14px 16px;
  border-bottom: 1px solid #e2e8f0;
  font-size: 15px;
}

.abc-mini-table,
.abc-table {
  width: 100%;
  border-collapse: collapse;
}

.abc-mini-table th,
.abc-mini-table td,
.abc-table th,
.abc-table td {
  padding: 10px 12px;
  border-bottom: 1px solid #eef2f7;
  text-align: left;
  font-size: 12px;
}

.abc-mini-table th,
.abc-table th {
  background: #f8fafc;
  color: #475569;
  font-weight: 800;
  white-space: nowrap;
}

.abc-table th {
  cursor: pointer;
}

.abc-table th.sorted {
  background: #eefbf3;
  color: #0f7a3b;
}

.abc-table td strong {
  font-size: 13px;
}

.abc-table td small {
  display: block;
  color: #64748b;
  margin-top: 3px;
}

.abc-table-title {
  padding: 14px 16px;
  border-bottom: 1px solid #e2e8f0;
  display: flex;
  justify-content: space-between;
  gap: 12px;
}

.abc-pager {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  border-bottom: 1px solid #eef2f7;
  background: #fbfdff;
  flex-wrap: wrap;
}

.abc-pager-left {
  display: flex;
  flex-direction: column;
  gap: 3px;
  color: #334155;
}

.abc-pager-left span {
  color: #64748b;
  font-size: 12px;
}

.abc-pager-right {
  display: flex;
  gap: 8px;
  align-items: center;
}

.abc-pager button {
  border: 1px solid #d8dee9;
  background: #fff;
  color: #0f172a;
  border-radius: 10px;
  padding: 8px 10px;
  font-weight: 700;
  cursor: pointer;
}

.abc-pager button:disabled {
  opacity: .45;
  cursor: not-allowed;
}

.abc-pager input {
  width: 74px;
  border: 1px solid #d8dee9;
  border-radius: 10px;
  padding: 8px;
}

.abc-badge {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 4px 8px;
  font-weight: 800;
  font-size: 11px;
  background: #e2e8f0;
  color: #0f172a;
  white-space: nowrap;
}

.abc-a { background: #dcfce7; color: #166534; }
.abc-b { background: #dbeafe; color: #1d4ed8; }
.abc-c { background: #fef9c3; color: #854d0e; }
.abc-d { background: #ffedd5; color: #9a3412; }
.abc-e { background: #fee2e2; color: #991b1b; }
.abc-n { background: #e5e7eb; color: #374151; }
.abc-movimento-liq-negativo { background: #fde68a; color: #92400e; }
.abc-giro-nulo-real { background: #fee2e2; color: #991b1b; }
.abc-novo-com-estoque { background: #dbeafe; color: #1d4ed8; }
.abc-novo-sem-estoque { background: #ede9fe; color: #5b21b6; }
.abc-em-maturacao { background: #fef3c7; color: #92400e; }
.abc-normal { background: #dcfce7; color: #166534; }

.abc-loading,
.abc-empty {
  padding: 24px;
  color: #64748b;
}

@media (max-width: 1200px) {
  .abc-filters {
    grid-template-columns: repeat(2, minmax(160px, 1fr));
  }

  .abc-resumos {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .abc-filters {
    grid-template-columns: 1fr;
  }

  .abc-filters .field-wide {
    grid-column: span 1;
  }

  .abc-pager {
    align-items: stretch;
    flex-direction: column;
  }

  .abc-pager-right {
    flex-wrap: wrap;
  }
}

/* ===== FIM COMPRAS > CURVA ABC: TELA BASE ===== */


/* ===== CURVA ABC: CLAREZA DE LABELS ===== */

.abc-info-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(240px, 1fr));
  gap: 14px;
}

.abc-info-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  padding: 14px 16px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, .04);
}

.abc-info-card-wide {
  grid-column: 1 / -1;
}

.abc-info-card span {
  display: block;
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .03em;
}

.abc-info-card strong {
  display: block;
  color: #0f172a;
  margin-top: 5px;
  font-size: 14px;
}

.abc-info-card small {
  display: block;
  color: #64748b;
  margin-top: 5px;
  line-height: 1.35;
}

.abc-warning-box {
  border: 1px solid #fde68a;
  background: #fffbeb;
  color: #78350f;
  border-radius: 14px;
  padding: 12px 14px;
  font-size: 13px;
}

.abc-run-card-v2 {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-start;
}

.abc-run-rules {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  justify-content: flex-end;
  max-width: 420px;
}

.abc-run-rules b {
  width: 100%;
  font-size: 12px;
  color: #64748b;
  text-align: right;
}

.abc-run-rules span {
  display: inline-flex;
  padding: 5px 8px;
  background: #eefbf3;
  color: #166534;
  border-radius: 999px;
  font-weight: 800;
  font-size: 12px;
}

.abc-box-help {
  padding: 10px 16px;
  background: #fbfdff;
  border-bottom: 1px solid #eef2f7;
  color: #64748b;
  font-size: 12px;
  line-height: 1.35;
}

.abc-mini-table th small,
.abc-table th small {
  display: block;
  color: #94a3b8;
  font-size: 10px;
  font-weight: 700;
  margin-top: 2px;
}

@media (max-width: 1200px) {
  .abc-info-cards {
    grid-template-columns: 1fr;
  }

  .abc-run-card-v2 {
    flex-direction: column;
  }

  .abc-run-rules {
    justify-content: flex-start;
  }

  .abc-run-rules b {
    text-align: left;
  }
}

/* ===== FIM CURVA ABC: CLAREZA DE LABELS ===== */


/* ===== CURVA ABC: LEGENDA GERENCIAL ===== */

.abc-param-card,
.abc-legend-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  padding: 16px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, .04);
}

.abc-param-title {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
  margin-bottom: 14px;
}

.abc-param-title span,
.abc-info-card span {
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .03em;
}

.abc-param-title strong {
  display: block;
  color: #0f172a;
  margin-top: 4px;
  font-size: 17px;
}

.abc-param-button {
  border: 1px solid #d8dee9;
  background: #f8fafc;
  color: #64748b;
  border-radius: 12px;
  padding: 9px 12px;
  font-weight: 800;
  cursor: not-allowed;
}

.abc-param-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(140px, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}

.abc-param-grid label {
  display: flex;
  flex-direction: column;
  gap: 5px;
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
}

.abc-param-grid input {
  border: 1px solid #e2e8f0;
  background: #f8fafc;
  border-radius: 10px;
  padding: 9px 10px;
  color: #0f172a;
  font-weight: 700;
}

.abc-percent-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(100px, 1fr));
  gap: 10px;
}

.abc-percent-grid div {
  border: 1px solid #e2e8f0;
  background: #fbfdff;
  border-radius: 14px;
  padding: 10px;
}

.abc-percent-grid b {
  display: block;
  font-size: 18px;
  color: #0f172a;
}

.abc-percent-grid span {
  display: block;
  margin-top: 4px;
  color: #16a34a;
  font-weight: 900;
}

.abc-percent-grid small {
  display: block;
  margin-top: 4px;
  color: #64748b;
  line-height: 1.25;
}

.abc-legend-card h3 {
  margin: 0 0 12px 0;
  font-size: 16px;
}

.abc-legend-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(220px, 1fr));
  gap: 10px;
}

.abc-legend-grid div {
  background: #fbfdff;
  border: 1px solid #eef2f7;
  border-radius: 12px;
  padding: 10px 12px;
}

.abc-legend-grid b {
  display: block;
  color: #0f172a;
  margin-bottom: 4px;
}

.abc-legend-grid span,
.abc-legend-card p {
  color: #64748b;
  font-size: 12px;
  line-height: 1.35;
}

.abc-warning-box {
  border: 1px solid #fde68a;
  background: #fffbeb;
  color: #78350f;
  border-radius: 14px;
  padding: 12px 14px;
  font-size: 13px;
}

.abc-run-card-v3 {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-start;
}

.abc-run-rules {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  justify-content: flex-end;
  max-width: 420px;
}

.abc-run-rules b {
  width: 100%;
  font-size: 12px;
  color: #64748b;
  text-align: right;
}

.abc-run-rules span {
  display: inline-flex;
  padding: 5px 8px;
  background: #eefbf3;
  color: #166534;
  border-radius: 999px;
  font-weight: 800;
  font-size: 12px;
}

.abc-box-help {
  padding: 10px 16px;
  background: #fbfdff;
  border-bottom: 1px solid #eef2f7;
  color: #64748b;
  font-size: 12px;
  line-height: 1.35;
}

.abc-mini-table-v3 th small,
.abc-table th small {
  display: block;
  color: #94a3b8;
  font-size: 10px;
  font-weight: 700;
  margin-top: 2px;
}

@media (max-width: 1300px) {
  .abc-param-grid,
  .abc-percent-grid,
  .abc-legend-grid {
    grid-template-columns: repeat(2, minmax(180px, 1fr));
  }
}

@media (max-width: 760px) {
  .abc-param-grid,
  .abc-percent-grid,
  .abc-legend-grid {
    grid-template-columns: 1fr;
  }

  .abc-param-title,
  .abc-run-card-v3 {
    flex-direction: column;
  }

  .abc-run-rules {
    justify-content: flex-start;
  }

  .abc-run-rules b {
    text-align: left;
  }
}

/* ===== FIM CURVA ABC: LEGENDA GERENCIAL ===== */


/* ===== CURVA ABC: RENDER FINAL ===== */

.abc-param-card,
.abc-legend-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  padding: 16px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, .04);
}

.abc-param-title {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
  margin-bottom: 14px;
}

.abc-param-title span {
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .03em;
}

.abc-param-title strong {
  display: block;
  color: #0f172a;
  margin-top: 4px;
  font-size: 17px;
}

.abc-param-button {
  border: 1px solid #d8dee9;
  background: #f8fafc;
  color: #64748b;
  border-radius: 12px;
  padding: 9px 12px;
  font-weight: 800;
  cursor: not-allowed;
}

.abc-param-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(140px, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}

.abc-param-grid label {
  display: flex;
  flex-direction: column;
  gap: 5px;
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
}

.abc-param-grid input {
  border: 1px solid #e2e8f0;
  background: #f8fafc;
  border-radius: 10px;
  padding: 9px 10px;
  color: #0f172a;
  font-weight: 700;
}

.abc-percent-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(100px, 1fr));
  gap: 10px;
}

.abc-percent-grid div {
  border: 1px solid #e2e8f0;
  background: #fbfdff;
  border-radius: 14px;
  padding: 10px;
}

.abc-percent-grid b {
  display: block;
  font-size: 18px;
  color: #0f172a;
}

.abc-percent-grid span {
  display: block;
  margin-top: 4px;
  color: #16a34a;
  font-weight: 900;
}

.abc-percent-grid small {
  display: block;
  margin-top: 4px;
  color: #64748b;
  line-height: 1.25;
}

.abc-legend-card h3 {
  margin: 0 0 12px 0;
  font-size: 16px;
}

.abc-legend-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(220px, 1fr));
  gap: 10px;
}

.abc-legend-grid div {
  background: #fbfdff;
  border: 1px solid #eef2f7;
  border-radius: 12px;
  padding: 10px 12px;
}

.abc-legend-grid b {
  display: block;
  color: #0f172a;
  margin-bottom: 4px;
}

.abc-legend-grid span,
.abc-legend-card p {
  color: #64748b;
  font-size: 12px;
  line-height: 1.35;
}

.abc-warning-box {
  border: 1px solid #fde68a;
  background: #fffbeb;
  color: #78350f;
  border-radius: 14px;
  padding: 12px 14px;
  font-size: 13px;
}

.abc-run-card-v4 {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-start;
}

.abc-run-rules {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  justify-content: flex-end;
  max-width: 420px;
}

.abc-run-rules b {
  width: 100%;
  font-size: 12px;
  color: #64748b;
  text-align: right;
}

.abc-run-rules span {
  display: inline-flex;
  padding: 5px 8px;
  background: #eefbf3;
  color: #166534;
  border-radius: 999px;
  font-weight: 800;
  font-size: 12px;
}

.abc-box-help {
  padding: 10px 16px;
  background: #fbfdff;
  border-bottom: 1px solid #eef2f7;
  color: #64748b;
  font-size: 12px;
  line-height: 1.35;
}

.abc-mini-table-v4 th small,
.abc-table th small {
  display: block;
  color: #94a3b8;
  font-size: 10px;
  font-weight: 700;
  margin-top: 2px;
}

@media (max-width: 1300px) {
  .abc-param-grid,
  .abc-percent-grid,
  .abc-legend-grid {
    grid-template-columns: repeat(2, minmax(180px, 1fr));
  }
}

@media (max-width: 760px) {
  .abc-param-grid,
  .abc-percent-grid,
  .abc-legend-grid {
    grid-template-columns: 1fr;
  }

  .abc-param-title,
  .abc-run-card-v4 {
    flex-direction: column;
  }

  .abc-run-rules {
    justify-content: flex-start;
  }

  .abc-run-rules b {
    text-align: left;
  }
}

/* ===== FIM CURVA ABC: RENDER FINAL ===== */


/* ===== CURVA ABC: LEITURA VISUAL ===== */

.abc-param-card-v5 {
  border: 2px solid #dbeafe !important;
  background: #ffffff !important;
}

.abc-param-title-v5 {
  align-items: center !important;
}

.abc-param-title-v5 span {
  font-size: 14px !important;
  color: #475569 !important;
}

.abc-param-title-v5 strong {
  font-size: 24px !important;
  line-height: 1.15 !important;
}

.abc-param-title-v5 p {
  margin: 6px 0 0 0;
  font-size: 15px;
  color: #64748b;
  line-height: 1.35;
}

.abc-param-button-v5 {
  font-size: 15px !important;
  padding: 12px 16px !important;
  border-radius: 14px !important;
}

.abc-param-grid-v5 {
  grid-template-columns: repeat(3, minmax(260px, 1fr)) !important;
  gap: 14px !important;
}

.abc-param-field-v5 {
  border: 1px solid #dbeafe;
  background: #f8fbff;
  border-radius: 16px;
  padding: 14px 16px;
}

.abc-param-field-v5 span {
  display: block;
  font-size: 14px;
  color: #64748b;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .03em;
}

.abc-param-field-v5 strong {
  display: block;
  margin-top: 6px;
  font-size: 22px;
  color: #0f172a;
}

.abc-param-field-v5 small {
  display: block;
  margin-top: 6px;
  font-size: 14px;
  color: #64748b;
  line-height: 1.35;
}

.abc-percent-grid-v5 {
  grid-template-columns: repeat(6, minmax(130px, 1fr)) !important;
  gap: 12px !important;
}

.abc-percent-grid-v5 div {
  padding: 16px !important;
  border-radius: 18px !important;
}

.abc-percent-grid-v5 b {
  font-size: 30px !important;
  line-height: 1 !important;
}

.abc-percent-grid-v5 span {
  font-size: 24px !important;
  line-height: 1.1 !important;
}

.abc-percent-grid-v5 small {
  font-size: 13px !important;
}

.abc-percent-a { border-color: #86efac !important; background: #f0fdf4 !important; }
.abc-percent-b { border-color: #93c5fd !important; background: #eff6ff !important; }
.abc-percent-c { border-color: #fde68a !important; background: #fffbeb !important; }
.abc-percent-d { border-color: #fdba74 !important; background: #fff7ed !important; }
.abc-percent-e { border-color: #fecaca !important; background: #fef2f2 !important; }
.abc-percent-n { border-color: #cbd5e1 !important; background: #f8fafc !important; }

.abc-legend-card-v5 {
  border: 2px solid #e2e8f0 !important;
}

.abc-legend-card-v5 h3 {
  font-size: 24px !important;
  margin-bottom: 16px !important;
}

.abc-legend-grid-v5 {
  grid-template-columns: repeat(3, minmax(260px, 1fr)) !important;
  gap: 14px !important;
}

.abc-legend-grid-v5 div {
  padding: 16px !important;
  border-radius: 16px !important;
  background: #f8fafc !important;
}

.abc-legend-grid-v5 b {
  font-size: 17px !important;
  color: #0f172a !important;
}

.abc-legend-grid-v5 span {
  display: block;
  margin-top: 6px;
  font-size: 15px !important;
  line-height: 1.45 !important;
  color: #475569 !important;
}

.abc-legend-grid-v5 span strong {
  color: #0f172a;
}

.abc-legend-note-v5 {
  margin: 14px 0 0 0 !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
  color: #334155 !important;
}

.abc-warning-box {
  font-size: 15px !important;
  line-height: 1.45 !important;
  padding: 14px 16px !important;
}

.abc-mini-table th {
  font-size: 13px !important;
}

.abc-mini-table th small {
  font-size: 11px !important;
}

.abc-mini-table td {
  font-size: 13px !important;
}

@media (max-width: 1300px) {
  .abc-param-grid-v5,
  .abc-percent-grid-v5,
  .abc-legend-grid-v5 {
    grid-template-columns: repeat(2, minmax(240px, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  .abc-param-grid-v5,
  .abc-percent-grid-v5,
  .abc-legend-grid-v5 {
    grid-template-columns: 1fr !important;
  }
}

/* ===== FIM CURVA ABC: LEITURA VISUAL ===== */


/* ===== CURVA ABC: CARDS E LAYOUT ===== */

#abc-status-processamento {
  display: none !important;
}

.abc-resumos {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(520px, 1fr)) !important;
  gap: 20px !important;
  align-items: stretch !important;
}

.abc-resumos .abc-resumo-box:nth-child(3) {
  grid-column: 1 / -1 !important;
}

.abc-resumo-box {
  min-height: 320px;
}

.abc-resumo-box h3 {
  font-size: 20px !important;
  padding: 18px 22px !important;
}

.abc-box-help {
  font-size: 14px !important;
  padding: 12px 22px !important;
  line-height: 1.45 !important;
}

.abc-mini-table th {
  font-size: 15px !important;
  padding: 14px 16px !important;
  cursor: pointer;
  white-space: nowrap;
}

.abc-mini-table th small {
  display: none !important;
}

.abc-mini-table td {
  font-size: 15px !important;
  padding: 14px 16px !important;
  white-space: nowrap;
}

.abc-mini-table th.sorted {
  background: #eafaf0 !important;
  color: #0f7a3b !important;
}

.abc-resumos .abc-resumo-box:nth-child(3) .abc-mini-table th,
.abc-resumos .abc-resumo-box:nth-child(3) .abc-mini-table td {
  font-size: 16px !important;
  padding: 15px 18px !important;
}

.abc-resumos .abc-resumo-box:nth-child(3) h3 {
  font-size: 22px !important;
}

.abc-resumos .abc-resumo-box:nth-child(3) {
  min-height: 270px;
}

.abc-badge {
  font-size: 12px !important;
  padding: 5px 9px !important;
}

@media (max-width: 1350px) {
  .abc-resumos {
    grid-template-columns: 1fr !important;
  }

  .abc-resumos .abc-resumo-box:nth-child(3) {
    grid-column: auto !important;
  }
}

/* ===== FIM CURVA ABC: CARDS E LAYOUT ===== */

/* ===== MENU LATERAL CJ PADRÃO ===== */

.cj-sidebar-padronizada-v8 {
  background: #ffffff !important;
  border-right: 1px solid #e5eaf2 !important;
  min-width: 270px;
  width: 270px;
  overflow-y: auto;
}

.cj-clean-sidebar-v8 {
  padding: 22px 18px 28px 18px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.cj-clean-logo {
  display: flex;
  justify-content: center;
  padding: 6px 4px 20px 4px;
}

.cj-clean-logo img {
  max-width: 210px;
  height: auto;
  display: block;
}

.cj-menu-main,
.cj-menu-group-btn,
.cj-menu-subitem {
  width: 100%;
  border: 0;
  background: transparent;
  font: inherit;
  cursor: pointer;
  text-align: left;
  text-decoration: none !important;
}

.cj-menu-main,
.cj-menu-group-btn {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  min-height: 46px;
  padding: 8px 10px;
  border: 1px solid #dfe6ee;
  border-radius: 8px;
  background: #ffffff;
  color: #334155 !important;
  font-weight: 800;
  transition: background-color .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease;
}

.cj-menu-entry-label {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 10px;
}

.cj-menu-entry-label i,
.cj-menu-subitem i {
  font-style: normal;
  display: inline-grid;
  place-items: center;
  width: 28px;
  min-width: 28px;
  height: 28px;
  text-align: center;
  border: 1px solid #e2e8f0;
  border-radius: 7px;
  background: #f5f8fb;
  font-size: 14px;
  line-height: 1;
}

.cj-menu-main[data-tone="green"] i,
.cj-menu-group-btn[data-tone="green"] i,
.cj-menu-subitem[data-tone="green"] i {
  color: #08723b;
  border-color: #a7dfbf;
  background: #eaf8f0;
}

.cj-menu-main[data-tone="blue"] i,
.cj-menu-group-btn[data-tone="blue"] i,
.cj-menu-subitem[data-tone="blue"] i {
  color: #1769aa;
  border-color: #b8d7f5;
  background: #edf6ff;
}

.cj-menu-main[data-tone="orange"] i,
.cj-menu-group-btn[data-tone="orange"] i,
.cj-menu-subitem[data-tone="orange"] i {
  color: #b45309;
  border-color: #f5c98d;
  background: #fff5e7;
}

.cj-menu-main[data-tone="teal"] i,
.cj-menu-group-btn[data-tone="teal"] i,
.cj-menu-subitem[data-tone="teal"] i {
  color: #0f766e;
  border-color: #a7ddd8;
  background: #eaf9f7;
}

.cj-menu-main[data-tone="navy"] i,
.cj-menu-group-btn[data-tone="navy"] i,
.cj-menu-subitem[data-tone="navy"] i {
  color: #334a72;
  border-color: #c4d0e2;
  background: #eff3f9;
}

.cj-menu-entry-label span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.cj-menu-main:hover,
.cj-menu-subitem:hover,
.cj-menu-group-btn:hover {
  background: #f4faf7 !important;
  border-color: #b9dfca;
  color: #086b39 !important;
}

.cj-menu-main.active {
  background: #10a957 !important;
  border-color: #10a957 !important;
  color: #ffffff !important;
  box-shadow: 0 8px 18px rgba(15, 139, 73, .18);
}

.cj-menu-main.active .cj-menu-entry-label i {
  color: #ffffff;
  border-color: rgba(255, 255, 255, .24);
  background: rgba(255, 255, 255, .16);
}

.cj-menu-group {
  border: 0;
  border-radius: 8px;
  background: transparent;
}

.cj-menu-group-btn {
  color: #334155 !important;
}

.cj-menu-group.has-active .cj-menu-group-btn {
  border-color: #90d2ae;
  background: #edf9f2;
  color: #08723b !important;
  box-shadow: inset 3px 0 0 #10a957;
}

.cj-menu-group-btn b {
  display: inline-grid;
  place-items: center;
  width: 24px;
  height: 24px;
  color: #64748b;
  font-size: 13px;
  transition: transform .16s ease;
}

.cj-menu-group.open .cj-menu-group-btn b {
  transform: rotate(90deg);
}

.cj-menu-subitems {
  display: none;
  margin: 4px 0 2px 22px;
  padding: 3px 0 4px 11px;
  background: transparent;
  border-left: 2px solid #dce8e1;
}

.cj-menu-group.open .cj-menu-subitems {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.cj-menu-subitem {
  display: flex !important;
  align-items: center;
  gap: 9px;
  min-height: 36px;
  padding: 7px 9px !important;
  border: 1px solid transparent;
  border-radius: 7px;
  color: #475569 !important;
  font-weight: 750 !important;
  font-size: 13px !important;
}

.cj-menu-subitem i {
  width: 22px;
  min-width: 22px;
  height: 22px;
  border-width: 1px;
  border-style: solid;
  font-size: 13px;
}

.cj-menu-subitem.active {
  border-color: #10a957 !important;
  background: #10a957 !important;
  color: #ffffff !important;
  box-shadow: 0 5px 12px rgba(15, 139, 73, .14);
}

.cj-menu-subitem.active i {
  color: #ffffff;
  border-color: rgba(255, 255, 255, .24);
  background: rgba(255, 255, 255, .16);
}

#cj-menu-original-park-v8 {
  display: none !important;
}

/* ===== FIM MENU LATERAL CJ PADRÃO ===== */


/* ===== MULTIFILTROS CJ — FILIAIS, COMPRAS E CURVA ABC ===== */
.top-filial-multi { min-width: 210px; }
.cj-ms { position: relative; width: 100%; min-width: 180px; font-size: 13px; }
.cj-ms-btn { width: 100%; min-height: 40px; border: 1px solid var(--line); border-radius: 12px; background: #fff; color: #42516a; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 7px 10px; cursor: pointer; box-shadow: 0 6px 16px rgba(28,44,68,.04); }
.cj-ms-title { display: block; color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .06em; }
.cj-ms-summary { flex: 1; text-align: left; font-weight: 800; color: #42516a; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cj-ms-panel { display: none; position: absolute; z-index: 2000; top: calc(100% + 8px); left: 0; min-width: 280px; width: max-content; max-width: 420px; background: #fff; border: 1px solid var(--line); border-radius: 16px; box-shadow: 0 24px 70px rgba(28,44,68,.20); padding: 10px; }
.cj-ms.open .cj-ms-panel { display: block; }
.cj-ms-search { width: 100%; border: 1px solid var(--line); border-radius: 10px; background: #fff; color: var(--text); padding: 9px 10px; margin-bottom: 8px; outline: none; }
.cj-ms-options { max-height: 280px; overflow: auto; padding-right: 2px; }
.cj-ms-option { display: flex; align-items: center; gap: 8px; padding: 7px 8px; border-radius: 10px; color: #42516a; cursor: pointer; white-space: nowrap; }
.cj-ms-option:hover { background: #f3f6fb; }
.cj-ms-option input { accent-color: #22c55e; }
.cj-ms-all { border-bottom: 1px solid #eef2f7; margin-bottom: 6px; padding-bottom: 9px; font-weight: 800; }
.cj-ms-actions { display: flex; justify-content: flex-end; gap: 8px; border-top: 1px solid #eef2f7; margin-top: 8px; padding-top: 8px; }
.cj-ms-actions button { border: 1px solid var(--line); border-radius: 10px; background: #fff; color: #42516a; padding: 7px 10px; cursor: pointer; }
.cj-ms-actions button:last-child { background: linear-gradient(135deg,var(--green),#18c764); color: #fff; border-color: transparent; font-weight: 900; }
.abc-mode-card { margin: 14px 0; border: 1px solid rgba(16,180,91,.28); background: #ecfdf3; border-radius: 16px; padding: 14px 16px; display: flex; flex-direction: column; gap: 4px; color: var(--text); }
.abc-mode-card strong { font-size: 16px; color: #0f5132; }
.abc-mode-card span { color: #486176; }
.abc-mode-comparativo { border-color: rgba(25,118,210,.28); background: #eef6ff; }
.abc-filters-v5 { align-items: end; }
.abc-filters .cj-ms { min-width: 190px; }
.abc-comparativo-table th { min-width: 220px; vertical-align: top; }
.abc-comparativo-table th:first-child { min-width: 320px; position: sticky; left: 0; z-index: 2; background: #f8fafc; }
.abc-comparativo-table td:first-child { position: sticky; left: 0; z-index: 1; background: #fff; }
.abc-comp-cell { display: flex; flex-direction: column; gap: 5px; min-width: 190px; }
.abc-comp-cell strong { font-size: 13px; color: var(--text); }
.abc-comp-cell span { color: #64748b; font-size: 12px; }
.abc-comp-cell em { color: #7b8aa0; font-style: normal; font-size: 11px; }
.abc-comp-empty { color: #64748b; font-size: 12px; }
.abc-comparativo-resumo { grid-column: 1 / -1; }
@media (max-width: 900px) { .cj-ms-panel { min-width: 240px; max-width: calc(100vw - 32px); } .top-filial-multi { min-width: 180px; } }
/* ===== FIM MULTIFILTROS CJ ===== */

/* ===== UX OFICIAL MULTIFILTROS CJ V2 ===== */
.section-actions-row{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  margin:0 0 14px;
}
.cj-ms-btn:hover{
  border-color:#cfd8e6;
  box-shadow:0 8px 18px rgba(28,44,68,.08);
}
.cj-ms.open .cj-ms-btn{
  border-color:var(--green);
  box-shadow:0 0 0 3px rgba(16,180,91,.10);
}
.cj-ms-panel label,
.cj-ms-option span{
  color:#42516a;
}
.topbar .cj-ms-btn{
  min-height:42px;
}
.abc-mode-card{
  font-weight:700;
}
.abc-mode-card strong,
.abc-mode-card span{
  opacity:1;
}
/* ===== FIM UX OFICIAL MULTIFILTROS CJ V2 ===== */

/* ===== REFINO CURVA ABC UX V3 ===== */
.section-actions-row{ display:none !important; }
.abc-resumo-box{ overflow:hidden; }
.abc-mini-table tfoot td{
  font-weight:900 !important;
  background:#f8fafc !important;
  border-top:2px solid #dfe7f2 !important;
  color:var(--text) !important;
}
.abc-mini-table .abc-click-row{ cursor:pointer; transition:background .15s ease, transform .15s ease; }
.abc-mini-table .abc-click-row:hover{ background:#f2fbf6 !important; }
.abc-mini-table .abc-click-row:hover td:first-child{ color:#087c3c; }
.abc-status-resumo{ grid-column:1 / -1; }
.abc-comp-summary-head{
  display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:12px;
}
.abc-comp-summary-head strong{ font-size:18px; color:var(--text); }
.abc-comp-summary-head span{ color:var(--muted); font-size:13px; }
.abc-comparativo-summary-v3{ grid-column:1 / -1; }
.abc-comp-cards{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:14px;
}
.abc-comp-card{
  background:#fff; border:1px solid var(--line); border-radius:18px; padding:16px;
  box-shadow:0 12px 32px rgba(28,44,68,.06);
}
.abc-comp-card header{ display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:12px; }
.abc-comp-card header strong{ font-size:16px; color:var(--text); }
.abc-comp-card header span{ color:var(--green); font-weight:900; font-size:12px; white-space:nowrap; }
.abc-comp-card-main{ display:flex; flex-direction:column; gap:4px; margin-bottom:12px; }
.abc-comp-card-main b{ font-size:18px; color:var(--text); }
.abc-comp-card-main span{ color:#64748b; font-size:12px; }
.abc-comp-curva-mini{ display:flex; flex-wrap:wrap; align-items:center; gap:6px; padding-top:8px; border-top:1px solid #eef2f7; margin-top:8px; }
.abc-comp-curva-mini small{ width:58px; color:#64748b; font-weight:900; text-transform:uppercase; font-size:10px; }
.abc-comp-curva-mini span{ background:#f5f8fc; border:1px solid #edf2f7; border-radius:999px; padding:4px 7px; font-size:11px; color:#42516a; }
.abc-comparativo-scroll{ overflow:auto; width:100%; }
.abc-comparativo-table-v3{ table-layout:fixed; border-collapse:separate; border-spacing:0; }
.abc-comparativo-table-v3 .abc-comp-prod-col{ width:360px; }
.abc-comparativo-table-v3 .abc-comp-filial-col{ width:230px; }
.abc-comparativo-table-v3 th:first-child,
.abc-comparativo-table-v3 td:first-child{ width:360px; min-width:360px; max-width:360px; }
.abc-comparativo-table-v3 th{ position:sticky; top:0; z-index:3; }
.abc-comparativo-table-v3 th:first-child{ z-index:4; }
.abc-comp-prod-cell strong{
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
  font-size:13px !important; line-height:1.25; max-width:330px;
}
.abc-comp-prod-cell small{ display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:330px; }
.abc-comp-cell-v3{ min-width:0; gap:6px; }
.abc-comp-curvas{ display:flex; gap:6px; align-items:center; flex-wrap:wrap; }
.abc-comp-curvas span{ display:inline-flex; align-items:center; gap:4px; color:#64748b; font-size:11px; }
.abc-comp-money{ font-size:14px !important; color:var(--text); }
.abc-comp-metrics{ display:flex; gap:8px; flex-wrap:wrap; }
.abc-comp-metrics span{ color:#64748b; font-size:12px; }
.abc-comp-cell-v3 em{ font-weight:800; color:#64748b; font-size:11px; }
@media (max-width: 1200px){
  .abc-comparativo-table-v3 .abc-comp-prod-col,
  .abc-comparativo-table-v3 th:first-child,
  .abc-comparativo-table-v3 td:first-child{ width:300px; min-width:300px; max-width:300px; }
  .abc-comp-prod-cell strong,.abc-comp-prod-cell small{ max-width:270px; }
}
/* ===== FIM REFINO CURVA ABC UX V3 ===== */

/* ===== REFINO CURVA ABC UX V4 ===== */
.abc-mini-curve-pill{
  display:inline-flex !important; align-items:center; gap:6px; padding:4px 8px !important;
  border:1px solid #e7edf5; border-radius:999px; background:#f8fafc; font-size:12px !important;
}
.abc-mini-curve-pill .abc-badge{ font-size:12px !important; min-width:24px; height:22px; padding:0 7px; display:inline-flex; align-items:center; justify-content:center; }
.abc-mini-curve-pill b{ font-size:12px; color:#20304a; }
.abc-comp-curva-mini{ gap:8px !important; }
.abc-comp-curva-mini small{ width:68px !important; }
.abc-comp-card{ padding:18px !important; }
.abc-comp-card header strong{ font-size:17px !important; }
.abc-comp-card header span{ font-size:13px !important; }
.abc-comp-card-main b{ font-size:20px !important; }
.abc-comp-card-main span{ font-size:13px !important; }
.abc-table-title{ display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.abc-table-title > div:first-child{ display:flex; flex-direction:column; gap:3px; }
.abc-colunas-host{ display:flex; align-items:center; gap:8px; }
.abc-grid-note{ color:#64748b; font-size:12px; font-weight:800; }
.abc-colchooser{ position:relative; }
.abc-colchooser-btn{
  border:1px solid #dfe7f2; background:#fff; color:#20304a; border-radius:10px; padding:9px 12px;
  font-weight:900; cursor:pointer; box-shadow:0 8px 20px rgba(28,44,68,.04);
}
.abc-colchooser-panel{
  position:absolute; right:0; top:calc(100% + 8px); z-index:80; width:250px; max-height:340px; overflow:auto;
  background:#fff; border:1px solid #dfe7f2; border-radius:14px; padding:10px; box-shadow:0 18px 50px rgba(20,30,50,.18);
}
.abc-colchooser-head{ display:flex; align-items:center; justify-content:space-between; gap:8px; padding:4px 4px 8px; border-bottom:1px solid #eef2f7; margin-bottom:6px; }
.abc-colchooser-head strong{ color:#20304a; font-size:13px; }
.abc-colchooser-head button{ border:0; background:#edfdf4; color:#087c3c; font-weight:900; border-radius:8px; padding:5px 7px; cursor:pointer; font-size:11px; }
.abc-colchooser-panel label{ display:flex; align-items:center; gap:8px; padding:7px 6px; border-radius:8px; color:#20304a; font-size:13px; cursor:pointer; }
.abc-colchooser-panel label:hover{ background:#f8fafc; }
.abc-col-hidden{ display:none !important; }
.abc-table-scroll-v4{ width:100%; overflow:auto; }
.abc-products-table-v4{ table-layout:auto; }
.abc-products-table-v4 th{ white-space:nowrap; }
.abc-products-table-v4 th small{ display:none !important; }
.abc-products-table-v4 td{ vertical-align:middle; }
.abc-products-table-v4 .abc-prod-main-cell{ min-width:260px; max-width:360px; }
.abc-products-table-v4 .abc-prod-main-cell strong{ display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; line-height:1.25; }
.abc-products-table-v4 .abc-prod-main-cell small{ display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.abc-products-table-v4 td[data-col="marca"],
.abc-products-table-v4 td[data-col="grupo"],
.abc-products-table-v4 td[data-col="subgrupo"]{ max-width:190px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.abc-status-cell{ min-width:160px; }
.abc-status-cell .abc-badge,
.abc-products-table-v4 td[data-col="status"] .abc-badge{ white-space:nowrap; max-width:none; font-size:11px; padding:5px 8px; }
.abc-comparativo-scroll-v4{ overflow:auto; border-radius:0 0 16px 16px; }
.abc-comparativo-table-v4{ table-layout:fixed !important; }
.abc-comparativo-table-v4 .abc-comp-prod-col{ width:420px !important; }
.abc-comparativo-table-v4 .abc-comp-filial-col{ width:285px !important; }
.abc-comparativo-table-v4 th:first-child,
.abc-comparativo-table-v4 td:first-child{ width:420px !important; min-width:420px !important; max-width:420px !important; }
.abc-comparativo-table-v4 th{ font-size:13px !important; color:#20304a; }
.abc-comparativo-table-v4 td{ padding:16px 14px !important; vertical-align:top; }
.abc-comparativo-table-v4 .abc-comp-prod-cell strong{ max-width:390px !important; font-size:14px !important; line-height:1.28 !important; }
.abc-comparativo-table-v4 .abc-comp-prod-cell small{ max-width:390px !important; font-size:12px !important; }
.abc-comp-cell-v4{ gap:8px !important; font-size:13px; }
.abc-comp-curvas-v4{ gap:10px !important; }
.abc-comp-curvas-v4 span{ gap:5px !important; font-size:12px !important; }
.abc-comp-curvas-v4 small{ font-size:11px; color:#64748b; font-weight:900; }
.abc-comp-curvas-v4 .abc-badge{ font-size:12px !important; min-width:24px; height:22px; padding:0 7px; display:inline-flex; align-items:center; justify-content:center; }
.abc-comp-money{ font-size:16px !important; line-height:1.15; }
.abc-comp-metrics-v4{ gap:8px 12px !important; }
.abc-comp-metrics-v4 span{ font-size:12px !important; color:#53647f; }
.abc-comp-metrics-v4 b{ color:#20304a; }
.abc-comp-cell-v4 em{ display:block; margin-top:2px; }
.abc-comp-cell-v4 em .abc-badge{ font-size:11px; white-space:nowrap; max-width:100%; }
@media (max-width:1200px){
  .abc-comparativo-table-v4 .abc-comp-prod-col,
  .abc-comparativo-table-v4 th:first-child,
  .abc-comparativo-table-v4 td:first-child{ width:340px !important; min-width:340px !important; max-width:340px !important; }
  .abc-comparativo-table-v4 .abc-comp-filial-col{ width:260px !important; }
  .abc-comparativo-table-v4 .abc-comp-prod-cell strong,
  .abc-comparativo-table-v4 .abc-comp-prod-cell small{ max-width:315px !important; }
}
/* ===== FIM REFINO CURVA ABC UX V4 ===== */

/* ===== REFINO CURVA ABC UX V5 ===== */
#abc-status-processamento{ display:block !important; margin:0 0 14px !important; }
.abc-run-card-v5{
  display:flex !important; align-items:center !important; justify-content:space-between !important; gap:16px !important;
  background:#ffffff !important; border:1px solid #dfe7f2 !important; border-radius:16px !important; padding:12px 16px !important;
  box-shadow:0 10px 28px rgba(24,38,60,.05) !important;
}
.abc-run-info-v5{ display:flex; flex-direction:column; gap:3px; min-width:0; }
.abc-run-info-v5 span{ color:#64748b; font-size:11px; font-weight:900; text-transform:uppercase; letter-spacing:.03em; }
.abc-run-info-v5 strong{ color:#20304a; font-size:13px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:620px; }
.abc-run-info-v5 small{ color:#64748b; font-size:12px; }
.abc-run-rules-v5{ display:flex; align-items:center; justify-content:flex-end; gap:7px; flex-wrap:wrap; }
.abc-run-rules-v5 b{ color:#20304a; font-size:12px; margin-right:4px; }
.abc-rule-pill{ display:inline-flex; align-items:center; justify-content:center; min-width:48px; padding:6px 8px; border-radius:999px; font-weight:900; font-size:12px; border:1px solid transparent; }
.abc-rule-a{ background:#dcfce7; color:#166534; border-color:#bbf7d0; }
.abc-rule-b{ background:#dbeafe; color:#1d4ed8; border-color:#bfdbfe; }
.abc-rule-c{ background:#fef9c3; color:#854d0e; border-color:#fde68a; }
.abc-rule-d{ background:#ffedd5; color:#9a3412; border-color:#fed7aa; }
.abc-rule-e{ background:#fee2e2; color:#991b1b; border-color:#fecaca; }
.abc-table-title-v5{ display:flex !important; align-items:center !important; justify-content:space-between !important; gap:12px !important; flex-wrap:wrap !important; }
.abc-table-title-main{ display:flex; flex-direction:column; gap:3px; min-width:260px; }
.abc-colunas-host{ margin-left:auto; }
.abc-colchooser-btn{ min-width:112px; }
.abc-colchooser-v5 .abc-colchooser-head{ align-items:flex-start; }
.abc-colchooser-v5 .abc-colchooser-head div{ display:flex; gap:6px; }
.abc-colchooser-v5 .abc-colchooser-head button{ white-space:nowrap; }
/* Cores mais fortes e consistentes para badges ABC em cards e comparativo */
.abc-badge.abc-a{ background:#bbf7d0 !important; color:#166534 !important; border:1px solid #86efac !important; }
.abc-badge.abc-b{ background:#dbeafe !important; color:#1d4ed8 !important; border:1px solid #bfdbfe !important; }
.abc-badge.abc-c{ background:#fef08a !important; color:#854d0e !important; border:1px solid #fde047 !important; }
.abc-badge.abc-d{ background:#fed7aa !important; color:#9a3412 !important; border:1px solid #fdba74 !important; }
.abc-badge.abc-e{ background:#fecaca !important; color:#991b1b !important; border:1px solid #fca5a5 !important; }
.abc-badge.abc-n{ background:#e5e7eb !important; color:#374151 !important; border:1px solid #d1d5db !important; }
.abc-mini-curve-pill{ padding:6px 10px !important; gap:7px !important; }
.abc-mini-curve-pill .abc-badge{ min-width:27px !important; height:25px !important; font-size:13px !important; }
.abc-mini-curve-pill b{ font-size:13px !important; }
.abc-mini-curve-a{ background:#f0fdf4 !important; border-color:#bbf7d0 !important; }
.abc-mini-curve-b{ background:#eff6ff !important; border-color:#bfdbfe !important; }
.abc-mini-curve-c{ background:#fefce8 !important; border-color:#fde68a !important; }
.abc-mini-curve-d{ background:#fff7ed !important; border-color:#fed7aa !important; }
.abc-mini-curve-e{ background:#fef2f2 !important; border-color:#fecaca !important; }
.abc-mini-curve-n{ background:#f8fafc !important; border-color:#d1d5db !important; }
.abc-comp-curva-mini{ gap:10px !important; }
.abc-comp-curva-mini small{ width:72px !important; font-size:12px !important; color:#475569 !important; }
/* Grid padrão: padrão essencial deve caber melhor em 100% */
.abc-products-table-v4{ width:100% !important; table-layout:auto !important; font-size:13px !important; }
.abc-products-table-v4 th{ font-size:12px !important; padding:11px 10px !important; }
.abc-products-table-v4 td{ padding:11px 10px !important; }
.abc-products-table-v4 .abc-prod-main-cell{ min-width:230px !important; max-width:300px !important; }
.abc-products-table-v4 .abc-prod-main-cell strong{ font-size:13px !important; }
.abc-products-table-v4 td[data-col="subgrupo"]{ max-width:150px !important; }
.abc-products-table-v4 td[data-col="faturamento"]{ white-space:nowrap; }
.abc-status-cell{ min-width:128px !important; }
.abc-status-cell .abc-badge{ font-size:10.5px !important; padding:5px 7px !important; white-space:nowrap !important; }
/* Comparativo mais legível */
.abc-comparativo-table-v4 .abc-comp-prod-col{ width:340px !important; }
.abc-comparativo-table-v4 .abc-comp-filial-col{ width:360px !important; }
.abc-comparativo-table-v4 th:first-child,
.abc-comparativo-table-v4 td:first-child{ width:340px !important; min-width:340px !important; max-width:340px !important; }
.abc-comparativo-table-v4 th{ font-size:13px !important; }
.abc-comparativo-table-v4 td{ padding:15px 16px !important; }
.abc-comparativo-table-v4 .abc-comp-prod-cell strong{ max-width:310px !important; font-size:13.5px !important; line-height:1.25 !important; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.abc-comparativo-table-v4 .abc-comp-prod-cell small{ max-width:310px !important; font-size:11.5px !important; }
.abc-comp-cell-v5{ display:flex; flex-direction:column; gap:8px; font-size:13px; min-width:0; }
.abc-comp-curvas-v5{ display:flex; gap:12px !important; align-items:center; flex-wrap:wrap; }
.abc-comp-curvas-v5 span{ display:inline-flex; align-items:center; gap:6px; font-size:12px !important; }
.abc-comp-curvas-v5 small{ color:#64748b; font-weight:900; }
.abc-comp-curvas-v5 .abc-badge{ min-width:28px !important; height:25px !important; font-size:13px !important; padding:0 8px !important; }
.abc-comp-money{ font-size:17px !important; color:#172033; }
.abc-comp-metrics-v5{ display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:6px; }
.abc-comp-metrics-v5 span{ background:#f8fafc; border:1px solid #eef2f7; border-radius:8px; padding:6px 7px; font-size:12px; color:#53647f; white-space:nowrap; }
.abc-comp-metrics-v5 b{ color:#20304a; }
.abc-comp-status .abc-badge{ font-size:11px !important; max-width:none; }
@media (max-width:1320px){
  .abc-run-card-v5{ align-items:flex-start !important; flex-direction:column !important; }
  .abc-run-rules-v5{ justify-content:flex-start !important; }
  .abc-products-table-v4 .abc-prod-main-cell{ min-width:210px !important; max-width:260px !important; }
}
/* ===== FIM REFINO CURVA ABC UX V5 ===== */



/* === REFINO CURVA ABC UX V6 === */
.abc-run-panel-v6{
  display:grid;
  grid-template-columns:minmax(280px, 1fr) auto;
  gap:18px;
  align-items:stretch;
  background:linear-gradient(135deg,#f0fdf4 0%,#ffffff 62%);
  border:1px solid #bbf7d0;
  border-radius:18px;
  padding:18px 20px;
  box-shadow:0 10px 30px rgba(15,23,42,.04);
  margin-bottom:14px;
}
.abc-run-main-v6>span{ display:block; color:#059669; font-weight:900; letter-spacing:.05em; text-transform:uppercase; font-size:12px; margin-bottom:5px; }
.abc-run-main-v6>strong{ display:block; color:#102033; font-size:22px; line-height:1.1; margin-bottom:12px; }
.abc-run-meta-v6{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.abc-run-meta-v6 span{ background:#fff; border:1px solid #e5edf5; border-radius:12px; padding:10px 12px; color:#475569; font-size:12px; line-height:1.2; }
.abc-run-meta-v6 b{ display:block; color:#102033; font-size:11px; text-transform:uppercase; letter-spacing:.04em; margin-bottom:4px; }
.abc-rule-cards-v6{ display:grid; grid-template-columns:repeat(5,76px); grid-template-rows:auto 1fr; gap:8px; align-content:center; }
.abc-rule-title-v6{ grid-column:1 / -1; color:#334155; font-weight:900; text-transform:uppercase; font-size:12px; letter-spacing:.05em; }
.abc-rule-card{ min-height:66px; border-radius:16px; border:1px solid transparent; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; box-shadow:0 8px 20px rgba(15,23,42,.04); }
.abc-rule-card b{ font-size:20px; line-height:1; }
.abc-rule-card strong{ font-size:15px; }
.abc-mini-table-scroll{ width:100%; overflow:auto; }
.abc-mini-table-v6{ min-width:780px; }
.abc-mini-table-v6 th,.abc-mini-table-v6 td{ white-space:nowrap; }
.abc-products-table-v4 td[data-col="custo"],
.abc-products-table-v4 td[data-col="valor_estoque"]{ white-space:nowrap; font-weight:800; color:#172033; }
.abc-products-table-v4 th[data-col="valor_estoque"]{ min-width:120px; }
.abc-comp-card-v6 .abc-comp-card-main span{ display:block; }
.abc-comp-cell-v6{ display:flex; flex-direction:column; gap:8px; font-size:13px; min-width:0; }
.abc-comp-curvas-v6{ display:flex; gap:12px; flex-wrap:wrap; align-items:center; }
.abc-comp-curvas-v6 span{ display:inline-flex; align-items:center; gap:6px; font-size:12px; color:#475569; }
.abc-comp-curvas-v6 small{ font-weight:900; color:#64748b; }
.abc-comp-curvas-v6 .abc-badge{ min-width:30px !important; height:27px !important; font-size:13px !important; padding:0 9px !important; }
.abc-comp-metrics-v6{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
.abc-comp-metrics-v6 span{ background:#f8fafc; border:1px solid #eef2f7; border-radius:9px; padding:7px 8px; font-size:12px; color:#53647f; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.abc-comp-metrics-v6 b{ color:#20304a; }
@media (max-width:1300px){
  .abc-run-panel-v6{ grid-template-columns:1fr; }
  .abc-run-meta-v6{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .abc-rule-cards-v6{ grid-template-columns:repeat(5,minmax(58px,76px)); }
}

/* ===== CURVA ABC EXECUTIVA V7 ===== */
.abc-run-panel-v7{
  background:linear-gradient(135deg,#ffffff 0%,#f8fbff 58%,#eef7ff 100%);
  border:1px solid #dbe7f3;
  border-radius:22px;
  padding:20px 22px;
  box-shadow:0 18px 42px rgba(15,23,42,.08);
  margin:12px 0 18px;
}
.abc-run-header-v7{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px;}
.abc-run-kicker-v7{display:inline-flex;align-items:center;gap:8px;color:#047857;font-weight:950;text-transform:uppercase;letter-spacing:.08em;font-size:13px;margin-bottom:6px;}
.abc-run-header-v7 strong{display:block;color:#0f172a;font-size:28px;line-height:1.08;letter-spacing:-.02em;}
.abc-run-header-v7 p{margin:7px 0 0;color:#64748b;font-size:14px;font-weight:700;}
.abc-legenda-btn-v7{border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8;border-radius:999px;padding:10px 15px;font-weight:900;cursor:pointer;white-space:nowrap;box-shadow:0 8px 20px rgba(37,99,235,.08);}
.abc-legenda-btn-v7:hover{background:#dbeafe;}
.abc-run-content-v7{display:grid;grid-template-columns:minmax(340px,1fr) auto;gap:18px;align-items:stretch;}
.abc-run-meta-v7{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.abc-run-meta-v7 article{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:14px 16px;box-shadow:0 10px 26px rgba(15,23,42,.045);}
.abc-run-meta-v7 b{display:block;color:#475569;text-transform:uppercase;letter-spacing:.06em;font-size:11px;margin-bottom:6px;}
.abc-run-meta-v7 span{display:block;color:#0f172a;font-size:15px;font-weight:900;}
.abc-rule-cards-v7{display:grid;grid-template-columns:repeat(5,94px);grid-template-rows:auto 1fr;gap:10px;align-content:stretch;}
.abc-rule-title-v7{grid-column:1/-1;color:#334155;font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:950;}
.abc-rule-card-v7{min-height:94px;border-radius:20px;border:1px solid transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;box-shadow:0 14px 30px rgba(15,23,42,.07);}
.abc-rule-card-v7 b{font-size:32px;line-height:1;font-weight:1000;}
.abc-rule-card-v7 strong{font-size:19px;font-weight:1000;}
.abc-rule-card-v7 small{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;opacity:.8;}
.abc-rule-a{background:#e8f8ef;border-color:#bbf7d0;color:#166534;}
.abc-rule-b{background:#eaf3ff;border-color:#bfdbfe;color:#1d4ed8;}
.abc-rule-c{background:#fff7ed;border-color:#fed7aa;color:#c2410c;}
.abc-rule-d{background:#fefce8;border-color:#fde68a;color:#a16207;}
.abc-rule-e{background:#f8fafc;border-color:#cbd5e1;color:#475569;}
.abc-badge{white-space:nowrap;}
.abc-badge.abc-status-giro-normal{background:#dcfce7!important;color:#166534!important;border-color:#86efac!important;}
.abc-badge.abc-status-em-maturacao{background:#fef3c7!important;color:#92400e!important;border-color:#fcd34d!important;}
.abc-badge.abc-status-estoque-sem-giro{background:#fee2e2!important;color:#991b1b!important;border-color:#fca5a5!important;}
.abc-badge.abc-status-sem-giro-sem-estoque{background:#e2e8f0!important;color:#334155!important;border-color:#cbd5e1!important;}
.abc-badge.abc-status-movimento-negativo{background:#ffedd5!important;color:#9a3412!important;border-color:#fdba74!important;}
.abc-badge.abc-status-novo-com-estoque{background:#dbeafe!important;color:#1d4ed8!important;border-color:#93c5fd!important;}
.abc-badge.abc-status-novo-sem-estoque{background:#f3e8ff!important;color:#7e22ce!important;border-color:#d8b4fe!important;}
.abc-help-dot{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:#e0f2fe;color:#0369a1;font-size:11px;font-weight:950;margin-left:6px;vertical-align:middle;cursor:help;}
.abc-help,.abc-run-meta-v7 article,.abc-comp-card-v7 span,.abc-comp-money{cursor:help;}
.abc-legenda-overlay-v7{position:fixed;inset:0;background:rgba(15,23,42,.58);z-index:99999;display:flex;align-items:center;justify-content:center;padding:24px;}
.abc-legenda-panel-v7{width:min(980px,calc(100vw - 40px));max-height:86vh;overflow:auto;background:#fff;border-radius:24px;border:1px solid #e2e8f0;box-shadow:0 28px 80px rgba(15,23,42,.32);}
.abc-legenda-panel-v7 header{position:sticky;top:0;background:#fff;border-bottom:1px solid #e2e8f0;padding:18px 22px;display:flex;justify-content:space-between;align-items:center;z-index:1;}
.abc-legenda-panel-v7 header span{display:block;color:#047857;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:950;}
.abc-legenda-panel-v7 header strong{display:block;color:#0f172a;font-size:24px;}
.abc-legenda-close-v7{width:38px;height:38px;border-radius:50%;border:1px solid #cbd5e1;background:#f8fafc;color:#0f172a;font-size:24px;line-height:1;cursor:pointer;}
.abc-legenda-body-v7{padding:22px;display:grid;gap:16px;}
.abc-legenda-section-v7{background:#f8fafc;border:1px solid #e2e8f0;border-radius:18px;padding:16px 18px;}
.abc-legenda-section-v7 h4{margin:0 0 10px;color:#0f172a;font-size:16px;}
.abc-legenda-section-v7 p,.abc-legenda-section-v7 li{color:#475569;font-size:14px;line-height:1.5;}
.abc-legenda-section-v7 ul{margin:0;padding-left:20px;}
.abc-legenda-grid-v7{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.abc-legenda-grid-v7 h4{grid-column:1/-1;}
.abc-legenda-grid-v7 article{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:12px;}
.abc-legenda-grid-v7 article p{margin:8px 0 0;font-size:13px;}
.abc-comp-card-v7 .abc-comp-card-main small{display:block;color:#64748b;font-weight:950;text-transform:uppercase;letter-spacing:.05em;font-size:11px;margin-bottom:2px;}
.abc-comp-card-v7 .abc-comp-card-main b{font-size:24px;line-height:1.1;}
.abc-comp-cell-v7 .abc-comp-status .abc-badge{font-size:12px;padding:5px 8px;}
.abc-comp-metrics-v7 span{font-size:12px;}
@media (max-width:1250px){.abc-run-content-v7{grid-template-columns:1fr}.abc-rule-cards-v7{grid-template-columns:repeat(5,minmax(72px,1fr));}.abc-run-meta-v7{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (max-width:760px){.abc-run-header-v7{flex-direction:column}.abc-run-header-v7 strong{font-size:22px}.abc-run-meta-v7{grid-template-columns:1fr}.abc-rule-cards-v7{grid-template-columns:repeat(2,minmax(0,1fr));}.abc-rule-title-v7{grid-column:1/-1}.abc-legenda-grid-v7{grid-template-columns:1fr;}}
/* ===== FIM CURVA ABC EXECUTIVA V7 ===== */


/* ===== FIX CLIENTES/ITENS V2 - PAGINAÇÃO ITENS ===== */
.itens-busca-input{min-width:260px;flex:1 1 280px;}
.itens-pager{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border:1px solid #e5edf5;
  border-radius:14px;
  background:#ffffff;
  margin:12px 0;
  box-shadow:0 8px 22px rgba(15,23,42,.035);
}
.cj-pager-info{display:flex;flex-direction:column;gap:2px;color:#53647f;font-size:12px;}
.cj-pager-info strong{font-size:14px;color:#172033;}
.cj-pager-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end;}
.cj-pager-actions button[disabled]{opacity:.5;cursor:not-allowed;}
.itens-page-jump{display:inline-flex;align-items:center;gap:6px;color:#53647f;font-size:12px;font-weight:800;}
.itens-page-jump input{width:70px;border:1px solid #dbe5ef;border-radius:10px;padding:8px 9px;font-weight:900;color:#172033;background:#fff;}
.itens-table .date-cell{white-space:nowrap;min-width:90px;}
.itens-table .produto-cell{min-width:260px;max-width:390px;}
.itens-table .marca-cell{min-width:130px;}
@media (max-width:1100px){
  .itens-pager{align-items:flex-start;flex-direction:column;}
  .cj-pager-actions{justify-content:flex-start;}
}
/* ===== FIM FIX CLIENTES/ITENS V2 ===== */

/* ===== VENDAS > ITENS / PRODUTOS — FILTROS PADRONIZADOS V3 ===== */
.itens-header-block{align-items:flex-start;}
.itens-filter-panel{
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  border-radius:18px;
  padding:16px;
  box-shadow:0 10px 25px rgba(15,23,42,.04);
  margin:12px 0 14px;
}
.itens-filter-row{
  display:grid;
  grid-template-columns:repeat(5,minmax(150px,1fr));
  gap:10px;
  margin-bottom:10px;
}
.itens-filter-row .filter-input{min-width:0;}
.itens-filter-row .itens-busca-input{grid-column:span 1;}
.itens-advanced-details{
  border:1px dashed rgba(100,116,139,.35);
  border-radius:14px;
  padding:8px 10px 2px;
  background:#f8fafc;
  margin-top:4px;
}
.itens-advanced-details summary{
  cursor:pointer;
  font-weight:800;
  color:#334155;
  font-size:.82rem;
  margin-bottom:8px;
}
.itens-filter-actions{
  display:flex;
  gap:8px;
  justify-content:flex-end;
  margin-top:10px;
}
.summary-note-wide{
  grid-column:span 2;
  border-color:#fed7aa!important;
  background:#fff7ed!important;
}
.summary-note-wide strong{color:#c2410c!important;}
.summary-note-wide span{color:#9a3412!important;}

@media (max-width:1400px){
  .itens-filter-row{grid-template-columns:repeat(3,minmax(150px,1fr));}
}
@media (max-width:900px){
  .itens-filter-row{grid-template-columns:1fr;}
  .itens-filter-actions{justify-content:flex-start;flex-wrap:wrap;}
}

/* ===== CJ_RESPONSIVIDADE_GLOBAL_V5 ===== */
/* Camada segura de responsividade da Plataforma CJ.
   Objetivo: reduzir barras de rolagem desnecessárias, permitir quebra de cards/filtros
   e manter tabelas grandes dentro de containers com rolagem horizontal controlada. */
:root{
  --cj-sidebar-fluid: clamp(248px, 15.8vw, 300px);
  --cj-page-pad-fluid: clamp(14px, 1.55vw, 30px);
  --cj-gap-fluid: clamp(8px, .85vw, 16px);
  --cj-card-radius-fluid: clamp(14px, 1vw, 18px);
}

html,
body{ width:100%; max-width:100%; overflow-x:hidden; }
.layout{ width:100%; max-width:100vw; overflow-x:hidden; }
.sidebar{ width:var(--cj-sidebar-fluid); min-width:var(--cj-sidebar-fluid); }
.main{ min-width:0; max-width:calc(100vw - var(--cj-sidebar-fluid)); padding-left:var(--cj-page-pad-fluid); padding-right:var(--cj-page-pad-fluid); overflow-x:clip; }
.view,.view.active,section,.panel,.card,.culture-card,.ranking-panel,.clientes-full-panel,.itens-full-panel,.abc-table-wrap,.aud-table-wrap{ min-width:0; max-width:100%; }
.topbar{ gap:var(--cj-gap-fluid); padding-top:clamp(8px, .85vw, 12px); padding-bottom:clamp(8px, .85vw, 12px); }
.top-actions{ min-width:0; flex-wrap:wrap; row-gap:8px; }
.top-actions > *,.filter-input,.date-filter,.multiselect,.cj-multiselect,.cj-filter-multi,select,input{ max-width:100%; }
h1{ font-size:clamp(23px, 1.65vw, 30px); line-height:1.12; }
.culture-card{ gap:clamp(12px, 1vw, 22px); }
.kpis,.clientes-summary,.aud-cards,.abc-info-cards,.abc-run-grid,.abc-summary-grid,.abc-compare-cards,.abc-filial-cards,.abc-param-grid,.abc-percent-grid{ grid-template-columns:repeat(auto-fit, minmax(min(230px, 100%), 1fr)) !important; }
.clientes-summary div,.aud-card,.abc-info-card,.abc-run-card,.abc-run-card-v2,.abc-param-card,.abc-legend-card,.kpi-card{ border-radius:var(--cj-card-radius-fluid); min-width:0; }
.ranking-table-wrap,.table-wrap,.clientes-table-wrap,.itens-table-wrap,.aud-table-wrap,.abc-table-wrap,.drill-table-wrap{ max-width:100%; overflow-x:auto; overflow-y:visible; -webkit-overflow-scrolling:touch; }
table{ max-width:100%; }
.ranking-table,.clientes-table,.itens-table,.aud-table,.abc-table,.abc-mini-table,.drill-table,.drill-itens-table,.client-item-table{ width:100%; }
.itens-table,.aud-table,.abc-table{ min-width:min(1220px, 100%); }
.produto-cell{ min-width:clamp(260px, 24vw, 420px) !important; max-width:clamp(340px, 30vw, 520px) !important; }
.produto-desc{ overflow-wrap:anywhere; }
.itens-filter-grid,.aud2-filter-grid,.aud-filter-grid,.abc-filter-grid,.abc-filters,.filter-grid{ max-width:100%; display:grid; grid-template-columns:repeat(auto-fit, minmax(min(220px, 100%), 1fr)) !important; gap:var(--cj-gap-fluid); }
.itens-filter-actions,.filter-actions{ display:flex; flex-wrap:wrap; gap:8px; }
@media (max-width:1500px){
  :root{ --cj-page-pad-fluid:18px; }
  .topbar{ min-height:auto; align-items:flex-start; }
  .top-actions{ justify-content:flex-end; }
  .clientes-summary,.kpis{ grid-template-columns:repeat(auto-fit, minmax(min(210px, 100%), 1fr)) !important; }
}
@media (max-width:1180px){
  .layout{ display:block; overflow-x:hidden; }
  .sidebar{ position:relative; width:100%; min-width:0; height:auto; overflow:visible; padding:14px; }
  .main{ max-width:100%; width:100%; padding-left:14px; padding-right:14px; }
  .topbar{ position:sticky; top:0; flex-direction:column; align-items:flex-start; }
  .top-actions{ width:100%; justify-content:flex-start; }
}
@media (max-width:760px){
  .main{ padding-left:10px; padding-right:10px; }
  .culture-card,.topbar{ border-radius:14px; }
  .clientes-summary,.aud-cards,.abc-info-cards,.kpis{ grid-template-columns:1fr !important; }
}
/* ===== FIM CJ_RESPONSIVIDADE_GLOBAL_V5 ===== */



/* ===== AUDITORIA PREÇOS + ABC + ESTOQUE V1 ===== */
.aud2-context-note{
  background:#f0fdf4;
  border:1px solid #bbf7d0;
  color:#164e2b;
  border-radius:14px;
  padding:12px 14px;
  margin-bottom:14px;
  font-size:13px;
}
.aud2-filters-plus{
  grid-template-columns: repeat(5, minmax(150px, 1fr));
  gap:12px;
}
.aud2-table-title{
  gap:14px;
  align-items:center;
}
.aud2-table-title #aud2-colunas-host{
  margin-left:auto;
}
.aud2-table-scroll{
  overflow-x:auto;
  width:100%;
}
.aud2-table-compact{
  min-width:1180px;
}
.aud2-table-compact th,
.aud2-table-compact td{
  white-space:nowrap;
}
.aud2-table-compact .aud2-produto{
  white-space:normal;
  min-width:270px;
  max-width:420px;
}
.abc-cell{ text-align:center; }
.abc-mini{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:24px;
  height:24px;
  border-radius:999px;
  font-weight:900;
  font-size:12px;
  border:1px solid rgba(15,23,42,.08);
}
.abc-A{ background:#dcfce7; color:#15803d; }
.abc-B{ background:#dbeafe; color:#1d4ed8; }
.abc-C{ background:#fef3c7; color:#a16207; }
.abc-D{ background:#ffedd5; color:#c2410c; }
.abc-E{ background:#fee2e2; color:#b91c1c; }
.abc-N{ background:#e5e7eb; color:#475569; }
.giro-badge{
  display:inline-flex;
  align-items:center;
  max-width:160px;
  padding:4px 8px;
  border-radius:999px;
  font-weight:800;
  font-size:11px;
  line-height:1.1;
  white-space:normal;
  background:#f1f5f9;
  color:#334155;
}
.giro-badge.giro-normal{ background:#dcfce7; color:#15803d; }
.giro-badge.em-maturacao{ background:#fef3c7; color:#a16207; }
.giro-badge.estoque-sem-giro{ background:#fee2e2; color:#b91c1c; }
.giro-badge.sem-giro-sem-estoque{ background:#e2e8f0; color:#334155; }
.giro-badge.movimento-negativo{ background:#ffedd5; color:#c2410c; }
.giro-badge.novo-com-estoque{ background:#dbeafe; color:#1d4ed8; }
.giro-badge.novo-sem-estoque{ background:#ede9fe; color:#6d28d9; }
.aud-colunas-box{ position:relative; }
.aud-colunas-btn{ white-space:nowrap; }
.aud-colunas-panel{
  position:absolute;
  right:0;
  top:calc(100% + 8px);
  width:260px;
  max-height:360px;
  overflow:auto;
  background:#fff;
  border:1px solid #dbe3ef;
  box-shadow:0 18px 45px rgba(15,23,42,.16);
  border-radius:14px;
  padding:10px;
  z-index:1000;
}
.aud-colunas-actions{
  display:flex;
  gap:6px;
  margin-bottom:8px;
}
.aud-colunas-actions button{
  border:1px solid #dbe3ef;
  background:#f8fafc;
  border-radius:9px;
  padding:6px 8px;
  font-size:11px;
  font-weight:800;
  cursor:pointer;
}
.aud-colunas-list{
  display:grid;
  gap:7px;
}
.aud-colunas-list label{
  display:flex;
  align-items:center;
  gap:7px;
  font-size:12px;
  color:#26364f;
}
@media (max-width: 1300px){
  .aud2-filters-plus{ grid-template-columns: repeat(3, minmax(150px, 1fr)); }
}
@media (max-width: 900px){
  .aud2-filters-plus{ grid-template-columns: 1fr; }
}
/* ===== FIM AUDITORIA PREÇOS + ABC + ESTOQUE V1 ===== */



/* ==== TELEMETRIA CJ ADMIN STATUS CENTRAL V1 ==== */
.admin-central .admin-header {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:18px;
}

.admin-central .admin-header h3 {
  margin:0 0 6px 0;
}

.admin-central .admin-header p {
  margin:0;
  color:var(--muted, #94a3b8);
}

.admin-actions {
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.admin-last-update {
  color:var(--muted, #94a3b8);
  font-size:12px;
}

.admin-tabs {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:12px 0 16px;
}

.admin-tab {
  border:1px solid rgba(148,163,184,.25);
  background:rgba(15,23,42,.65);
  color:#e5e7eb;
  border-radius:999px;
  padding:8px 12px;
  cursor:pointer;
  font-size:13px;
}

.admin-tab.active {
  border-color:rgba(59,130,246,.7);
  background:rgba(37,99,235,.2);
  color:#fff;
}

.admin-alert {
  border-radius:14px;
  padding:12px 14px;
  margin:10px 0 16px;
  font-weight:700;
}

.admin-alert.ok {
  background:rgba(22,163,74,.13);
  border:1px solid rgba(22,163,74,.35);
  color:#bbf7d0;
}

.admin-alert.warn {
  background:rgba(245,158,11,.13);
  border:1px solid rgba(245,158,11,.35);
  color:#fde68a;
}

.admin-alert.bad {
  background:rgba(239,68,68,.13);
  border:1px solid rgba(239,68,68,.35);
  color:#fecaca;
}

.admin-grid {
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
  margin:14px 0;
}

.admin-status-card {
  border:1px solid rgba(148,163,184,.18);
  background:rgba(15,23,42,.55);
  border-radius:16px;
  padding:14px;
  min-height:92px;
}

.admin-status-card-title {
  color:var(--muted, #94a3b8);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-bottom:8px;
}

.admin-status-card-value {
  font-size:22px;
  font-weight:800;
  color:#fff;
  word-break:break-word;
}

.admin-status-card-sub {
  margin-top:6px;
  font-size:12px;
  color:var(--muted, #94a3b8);
  white-space:pre-wrap;
  word-break:break-word;
}

.admin-badge {
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:4px 9px;
  font-size:12px;
  font-weight:800;
}

.admin-badge.ok {
  color:#bbf7d0;
  background:rgba(22,163,74,.16);
  border:1px solid rgba(22,163,74,.32);
}

.admin-badge.bad {
  color:#fecaca;
  background:rgba(239,68,68,.16);
  border:1px solid rgba(239,68,68,.32);
}

.admin-section {
  border:1px solid rgba(148,163,184,.16);
  background:rgba(15,23,42,.35);
  border-radius:16px;
  padding:14px;
  margin:14px 0;
}

.admin-section h4 {
  margin:0 0 12px;
}

.admin-kv {
  display:grid;
  gap:10px;
}

.admin-table {
  width:100%;
  border-collapse:collapse;
  font-size:13px;
}

.admin-table th,
.admin-table td {
  border-bottom:1px solid rgba(148,163,184,.14);
  text-align:left;
  padding:8px 6px;
  vertical-align:top;
}

.admin-table th {
  color:#cbd5e1;
}

.admin-pre-wrap {
  border:1px solid rgba(148,163,184,.16);
  background:rgba(2,6,23,.55);
  border-radius:16px;
  margin:14px 0;
  overflow:hidden;
}

.admin-pre-title {
  padding:10px 12px;
  font-weight:800;
  color:#e5e7eb;
  background:rgba(15,23,42,.75);
  border-bottom:1px solid rgba(148,163,184,.14);
}

.admin-pre-wrap pre,
.admin-section pre {
  margin:0;
  padding:12px;
  white-space:pre-wrap;
  word-break:break-word;
  color:#cbd5e1;
  max-height:380px;
  overflow:auto;
  font-size:12px;
}

.admin-docs-layout {
  display:grid;
  grid-template-columns:320px 1fr;
  gap:14px;
  min-height:520px;
}

.admin-docs-list,
.admin-doc-view {
  border:1px solid rgba(148,163,184,.16);
  background:rgba(15,23,42,.35);
  border-radius:16px;
  padding:12px;
  min-width:0;
}

.admin-docs-list {
  max-height:680px;
  overflow:auto;
}

.admin-doc-item {
  display:block;
  width:100%;
  text-align:left;
  background:rgba(2,6,23,.35);
  border:1px solid rgba(148,163,184,.14);
  color:#e5e7eb;
  border-radius:12px;
  padding:10px;
  margin-bottom:8px;
  cursor:pointer;
}

.admin-doc-item strong {
  display:block;
  font-size:13px;
  margin-bottom:4px;
}

.admin-doc-item span {
  display:block;
  color:var(--muted, #94a3b8);
  font-size:11px;
}

.admin-doc-toolbar {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}

.admin-doc-content {
  margin:0;
  padding:14px;
  background:rgba(2,6,23,.65);
  border:1px solid rgba(148,163,184,.14);
  border-radius:12px;
  color:#cbd5e1;
  white-space:pre-wrap;
  word-break:break-word;
  max-height:680px;
  overflow:auto;
  font-size:12px;
}

.admin-muted {
  color:var(--muted, #94a3b8);
  font-size:12px;
}

@media (max-width: 1100px) {
  .admin-grid {
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .admin-docs-layout {
    grid-template-columns:1fr;
  }
}

@media (max-width: 720px) {
  .admin-grid {
    grid-template-columns:1fr;
  }

  .admin-central .admin-header {
    flex-direction:column;
  }
}
/* ==== FIM TELEMETRIA CJ ADMIN STATUS CENTRAL V1 ==== */



/* ==== TELEMETRIA CJ ADMIN MATRIX TIMER V1 ==== */

.admin-central {
  background:
    radial-gradient(circle at 12% 0%, rgba(34, 197, 94, .16), transparent 28%),
    radial-gradient(circle at 90% 12%, rgba(16, 185, 129, .12), transparent 30%),
    linear-gradient(135deg, #020806 0%, #06130d 52%, #020617 100%) !important;
  color: #eafff2 !important;
  border: 1px solid rgba(34, 197, 94, .32) !important;
  box-shadow:
    0 0 0 1px rgba(34, 197, 94, .12),
    0 18px 50px rgba(0, 0, 0, .35),
    inset 0 0 40px rgba(34, 197, 94, .045) !important;
}

.admin-central::before {
  content: "";
  display: block;
  height: 3px;
  border-radius: 999px;
  margin: -2px 0 16px 0;
  background: linear-gradient(90deg, transparent, #00ff88, #22c55e, transparent);
  box-shadow: 0 0 18px rgba(0, 255, 136, .7);
}

.admin-central .admin-header h3 {
  color: #d9ffe8 !important;
  text-shadow: 0 0 12px rgba(34, 197, 94, .35);
}

.admin-central .admin-header p,
.admin-central .admin-last-update,
.admin-central .admin-muted {
  color: #9eeebc !important;
}

.admin-central .admin-actions .btn,
.admin-central #adminRefreshBtn,
.admin-central .btn {
  background: linear-gradient(135deg, #052e18, #064e3b) !important;
  border: 1px solid rgba(52, 211, 153, .65) !important;
  color: #dcffe9 !important;
  border-radius: 10px !important;
  box-shadow: 0 0 12px rgba(16, 185, 129, .16);
}

.admin-central .admin-actions .btn:hover,
.admin-central #adminRefreshBtn:hover,
.admin-central .btn:hover {
  background: linear-gradient(135deg, #065f46, #047857) !important;
  box-shadow: 0 0 20px rgba(16, 185, 129, .34);
}

.admin-central .admin-tabs {
  border-bottom: 1px solid rgba(34, 197, 94, .18);
  padding-bottom: 10px;
}

.admin-central .admin-tab {
  background: rgba(2, 8, 6, .82) !important;
  border: 1px solid rgba(34, 197, 94, .28) !important;
  color: #c8facc !important;
  box-shadow: inset 0 0 0 1px rgba(0, 255, 136, .04);
}

.admin-central .admin-tab:hover {
  border-color: rgba(52, 211, 153, .75) !important;
  color: #f0fff4 !important;
  box-shadow: 0 0 14px rgba(34, 197, 94, .22);
}

.admin-central .admin-tab.active {
  background: linear-gradient(135deg, rgba(0, 255, 136, .20), rgba(6, 78, 59, .72)) !important;
  border-color: rgba(134, 239, 172, .9) !important;
  color: #ffffff !important;
  text-shadow: 0 0 8px rgba(187, 247, 208, .55);
  box-shadow:
    0 0 0 1px rgba(187, 247, 208, .15),
    0 0 20px rgba(34, 197, 94, .28);
}

.admin-central .admin-alert.ok {
  background: rgba(5, 46, 22, .86) !important;
  border: 1px solid rgba(74, 222, 128, .55) !important;
  color: #d9ffe8 !important;
  box-shadow: 0 0 18px rgba(34, 197, 94, .18);
}

.admin-central .admin-alert.warn {
  background: rgba(69, 39, 8, .86) !important;
  border: 1px solid rgba(251, 191, 36, .65) !important;
  color: #fff7cc !important;
}

.admin-central .admin-alert.bad {
  background: rgba(69, 10, 10, .86) !important;
  border: 1px solid rgba(248, 113, 113, .70) !important;
  color: #ffe2e2 !important;
}

.admin-central .admin-grid {
  gap: 14px !important;
}

.admin-central .admin-status-card {
  background:
    linear-gradient(180deg, rgba(3, 24, 14, .95), rgba(2, 10, 8, .94)) !important;
  border: 1px solid rgba(52, 211, 153, .25) !important;
  box-shadow:
    inset 0 0 24px rgba(34, 197, 94, .06),
    0 10px 24px rgba(0, 0, 0, .28) !important;
  color: #eafff2 !important;
}

.admin-central .admin-status-card-title {
  color: #6ee7a5 !important;
  opacity: 1 !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
}

.admin-central .admin-status-card-value {
  color: #f4fff7 !important;
  text-shadow: 0 0 10px rgba(34, 197, 94, .22);
}

.admin-central .admin-status-card-sub {
  color: #b7f7c8 !important;
  opacity: .96 !important;
}

.admin-central .admin-section,
.admin-central .admin-pre-wrap,
.admin-central .admin-docs-list,
.admin-central .admin-doc-view {
  background: rgba(2, 10, 8, .82) !important;
  border: 1px solid rgba(52, 211, 153, .22) !important;
  color: #eafff2 !important;
  box-shadow: inset 0 0 30px rgba(34, 197, 94, .035);
}

.admin-central .admin-section h4,
.admin-central .admin-pre-title {
  color: #d9ffe8 !important;
}

.admin-central .admin-pre-title {
  background: rgba(4, 35, 20, .95) !important;
  border-bottom: 1px solid rgba(52, 211, 153, .22) !important;
}

.admin-central .admin-pre-wrap pre,
.admin-central .admin-section pre,
.admin-central .admin-doc-content {
  background: rgba(0, 4, 3, .72) !important;
  color: #c8facc !important;
  border-color: rgba(52, 211, 153, .18) !important;
}

.admin-central .admin-table th {
  color: #86efac !important;
  border-bottom-color: rgba(52, 211, 153, .35) !important;
}

.admin-central .admin-table td {
  color: #eafff2 !important;
  border-bottom-color: rgba(52, 211, 153, .16) !important;
}

.admin-central .admin-badge.ok,
.admin-matrix-pill.ok {
  color: #022c16 !important;
  background: #22c55e !important;
  border: 1px solid rgba(187, 247, 208, .85) !important;
  box-shadow: 0 0 14px rgba(34, 197, 94, .38);
}

.admin-central .admin-badge.bad,
.admin-matrix-pill.bad {
  color: #fff1f2 !important;
  background: #be123c !important;
  border: 1px solid rgba(251, 113, 133, .85) !important;
  box-shadow: 0 0 14px rgba(244, 63, 94, .35);
}

.admin-matrix-pill.warn {
  color: #1c1200 !important;
  background: #fbbf24 !important;
  border: 1px solid rgba(253, 230, 138, .9) !important;
  box-shadow: 0 0 14px rgba(251, 191, 36, .35);
}

.admin-matrix-pill.neutral {
  color: #d9ffe8 !important;
  background: rgba(6, 78, 59, .78) !important;
  border: 1px solid rgba(52, 211, 153, .35) !important;
}

.admin-matrix-panel {
  margin: 14px 0 16px;
  border: 1px solid rgba(0, 255, 136, .28);
  background:
    linear-gradient(135deg, rgba(0, 12, 7, .96), rgba(4, 30, 19, .94)),
    repeating-linear-gradient(
      90deg,
      rgba(0, 255, 136, .04) 0,
      rgba(0, 255, 136, .04) 1px,
      transparent 1px,
      transparent 12px
    );
  border-radius: 18px;
  padding: 14px;
  color: #eafff2;
  box-shadow:
    0 0 0 1px rgba(0, 255, 136, .08),
    0 0 26px rgba(34, 197, 94, .14),
    inset 0 0 36px rgba(34, 197, 94, .05);
}

.admin-matrix-panel-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
  margin-bottom: 12px;
}

.admin-matrix-title {
  font-size: 15px;
  font-weight: 900;
  color: #d9ffe8;
  letter-spacing: .04em;
  text-shadow: 0 0 10px rgba(34, 197, 94, .35);
}

.admin-matrix-sub {
  margin-top: 3px;
  color: #9eeebc;
  font-size: 12px;
}

.admin-matrix-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.admin-matrix-box {
  border: 1px solid rgba(52, 211, 153, .20);
  background: rgba(0, 5, 3, .64);
  border-radius: 14px;
  padding: 11px;
  min-height: 94px;
}

.admin-matrix-label {
  color: #6ee7a5;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
  margin-bottom: 6px;
}

.admin-matrix-value {
  color: #f4fff7;
  font-size: 15px;
  font-weight: 900;
  word-break: break-word;
}

.admin-matrix-small {
  margin-top: 5px;
  color: #b7f7c8;
  font-size: 11px;
  line-height: 1.35;
  word-break: break-word;
}

.admin-matrix-pill {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 4px 9px;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.admin-matrix-timer-raw {
  margin-top: 10px;
  padding: 10px;
  background: rgba(0, 0, 0, .45);
  border: 1px solid rgba(52, 211, 153, .16);
  border-radius: 12px;
  color: #9eeebc;
  font-size: 11px;
  white-space: pre-wrap;
  overflow: auto;
  max-height: 120px;
}

@media (max-width: 1100px) {
  .admin-matrix-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .admin-matrix-grid {
    grid-template-columns: 1fr;
  }
}
/* ==== FIM TELEMETRIA CJ ADMIN MATRIX TIMER V1 ==== */



/* ==== TELEMETRIA CJ ADMIN DOCS LEITURA FACIL V1 ==== */
.admin-easy-docs {
  display: grid;
  gap: 14px;
}

.admin-easy-head {
  padding: 12px;
  border: 1px solid rgba(52, 211, 153, .22);
  border-radius: 14px;
  background: rgba(0, 10, 6, .48);
}

.admin-easy-head h4 {
  margin: 0 0 5px;
  color: #d9ffe8;
}

.admin-easy-head p {
  margin: 0;
  color: #9eeebc;
  font-size: 12px;
  line-height: 1.4;
}

.admin-easy-group {
  border: 1px solid rgba(52, 211, 153, .18);
  border-radius: 14px;
  padding: 10px;
  background: rgba(0, 5, 3, .40);
}

.admin-easy-group-title {
  color: #86efac;
  font-weight: 900;
  font-size: 13px;
  margin: 2px 0 9px;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.admin-easy-doc-item {
  display: block;
  width: 100%;
  text-align: left;
  color: #eafff2;
  background: rgba(2, 16, 10, .84);
  border: 1px solid rgba(52, 211, 153, .18);
  border-radius: 13px;
  padding: 11px;
  margin-bottom: 8px;
  cursor: pointer;
  transition: .16s ease;
}

.admin-easy-doc-item:hover {
  border-color: rgba(134, 239, 172, .68);
  box-shadow: 0 0 16px rgba(34, 197, 94, .20);
  transform: translateY(-1px);
}

.admin-easy-doc-top {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: flex-start;
}

.admin-easy-doc-top strong {
  color: #f4fff7;
  font-size: 13px;
  line-height: 1.3;
}

.admin-easy-desc {
  color: #b7f7c8;
  font-size: 12px;
  margin-top: 6px;
  line-height: 1.35;
}

.admin-easy-meta {
  color: #6ee7a5;
  font-size: 10px;
  margin-top: 7px;
  opacity: .86;
}

.admin-easy-badge {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 3px 7px;
  font-size: 10px;
  font-weight: 900;
  white-space: nowrap;
  text-transform: uppercase;
}

.admin-easy-badge.ok {
  color: #022c16;
  background: #22c55e;
}

.admin-easy-badge.warn {
  color: #1c1200;
  background: #fbbf24;
}

.admin-easy-badge.bad {
  color: #fff1f2;
  background: #be123c;
}

.admin-easy-badge.neutral {
  color: #d9ffe8;
  background: rgba(6, 78, 59, .92);
  border: 1px solid rgba(52, 211, 153, .35);
}
/* ==== FIM TELEMETRIA CJ ADMIN DOCS LEITURA FACIL V1 ==== */



/* ==== TELEMETRIA CJ ADMIN SEM SCROLL + CHECKPOINT DESTAQUE V1 ==== */

.admin-docs-layout,
.admin-docs-list,
.admin-doc-view,
.admin-easy-docs,
.admin-easy-group,
.admin-easy-doc-item {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.admin-docs-layout {
  grid-template-columns: minmax(280px, 340px) minmax(0, 1fr) !important;
  overflow-x: hidden !important;
}

.admin-docs-list {
  overflow-x: hidden !important;
}

.admin-docs-list * {
  max-width: 100% !important;
}

.admin-easy-doc-item {
  overflow: hidden !important;
}

.admin-easy-doc-top {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  min-width: 0 !important;
}

.admin-easy-doc-top strong {
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

.admin-easy-desc,
.admin-easy-meta {
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  white-space: normal !important;
}

.admin-easy-badge {
  flex-shrink: 0 !important;
  max-width: 100% !important;
}

.admin-doc-content,
.admin-doc-view pre {
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  white-space: pre-wrap !important;
  max-width: 100% !important;
}

.admin-easy-group:first-of-type {
  border: 1px solid rgba(34, 197, 94, .70) !important;
  background:
    radial-gradient(circle at 10% 0%, rgba(34, 197, 94, .20), transparent 32%),
    linear-gradient(135deg, rgba(0, 30, 18, .96), rgba(0, 8, 5, .95)) !important;
  box-shadow:
    0 0 0 1px rgba(134, 239, 172, .16),
    0 0 28px rgba(34, 197, 94, .22),
    inset 0 0 32px rgba(34, 197, 94, .08) !important;
}

.admin-easy-group:first-of-type .admin-easy-group-title {
  color: #ffffff !important;
  font-size: 14px !important;
  text-shadow: 0 0 12px rgba(34, 197, 94, .65);
}

.admin-easy-group:first-of-type .admin-easy-doc-item {
  border-color: rgba(134, 239, 172, .40) !important;
  background: rgba(0, 16, 9, .94) !important;
}

.admin-easy-group:first-of-type .admin-easy-doc-top strong {
  color: #ffffff !important;
  font-size: 14px !important;
}

.admin-easy-group:first-of-type .admin-easy-desc {
  color: #d9ffe8 !important;
}

.admin-easy-group:first-of-type .admin-easy-badge.ok,
.admin-easy-group:first-of-type .admin-easy-badge.neutral,
.admin-easy-group:first-of-type .admin-easy-badge.warn {
  background: #22c55e !important;
  color: #022c16 !important;
  box-shadow: 0 0 14px rgba(34, 197, 94, .45);
}

@media (max-width: 1100px) {
  .admin-docs-layout {
    grid-template-columns: 1fr !important;
  }
}

/* ==== FIM TELEMETRIA CJ ADMIN SEM SCROLL + CHECKPOINT DESTAQUE V1 ==== */




/* css cidades antigo removido */





/* css cidades antigo removido */



/* ==== TELEMETRIA CJ CIDADES V4 ESTAVEL ==== */

.cidades4-page {
  display: grid;
  gap: 14px;
}

.cidades4-header h3 {
  margin: 0 0 6px;
  color: #18233c;
  font-size: 18px;
  font-weight: 900;
  letter-spacing: .01em;
}

.cidades4-header p {
  margin: 0;
  color: #71809d;
  font-size: 14px;
}

.cidades4-toolbar {
  display: flex;
  align-items: end;
  gap: 12px;
  flex-wrap: wrap;
  padding: 12px 14px;
  border-radius: 16px;
  background: #fbfdff;
  border: 1px solid #e7edf6;
}

.cidades4-busca-field {
  min-width: 280px;
  flex: 1;
}

.cidades4-toolbar label {
  color: #63708d;
  font-size: 12px;
  font-weight: 800;
}

.cidades4-toolbar input,
.cidades4-toolbar select {
  height: 40px;
  border-radius: 12px;
  border: 1px solid #dfe7f2;
  background: #fff;
  color: #1f2a44;
}

.cidades4-status {
  color: #71809d;
  font-size: 12px;
  font-weight: 700;
}

.cidades4-summary {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.cidades4-summary > div {
  background: #fff;
  border: 1px solid #e7edf6;
  border-radius: 16px;
  padding: 13px 15px;
  box-shadow: 0 8px 22px rgba(15, 23, 42, .035);
}

.cidades4-summary strong {
  display: block;
  color: #18233c;
  font-size: 18px;
  line-height: 1.1;
  font-weight: 900;
  overflow-wrap: anywhere;
}

.cidades4-summary span {
  display: block;
  margin-top: 5px;
  color: #71809d;
  font-size: 12px;
  font-weight: 700;
}

.cidades4-table-wrap,
.cidades4-drill-table-wrap {
  border-radius: 18px;
  overflow: auto;
}

.cidades4-table th,
.cidades4-drill-table th,
.cidades4-itens-table th {
  white-space: nowrap;
}

.cidades4-table td,
.cidades4-drill-table td,
.cidades4-itens-table td {
  vertical-align: middle;
}

.cidades4-row,
.cidades4-cliente-row {
  cursor: pointer;
}

.cidades4-row:hover,
.cidades4-cliente-row:hover {
  background: #f0fdf4 !important;
}

.cidades4-hint {
  display: block !important;
  margin-top: 3px !important;
  color: #008a3d !important;
  font-size: 11px !important;
  font-weight: 900 !important;
}

.cidades4-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 72px;
  padding: 7px 12px;
  border-radius: 999px;
  background: #eafaf0;
  color: #008a3d;
  font-weight: 900;
}

.cidades4-bar {
  width: 120px;
  height: 8px;
  border-radius: 999px;
  background: #eef3f8;
  overflow: hidden;
}

.cidades4-bar span {
  display: block;
  height: 100%;
  border-radius: 999px;
  background: #16b957;
}

.cidades4-drill-row > td,
.cidades4-itens-row > td {
  background: #f8fafc !important;
  padding: 14px !important;
}

.cidades4-drill {
  display: grid;
  gap: 12px;
}

.cidades4-drill-title {
  display: flex;
  flex-direction: column;
  gap: 3px;
  color: #18233c;
}

.cidades4-drill-title strong {
  font-size: 15px;
  font-weight: 900;
}

.cidades4-drill-title span {
  color: #008a3d;
  font-size: 12px;
  font-weight: 900;
}

.cidades4-itens-content {
  display: grid;
  gap: 10px;
}

.cidades4-itens-table td small {
  display: block;
  color: #71809d;
  font-size: 11px;
  margin-top: 2px;
}

.cidades4-footer {
  color: #71809d;
}

@media (max-width: 1180px) {
  .cidades4-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .cidades4-summary {
    grid-template-columns: 1fr;
  }

  .cidades4-toolbar {
    display: grid;
  }

  .cidades4-busca-field {
    min-width: 0;
  }

  .cidades4-bar {
    width: 80px;
  }
}

/* ==== FIM TELEMETRIA CJ CIDADES V4 ESTAVEL ==== */



/* ==== TELEMETRIA CJ CIDADES PUBLICAS V1 ==== */

.cidades4-public-meta {
  display: block !important;
  margin-top: 3px !important;
  color: #53627f !important;
  font-size: 11px !important;
  font-weight: 800 !important;
}

.cidades4-frota-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 6px;
  padding: 4px 8px;
  border-radius: 999px;
  border: 1px solid #bbf7d0;
  background: #f0fdf4;
  color: #008a3d;
  font-size: 11px;
  font-weight: 900;
  cursor: pointer;
}

.cidades4-frota-btn:hover {
  background: #dcfce7;
}

.cidades4-frota-row > td {
  background: #fbfdff !important;
  padding: 14px !important;
}

.cidades4-frota-box {
  display: grid;
  gap: 12px;
  padding: 14px;
  border-radius: 16px;
  background: #ffffff;
  border: 1px solid #e7edf6;
}

.cidades4-frota-box strong {
  display: block;
  color: #18233c;
  font-size: 15px;
  font-weight: 900;
}

.cidades4-frota-box span {
  display: block;
  margin-top: 3px;
  color: #53627f;
  font-size: 12px;
  font-weight: 800;
}

.cidades4-frota-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.cidades4-frota-tipo {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding: 9px 10px;
  border-radius: 12px;
  background: #f8fafc;
  border: 1px solid #edf2f7;
}

.cidades4-frota-tipo span {
  margin: 0;
  color: #71809d;
  font-size: 11px;
  font-weight: 800;
}

.cidades4-frota-tipo strong {
  color: #18233c;
  font-size: 12px;
}

.cidades4-frota-empty {
  color: #71809d;
  font-size: 12px;
  font-weight: 800;
}

@media (max-width: 900px) {
  .cidades4-frota-grid {
    grid-template-columns: 1fr;
  }
}

/* ==== FIM TELEMETRIA CJ CIDADES PUBLICAS V1 ==== */



/* ==== TELEMETRIA CJ FROTA MODELOS V1 ==== */

.cidades4-frota-tipo-click {
  width: 100%;
  cursor: pointer;
  text-align: left;
}

.cidades4-frota-tipo-click:hover {
  background: #eefaf3 !important;
  border-color: #bbf7d0 !important;
}

.cidades4-modelos-box {
  margin-top: 14px;
  padding: 14px;
  border-radius: 16px;
  background: #f8fbff;
  border: 1px solid #dce8f6;
}

.cidades4-modelos-head {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: flex-start;
  margin-bottom: 12px;
}

.cidades4-modelos-head strong {
  display: block;
  color: #13213a;
  font-size: 15px;
  font-weight: 950;
}

.cidades4-modelos-head span {
  display: block;
  margin-top: 4px;
  color: #53627f;
  font-size: 12px;
  font-weight: 850;
}

.cidades4-modelos-head small {
  display: block;
  margin-top: 4px;
  color: #7b88a2;
  font-size: 11px;
  font-weight: 750;
}

.cidades4-modelos-close,
.cidades4-modelos-aplicar {
  border: 1px solid #bbf7d0;
  background: #f0fdf4;
  color: #008a3d;
  border-radius: 999px;
  padding: 7px 10px;
  font-size: 11px;
  font-weight: 950;
  cursor: pointer;
}

.cidades4-modelos-toolbar {
  display: grid;
  grid-template-columns: 1fr 180px auto;
  gap: 8px;
  margin-bottom: 10px;
}

.cidades4-modelos-toolbar input,
.cidades4-modelos-toolbar select {
  border: 1px solid #dbe5f2;
  border-radius: 12px;
  padding: 8px 10px;
  background: #ffffff;
  color: #17223b;
  font-size: 12px;
  font-weight: 800;
}

.cidades4-marcas-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 10px;
}

.cidades4-marca-chip {
  border: 1px solid #e5edf7;
  background: #ffffff;
  color: #20304d;
  border-radius: 999px;
  padding: 6px 9px;
  font-size: 11px;
  font-weight: 900;
  cursor: pointer;
}

.cidades4-marca-chip strong {
  margin-left: 5px;
  color: #008a3d;
}

.cidades4-modelos-table-wrap {
  max-height: 420px;
  overflow: auto;
  border: 1px solid #e7edf6;
  border-radius: 14px;
  background: #ffffff;
}

.cidades4-modelos-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}

.cidades4-modelos-table th {
  position: sticky;
  top: 0;
  background: #f4f7fb;
  color: #53627f;
  text-align: left;
  padding: 9px 10px;
  font-weight: 950;
  border-bottom: 1px solid #e7edf6;
}

.cidades4-modelos-table td {
  padding: 8px 10px;
  border-bottom: 1px solid #eef3f9;
  color: #18233c;
  font-weight: 750;
}

.cidades4-modelos-table td.num {
  text-align: right;
  font-weight: 950;
}

.cidades4-modelos-loading,
.cidades4-modelos-empty {
  color: #53627f;
  font-size: 12px;
  font-weight: 850;
  padding: 10px;
}

@media (max-width: 900px) {
  .cidades4-modelos-toolbar {
    grid-template-columns: 1fr;
  }

  .cidades4-modelos-head {
    display: block;
  }

  .cidades4-modelos-close {
    margin-top: 10px;
  }
}

/* ==== FIM TELEMETRIA CJ FROTA MODELOS V1 ==== */



/* ==== TELEMETRIA CJ FROTA GERAL CIDADES V1 ==== */

.cj-frota-geral-tabs {
  display: flex;
  gap: 8px;
  margin: 0 0 14px 0;
  padding: 6px;
  border-radius: 16px;
  background: #f4f7fb;
  border: 1px solid #e4ebf5;
}

.cj-frota-geral-tabs button {
  border: 0;
  background: transparent;
  color: #53627f;
  padding: 9px 14px;
  border-radius: 12px;
  font-size: 13px;
  font-weight: 950;
  cursor: pointer;
}

.cj-frota-geral-tabs button.active {
  background: #ffffff;
  color: #008a3d;
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.08);
}

.cj-frota-geral-panel {
  display: grid;
  gap: 14px;
}

.cj-fg-head {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: flex-start;
  padding: 18px;
  border-radius: 18px;
  background: #ffffff;
  border: 1px solid #e5edf7;
}

.cj-fg-head h3 {
  margin: 0;
  color: #13213a;
  font-size: 18px;
  font-weight: 950;
}

.cj-fg-head p {
  margin: 4px 0 0;
  color: #53627f;
  font-size: 12px;
  font-weight: 800;
}

.cj-fg-head small {
  display: block;
  margin-top: 4px;
  color: #7b88a2;
  font-size: 11px;
  font-weight: 750;
}

.cj-fg-refresh,
.cj-fg-aplicar,
.cj-fg-modelos-btn {
  border: 1px solid #bbf7d0;
  background: #f0fdf4;
  color: #008a3d;
  border-radius: 999px;
  padding: 7px 10px;
  font-size: 11px;
  font-weight: 950;
  cursor: pointer;
}

.cj-fg-refresh:hover,
.cj-fg-aplicar:hover,
.cj-fg-modelos-btn:hover {
  background: #dcfce7;
}

.cj-fg-cards {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
}

.cj-fg-cards div {
  padding: 14px;
  border-radius: 16px;
  background: #ffffff;
  border: 1px solid #e5edf7;
}

.cj-fg-cards strong {
  display: block;
  color: #13213a;
  font-size: 17px;
  font-weight: 950;
}

.cj-fg-cards span {
  display: block;
  margin-top: 4px;
  color: #53627f;
  font-size: 11px;
  font-weight: 850;
}

.cj-fg-tipos {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
}

.cj-fg-tipo-card {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  border: 1px solid #e5edf7;
  background: #ffffff;
  border-radius: 14px;
  padding: 9px 10px;
  color: #20304d;
  font-size: 11px;
  font-weight: 900;
  cursor: default;
}

.cj-fg-tipo-card span {
  color: #53627f;
}

.cj-fg-tipo-card strong {
  color: #13213a;
}

.cj-fg-toolbar {
  display: grid;
  grid-template-columns: 1fr 220px auto;
  gap: 8px;
}

.cj-fg-toolbar input,
.cj-fg-toolbar select {
  border: 1px solid #dbe5f2;
  border-radius: 12px;
  padding: 9px 10px;
  background: #ffffff;
  color: #17223b;
  font-size: 12px;
  font-weight: 800;
}

.cj-fg-table-wrap {
  max-height: 620px;
  overflow: auto;
  border-radius: 18px;
  border: 1px solid #e5edf7;
  background: #ffffff;
}

.cj-fg-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}

.cj-fg-table th {
  position: sticky;
  top: 0;
  z-index: 2;
  text-align: left;
  background: #f4f7fb;
  color: #53627f;
  padding: 10px 12px;
  border-bottom: 1px solid #e5edf7;
  font-weight: 950;
}

.cj-fg-table td {
  padding: 10px 12px;
  border-bottom: 1px solid #edf2f7;
  color: #17223b;
  font-weight: 800;
  vertical-align: middle;
}

.cj-fg-table td.num {
  text-align: right;
  font-weight: 950;
}

.cj-fg-table td strong {
  display: block;
  color: #13213a;
  font-weight: 950;
}

.cj-fg-table td small {
  display: block;
  margin-top: 3px;
  color: #53627f;
  font-size: 11px;
  font-weight: 800;
}

.cj-fg-top-tipos {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.cj-fg-top-tipos span {
  display: inline-flex;
  gap: 4px;
  padding: 4px 7px;
  border-radius: 999px;
  background: #f4f7fb;
  border: 1px solid #e5edf7;
  color: #53627f;
  font-size: 10px;
  font-weight: 900;
}

.cj-fg-top-tipos strong {
  color: #008a3d !important;
}

.cj-fg-modelos-row > td {
  background: #fbfdff !important;
  padding: 14px !important;
}

.cj-fg-modelos-box {
  padding: 14px;
  border-radius: 16px;
  background: #ffffff;
  border: 1px solid #dce8f6;
  color: #53627f;
  font-size: 12px;
  font-weight: 850;
}

.cj-fg-modelos-head {
  margin-bottom: 10px;
}

.cj-fg-modelos-head strong {
  display: block;
  color: #13213a;
  font-size: 15px;
  font-weight: 950;
}

.cj-fg-modelos-head span {
  display: block;
  margin-top: 4px;
  color: #53627f;
  font-size: 12px;
  font-weight: 850;
}

.cj-fg-modelos-table-wrap {
  max-height: 380px;
  overflow: auto;
  border-radius: 14px;
  border: 1px solid #e5edf7;
}

.cj-fg-modelos-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}

.cj-fg-modelos-table th {
  background: #f4f7fb;
  color: #53627f;
  padding: 9px 10px;
  text-align: left;
  font-weight: 950;
  border-bottom: 1px solid #e5edf7;
}

.cj-fg-modelos-table td {
  padding: 8px 10px;
  border-bottom: 1px solid #edf2f7;
  color: #17223b;
  font-weight: 800;
}

.cj-fg-modelos-table td.num {
  text-align: right;
  font-weight: 950;
}

.cj-fg-loading,
.cj-fg-empty {
  padding: 18px;
  border-radius: 16px;
  background: #ffffff;
  border: 1px solid #e5edf7;
  color: #53627f;
  font-size: 13px;
  font-weight: 850;
}

@media (max-width: 1200px) {
  .cj-fg-cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .cj-fg-tipos {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 800px) {
  .cj-fg-cards,
  .cj-fg-tipos,
  .cj-fg-toolbar {
    grid-template-columns: 1fr;
  }

  .cj-fg-head {
    display: block;
  }

  .cj-fg-refresh {
    margin-top: 10px;
  }
}

/* ==== FIM TELEMETRIA CJ FROTA GERAL CIDADES V1 ==== */



/* ==== TELEMETRIA CJ OCULTAR SEGMENTOS FROTA V1 ==== */

body:not(.cj-frota-mostrar-ocultos) .cj-frota-tipo-oculto,
body:not(.cj-frota-mostrar-ocultos) .cj-frota-modelo-oculto,
body:not(.cj-frota-mostrar-ocultos) .cj-frota-marca-oculta {
  display: none !important;
}

.cj-frota-ocultos-toggle {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin: 0 0 10px 0;
  padding: 9px 11px;
  border-radius: 14px;
  background: #fffaf0;
  border: 1px solid #fed7aa;
}

.cj-frota-ocultos-toggle span {
  color: #8a4b00;
  font-size: 11px;
  font-weight: 900;
}

.cj-frota-ocultos-toggle button {
  border: 1px solid #fdba74;
  background: #fff7ed;
  color: #9a3412;
  border-radius: 999px;
  padding: 6px 9px;
  font-size: 11px;
  font-weight: 950;
  cursor: pointer;
  white-space: nowrap;
}

.cj-frota-ocultos-toggle button:hover,
.cj-frota-ocultos-toggle button.active {
  background: #ffedd5;
}

.cj-frota-mostrar-ocultos .cj-frota-tipo-oculto,
.cj-frota-mostrar-ocultos .cj-frota-modelo-oculto,
.cj-frota-mostrar-ocultos .cj-frota-marca-oculta {
  opacity: 0.55;
  position: relative;
}

.cj-frota-mostrar-ocultos .cj-frota-tipo-oculto::after,
.cj-frota-mostrar-ocultos .cj-frota-modelo-oculto td:first-child::after,
.cj-frota-mostrar-ocultos .cj-frota-marca-oculta::after {
  content: " oculto";
  margin-left: 6px;
  color: #9a3412;
  font-size: 10px;
  font-weight: 950;
}

@media (max-width: 800px) {
  .cj-frota-ocultos-toggle {
    display: block;
  }

  .cj-frota-ocultos-toggle button {
    margin-top: 8px;
  }
}

/* ==== FIM TELEMETRIA CJ OCULTAR SEGMENTOS FROTA V1 ==== */



/* ==== TELEMETRIA CJ FILTRO MODELOS FROTA GERAL V1 ==== */

.cj-fg-modelos-toolbar {
  display: grid;
  grid-template-columns: 1fr 220px auto;
  gap: 8px;
  margin: 10px 0 12px 0;
}

.cj-fg-modelos-toolbar input,
.cj-fg-modelos-toolbar select {
  border: 1px solid #dbe5f2;
  border-radius: 12px;
  padding: 8px 10px;
  background: #ffffff;
  color: #17223b;
  font-size: 12px;
  font-weight: 850;
}

.cj-fg-modelos-aplicar,
.cj-fg-modelos-close {
  border: 1px solid #bbf7d0;
  background: #f0fdf4;
  color: #008a3d;
  border-radius: 999px;
  padding: 7px 10px;
  font-size: 11px;
  font-weight: 950;
  cursor: pointer;
}

.cj-fg-modelos-aplicar:hover,
.cj-fg-modelos-close:hover {
  background: #dcfce7;
}

.cj-fg-modelos-th-btn {
  border: 0;
  background: transparent;
  color: #53627f;
  padding: 0;
  margin: 0;
  font: inherit;
  font-weight: 950;
  cursor: pointer;
  text-align: left;
}

.cj-fg-modelos-th-btn:hover,
.cj-fg-modelos-th-btn.active {
  color: #008a3d;
}

.cj-fg-modelos-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

@media (max-width: 900px) {
  .cj-fg-modelos-toolbar {
    grid-template-columns: 1fr;
  }

  .cj-fg-modelos-head {
    display: block;
  }

  .cj-fg-modelos-close {
    margin-top: 8px;
  }
}

/* ==== FIM TELEMETRIA CJ FILTRO MODELOS FROTA GERAL V1 ==== */



/* ==== TELEMETRIA CJ FROTA GERAL MODELOS MODAL V2 ==== */

body.cj-fg-modelos-modal-open {
  overflow: hidden !important;
}

.cj-fg-modelos-modal {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: grid;
  place-items: center;
}

.cj-fg-modelos-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.48);
  backdrop-filter: blur(2px);
}

.cj-fg-modelos-modal-card {
  position: relative;
  width: min(1380px, calc(100vw - 42px));
  height: min(820px, calc(100vh - 42px));
  display: grid;
  grid-template-rows: auto auto auto 1fr auto;
  gap: 10px;
  padding: 16px;
  border-radius: 22px;
  background: #ffffff;
  border: 1px solid #dce8f6;
  box-shadow: 0 24px 80px rgba(15, 23, 42, 0.28);
  overflow: hidden;
}

.cj-fg-modelos-modal-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  border-bottom: 1px solid #edf2f7;
  padding-bottom: 10px;
}

.cj-fg-modelos-modal-head strong {
  display: block;
  color: #13213a;
  font-size: 17px;
  font-weight: 950;
}

.cj-fg-modelos-modal-head span {
  display: block;
  margin-top: 4px;
  color: #53627f;
  font-size: 12px;
  font-weight: 850;
}

.cj-fg-modelos-modal-head button,
.cj-fg-modelos-modal-toolbar button,
.cj-fg-modal-footer button {
  border: 1px solid #bbf7d0;
  background: #f0fdf4;
  color: #008a3d;
  border-radius: 999px;
  padding: 8px 11px;
  font-size: 11px;
  font-weight: 950;
  cursor: pointer;
}

.cj-fg-modelos-modal-head button:hover,
.cj-fg-modelos-modal-toolbar button:hover,
.cj-fg-modal-footer button:hover {
  background: #dcfce7;
}

.cj-fg-modelos-modal-toolbar {
  display: grid;
  grid-template-columns: 1fr 220px auto;
  gap: 8px;
}

.cj-fg-modelos-modal-toolbar input,
.cj-fg-modelos-modal-toolbar select {
  border: 1px solid #dbe5f2;
  border-radius: 12px;
  padding: 9px 10px;
  background: #ffffff;
  color: #17223b;
  font-size: 12px;
  font-weight: 850;
}

.cj-fg-modal-marcas {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  max-height: 86px;
  overflow: auto;
}

.cj-fg-modal-marcas button {
  border: 1px solid #e5edf7;
  background: #ffffff;
  color: #20304d;
  border-radius: 999px;
  padding: 6px 9px;
  font-size: 11px;
  font-weight: 900;
  cursor: pointer;
}

.cj-fg-modal-marcas button strong {
  color: #008a3d;
  margin-left: 5px;
}

.cj-fg-modal-table-wrap {
  min-height: 0;
  overflow: auto;
  border-radius: 16px;
  border: 1px solid #e5edf7;
  background: #ffffff;
  overscroll-behavior: contain;
}

.cj-fg-modal-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}

.cj-fg-modal-table th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: #f4f7fb;
  color: #53627f;
  padding: 9px 10px;
  text-align: left;
  font-weight: 950;
  border-bottom: 1px solid #e5edf7;
}

.cj-fg-modal-table th button {
  border: 0;
  background: transparent;
  color: #53627f;
  font: inherit;
  font-weight: 950;
  cursor: pointer;
  padding: 0;
}

.cj-fg-modal-table th button.active,
.cj-fg-modal-table th button:hover {
  color: #008a3d;
}

.cj-fg-modal-table td {
  padding: 8px 10px;
  border-bottom: 1px solid #edf2f7;
  color: #17223b;
  font-weight: 800;
}

.cj-fg-modal-table td.num {
  text-align: right;
  font-weight: 950;
}

.cj-fg-modal-footer {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
  padding-top: 4px;
}

.cj-fg-modal-footer span {
  color: #53627f;
  font-size: 12px;
  font-weight: 850;
}

@media (max-width: 900px) {
  .cj-fg-modelos-modal-card {
    width: calc(100vw - 18px);
    height: calc(100vh - 18px);
    border-radius: 16px;
  }

  .cj-fg-modelos-modal-toolbar {
    grid-template-columns: 1fr;
  }

  .cj-fg-modelos-modal-head {
    display: block;
  }

  .cj-fg-modelos-modal-head button {
    margin-top: 8px;
  }
}

/* ==== FIM TELEMETRIA CJ FROTA GERAL MODELOS MODAL V2 ==== */
/* ==== TELEMETRIA CJ CENTRAL OPERACIONAL V2 ==== */
.admin-ops {
  --ops-ok:#0aa653;
  --ops-ok-soft:#eaf8f0;
  --ops-info:#2d6fd3;
  --ops-info-soft:#edf4ff;
  --ops-warn:#ee932a;
  --ops-warn-soft:#fff4e6;
  --ops-bad:#dc3545;
  --ops-bad-soft:#fff0f1;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  color:var(--text);
  padding:0 !important;
}

.ops-header {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  padding:2px 2px 18px;
}

.ops-eyebrow,
.ops-section-head span,
.ops-detail-heading span {
  display:block;
  color:var(--green-dark);
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:0;
  margin-bottom:4px;
}

.ops-header h3 {
  color:var(--text);
  font-size:26px;
  margin:0 0 5px;
}

.ops-header p,
.ops-detail-heading p {
  color:var(--muted);
  margin:0;
  font-size:13px;
}

.ops-header-actions {
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.ops-last-update {
  color:var(--muted);
  font-size:12px;
  white-space:nowrap;
}

.ops-refresh {
  min-height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  border:1px solid #dce3ec;
  border-radius:7px;
  padding:8px 13px;
  background:#fff;
  color:var(--text);
  font-weight:800;
  cursor:pointer;
}

.ops-refresh:hover {
  border-color:var(--green);
  color:var(--green-dark);
  background:#f7fcf9;
}

.ops-refresh span {
  font-size:19px;
  line-height:1;
}

.ops-tabs {
  display:flex;
  align-items:center;
  gap:22px;
  border-bottom:1px solid var(--line);
  overflow-x:auto;
  scrollbar-width:none;
  margin-bottom:18px;
}

.ops-tabs::-webkit-scrollbar { display:none; }

.ops-tab {
  position:relative;
  min-height:42px;
  padding:0 1px;
  border:0;
  background:transparent;
  color:#68778c;
  font-weight:800;
  font-size:13px;
  cursor:pointer;
  white-space:nowrap;
}

.ops-tab::after {
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:3px;
  background:transparent;
}

.ops-tab:hover { color:var(--text); }
.ops-tab.active { color:var(--green-dark); }
.ops-tab.active::after { background:var(--green); }

.ops-content { min-height:540px; }

.ops-loading {
  min-height:180px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  color:var(--muted);
  font-weight:700;
}

.ops-loading.compact { min-height:72px; }

.ops-loading > span {
  width:18px;
  height:18px;
  border:2px solid #d8e0e9;
  border-top-color:var(--green);
  border-radius:50%;
  animation:ops-spin .8s linear infinite;
}

@keyframes ops-spin { to { transform:rotate(360deg); } }

.ops-status-banner {
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:14px;
  padding:16px 18px;
  border:1px solid #dbe8e1;
  border-left:4px solid var(--ops-ok);
  border-radius:8px;
  background:var(--ops-ok-soft);
  margin-bottom:14px;
}

.ops-status-banner.warn { background:var(--ops-warn-soft); border-color:#f3d8b4; border-left-color:var(--ops-warn); }
.ops-status-banner.bad { background:var(--ops-bad-soft); border-color:#f2c7cc; border-left-color:var(--ops-bad); }
.ops-status-banner.neutral { background:var(--ops-info-soft); border-color:#d3e2f7; border-left-color:var(--ops-info); }

.ops-status-icon {
  width:38px;
  height:38px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--ops-ok);
  color:#fff;
  font-size:20px;
  font-weight:900;
}

.ops-status-banner.warn .ops-status-icon { background:var(--ops-warn); }
.ops-status-banner.bad .ops-status-icon { background:var(--ops-bad); }
.ops-status-banner.neutral .ops-status-icon { background:var(--ops-info); }

.ops-status-banner > div:nth-child(2) > span {
  color:#64748b;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
}

.ops-status-banner strong { display:block; color:var(--text); font-size:20px; margin-top:1px; }
.ops-status-banner p { color:#5f6e82; font-size:13px; margin:2px 0 0; }

.ops-badge {
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:26px;
  border-radius:999px;
  padding:4px 9px;
  background:#f2f5f8;
  border:1px solid #dfe5ec;
  color:#64748b;
  font-size:11px;
  font-weight:900;
  white-space:nowrap;
}

.ops-badge > span {
  width:7px;
  height:7px;
  border-radius:50%;
  background:#94a3b8;
}

.ops-badge.ok { color:#08783d; background:var(--ops-ok-soft); border-color:#bfe8cf; }
.ops-badge.ok > span { background:var(--ops-ok); }
.ops-badge.warn { color:#a65c04; background:var(--ops-warn-soft); border-color:#f3d5ad; }
.ops-badge.warn > span { background:var(--ops-warn); }
.ops-badge.bad { color:#a7202d; background:var(--ops-bad-soft); border-color:#efc3c8; }
.ops-badge.bad > span { background:var(--ops-bad); }

.ops-summary-grid {
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:10px;
  margin-bottom:14px;
}

.ops-summary-grid.three { grid-template-columns:repeat(3, minmax(0, 1fr)); }

.ops-summary-card {
  min-height:94px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:14px 15px;
  background:#fff;
  border:1px solid var(--line);
  border-top:3px solid #aab6c5;
  border-radius:8px;
}

.ops-summary-card.ok { border-top-color:var(--ops-ok); }
.ops-summary-card.warn { border-top-color:var(--ops-warn); }
.ops-summary-card.bad { border-top-color:var(--ops-bad); }
.ops-summary-card.info { border-top-color:var(--ops-info); }

.ops-summary-label {
  color:#68778c;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
}

.ops-summary-card strong {
  color:var(--text);
  font-size:18px;
  margin:5px 0 3px;
  line-height:1.15;
  overflow-wrap:anywhere;
}

.ops-summary-card small { color:var(--muted); font-size:11px; line-height:1.35; }

.ops-section,
.ops-update-band {
  padding:16px 0;
  border-top:1px solid var(--line);
}

.ops-section-head {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin-bottom:14px;
}

.ops-section-head h4,
.ops-detail-heading h4 {
  color:var(--text);
  font-size:17px;
  margin:0;
}

.ops-section-head > small { color:var(--muted); font-size:11px; text-align:right; max-width:360px; }

.ops-gauge-grid {
  display:grid;
  grid-template-columns:repeat(6, minmax(112px, 1fr));
  gap:10px;
}

.ops-gauge-item {
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:8px;
  padding:12px 8px 10px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:8px;
}

.ops-gauge {
  --ops-color:var(--ops-ok);
  width:92px;
  height:92px;
  position:relative;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:conic-gradient(var(--ops-color) calc(var(--ops-value) * 1%), #edf1f5 0);
}

.ops-gauge::before {
  content:"";
  position:absolute;
  inset:9px;
  border-radius:50%;
  background:#fff;
}

.ops-gauge > div { position:relative; z-index:1; text-align:center; }
.ops-gauge strong { display:block; color:var(--text); font-size:18px; line-height:1; }
.ops-gauge span { display:block; color:var(--muted); font-size:10px; font-weight:800; margin-top:5px; }
.ops-gauge-item > small { color:var(--muted); font-size:10px; line-height:1.25; text-align:center; min-height:25px; overflow-wrap:anywhere; }
.ops-gauge-item.warn .ops-gauge { --ops-color:var(--ops-warn); }
.ops-gauge-item.bad .ops-gauge { --ops-color:var(--ops-bad); }

.ops-update-band {
  background:#fbfcfe;
  border-bottom:1px solid var(--line);
  padding:16px;
  margin:0 0 14px;
}

.ops-update-meta { text-align:right; max-width:460px; }
.ops-update-meta strong { display:block; color:var(--text); font-size:12px; }
.ops-update-meta small { color:var(--muted); font-size:11px; }

.ops-timeline {
  display:grid;
  grid-template-columns:repeat(6, minmax(0, 1fr));
  gap:0;
  margin-top:8px;
}

.ops-timeline-step {
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:7px;
  color:#8a98aa;
  font-size:10px;
  font-weight:800;
  text-align:center;
}

.ops-timeline-step::before {
  content:"";
  position:absolute;
  top:13px;
  right:50%;
  width:100%;
  height:2px;
  background:#dfe5ec;
  z-index:0;
}

.ops-timeline-step:first-child::before { display:none; }
.ops-timeline-step i {
  position:relative;
  z-index:1;
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:2px solid #cfd7e1;
  background:#fff;
  color:#8290a3;
  font-style:normal;
}

.ops-timeline-step.complete::before,
.ops-timeline-step.complete i { background:var(--ops-ok); border-color:var(--ops-ok); color:#fff; }
.ops-timeline-step.current i { border-color:var(--ops-info); color:var(--ops-info); background:var(--ops-info-soft); }
.ops-timeline-step.failed i { border-color:var(--ops-bad); color:#fff; background:var(--ops-bad); }
.ops-timeline-step.complete span { color:#08783d; }
.ops-timeline-step.current span { color:var(--ops-info); }
.ops-timeline-step.failed span { color:var(--ops-bad); }

.ops-two-columns {
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
  gap:20px;
}

.ops-two-columns > .ops-section {
  min-width:0;
  border:1px solid var(--line);
  border-radius:8px;
  padding:15px;
}

.ops-all-clear,
.ops-alert {
  display:flex;
  align-items:flex-start;
  gap:11px;
  padding:11px 12px;
  border-radius:7px;
  background:var(--ops-ok-soft);
  border:1px solid #c5e8d2;
}

.ops-all-clear > span,
.ops-alert > span {
  flex:0 0 25px;
  width:25px;
  height:25px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--ops-ok);
  color:#fff;
  font-weight:900;
}

.ops-all-clear strong,
.ops-alert strong { display:block; color:var(--text); font-size:12px; }
.ops-all-clear small,
.ops-alert small { display:block; color:#637187; font-size:11px; line-height:1.4; margin-top:2px; }
.ops-alert-list { display:grid; gap:8px; }
.ops-alert.warn { background:var(--ops-warn-soft); border-color:#f1d4ae; }
.ops-alert.warn > span { background:var(--ops-warn); }
.ops-alert.bad { background:var(--ops-bad-soft); border-color:#efc4c9; }
.ops-alert.bad > span { background:var(--ops-bad); }

.ops-service-list { display:grid; }
.ops-service-row {
  min-height:47px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:8px 0;
  border-bottom:1px solid #edf0f4;
}
.ops-service-row:last-child { border-bottom:0; }
.ops-service-row strong { display:block; color:var(--text); font-size:12px; }
.ops-service-row small { display:block; color:var(--muted); font-size:10px; margin-top:2px; overflow-wrap:anywhere; }
.ops-empty { color:var(--muted); font-size:12px; padding:12px 0; }

.ops-detail-heading {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  padding:2px 0 18px;
}

.ops-file-list,
.ops-data-list { display:grid; gap:0; }
.ops-file-list > div,
.ops-data-list > div {
  display:grid;
  grid-template-columns:minmax(105px, auto) minmax(0, 1fr);
  gap:12px;
  align-items:start;
  padding:9px 0;
  border-bottom:1px solid #edf0f4;
}
.ops-file-list > div:last-child,
.ops-data-list > div:last-child { border-bottom:0; }
.ops-file-list span,
.ops-data-list span { color:var(--muted); font-size:10px; font-weight:800; }
.ops-file-list strong,
.ops-data-list strong { color:var(--text); font-size:11px; text-align:right; overflow-wrap:anywhere; }

.ops-technical-details {
  display:grid;
  gap:8px;
  padding:16px 0 0;
  border-top:1px solid var(--line);
  margin-top:16px;
}

.ops-technical-details details {
  border:1px solid var(--line);
  border-radius:7px;
  background:#fff;
  overflow:hidden;
}

.ops-technical-details summary {
  cursor:pointer;
  padding:11px 13px;
  color:var(--text);
  font-size:12px;
  font-weight:800;
  background:#f9fafc;
}

.ops-technical-details pre {
  max-height:400px;
  overflow:auto;
  margin:0;
  padding:13px;
  background:#16202c;
  color:#e5edf6;
  white-space:pre-wrap;
  word-break:break-word;
  font-size:11px;
}

.ops-backup-columns { margin-top:14px; }

.ops-history-list {
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  overflow-x:auto;
}

.ops-history-head,
.ops-history-row {
  min-width:860px;
  display:grid;
  grid-template-columns:minmax(150px, 1.1fr) minmax(110px, .7fr) minmax(120px, .8fr) minmax(145px, .9fr) minmax(220px, 1.5fr);
  gap:14px;
  align-items:center;
  padding:11px 14px;
}

.ops-history-head {
  background:#f6f8fb;
  color:#66758a;
  border-bottom:1px solid var(--line);
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
}

.ops-history-row { border-bottom:1px solid #edf0f4; }
.ops-history-row:last-child { border-bottom:0; }
.ops-history-row strong { display:block; color:var(--text); font-size:11px; overflow-wrap:anywhere; }
.ops-history-row small { display:block; color:var(--muted); font-size:10px; line-height:1.35; margin-top:3px; overflow-wrap:anywhere; }

.admin-ops .admin-docs-layout { grid-template-columns:minmax(280px, 36%) minmax(0, 1fr); }
.admin-ops .admin-docs-list,
.admin-ops .admin-doc-view {
  background:#fff;
  color:var(--text);
  border:1px solid var(--line);
  border-radius:8px;
  box-shadow:none;
}
.admin-ops .admin-doc-item,
.admin-ops .admin-easy-doc-item { background:#f9fafc; color:var(--text); border-color:var(--line); }
.admin-ops .admin-doc-content { background:#16202c; color:#e5edf6; border-color:#253446; }
.admin-ops .admin-muted { color:var(--muted); }
.admin-ops .btn { border-radius:7px; }

@media (max-width: 1280px) {
  .ops-gauge-grid { grid-template-columns:repeat(3, minmax(120px, 1fr)); }
  .ops-summary-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
  .ops-header { flex-direction:column; }
  .ops-header-actions { width:100%; justify-content:space-between; }
  .ops-tabs { gap:18px; }
  .ops-two-columns { grid-template-columns:1fr; gap:12px; }
  .ops-summary-grid,
  .ops-summary-grid.three { grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .ops-timeline { overflow-x:auto; grid-template-columns:repeat(6, minmax(92px, 1fr)); padding-bottom:8px; }
  .admin-ops .admin-docs-layout { grid-template-columns:1fr; }
}

@media (max-width: 560px) {
  .ops-header h3 { font-size:22px; }
  .ops-last-update { white-space:normal; }
  .ops-tabs { flex-wrap:wrap; gap:0 16px; overflow:visible; }
  .ops-tab { min-height:38px; }
  .ops-status-banner { grid-template-columns:auto 1fr; padding:13px; }
  .ops-status-banner > .ops-badge { grid-column:1 / -1; justify-self:start; }
  .ops-summary-grid,
  .ops-summary-grid.three { grid-template-columns:1fr; }
  .ops-summary-card { min-height:78px; }
  .ops-gauge-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .ops-gauge { width:82px; height:82px; }
  .ops-section-head { flex-direction:column; gap:5px; }
  .ops-section-head > small { text-align:left; }
  .ops-update-meta { text-align:left; max-width:none; }
  .ops-update-band { padding:13px; }
  .ops-detail-heading { flex-direction:column; }
  .ops-timeline { grid-template-columns:repeat(3, minmax(0, 1fr)); row-gap:16px; overflow:visible; }
  .ops-timeline-step:nth-child(4)::before { display:none; }
}
/* ==== FIM TELEMETRIA CJ CENTRAL OPERACIONAL V2 ==== */

/* ==== CENTRAL DO VENDEDOR / CLIENTE 360 - RESUMOS OPERACIONAIS ==== */
.goal-pace-badge {
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:30px;
  padding:5px 10px;
  border:1px solid currentColor;
  border-radius:6px;
  font-size:11px;
  font-weight:800;
  white-space:nowrap;
}

.goal-pace-badge b {
  display:grid;
  place-items:center;
  width:18px;
  height:18px;
  border-radius:50%;
  background:currentColor;
  color:#fff;
  font-size:12px;
}

.goal-status-no-ritmo .goal-pace-badge { color:#087b43; background:#eaf8f0; }
.goal-status-atencao .goal-pace-badge { color:#a85d00; background:#fff6e5; }
.goal-status-critico .goal-pace-badge { color:#b4232f; background:#fff0f1; }

.seller-goal-chart-head {
  display:grid;
  grid-template-columns:minmax(180px, 1fr) auto auto;
  align-items:center;
}

.seller-goal-track.goal-status-no-ritmo .weekdays,
.seller-goal-track.goal-status-no-ritmo .saturday,
.seller-goal-track.goal-status-no-ritmo .other { background:#0b9651; }
.seller-goal-track.goal-status-atencao .weekdays,
.seller-goal-track.goal-status-atencao .saturday,
.seller-goal-track.goal-status-atencao .other { background:#f59e0b; }
.seller-goal-track.goal-status-critico .weekdays,
.seller-goal-track.goal-status-critico .saturday,
.seller-goal-track.goal-status-critico .other { background:#d14343; }
.seller-goal-track .saturday { opacity:.78; }
.seller-goal-track .other { opacity:.58; }

.client-360-body {
  scroll-behavior:smooth;
}

.client-360-overview,
[data-client-360-section-id] {
  scroll-margin-top:58px;
}

.client-360-overview {
  padding-top:0;
}

.client-360-summary {
  grid-template-columns:repeat(12, minmax(0, 1fr));
}

.client-360-summary article {
  grid-column:span 3;
}

.client-360-summary article:nth-child(n + 5) {
  grid-column:span 4;
}

.client-360-summary article {
  min-height:88px;
}

.client-360-summary article strong {
  font-size:20px;
}

.client-360-seller-contribution {
  margin-top:12px;
  padding:14px 16px;
  border:1px solid #d8e0e9;
  border-left:4px solid #267fd3;
  border-radius:8px;
  background:#f8fbff;
}

.client-360-seller-contribution .client-360-section-head {
  margin-bottom:10px;
}

.client-360-contribution-grid {
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  border-top:1px solid #dce5ef;
  border-bottom:1px solid #dce5ef;
}

.client-360-contribution-grid > div {
  min-width:0;
  padding:10px 12px;
}

.client-360-contribution-grid > div + div {
  border-left:1px solid #dce5ef;
}

.client-360-contribution-grid span,
.client-360-contribution-grid strong {
  display:block;
}

.client-360-contribution-grid span {
  color:#69788d;
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
}

.client-360-contribution-grid strong {
  margin-top:4px;
  color:#17263a;
  font-size:15px;
}

.client-goal-progress {
  margin-top:12px;
  padding:16px;
  border:1px solid #d8e0e9;
  border-left:4px solid #0b9651;
  border-radius:8px;
  background:#fff;
}

.client-goal-progress.goal-status-atencao { border-left-color:#f59e0b; }
.client-goal-progress.goal-status-critico { border-left-color:#d14343; }

.client-goal-progress-head {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
}

.client-goal-progress-head > div > span {
  display:block;
  color:#69788d;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
}

.client-goal-progress-head > div > strong {
  display:block;
  margin-top:3px;
  color:#17263a;
  font-size:22px;
}

.client-goal-track {
  position:relative;
  height:18px;
  margin-top:14px;
  overflow:visible;
  border:1px solid #cdd7e3;
  border-radius:5px;
  background:#e9eff5;
}

.client-goal-track > span {
  display:block;
  height:100%;
  border-radius:4px;
  background:#0b9651;
  transition:width .25s ease;
}

.goal-status-atencao .client-goal-track > span { background:#f59e0b; }
.goal-status-critico .client-goal-track > span { background:#d14343; }

.client-goal-track > i {
  position:absolute;
  top:-5px;
  bottom:-5px;
  width:3px;
  border-radius:2px;
  background:#17263a;
  transform:translateX(-1px);
}

.client-goal-values {
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:1px;
  margin-top:12px;
  overflow:hidden;
  border:1px solid #e0e6ed;
  border-radius:6px;
  background:#e0e6ed;
}

.client-goal-values > div {
  padding:10px 12px;
  background:#f8fafc;
}

.client-goal-values span,
.client-goal-values strong { display:block; }
.client-goal-values span { color:#69788d; font-size:9px; font-weight:900; text-transform:uppercase; }
.client-goal-values strong { margin-top:4px; color:#17263a; font-size:14px; }
.client-goal-values .positive strong { color:#087b43; }
.client-goal-values .negative strong { color:#b4232f; }

.client-360-month-chart {
  display:grid;
  grid-template-columns:repeat(12, minmax(76px, 1fr));
  gap:8px;
  min-width:960px;
  height:260px;
  padding:12px 4px 0;
  align-items:end;
}

.client-360-section:has(.client-360-month-chart) {
  overflow-x:auto;
}

.client-360-month-column {
  display:grid;
  grid-template-rows:auto 150px auto auto;
  align-items:end;
  gap:6px;
  min-width:0;
  padding:0 2px 8px;
  border:0;
  border-bottom:2px solid #dfe5ec;
  background:transparent;
  color:#17263a;
  cursor:pointer;
  text-align:center;
}

.client-360-month-column > strong {
  align-self:end;
  font-size:11px;
  white-space:nowrap;
}

.client-360-month-bar-area {
  display:flex;
  align-items:end;
  justify-content:center;
  width:100%;
  height:150px;
  border-bottom:1px solid #cbd5df;
}

.client-360-month-bar-area i {
  display:block;
  width:48%;
  min-height:3px;
  border-radius:4px 4px 0 0;
  background:#2386d8;
  transition:width .15s ease, filter .15s ease;
}

.client-360-month-column:hover .client-360-month-bar-area i {
  width:58%;
  filter:brightness(.92);
}

.client-360-month-column > span {
  color:#506176;
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
}

.client-360-month-column > small {
  min-height:24px;
  color:#8693a5;
  font-size:8px;
  line-height:1.25;
}

.client-360-month-column > small.has-return {
  color:#b4232f;
  font-weight:800;
}

.client-360-chart-note {
  margin:10px 0 0;
  color:#66758a;
  font-size:10px;
}

.seller-month-history-section {
  overflow:hidden;
}

.seller-history-basis {
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:1px;
  margin-bottom:14px;
  overflow:hidden;
  border:1px solid #dfe6ee;
  border-radius:6px;
  background:#dfe6ee;
}

.seller-history-basis > div {
  min-width:0;
  padding:12px 14px;
  background:#f8fafc;
}

.seller-history-basis span,
.seller-history-basis strong,
.seller-history-basis small {
  display:block;
}

.seller-history-basis span {
  color:#66758a;
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
}

.seller-history-basis strong {
  margin-top:4px;
  color:#17263a;
  font-size:18px;
}

.seller-history-basis small {
  margin-top:4px;
  color:#7b899b;
  font-size:10px;
  line-height:1.35;
}

.seller-month-chart {
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(86px, 1fr);
  gap:8px;
  max-width:100%;
  height:284px;
  padding:10px 2px 4px;
  overflow-x:auto;
  align-items:end;
}

.seller-month-column {
  display:grid;
  grid-template-rows:auto 148px auto auto auto;
  align-items:end;
  gap:5px;
  min-width:86px;
  padding:0 3px 8px;
  border-bottom:2px solid #dfe5ec;
  text-align:center;
}

.seller-month-column > strong {
  color:#17263a;
  font-size:11px;
  white-space:nowrap;
}

.seller-month-bar-area {
  display:flex;
  align-items:end;
  justify-content:center;
  width:100%;
  height:148px;
  border-bottom:1px solid #cbd5df;
}

.seller-month-bar-area i {
  display:block;
  width:48%;
  min-height:3px;
  border-radius:4px 4px 0 0;
  background:#0aa65a;
}

.seller-month-column > span:not(.seller-month-bar-area) {
  color:#506176;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
}

.seller-month-column > small {
  color:#7f8da0;
  font-size:8px;
  line-height:1.2;
  white-space:nowrap;
}

.seller-month-column > small.has-return {
  color:#b4232f;
  font-weight:900;
}

.seller-month-chart-note {
  margin:8px 0 0;
  color:#66758a;
  font-size:10px;
}

@media (max-width: 1050px) {
  .seller-central-kpis,
  .client-360-summary { grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .client-360-summary article,
  .client-360-summary article:nth-child(n + 5) { grid-column:auto; }
  .client-360-contribution-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .client-360-contribution-grid > div + div { border-left:0; }
  .client-360-contribution-grid > div:nth-child(even) { border-left:1px solid #dce5ef; }
  .client-360-contribution-grid > div:nth-child(n + 3) { border-top:1px solid #dce5ef; }
  .seller-goal-chart-head { grid-template-columns:1fr auto; }
  .seller-goal-chart-head > small { grid-column:1 / -1; }
}

@media (max-width: 680px) {
  .seller-history-basis { grid-template-columns:1fr; }
  .seller-central-kpis,
  .client-360-summary { grid-template-columns:1fr; }
  .client-360-summary article,
  .client-360-summary article:nth-child(n + 5) { grid-column:auto; }
  .client-360-contribution-grid { grid-template-columns:1fr; }
  .client-360-contribution-grid > div:nth-child(even) { border-left:0; }
  .client-360-contribution-grid > div + div { border-top:1px solid #dce5ef; }
  .seller-goal-chart-head,
  .client-goal-progress-head { display:flex; flex-direction:column; align-items:flex-start; }
  .client-goal-values { grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
/* ==== FIM CENTRAL DO VENDEDOR / CLIENTE 360 ==== */

/* ==== CENTRAL DO VENDEDOR - RESUMO APROVADO ==== */
.seller-workspace-shell {
  display:block;
  padding-top:14px;
}

.seller-workspace-shell .seller-workspace-tabs {
  position:static;
  display:flex;
  align-items:center;
  gap:6px;
  overflow-x:auto;
  padding:0 0 12px;
  border:0;
  border-bottom:1px solid #dce4ed;
  border-radius:0;
  background:transparent;
  scrollbar-width:thin;
}

.seller-workspace-shell .seller-workspace-tabs button {
  width:auto;
  min-height:38px;
  flex:0 0 auto;
  border:1px solid #d6e0ea;
  border-radius:6px;
  padding:0 12px;
  background:#fff;
  text-align:center;
}

.seller-workspace-shell .seller-workspace-tabs button.active {
  border-color:#078744;
  background:#eaf8f0;
  color:#06723b;
}

.seller-workspace-shell .seller-workspace-content {
  min-width:0;
  overflow:visible;
  padding-top:14px;
}

.seller-portfolio-toolbar {
  display:grid;
  grid-template-columns:minmax(260px, 1.6fr) minmax(180px, .8fr) minmax(210px, .9fr) auto;
  align-items:end;
  gap:10px;
  margin:12px 0;
  padding:12px;
  border:1px solid #dce5ee;
  border-radius:6px;
  background:#f8fafc;
}

.seller-portfolio-toolbar label {
  display:grid;
  gap:5px;
  min-width:0;
}

.seller-portfolio-toolbar label > span {
  color:#52647a;
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
}

.seller-portfolio-toolbar input,
.seller-portfolio-toolbar select {
  width:100%;
  min-height:40px;
  border:1px solid #cfd9e5;
  border-radius:5px;
  background:#fff;
  color:#17263a;
  padding:0 11px;
  font:inherit;
}

.seller-portfolio-toolbar input:focus,
.seller-portfolio-toolbar select:focus {
  border-color:#078744;
  outline:2px solid rgba(7, 135, 68, .14);
}

.seller-portfolio-type-filter {
  position:relative;
  min-width:0;
  margin:0;
  padding:0;
  border:0;
}

.seller-portfolio-type-filter legend {
  margin:0 0 5px;
  padding:0;
  color:#52647a;
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
}

.seller-portfolio-type-filter details {
  position:relative;
}

.seller-portfolio-type-filter summary {
  position:relative;
  display:flex;
  align-items:center;
  width:100%;
  min-height:40px;
  border:1px solid #cfd9e5;
  border-radius:5px;
  background:#fff;
  color:#17263a;
  padding:0 36px 0 11px;
  font:inherit;
  cursor:pointer;
  list-style:none;
}

.seller-portfolio-type-filter summary::-webkit-details-marker { display:none; }

.seller-portfolio-type-filter summary::after {
  content:"";
  position:absolute;
  right:14px;
  top:50%;
  width:7px;
  height:7px;
  border-right:2px solid #52647a;
  border-bottom:2px solid #52647a;
  transform:translateY(-65%) rotate(45deg);
  transition:transform .16s ease;
}

.seller-portfolio-type-filter details[open] summary {
  border-color:#078744;
  outline:2px solid rgba(7, 135, 68, .14);
}

.seller-portfolio-type-filter details[open] summary::after {
  transform:translateY(-30%) rotate(225deg);
}

.seller-portfolio-type-menu {
  position:absolute;
  z-index:40;
  top:calc(100% + 6px);
  left:0;
  width:max(100%, 250px);
  display:grid;
  gap:2px;
  border:1px solid #cfd9e5;
  border-radius:8px;
  background:#fff;
  box-shadow:0 12px 28px rgba(23, 38, 58, .16);
  padding:7px;
}

.seller-portfolio-type-menu label {
  display:flex;
  align-items:center;
  gap:9px;
  min-height:34px;
  border-radius:5px;
  padding:5px 7px;
  color:#26364b;
  cursor:pointer;
}

.seller-portfolio-type-menu label:hover { background:#edf8f2; }

.seller-portfolio-type-menu input[type="checkbox"] {
  width:16px;
  min-height:16px;
  height:16px;
  flex:0 0 16px;
  margin:0;
  padding:0;
  accent-color:#078744;
  outline:0;
}

.seller-portfolio-type-menu label > span {
  color:#26364b;
  font-size:12px;
  font-weight:700;
  text-transform:none;
}

.seller-portfolio-type-menu button {
  min-height:34px;
  margin-top:4px;
  border:1px solid #bcd7c8;
  border-radius:5px;
  background:#edf8f2;
  color:#06723b;
  font:inherit;
  font-size:11px;
  font-weight:800;
  cursor:pointer;
}

.seller-portfolio-type-menu.is-floating {
  position:fixed !important;
  z-index:10000;
  max-height:min(360px, calc(100vh - 16px));
  margin:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  box-shadow:0 14px 34px rgba(23, 38, 58, .22);
}

.seller-portfolio-toolbar output {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:0 12px;
  border-left:3px solid #078744;
  background:#edf8f2;
  color:#06723b;
  font-size:11px;
  font-weight:850;
  white-space:nowrap;
}

.goal-color-guide {
  display:flex;
  align-items:center;
  gap:14px;
  min-height:44px;
  margin-bottom:12px;
  border:1px solid #e0e6ed;
  border-radius:8px;
  background:#fff;
  color:#56677c;
  padding:8px 12px;
  font-size:10px;
}

.goal-color-guide strong {
  color:#17263a;
  text-transform:uppercase;
}

.goal-color-guide span {
  display:inline-flex;
  align-items:center;
  gap:6px;
}

.goal-color-guide span::before {
  content:"";
  width:9px;
  height:9px;
  flex:0 0 9px;
  border-radius:50%;
  background:#0b9651;
}

.goal-color-guide .warning::before { background:#f59e0b; }
.goal-color-guide .danger::before { background:#d14343; }

.seller-overview-grid {
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1.18fr);
  gap:12px;
  align-items:start;
}

.seller-overview-grid.seller-only {
  grid-template-columns:minmax(0, 1fr);
}

.seller-overview-panel {
  min-width:0;
  min-height:100%;
  border:1px solid #dce4ed;
  border-radius:8px;
  background:#fff;
  padding:12px;
}

.seller-summary-identity {
  display:grid;
  grid-template-columns:auto minmax(0, 1fr) auto;
  gap:11px;
  align-items:center;
  min-height:58px;
  border-bottom:1px solid #e3e8ef;
  padding:0 4px 10px;
}

.seller-summary-avatar {
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  overflow:hidden;
  border-radius:50%;
  background:#0d468e;
  color:#fff;
  font-size:17px;
  font-weight:900;
}

.seller-summary-identity h3 {
  margin:0;
  color:#17263a;
  font-size:18px;
  line-height:1.15;
}

.seller-summary-identity p {
  margin:4px 0 0;
  color:#69798e;
  font-size:10px;
  line-height:1.35;
}

.seller-summary-identity > strong {
  color:#078744;
  font-size:14px;
  white-space:nowrap;
}

.seller-summary-identity.client > strong { color:#e26c0b; }

.seller-summary-top-kpis {
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:8px;
  margin:10px 0;
}

.seller-summary-top-kpis article {
  min-width:0;
  min-height:82px;
  display:grid;
  align-content:center;
  gap:7px;
  border:1px solid #e0e6ed;
  border-radius:7px;
  background:#fff;
  padding:10px;
}

.seller-summary-top-kpis span {
  color:#56677c;
  font-size:9px;
  font-weight:800;
  line-height:1.3;
}

.seller-summary-top-kpis strong {
  overflow-wrap:anywhere;
  color:#078744;
  font-size:19px;
}

.seller-summary-top-kpis article:nth-child(3) strong { color:#175caa; }
.seller-summary-top-kpis.client article:nth-child(1) strong,
.seller-summary-top-kpis.client article:nth-child(2) strong { color:#e26c0b; }
.seller-summary-top-kpis article.positive strong { color:#078744; }
.seller-summary-top-kpis article.negative strong { color:#c52d36; }

.seller-commercial-kpis article {
  border-top:3px solid #20334b;
}

.seller-commercial-kpis article.gross strong { color:#20334b; }
.seller-commercial-kpis article.returns {
  border-top-color:#e26c0b;
  background:#fff8ef;
}
.seller-commercial-kpis article.returns strong { color:#c75b04; }
.seller-commercial-kpis article.net {
  border-top-color:#078744;
  background:#f0faf4;
}
.seller-commercial-kpis article.net strong { color:#078744; }
.seller-commercial-kpis article.tm {
  border-top-color:#2876cf;
  background:#f0f6fd;
}
.seller-commercial-kpis article.tm strong { color:#175caa; }
.seller-commercial-kpis small {
  color:#6a7b90;
  font-size:9px;
  line-height:1.3;
}

.seller-summary-progress {
  display:grid;
  gap:10px;
  border:1px solid #dfe6ee;
  border-radius:8px;
  padding:12px;
}

.seller-summary-progress-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.seller-summary-progress-head > div {
  display:grid;
  gap:3px;
}

.seller-summary-progress-head > div > span {
  color:#17263a;
  font-size:13px;
  font-weight:850;
}

.seller-summary-progress-head > div > strong {
  color:#078744;
  font-size:20px;
}

.goal-status-atencao .seller-summary-progress-head > div > strong { color:#d77505; }
.goal-status-critico .seller-summary-progress-head > div > strong { color:#c52d36; }

.seller-summary-track-labels {
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:7px;
  align-items:end;
  color:#67778b;
  font-size:9px;
  text-align:center;
}

.seller-summary-track-labels > span:first-child { text-align:left; }
.seller-summary-track-labels > span:last-child { text-align:right; }
.seller-summary-track-labels strong {
  display:block;
  margin-top:2px;
  color:#20334b;
  font-size:10px;
}

.seller-summary-track-scale {
  display:flex;
  justify-content:space-between;
  color:#617187;
  font-size:9px;
}

.seller-summary-metrics {
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:8px;
}

.seller-summary-metrics article {
  min-width:0;
  min-height:66px;
  display:grid;
  align-content:center;
  gap:5px;
  border:1px solid #e2e8ef;
  border-top:3px solid #17263a;
  border-radius:6px;
  background:#f8fafc;
  padding:9px 10px;
}

.seller-summary-metrics article.weekdays,
.seller-summary-metrics article.realized,
.seller-summary-metrics article.positive { border-top-color:#0b9651; background:#f0faf4; }
.seller-summary-metrics article.saturday { border-top-color:#2876cf; background:#f0f6fd; }
.seller-summary-metrics article.expected { border-top-color:#f59e0b; background:#fff8eb; }
.seller-summary-metrics article.negative { border-top-color:#d14343; background:#fff3f3; }

.seller-summary-metrics span {
  color:#66768b;
  font-size:9px;
  font-weight:850;
  text-transform:uppercase;
}

.seller-summary-metrics strong {
  overflow-wrap:anywhere;
  color:#20334b;
  font-size:14px;
}

.seller-summary-metrics article.positive strong,
.seller-summary-metrics article.realized strong { color:#087b43; }
.seller-summary-metrics article.negative strong { color:#b4232f; }

.seller-manager-history {
  margin-top:12px;
  padding-top:14px;
}

.seller-goal-decision {
  margin-top:12px;
  overflow:hidden;
  border:1px solid #dce4ed;
  border-radius:8px;
  background:#fff;
}

.seller-goal-decision-head {
  gap:18px;
  padding:13px 14px;
}

.seller-goal-decision-head > div {
  min-width:240px;
}

.seller-goal-decision-head small {
  max-width:610px;
  color:#66778c;
  font-size:10px;
  line-height:1.4;
  text-align:right;
}

.seller-goal-decision-line {
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  border-top:1px solid #dce5ed;
  border-bottom:1px solid #dce5ed;
  background:#fff;
}

.seller-goal-decision-line > div {
  min-width:0;
  display:grid;
  gap:4px;
  border-top:3px solid #2876cf;
  padding:13px 14px;
}

.seller-goal-decision-line > div + div {
  border-left:1px solid #e1e8ef;
}

.seller-goal-decision-line > div:nth-child(2) { border-top-color:#17223b; }
.seller-goal-decision-line > div:nth-child(3) { border-top-color:#078744; }
.seller-goal-decision-line > div.positive {
  border-top-color:#078744;
  background:#eff9f3;
}
.seller-goal-decision-line > div.negative {
  border-top-color:#c4473e;
  background:#fff3f2;
}

.seller-goal-decision-line span,
.seller-goal-decision-form label > span,
.seller-goal-monthly-preview > span {
  color:#078744;
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
}

.seller-goal-decision-line strong {
  overflow-wrap:anywhere;
  color:#17223b;
  font-size:18px;
}

.seller-goal-decision-line small {
  color:#74849a;
  font-size:9px;
  line-height:1.35;
}

.seller-goal-decision-form {
  display:flex;
  align-items:end;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:9px;
  padding:13px 14px;
}

.seller-goal-decision-form label {
  width:min(260px, 100%);
  display:grid;
  gap:5px;
}

.seller-goal-decision-form input {
  width:100%;
  min-height:38px;
  border:1px solid #cbd7e2;
  border-radius:5px;
  background:#fff;
  color:#26364b;
  font:inherit;
  font-weight:800;
  padding:8px 9px;
}

.seller-goal-monthly-preview {
  min-width:175px;
  display:grid;
  gap:3px;
  border-left:3px solid #2876cf;
  background:#f3f7fc;
  padding:7px 10px;
}

.seller-goal-monthly-preview strong {
  color:#175caa;
  font-size:15px;
}

.seller-goal-monthly-preview small {
  color:#718197;
  font-size:9px;
}

.seller-goal-decision-form button {
  min-height:38px;
  border:1px solid #078744;
  border-radius:5px;
  background:#078744;
  color:#fff;
  font-weight:850;
  padding:0 13px;
  cursor:pointer;
}

.seller-goal-decision-form button.secondary {
  border-color:#c7d4df;
  background:#fff;
  color:#53667c;
}

.seller-goal-decision-form input:disabled,
.seller-goal-decision-form button:disabled {
  cursor:not-allowed;
  opacity:.58;
}

.seller-goal-decision-form > small {
  flex-basis:100%;
  min-height:14px;
  color:#6e7e91;
  font-size:10px;
  text-align:right;
}

.seller-summary-action-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:10px;
}

.seller-summary-action-grid > article {
  min-width:0;
  border:1px solid #e0e6ed;
  border-radius:7px;
  background:#fff;
  padding:12px;
}

.seller-summary-action-grid > article > span {
  display:block;
  margin-bottom:9px;
  color:#17263a;
  font-size:12px;
  font-weight:850;
}

.seller-summary-action-grid ul {
  display:grid;
  gap:7px;
  margin:0;
  padding-left:18px;
  color:#52647a;
  font-size:10px;
}

.seller-central-table tr.seller-client-selectable {
  cursor:pointer;
}

.seller-central-table tr.seller-client-selectable:hover,
.seller-central-table tr.seller-client-selectable:focus {
  background:#f3faf6;
  outline:2px solid transparent;
}

.seller-client-open-button {
  min-height:34px;
  border:1px solid #bed8ca;
  border-radius:6px;
  background:#eef9f3;
  color:#087642;
  padding:0 11px;
  font-size:11px;
  font-weight:850;
  cursor:pointer;
}

.seller-attention-list {
  display:grid;
  gap:5px;
}

.seller-attention-list button {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  min-height:31px;
  border:0;
  border-left:3px solid #f18b21;
  border-radius:4px;
  background:#f8fafc;
  color:#4b5d73;
  padding:5px 8px;
  cursor:pointer;
  text-align:left;
}

.seller-attention-list button.active {
  background:#fff5e9;
  color:#9b4e03;
}

.seller-attention-list button span {
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:10px;
}

.seller-attention-list button strong {
  flex:0 0 auto;
  font-size:10px;
}

.seller-overview-source {
  margin-top:10px;
  border-left:3px solid #2876cf;
  background:#f3f7fc;
  color:#617187;
  padding:8px 10px;
  font-size:9px;
  line-height:1.45;
}

.seller-summary-goal-edit {
  margin-top:4px;
  border-top:1px solid #dce6ee;
  padding-top:12px;
}

.seller-summary-goal-edit > span {
  max-width:560px;
  line-height:1.45;
}

.seller-summary-goal-edit .seller-goal-actions {
  border-left:3px solid #078744;
  background:#f4faf7;
  padding:9px 10px;
}

.seller-summary-goal-edit .seller-goal-actions input {
  background:#fff;
  font-size:14px;
  font-weight:800;
}

.seller-central-dedicated {
  padding-top:0;
}

.seller-guarantee-client-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(190px, 1fr));
  gap:8px;
}

.seller-guarantee-client-grid button {
  display:grid;
  gap:4px;
  min-height:88px;
  border:1px solid #dce4ed;
  border-left:4px solid #078744;
  border-radius:7px;
  background:#fff;
  color:#26384f;
  padding:12px;
  cursor:pointer;
  text-align:left;
}

.seller-guarantee-client-grid button span { font-size:11px; font-weight:850; }
.seller-guarantee-client-grid button small { color:#718096; font-size:9px; }
.seller-guarantee-client-grid button strong { color:#087b43; font-size:10px; }

@media (max-width: 1380px) {
  .seller-overview-grid { grid-template-columns:1fr; }
}

@media (max-width: 980px) {
  .seller-workspace-shell { grid-template-columns:1fr; }
  .seller-workspace-shell .seller-workspace-tabs {
    position:static;
    display:flex;
    overflow-x:auto;
    padding:6px;
  }
  .seller-workspace-shell .seller-workspace-tabs button {
    width:auto;
    flex:0 0 auto;
    min-height:38px;
    text-align:center;
  }
  .goal-color-guide { flex-wrap:wrap; }
  .seller-portfolio-toolbar {
    grid-template-columns:minmax(0, 1fr) minmax(170px, .7fr);
  }
}

@media (max-width: 720px) {
  .seller-workspace-header {
    align-items:stretch;
    flex-direction:column;
  }
  .seller-workspace-header label { min-width:0; }
  .seller-overview-panel { padding:9px; }
  .seller-summary-identity {
    grid-template-columns:auto minmax(0, 1fr);
  }
  .seller-summary-identity > strong {
    grid-column:1 / -1;
    padding-left:55px;
    font-size:12px;
  }
  .seller-summary-top-kpis { grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .seller-summary-top-kpis article { min-height:76px; }
  .seller-summary-top-kpis strong { font-size:17px; }
  .seller-summary-progress-head,
  .client-goal-progress-head {
    align-items:flex-start;
    flex-direction:column;
  }
  .seller-summary-track-labels {
    grid-template-columns:repeat(2, minmax(0, 1fr));
    text-align:left;
  }
  .seller-summary-track-labels > span:last-child { text-align:left; }
  .seller-summary-metrics { grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .seller-goal-decision-head {
    align-items:flex-start;
    flex-direction:column;
  }
  .seller-goal-decision-head small {
    max-width:none;
    text-align:left;
  }
  .seller-goal-decision-line { grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .seller-goal-decision-line > div:nth-child(3) { border-left:0; }
  .seller-goal-decision-line > div:nth-child(n + 3) { border-top-width:3px; }
  .seller-goal-decision-form { justify-content:flex-start; }
  .seller-goal-decision-form > small { text-align:left; }
  .seller-summary-action-grid { grid-template-columns:1fr; }
  .seller-summary-goal-edit { align-items:stretch; flex-direction:column; }
  .seller-goal-actions { justify-content:flex-start; }
  .seller-portfolio-toolbar { grid-template-columns:1fr; }
  .seller-portfolio-toolbar output { justify-content:flex-start; }
  .seller-portfolio-type-menu {
    position:static;
    width:100%;
    margin-top:6px;
    box-shadow:none;
  }
}

@media (max-width: 480px) {
  .seller-goal-decision-line { grid-template-columns:1fr; }
  .seller-goal-decision-line > div + div { border-left:0; }
  .seller-goal-decision-form label,
  .seller-goal-monthly-preview,
  .seller-goal-decision-form button { width:100%; }
}
/* ==== FIM CENTRAL DO VENDEDOR - RESUMO APROVADO ==== */

/* ===== IDENTIDADE CJ - FLUXO CONTINUO HML V1 ===== */
@font-face {
  font-family: "Noto Sans CJ";
  src: url("/static/assets/fonts/NotoSans-Regular.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Noto Sans CJ";
  src: url("/static/assets/fonts/NotoSans-SemiBold.ttf") format("truetype");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}

@font-face {
  font-family: "Noto Sans CJ";
  src: url("/static/assets/fonts/NotoSans-Bold.ttf") format("truetype");
  font-style: normal;
  font-weight: 700 900;
  font-display: swap;
}

html body,
body button,
body input,
body select,
body textarea,
body table,
body th,
body td,
body svg text,
.seller-workspace,
.seller-workspace button,
.seller-workspace input,
.seller-workspace select,
.seller-workspace svg text,
.client-360-dialog,
.client-360-dialog button,
.client-360-dialog input,
.client-360-dialog select,
.client-360-dialog svg text,
.cj-access-page,
.cj-access-page button,
.cj-access-page input,
.cj-access-page select,
.cj-access-page svg text {
  font-family: var(--font-ui);
}

body * {
  letter-spacing: 0;
}

.layout {
  position: relative;
  isolation: isolate;
  background: #f7f8f6;
}

.cj-identity-flow {
  position: absolute;
  z-index: 0;
  top: 76px;
  left: 0;
  width: 100%;
  height: 590px;
  background: url("/static/assets/identidade/fluxo-cj-sem-texto.png") center center / 100% auto no-repeat;
  opacity: .86;
  pointer-events: none;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 7%, #000 88%, transparent 100%);
  mask-image: linear-gradient(to bottom, transparent 0, #000 7%, #000 88%, transparent 100%);
}

.sidebar,
.main {
  position: relative;
  z-index: 1;
}

.cj-sidebar-padronizada-v8 {
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, .97) 0,
    rgba(255, 255, 255, .91) 118px,
    rgba(255, 255, 255, .56) 220px,
    rgba(255, 255, 255, .27) 435px,
    rgba(255, 255, 255, .74) 650px,
    rgba(255, 255, 255, .97) 100%
  ) !important;
}

.cj-clean-sidebar-v8 {
  position: relative;
  z-index: 2;
}

.cj-menu-main,
.cj-menu-group-btn,
.cj-menu-subitem {
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}

.cj-menu-main,
.cj-menu-group-btn {
  background: rgba(255, 255, 255, .86);
}

.main {
  background: transparent;
}

.topbar {
  background: rgba(247, 248, 246, .75);
  border-bottom-color: rgba(209, 221, 233, .88);
}

.culture-card {
  position: relative;
  z-index: 2;
  min-height: 198px;
  margin: 0 0 14px;
  padding: 20px 218px 30px 40px;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  text-align: center;
}

.culture-card .culture-copy {
  width: min(850px, 100%);
  padding: 17px 30px;
  border: 1px solid rgba(255, 255, 255, .8);
  border-radius: 8px;
  background: rgba(255, 255, 255, .82);
  box-shadow: 0 20px 45px rgba(30, 63, 91, .08);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

.culture-card h2 {
  min-height: 76px;
  margin: 0 0 4px;
  color: #122b47;
  font-size: clamp(27px, 2vw, 35px);
  line-height: 1.2;
  white-space: pre-line;
  transition: opacity .2s ease, transform .2s ease;
}

.culture-card p {
  transition: opacity .2s ease, transform .2s ease;
}

.culture-card h2.changing,
.culture-card p.changing {
  opacity: 0;
  transform: translateY(4px);
}

.culture-phrase-nav {
  display: flex;
  justify-content: center;
  gap: 7px;
  min-height: 8px;
  margin-top: 11px;
}

.culture-phrase-dot {
  width: 8px;
  height: 8px;
  min-width: 8px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #c7d4e3;
  cursor: pointer;
  transition: width .18s ease, background-color .18s ease;
}

.culture-phrase-dot.active {
  width: 24px;
  border-radius: 5px;
  background: var(--green);
}

.culture-card .scope-badge {
  position: absolute;
  top: 26px;
  right: 0;
  z-index: 3;
  border-radius: 8px;
  background: rgba(255, 255, 255, .9);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  text-align: left;
}

#view-dashboard .kpis {
  position: relative;
  z-index: 3;
  margin-top: -18px;
  margin-bottom: 16px;
}

#view-dashboard .kpi {
  padding: 14px 18px;
  gap: 13px;
}

#view-dashboard .kpi,
#view-dashboard .panel {
  background: rgba(255, 255, 255, .96);
}

@media (max-width: 1380px) {
  .culture-card {
    padding-right: 40px;
  }

  .culture-card .culture-copy {
    width: min(760px, calc(100% - 40px));
  }

  .culture-card .scope-badge {
    top: 18px;
    right: 8px;
    min-width: 168px;
    padding: 10px 12px;
  }
}

@media (max-width: 1180px) {
  .cj-identity-flow {
    top: 96px;
    height: 560px;
    background-position: 38% center;
    background-size: auto 100%;
    opacity: .72;
  }

  .cj-sidebar-padronizada-v8 {
    background: rgba(255, 255, 255, .9) !important;
  }

  .culture-card {
    min-height: 206px;
    padding: 22px 20px 32px;
  }

  .culture-card .culture-copy {
    width: min(820px, 100%);
  }

  .culture-card .scope-badge {
    position: static;
    min-width: 0;
    max-width: 230px;
    margin-left: auto;
  }
}

@media (max-width: 760px) {
  .cj-identity-flow {
    top: 84px;
    height: 450px;
    background-position: 40% center;
    opacity: .68;
  }

  .culture-card {
    display: grid;
    min-height: 226px;
    padding: 16px 0 28px;
  }

  .culture-card .culture-copy {
    width: 100%;
    padding: 16px;
  }

  .culture-card h2 {
    min-height: 86px;
    font-size: 24px;
  }

  .culture-card .scope-badge {
    width: 100%;
    max-width: none;
    margin: 8px 0 0;
  }

  #view-dashboard .kpis {
    margin-top: -12px;
  }
}
/* ===== FIM IDENTIDADE CJ - FLUXO CONTINUO HML V1 ===== */

/* ===== STATUS DA CARGA E FINANCEIRO DO CLIENTE ===== */
.culture-card .scope-badge .scope-update {
  margin-top: 8px;
  padding-top: 7px;
  border-top: 1px solid #dbe5ef;
  display: grid;
  gap: 2px;
  text-align: left;
}

.culture-card .scope-badge .scope-update > span {
  color: #078b43;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
}

.culture-card .scope-badge .scope-update > small {
  color: #536882;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.35;
}

.scope-update-progress {
  width: 100%;
  height: 5px;
  margin-top: 3px;
  overflow: hidden;
  border-radius: 999px;
  background: #dfe9f5;
}

.scope-update-progress[hidden],
.scope-update-progress-label[hidden] {
  display: none !important;
}

.scope-update-progress > i {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--chart-comparison), var(--chart-projection));
  transition: width .45s ease;
}

.culture-card .scope-badge .scope-update > .scope-update-progress-label {
  color: #2d6fd3;
  font-size: 9px;
  font-weight: 800;
}

.scope-update[data-state="running"] > span {
  color: #2d6fd3;
}

.scope-update[data-state="running"] > span::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: 6px;
  border-radius: 50%;
  background: #2d6fd3;
  box-shadow: 0 0 0 0 rgba(45,111,211,.35);
  animation: cj-update-pulse 1.4s infinite;
}

@keyframes cj-update-pulse {
  70% { box-shadow: 0 0 0 6px rgba(45,111,211,0); }
  100% { box-shadow: 0 0 0 0 rgba(45,111,211,0); }
}

.scope-update[data-state="success"] > span::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: 6px;
  border-radius: 50%;
  background: #0aa85a;
}

.client-360-finance-strip {
  margin: 12px 0;
  border: 1px solid #d8e4de;
  border-left: 4px solid #0aa85a;
  border-radius: 8px;
  overflow: hidden;
  background: #f7fbf9;
}

.client-360-finance-strip.has-overdue {
  border-color: #efd2cf;
  border-left-color: #c73c35;
  background: #fff8f7;
}

.client-360-finance-head {
  padding: 12px 16px 8px;
}

.client-360-finance-head > span {
  color: #078744;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.client-360-finance-head h3 {
  margin: 3px 0 0;
  color: #17223b;
  font-size: 17px;
}

.client-360-finance-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid #e0e8e3;
  background: #fff;
}

.client-360-finance-grid article {
  min-width: 0;
  display: grid;
  gap: 4px;
  padding: 12px 16px;
}

.client-360-finance-grid article + article {
  border-left: 1px solid #e1e8ef;
}

.client-360-finance-grid article > span {
  color: #5b6f83;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.client-360-finance-grid article strong {
  color: #17223b;
  font-size: 19px;
}

.client-360-finance-grid article small {
  color: #708195;
  font-size: 11px;
}

.client-360-finance-grid article.attention strong {
  color: #b42318;
}

.client-360-finance-grid article.regular strong {
  color: #078b43;
}

.seller-client-financial-cell {
  min-width: 170px;
}

.seller-client-financial-cell > span {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
}

.seller-client-financial-cell b {
  color: #61748a;
  font-size: 10px;
  text-transform: uppercase;
}

.seller-client-financial-cell strong {
  color: #078b43;
}

.seller-client-financial-cell.has-overdue strong {
  color: #b42318;
}

.seller-client-financial-cell small {
  display: block;
  margin-top: 2px;
}

@media (max-width: 760px) {
  .client-360-finance-grid {
    grid-template-columns: 1fr;
  }

  .client-360-finance-grid article + article {
    border-left: 0;
    border-top: 1px solid #e1e8ef;
  }
}
/* ===== FIM STATUS DA CARGA E FINANCEIRO DO CLIENTE ===== */

/* ===== CURVA ABC — GOVERNANÇA MANUAL V1 ===== */
.abc-badge.abc-status-sem-giro-janela-com-historico {
  border-color: #f1d18d !important;
  background: #fff7df !important;
  color: #8a5c00 !important;
}

.abc-governanca {
  min-width: 0;
}

.abc-gov-shell {
  display: grid;
  gap: 14px;
  margin-bottom: 18px;
  color: #243044;
}

.abc-gov-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  padding: 22px 24px;
  border: 1px solid #cfe5d8;
  border-radius: 16px;
  background: linear-gradient(135deg, #f0fbf5 0%, #fff 68%);
  box-shadow: 0 12px 32px rgba(28, 68, 48, .06);
}

.abc-gov-header > div {
  min-width: 0;
}

.abc-gov-header > div > span,
.abc-gov-form-intro > div > span {
  display: block;
  margin-bottom: 5px;
  color: #078744;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .045em;
  text-transform: uppercase;
}

.abc-gov-header h2 {
  max-width: 920px;
  margin: 0;
  color: #163025;
  font-size: clamp(21px, 2vw, 30px);
  line-height: 1.17;
}

.abc-gov-header p {
  max-width: 930px;
  margin: 8px 0 0;
  color: #526b60;
  font-size: 13px;
  line-height: 1.55;
}

.abc-gov-policy,
.abc-gov-manual-badge {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 7px 11px;
  border: 1px solid #a9d4ba;
  border-radius: 999px;
  background: #fff;
  color: #087642;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .025em;
  text-transform: uppercase;
}

.abc-gov-active,
.abc-gov-job-wrap,
.abc-gov-form,
.abc-gov-history,
.abc-gov-readonly,
.abc-gov-load-error {
  min-width: 0;
  border: 1px solid #dfe7ef;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 9px 26px rgba(31, 50, 75, .045);
}

.abc-gov-audit-line {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 16px 19px;
  border-bottom: 1px solid #e6ece9;
  background: #f5fbf7;
}

.abc-gov-audit-line > div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.abc-gov-audit-line strong {
  color: #0b6638;
  font-size: 15px;
  overflow-wrap: anywhere;
}

.abc-gov-audit-line small {
  color: #678073;
  font-size: 10px;
  overflow-wrap: anywhere;
}

.abc-gov-live-dot {
  flex: 0 0 auto;
  width: 11px;
  height: 11px;
  border: 3px solid #ccebd9;
  border-radius: 50%;
  background: #0aa653;
  box-shadow: 0 0 0 4px #ebf8f1;
}

.abc-gov-active-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-bottom: 1px solid #e7edf2;
}

.abc-gov-active-grid > article,
.abc-gov-source {
  display: grid;
  align-content: start;
  gap: 5px;
  min-width: 0;
  padding: 15px 18px;
  border-right: 1px solid #e7edf2;
}

.abc-gov-active-grid > :last-child {
  border-right: 0;
}

.abc-gov-active-grid span,
.abc-gov-active-percent > span,
.abc-gov-active-note span,
.abc-gov-derived span,
.abc-gov-confirm-summary span {
  color: #6a7c91;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .035em;
  text-transform: uppercase;
}

.abc-gov-active-grid strong,
.abc-gov-source strong {
  color: #1f3044;
  font-size: 13px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.abc-gov-active-grid small,
.abc-gov-source small {
  color: #738398;
  font-size: 10px;
  line-height: 1.4;
}

.abc-gov-active-percent {
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 13px 18px;
  border-bottom: 1px solid #e7edf2;
}

.abc-gov-active-percent > div,
.abc-gov-history-percent {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.abc-gov-percent {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 30px;
  padding: 4px 9px;
  border: 1px solid #dce5ec;
  border-radius: 8px;
  background: #f8fafc;
}

.abc-gov-percent b {
  display: grid;
  place-items: center;
  width: 21px;
  height: 21px;
  border-radius: 5px;
  background: #e8eef4;
  color: #42566e;
  font-size: 10px;
}

.abc-gov-percent strong {
  color: #2b3d52;
  font-size: 11px;
}

.abc-gov-percent-a { border-color: #a9dfbd; background: #f0fbf4; }
.abc-gov-percent-a b { background: #d9f4e4; color: #087642; }
.abc-gov-percent-b { border-color: #c5d9f5; background: #f3f7fd; }
.abc-gov-percent-b b { background: #e2edfb; color: #2d6fd3; }
.abc-gov-percent-c { border-color: #f1d9a6; background: #fffaf0; }
.abc-gov-percent-c b { background: #fff0ce; color: #a86108; }
.abc-gov-percent-d,.abc-gov-percent-e { border-color: #e0d7f3; background: #faf8fe; }
.abc-gov-percent-d b,.abc-gov-percent-e b { background: #eee9f8; color: #7154b3; }

.abc-gov-active-note {
  display: grid;
  gap: 4px;
  padding: 13px 18px;
  background: #fbfcfe;
}

.abc-gov-active-note strong {
  color: #42566e;
  font-size: 11px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.abc-gov-empty,
.abc-gov-job-idle {
  display: grid;
  gap: 4px;
  padding: 18px;
}

.abc-gov-empty span,
.abc-gov-job-idle span,
.abc-gov-job-idle small {
  color: #6e7f93;
  font-size: 11px;
  line-height: 1.45;
}

.abc-gov-job-wrap > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 17px;
  border-bottom: 1px solid #e6ecf2;
  background: #f9fbfd;
}

.abc-gov-job-wrap > header strong {
  font-size: 12px;
}

.abc-gov-job-wrap > header small {
  color: #728297;
  font-size: 9px;
}

.abc-gov-job {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(180px, 1fr) auto;
  align-items: center;
  gap: 15px;
  padding: 14px 17px;
}

.abc-gov-job > div:first-child {
  display: grid;
  gap: 3px;
}

.abc-gov-job span {
  color: #627388;
  font-size: 9px;
  font-weight: 900;
  text-transform: uppercase;
}

.abc-gov-job strong {
  font-size: 12px;
}

.abc-gov-job small {
  color: #74859a;
  font-size: 9px;
}

.abc-gov-job > b {
  color: #42566e;
  font-size: 12px;
}

.abc-gov-progress {
  height: 9px;
  overflow: hidden;
  border-radius: 999px;
  background: #e8edf3;
}

.abc-gov-progress i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #0aa653, #27a9e1);
  transition: width .35s ease;
}

.abc-gov-form {
  padding: 18px;
  border-color: #c9ddf1;
}

.abc-gov-form-intro {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 16px;
}

.abc-gov-form-intro strong {
  display: block;
  color: #1c314a;
  font-size: 18px;
}

.abc-gov-form-intro p {
  max-width: 900px;
  margin: 5px 0 0;
  color: #697b90;
  font-size: 11px;
  line-height: 1.5;
}

.abc-gov-manual-badge {
  border-color: #c6d8ef;
  color: #2d6fd3;
}

.abc-gov-form-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(150px, 1fr));
  gap: 10px;
}

.abc-gov-form-grid > label,
.abc-gov-percent-inputs > label,
.abc-gov-justification {
  display: grid;
  align-content: start;
  gap: 6px;
  min-width: 0;
}

.abc-gov-form-grid > label {
  padding: 12px;
  border: 1px solid #e0e7ef;
  border-radius: 10px;
  background: #fbfcfe;
}

.abc-gov-form label > span,
.abc-gov-percent-fieldset legend {
  color: #5c6f85;
  font-size: 10px;
  font-weight: 900;
}

.abc-gov-form label > span b {
  display: block;
  margin-top: 2px;
  color: #b45e08;
  font-size: 8px;
  text-transform: uppercase;
}

.abc-gov-form label > small {
  color: #7b8b9e;
  font-size: 8px;
  line-height: 1.35;
}

.abc-gov-form input,
.abc-gov-form textarea {
  width: 100%;
  min-width: 0;
  border: 1px solid #cdd8e4;
  border-radius: 7px;
  background: #fff;
  color: #243044;
  font: inherit;
  font-size: 12px;
  font-weight: 750;
  outline: 0;
}

.abc-gov-form input {
  min-height: 38px;
  padding: 8px 9px;
}

.abc-gov-form textarea {
  resize: vertical;
  padding: 10px 11px;
  font-weight: 500;
  line-height: 1.45;
}

.abc-gov-form input:focus,
.abc-gov-form textarea:focus {
  border-color: #2d8ad1;
  box-shadow: 0 0 0 3px rgba(45, 138, 209, .12);
}

.abc-gov-input-suffix {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}

.abc-gov-input-suffix input {
  border-radius: 7px 0 0 7px;
}

.abc-gov-input-suffix em {
  display: grid;
  place-items: center;
  min-height: 38px;
  padding: 0 9px;
  border: 1px solid #cdd8e4;
  border-left: 0;
  border-radius: 0 7px 7px 0;
  background: #f3f6f9;
  color: #6b7d91;
  font-size: 9px;
  font-style: normal;
  font-weight: 900;
}

.abc-gov-percent-fieldset {
  min-width: 0;
  margin: 14px 0 0;
  padding: 12px;
  border: 1px solid #e0e7ef;
  border-radius: 10px;
}

.abc-gov-percent-fieldset legend {
  padding: 0 7px;
}

.abc-gov-percent-inputs {
  display: grid;
  grid-template-columns: repeat(5, minmax(100px, 1fr)) minmax(155px, .8fr);
  gap: 9px;
}

.abc-gov-percent-inputs > label {
  padding: 9px;
  border: 1px solid #e2e8ef;
  border-radius: 8px;
  background: #fff;
}

.abc-gov-percent-inputs .abc-gov-p-a { border-color: #b8dfc7; background: #f4fbf7; }
.abc-gov-percent-inputs .abc-gov-p-b { border-color: #cadaf0; background: #f6f9fe; }
.abc-gov-percent-inputs .abc-gov-p-c { border-color: #eddab5; background: #fffbf4; }
.abc-gov-percent-inputs .abc-gov-p-d,
.abc-gov-percent-inputs .abc-gov-p-e { border-color: #ddd6eb; background: #fbfafe; }

.abc-gov-percent-sum {
  display: grid;
  align-content: center;
  gap: 2px;
  padding: 10px 12px;
  border: 1px solid #dce4ec;
  border-radius: 8px;
  background: #f8fafc;
}

.abc-gov-percent-sum span {
  color: #6d7e92;
  font-size: 9px;
  font-weight: 900;
  text-transform: uppercase;
}

.abc-gov-percent-sum strong {
  font-size: 16px;
}

.abc-gov-percent-sum small {
  color: #74859a;
  font-size: 8px;
}

.abc-gov-percent-sum.is-ok { border-color: #a9d5bb; background: #f1faf5; color: #087642; }
.abc-gov-percent-sum.is-error { border-color: #edb8b4; background: #fff5f4; color: #b42318; }

.abc-gov-derived {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  margin-top: 14px;
  overflow: hidden;
  border: 1px solid #dbe4ed;
  border-radius: 10px;
  background: #dbe4ed;
}

.abc-gov-derived > div {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 12px;
  background: #f7fafc;
}

.abc-gov-derived strong {
  color: #263a51;
  font-size: 12px;
  overflow-wrap: anywhere;
}

.abc-gov-derived small {
  color: #728399;
  font-size: 8px;
  line-height: 1.4;
}

.abc-gov-derived .abc-gov-current-excluded {
  background: #fff8ed;
}

.abc-gov-derived .abc-gov-current-excluded strong {
  color: #a75a05;
}

.abc-gov-concepts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
  margin-top: 12px;
}

.abc-gov-concepts article {
  display: grid;
  gap: 5px;
  padding: 11px 12px;
  border: 1px solid #e1e7ee;
  border-radius: 9px;
  background: #fbfcfd;
}

.abc-gov-concepts b {
  color: #2e4259;
  font-size: 10px;
}

.abc-gov-concepts span {
  color: #708196;
  font-size: 8px;
  line-height: 1.45;
}

.abc-gov-concepts .abc-gov-no-channel {
  border-color: #ead5a8;
  background: #fffaf0;
}

.abc-gov-concepts .abc-gov-no-channel b {
  color: #9d5d0e;
}

.abc-gov-justification {
  margin-top: 13px;
}

.abc-gov-preview {
  margin-top: 12px;
}

.abc-gov-preview:empty {
  display: none;
}

.abc-gov-preview-result {
  display: grid;
  gap: 7px;
  padding: 12px 14px;
  border: 1px solid #dbe4ec;
  border-radius: 9px;
  background: #f8fafc;
}

.abc-gov-preview-result > div {
  display: grid;
  gap: 3px;
}

.abc-gov-preview-result span,
.abc-gov-preview-result small {
  color: #6c7e92;
  font-size: 9px;
  line-height: 1.4;
}

.abc-gov-preview-result.is-ok { border-color: #abd6bd; background: #f2faf5; }
.abc-gov-preview-result.is-ok > div > span { color: #087642; font-weight: 900; text-transform: uppercase; }
.abc-gov-preview-result.is-error { border-color: #efc4c1; background: #fff6f5; }
.abc-gov-preview-result.is-error > div > span,.abc-gov-preview-result.is-error > strong { color: #a72a22; }
.abc-gov-preview-result ul { margin: 0; padding-left: 19px; color: #596c82; font-size: 9px; line-height: 1.45; }
.abc-gov-preview-result ul.errors { color: #a72a22; }
.abc-gov-preview-result ul.warnings { color: #956009; }

.abc-gov-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 14px;
}

.abc-gov-btn {
  min-height: 38px;
  padding: 8px 13px;
  border: 1px solid transparent;
  border-radius: 8px;
  font: inherit;
  font-size: 10px;
  font-weight: 900;
  cursor: pointer;
}

.abc-gov-btn.primary {
  border-color: #078744;
  background: #078744;
  color: #fff;
}

.abc-gov-btn.secondary {
  border-color: #cad6e2;
  background: #fff;
  color: #40566f;
}

.abc-gov-btn:disabled {
  border-color: #dce3e9;
  background: #edf1f4;
  color: #98a5b3;
  cursor: not-allowed;
}

#abc-gov-form-status {
  color: #687a90;
  font-size: 9px;
}

.abc-gov-readonly,
.abc-gov-load-error {
  display: grid;
  gap: 5px;
  padding: 15px 17px;
  background: #f9fbfd;
}

.abc-gov-readonly strong,
.abc-gov-load-error strong {
  font-size: 12px;
}

.abc-gov-readonly span,
.abc-gov-load-error span {
  color: #697b90;
  font-size: 10px;
  line-height: 1.45;
}

.abc-gov-readonly code {
  padding: 2px 5px;
  border-radius: 4px;
  background: #edf2f7;
  color: #415873;
  font-size: 9px;
}

.abc-gov-load-error button {
  width: max-content;
  padding: 7px 10px;
  border: 1px solid #c9d5e1;
  border-radius: 7px;
  background: #fff;
  color: #3f5670;
  font-size: 9px;
  font-weight: 900;
  cursor: pointer;
}

.abc-gov-history {
  overflow: hidden;
}

.abc-gov-history > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  padding: 13px 17px;
  background: #f8fafc;
  cursor: pointer;
  list-style: none;
}

.abc-gov-history > summary::-webkit-details-marker {
  display: none;
}

.abc-gov-history > summary span {
  font-size: 12px;
  font-weight: 900;
}

.abc-gov-history > summary b {
  color: #6e7f93;
  font-size: 9px;
}

#abc-gov-history {
  border-top: 1px solid #e3e9ef;
}

.abc-gov-history-item {
  display: grid;
  grid-template-columns: minmax(250px, 1.25fr) auto minmax(200px, 1fr);
  align-items: center;
  gap: 14px;
  padding: 13px 17px;
  border-bottom: 1px solid #e8edf2;
}

.abc-gov-history-item:last-child {
  border-bottom: 0;
}

.abc-gov-history-item.is-current {
  background: #f5fbf7;
}

.abc-gov-history-item > div:first-child {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.abc-gov-history-item > div:first-child > span {
  width: max-content;
  padding: 2px 6px;
  border-radius: 999px;
  background: #e5f6ec;
  color: #087642;
  font-size: 8px;
  font-weight: 900;
  text-transform: uppercase;
}

.abc-gov-history-item strong {
  font-size: 11px;
  overflow-wrap: anywhere;
}

.abc-gov-history-item small,
.abc-gov-history-item p {
  color: #718297;
  font-size: 8px;
  line-height: 1.4;
}

.abc-gov-history-item p {
  margin: 0;
  overflow-wrap: anywhere;
}

.abc-gov-history-item .abc-gov-percent {
  min-height: 25px;
  padding: 2px 6px;
}

.abc-gov-history-item .abc-gov-percent b {
  width: 17px;
  height: 17px;
  font-size: 8px;
}

.abc-gov-history-item .abc-gov-percent strong {
  font-size: 8px;
}

.abc-gov-history-empty {
  padding: 16px 17px;
  color: #728297;
  font-size: 10px;
}

.abc-gov-confirm-overlay {
  position: fixed;
  inset: 0;
  z-index: 11050;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgba(17, 31, 48, .68);
  backdrop-filter: blur(4px);
}

.abc-gov-confirm-panel {
  width: min(760px, 96vw);
  max-height: 94vh;
  overflow: auto;
  padding: 22px;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 28px 90px rgba(0, 0, 0, .28);
}

.abc-gov-confirm-panel > header > span {
  color: #078744;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.abc-gov-confirm-panel h3 {
  margin: 5px 0;
  color: #1e3148;
  font-size: 22px;
}

.abc-gov-confirm-panel > header p {
  margin: 0;
  color: #62758b;
  font-size: 10px;
  line-height: 1.5;
}

.abc-gov-confirm-summary {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  margin-top: 15px;
  overflow: hidden;
  border: 1px solid #dfe6ed;
  border-radius: 10px;
  background: #dfe6ed;
}

.abc-gov-confirm-summary > div {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 12px;
  background: #f9fbfd;
}

.abc-gov-confirm-summary strong {
  color: #2a3e56;
  font-size: 11px;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.abc-gov-confirm-summary small {
  color: #728399;
  font-size: 8px;
}

.abc-gov-confirm-check {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: 9px;
  margin-top: 14px;
  padding: 11px 12px;
  border: 1px solid #e7d3a6;
  border-radius: 9px;
  background: #fffaf0;
  color: #6d5524;
  font-size: 9px;
  line-height: 1.45;
}

.abc-gov-confirm-check input {
  margin-top: 2px;
  accent-color: #078744;
}

.abc-gov-confirm-actions {
  display: flex;
  justify-content: flex-end;
  gap: 9px;
  margin-top: 15px;
}

.abc-gov-confirm-error {
  margin-top: 12px;
  padding: 10px 12px;
  border: 1px solid #efbfbb;
  border-radius: 8px;
  background: #fff5f4;
  color: #a72a22;
  font-size: 9px;
  line-height: 1.45;
}

@media (max-width: 1180px) {
  .abc-gov-active-grid,
  .abc-gov-form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .abc-gov-active-grid > :nth-child(2n) {
    border-right: 0;
  }

  .abc-gov-active-grid > :nth-child(-n + 2) {
    border-bottom: 1px solid #e7edf2;
  }

  .abc-gov-percent-inputs {
    grid-template-columns: repeat(3, minmax(110px, 1fr));
  }

  .abc-gov-derived,
  .abc-gov-concepts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .abc-gov-history-item {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .abc-gov-shell {
    gap: 10px;
  }

  .abc-gov-header,
  .abc-gov-form-intro,
  .abc-gov-job-wrap > header {
    flex-direction: column;
    gap: 11px;
  }

  .abc-gov-header,
  .abc-gov-form,
  .abc-gov-confirm-panel {
    padding: 16px;
  }

  .abc-gov-header h2 {
    font-size: 20px;
  }

  .abc-gov-policy,
  .abc-gov-manual-badge {
    width: 100%;
    justify-content: center;
  }

  .abc-gov-active-grid,
  .abc-gov-form-grid,
  .abc-gov-percent-inputs,
  .abc-gov-derived,
  .abc-gov-concepts,
  .abc-gov-confirm-summary {
    grid-template-columns: 1fr;
  }

  .abc-gov-active-grid > article,
  .abc-gov-source {
    border-right: 0;
    border-bottom: 1px solid #e7edf2;
  }

  .abc-gov-active-grid > :last-child {
    border-bottom: 0;
  }

  .abc-gov-active-percent {
    align-items: flex-start;
    flex-direction: column;
  }

  .abc-gov-active-percent > div {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .abc-gov-active-percent .abc-gov-percent {
    justify-content: center;
    gap: 4px;
    padding: 4px;
  }

  .abc-gov-active-percent .abc-gov-percent b {
    width: 18px;
    height: 18px;
  }

  .abc-gov-job {
    grid-template-columns: 1fr auto;
  }

  .abc-gov-job .abc-gov-progress {
    grid-column: 1;
  }

  .abc-gov-job > b {
    grid-column: 2;
    grid-row: 2;
  }

  .abc-gov-actions,
  .abc-gov-confirm-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .abc-gov-actions .abc-gov-btn,
  .abc-gov-confirm-actions .abc-gov-btn {
    width: 100%;
  }

  .abc-gov-confirm-overlay {
    padding: 8px;
  }

  .abc-gov-confirm-panel {
    width: 100%;
    max-height: 98vh;
  }
}

@media (max-width: 430px) {
  .abc-gov-header,
  .abc-gov-form,
  .abc-gov-confirm-panel {
    padding: 13px;
  }

  .abc-gov-audit-line,
  .abc-gov-active-grid > article,
  .abc-gov-source,
  .abc-gov-active-percent,
  .abc-gov-active-note,
  .abc-gov-job {
    padding-left: 13px;
    padding-right: 13px;
  }

  .abc-gov-active-percent > div {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .abc-gov-history-item {
    padding: 12px 13px;
  }
}
/* ===== FIM CURVA ABC — GOVERNANÇA MANUAL V1 ===== */

/* ===== CURVA ABC V4 — PARETO E XYZ ===== */
.abc-badge.abc-m,.abc-badge.abc-n{background:#e5e7eb!important;color:#374151!important;border:1px solid #d1d5db!important}
.abc-badge.abc-x{background:#dcfce7!important;color:#166534!important;border:1px solid #86efac!important}
.abc-badge.abc-y{background:#fef3c7!important;color:#92400e!important;border:1px solid #fcd34d!important}
.abc-badge.abc-z{background:#fee2e2!important;color:#991b1b!important;border:1px solid #fca5a5!important}
.abc-badge.abc-i{background:#e0e7ff!important;color:#3730a3!important;border:1px solid #c7d2fe!important}
.rupture-abc-curve-card.curve-M .letter,.rupture-abc-curve-card.curve-N .letter{background:#f0f2f5;color:#66758a}
.abc-methods{margin:14px 0 16px;padding:16px;border:1px solid #dbe5ef;border-radius:18px;background:linear-gradient(135deg,#fff,#f8fbff);box-shadow:0 10px 30px rgba(15,23,42,.05)}
.abc-method-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:12px}
.abc-method-head>div{display:grid;gap:2px}.abc-method-head span{color:#047857;font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.07em}.abc-method-head strong{color:#0f172a;font-size:18px}.abc-method-head small{color:#64748b;font-weight:700}
.abc-method-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.abc-method-tab{display:grid;gap:5px;min-height:86px;padding:13px 14px;text-align:left;border:1px solid #dce5ef;border-radius:14px;background:#fff;color:#334155;cursor:pointer;transition:.16s ease}
.abc-method-tab span{font-size:13px;font-weight:950;color:#0f172a}.abc-method-tab small{font-size:10.5px;line-height:1.35;color:#64748b}.abc-method-tab:hover:not(:disabled){border-color:#86efac;transform:translateY(-1px)}.abc-method-tab.active{border-color:#22c55e;background:#f0fdf4;box-shadow:inset 0 0 0 1px #86efac}.abc-method-tab:disabled{cursor:not-allowed;opacity:.56;background:#f8fafc}
.abc-matrix-panel{padding:18px;border:1px solid #dbe5ef;border-radius:18px;background:#fff;box-shadow:0 12px 30px rgba(15,23,42,.06)}
.abc-matrix-panel>header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.abc-matrix-panel>header>div{display:grid;gap:3px}.abc-matrix-panel>header span{color:#047857;font-size:11px;font-weight:950;text-transform:uppercase}.abc-matrix-panel>header strong{color:#0f172a;font-size:20px}.abc-matrix-panel>p{margin:12px 0;color:#475569;font-size:13px}
.abc-matrix-switch{display:flex;padding:3px;border-radius:10px;background:#eef2f7}.abc-matrix-switch button{border:0;border-radius:8px;padding:8px 11px;background:transparent;color:#64748b;font-weight:900;cursor:pointer}.abc-matrix-switch button.active{background:#fff;color:#047857;box-shadow:0 4px 12px rgba(15,23,42,.08)}
.abc-matrix-scroll{max-width:100%;overflow:visible}.abc-matrix-table{width:100%;min-width:0;table-layout:fixed;border-collapse:separate;border-spacing:6px}.abc-matrix-table th{padding:8px;color:#334155;font-size:12px}.abc-matrix-table thead th small{display:block;margin-top:4px;color:#64748b;font-size:9px}.abc-matrix-table td{min-width:0;padding:11px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc;vertical-align:top}.abc-matrix-table td strong,.abc-matrix-table td span,.abc-matrix-table td small{display:block}.abc-matrix-table td strong{color:#0f172a;font-size:12px}.abc-matrix-table td span{margin:4px 0;color:#334155;font-size:11px;font-weight:850}.abc-matrix-table td small{color:#64748b;font-size:9.5px}.abc-matrix-table td.best{background:#f0fdf4;border-color:#86efac}.abc-matrix-table td.attention{background:#fff7ed;border-color:#fdba74}.abc-matrix-table td.clickable{cursor:pointer;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.abc-matrix-table td.clickable:hover{transform:translateY(-1px);border-color:#22c55e;box-shadow:0 8px 20px rgba(15,118,110,.12)}.abc-matrix-table td.clickable:focus-visible{outline:3px solid #86efac;outline-offset:2px}.abc-matrix-table td.active{border-color:#16a34a!important;background:#ecfdf5!important;box-shadow:inset 0 0 0 2px #22c55e,0 8px 20px rgba(15,118,110,.14)}
.abc-matrix-panel>footer{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.abc-matrix-panel>footer span{padding:7px 10px;border-radius:999px;background:#eef7ff;color:#334155;font-size:11px;font-weight:900}
.abc-strategy-explainer{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:14px 0 8px;padding:10px 12px;border:1px solid #bae6fd;border-radius:12px;background:#f0f9ff;color:#334155;font-size:12px}.abc-strategy-explainer>strong{color:#075985}.abc-strategy-explainer span{padding:4px 7px;border-radius:7px;background:#fff}.abc-strategy-explainer em{color:#475569;font-style:normal}
.abc-strategy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.abc-strategy-card{display:grid;align-content:start;gap:8px;min-width:0;padding:14px;border:1px solid #dbe5ef;border-radius:14px;background:#f8fafc}.abc-strategy-card>div{display:grid;gap:2px}.abc-strategy-card>div span{color:#64748b;font-size:9px;font-weight:950;text-transform:uppercase}.abc-strategy-card>div strong{color:#0f172a;font-size:16px}.abc-strategy-card code{width:max-content;max-width:100%;padding:5px 7px;border-radius:7px;background:#fff;color:#334155;font:800 11px/1.35 inherit;white-space:normal}.abc-strategy-card>p{min-height:32px;margin:0;color:#475569;font-size:12px}.abc-strategy-card>b{color:#0f172a;font-size:12px}.abc-strategy-card>small{color:#64748b;font-size:10px}.abc-strategy-card>footer{margin-top:auto;padding-top:9px;border-top:1px solid rgba(148,163,184,.28);color:#334155;font-size:11px;line-height:1.45}.abc-strategy-card.positive{border-color:#86efac;background:#f0fdf4}.abc-strategy-card.attention{border-color:#fdba74;background:#fff7ed}.abc-strategy-card.caution{border-color:#fde68a;background:#fffbeb}.abc-strategy-card.info{border-color:#93c5fd;background:#eff6ff}.abc-strategy-card.critical{border-color:#fca5a5;background:#fef2f2}.abc-strategy-card.neutral{background:#f8fafc}.abc-strategy-card.clickable{cursor:pointer;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.abc-strategy-card.clickable:hover{transform:translateY(-1px);border-color:#22c55e;box-shadow:0 8px 20px rgba(15,118,110,.12)}.abc-strategy-card.clickable:focus-visible{outline:3px solid #86efac;outline-offset:2px}.abc-strategy-card.active{border-color:#16a34a!important;box-shadow:inset 0 0 0 2px #22c55e,0 8px 20px rgba(15,118,110,.14)}
.abc-strategy-safety{margin-top:12px;padding:10px 12px;border-left:4px solid #f59e0b;border-radius:8px;background:#fffbeb;color:#713f12;font-size:11px;line-height:1.5}.abc-matrix-product-segments-3d{flex-wrap:wrap}.abc-matrix-product-segments-3d>small{color:#64748b;font-size:9px;font-weight:900}.abc-matrix-product-segments-3d>code{padding:3px 5px;border-radius:5px;background:#eef2f7;color:#0f172a;font-size:10px;font-weight:950}.abc-matrix-product-segments-3d>em{color:#475569;font-size:10px;font-style:normal;font-weight:850}
.abc-gov-advanced-grid{display:grid;grid-template-columns:1.5fr repeat(4,minmax(130px,1fr));gap:10px;align-items:stretch}.abc-gov-advanced-grid article,.abc-gov-advanced-grid label{padding:12px;border:1px solid #e2e8f0;border-radius:12px;background:#fff}.abc-gov-advanced-grid article{display:grid;gap:4px}.abc-gov-advanced-grid article span,.abc-gov-advanced-grid label>span{color:#64748b;font-size:10px;font-weight:900;text-transform:uppercase}.abc-gov-advanced-grid article strong{color:#0f172a;font-size:13px}.abc-gov-advanced-grid article small{color:#64748b;font-size:10px;line-height:1.35}.abc-segment-detail{display:block;margin-top:4px;color:#64748b;font-size:9px;font-weight:800}
@media(max-width:1050px){.abc-method-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.abc-method-head{align-items:flex-start;flex-direction:column}}
@media(max-width:1050px){.abc-gov-advanced-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.abc-gov-advanced-grid article{grid-column:1/-1}}
@media(max-width:620px){.abc-methods,.abc-matrix-panel{padding:12px;border-radius:14px}.abc-method-tabs,.abc-gov-advanced-grid{grid-template-columns:1fr}.abc-gov-advanced-grid article{grid-column:auto}.abc-method-tab{min-height:70px}.abc-matrix-panel>header{flex-direction:column}.abc-matrix-switch{width:100%}.abc-matrix-switch button{flex:1}.abc-method-head strong{font-size:16px}}

/* Pareto e XYZ permanecem visíveis no mesmo snapshot oficial. */
.abc-resumos{display:block!important}
.abc-page-v5,.abc-analysis-stack,.abc-analysis-section,.abc-analysis-grid,.abc-resumo-box,.abc-matrix-panel{min-width:0;max-width:100%}.abc-page-v5{overflow-x:clip}
.abc-analysis-stack{display:grid;gap:18px;margin:18px 0 22px}
.abc-analysis-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:16px 18px;border:1px solid #dbe5ef;border-radius:16px;background:linear-gradient(135deg,#f0fdf4,#f8fbff)}
.abc-analysis-heading>div{display:grid;gap:3px}.abc-analysis-heading span,.abc-analysis-section>header span{color:#047857;font-size:11px;font-weight:950;letter-spacing:.07em;text-transform:uppercase}.abc-analysis-heading strong{color:#0f172a;font-size:20px}.abc-analysis-heading small{max-width:520px;color:#64748b;font-size:12px;font-weight:750;line-height:1.45;text-align:right}
.abc-analysis-section{display:grid;gap:14px;padding:18px;border:1px solid #dbe5ef;border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(15,23,42,.05)}
.abc-analysis-section.official{border-color:#86efac;background:linear-gradient(180deg,#f7fff9 0,#fff 120px)}
.abc-analysis-section>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.abc-analysis-section>header>div{display:grid;gap:3px}.abc-analysis-section>header strong{color:#0f172a;font-size:20px}.abc-analysis-section>header small{max-width:580px;color:#64748b;font-size:11px;font-weight:700;line-height:1.45;text-align:right}
.abc-analysis-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:stretch}.abc-analysis-grid.single{grid-template-columns:minmax(0,1fr)}
.abc-analysis-section .abc-resumo-box{min-width:0;min-height:0;margin:0;overflow:hidden}.abc-analysis-section .abc-resumo-box h3{font-size:18px!important;padding:15px 18px!important}.abc-analysis-section .abc-box-help{font-size:12px!important;padding:10px 18px!important}.abc-analysis-section .abc-mini-table-scroll{max-width:100%;overflow-x:visible}.abc-analysis-section .abc-mini-table-v6{width:100%;min-width:0;table-layout:fixed}.abc-analysis-section .abc-mini-table-v6 th{white-space:normal;line-height:1.25}.abc-analysis-section .abc-mini-table-v6 td{white-space:nowrap}
.abc-analysis-section.status>.abc-resumo-box{width:100%}.abc-analysis-section.status>.abc-resumo-box>h3,.abc-analysis-section.status>.abc-resumo-box>.abc-box-help{display:none}
.abc-analysis-section.status .abc-status-label-col{width:27%}.abc-analysis-section.status .abc-status-metric-col{width:12.166%}
.abc-analysis-section.status .abc-mini-table-v6 tbody td:first-child{white-space:normal}
.abc-analysis-section.status .abc-mini-table-v6 tbody td:first-child .abc-badge{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.25;text-align:left}
.abc-analysis-unavailable{display:grid;gap:5px;padding:22px;border:1px dashed #cbd5e1;border-radius:14px;background:#f8fafc;text-align:center}.abc-analysis-unavailable strong{color:#334155;font-size:15px}.abc-analysis-unavailable span{color:#64748b;font-size:12px;line-height:1.45}
.abc-click-row[role="button"]{outline:none}.abc-click-row[role="button"]:focus-visible{box-shadow:inset 0 0 0 3px #86efac}.abc-click-row.active-analysis-row td{background:#ecfdf5!important}.abc-click-row.active-analysis-row td:first-child{box-shadow:inset 4px 0 0 #16a34a}
@media(max-width:1350px){.abc-analysis-section>header,.abc-analysis-heading{align-items:flex-start;flex-direction:column}.abc-analysis-section>header small,.abc-analysis-heading small{text-align:left;max-width:none}}
@media(max-width:900px){.abc-matrix-table,.abc-matrix-table tbody,.abc-matrix-table tr{display:block;width:100%}.abc-matrix-table thead{display:none}.abc-matrix-table{border-spacing:0}.abc-matrix-table tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 12px;padding:10px;border:1px solid #dbe5ef;border-radius:14px;background:#fff}.abc-matrix-table tbody tr>th{grid-column:1/-1;display:flex;align-items:center;gap:8px;padding:2px}.abc-matrix-table tbody td{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:10px;align-items:start}.abc-matrix-table tbody td::before{content:"XYZ " attr(data-xyz-label);grid-row:1/5;color:#047857;font-size:11px;font-weight:950}.abc-matrix-table tbody td>strong,.abc-matrix-table tbody td>span,.abc-matrix-table tbody td>small{grid-column:2}}
@media(max-width:900px){.abc-analysis-section.status .abc-mini-table-v6,.abc-analysis-section.status .abc-mini-table-v6 tbody,.abc-analysis-section.status .abc-mini-table-v6 tfoot,.abc-analysis-section.status .abc-mini-table-v6 tr{display:block;width:100%}.abc-analysis-section.status .abc-mini-table-v6 colgroup,.abc-analysis-section.status .abc-mini-table-v6 thead{display:none}.abc-analysis-section.status .abc-mini-table-v6 tbody tr,.abc-analysis-section.status .abc-mini-table-v6 tfoot tr{margin:0 0 10px;padding:9px 12px;border:1px solid #e2e8f0;border-radius:12px;background:#fff}.abc-analysis-section.status .abc-mini-table-v6 td{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:7px 0!important;border:0!important;font-size:13px!important;white-space:normal;text-align:right}.abc-analysis-section.status .abc-mini-table-v6 td::before{content:attr(data-label);color:#64748b;font-size:11px;font-weight:900;text-align:left}.abc-analysis-section.status .abc-mini-table-v6 tfoot tr{background:#f0fdf4}.abc-analysis-section.status .abc-mini-table-v6 tfoot td:first-child{font-weight:950}}
@media(max-width:1100px){.abc-strategy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.abc-analysis-stack{gap:12px}.abc-analysis-heading,.abc-analysis-section{padding:12px;border-radius:14px}.abc-analysis-heading strong,.abc-analysis-section>header strong{font-size:16px}.abc-analysis-section .abc-mini-table-v6,.abc-analysis-section .abc-mini-table-v6 tbody,.abc-analysis-section .abc-mini-table-v6 tfoot,.abc-analysis-section .abc-mini-table-v6 tr{display:block;width:100%}.abc-analysis-section .abc-mini-table-v6 thead{display:none}.abc-analysis-section .abc-mini-table-v6 tbody tr,.abc-analysis-section .abc-mini-table-v6 tfoot tr{margin:0 0 10px;padding:9px 12px;border:1px solid #e2e8f0;border-radius:12px;background:#fff}.abc-analysis-section .abc-mini-table-v6 td{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:7px 0!important;border:0!important;font-size:13px!important;white-space:normal;text-align:right}.abc-analysis-section .abc-mini-table-v6 td::before{content:attr(data-label);color:#64748b;font-size:11px;font-weight:900;text-align:left}.abc-analysis-section .abc-mini-table-v6 tfoot tr{background:#f0fdf4}.abc-analysis-section .abc-mini-table-v6 tfoot td:first-child{font-weight:950}.abc-matrix-table tbody tr{grid-template-columns:1fr}}
@media(max-width:760px){.abc-strategy-grid{grid-template-columns:1fr}.abc-strategy-card>p{min-height:0}.abc-strategy-explainer{align-items:flex-start;flex-direction:column}.abc-matrix-switch{flex-wrap:wrap}.abc-matrix-switch button{min-width:95px}}
.abc-matrix-product-segments{display:inline-flex;align-items:center;gap:7px}.abc-matrix-product-segments b{color:#64748b}
/* ===== FIM CURVA ABC V4 ===== */

/* ===== CURVA ABC V5 — PAINEL OPERACIONAL UNIFICADO ===== */
.abc-page-v5 {
  overflow-x: clip;
}

.abc-unified-operation {
  min-width: 0;
  margin: 12px 0 16px;
  overflow: hidden;
  border: 1px solid #d8e5ef;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 18px 44px rgba(15, 23, 42, .09);
}

.abc-unified-operation #abc-status-processamento {
  margin: 0 !important;
}

.abc-unified-operation .abc-run-panel-v7 {
  margin: 0;
  padding: 20px 22px 18px;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.abc-unified-operation .abc-run-content-v7 {
  grid-template-columns: minmax(0, 1fr);
}

.abc-unified-operation .abc-run-meta-v7 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.abc-unified-operation .abc-run-stock-card.is-lagged {
  border-color: #f0d28d;
  background: #fffaed;
}

.abc-run-stock-lag,
.abc-gov-stock-lag-note {
  margin: 11px 0 0;
  padding: 9px 11px;
  border: 1px solid #f0d28d;
  border-radius: 10px;
  background: #fffaed;
  color: #6d5524;
  font-size: 11px;
  font-weight: 750;
  line-height: 1.45;
}

.abc-gov-stock-freeze.is-lagged {
  border-color: #f0d28d !important;
  background: #fffaed !important;
}

.abc-gov-stock-freeze.is-lagged > span {
  color: #8a5a0a !important;
}

.abc-gov-preview-result .abc-gov-stock-freeze {
  padding: 8px 10px;
  border: 1px solid #cfe4d7;
  border-radius: 8px;
  background: #f8fcf9;
}

.abc-unified-operation .abc-governanca,
.abc-unified-operation .abc-gov-shell {
  min-width: 0;
  margin: 0;
}

.abc-unified-operation .abc-gov-shell {
  display: block;
}

.abc-unified-operation .abc-gov-form {
  margin: 0;
  padding: 18px 22px 22px;
  border: 0;
  border-top: 1px solid #dce7ef;
  border-radius: 0;
  background: linear-gradient(180deg, #fbfdff 0, #fff 180px);
  box-shadow: none;
}

.abc-gov-form-intro-v2 {
  align-items: center;
  margin-bottom: 12px;
}

.abc-gov-form-intro-v2 > div > span {
  margin-bottom: 3px;
  font-size: 11px;
}

.abc-gov-form-intro-v2 strong {
  font-size: 17px;
}

.abc-gov-form-intro-v2 p {
  max-width: 940px;
  font-size: 12px;
}

.abc-gov-form-unified.is-readonly input:disabled {
  opacity: 1;
  background: rgba(255, 255, 255, .72);
  color: #26384d;
  -webkit-text-fill-color: #26384d;
}

.abc-gov-pareto-fieldset,
.abc-gov-xyz-fieldset {
  margin-top: 12px;
  padding: 14px;
  border-radius: 14px;
  background: rgba(255, 255, 255, .76);
}

.abc-gov-percent-fieldset legend {
  color: #334155;
  font-size: 12px;
}

.abc-gov-percent-inputs {
  grid-template-columns: repeat(5, minmax(125px, 1fr)) minmax(145px, .9fr);
  gap: 10px;
}

.abc-gov-percent-inputs > label {
  grid-template-columns: minmax(0, 1fr) minmax(72px, .72fr);
  align-items: center;
  gap: 10px;
  min-height: 92px;
  padding: 12px;
  border-radius: 14px;
}

.abc-gov-percent-inputs .abc-gov-p-a { border-color: #86efac; background: #effcf4; }
.abc-gov-percent-inputs .abc-gov-p-b { border-color: #bfdbfe; background: #eff6ff; }
.abc-gov-percent-inputs .abc-gov-p-c { border-color: #fdba74; background: #fff7ed; }
.abc-gov-percent-inputs .abc-gov-p-d { border-color: #fde68a; background: #fffbeb; }
.abc-gov-percent-inputs .abc-gov-p-e { border-color: #cbd5e1; background: #f8fafc; }

.abc-gov-form .abc-gov-curve-label {
  display: grid;
  gap: 3px;
  color: inherit;
}

.abc-gov-form .abc-gov-curve-label b {
  display: block;
  margin: 0;
  color: #0f172a;
  font-size: 28px;
  font-weight: 950;
  line-height: 1;
  text-transform: none;
}

.abc-gov-form .abc-gov-curve-label small {
  color: #64748b;
  font-size: 10px;
  font-weight: 850;
  line-height: 1.15;
}

.abc-gov-percent-inputs > label .abc-gov-input-suffix input {
  min-height: 42px;
  padding-left: 8px;
  padding-right: 6px;
  font-size: 17px;
  text-align: right;
}

.abc-gov-percent-inputs > label .abc-gov-input-suffix em {
  min-height: 42px;
  padding: 0 7px;
  font-size: 11px;
}

.abc-gov-percent-sum {
  min-height: 92px;
  border-radius: 14px;
}

.abc-gov-percent-sum span,
.abc-gov-percent-sum small {
  font-size: 10px;
}

.abc-gov-percent-sum strong {
  font-size: 18px;
}

.abc-gov-parameter-section {
  min-width: 0;
  margin-top: 12px;
  padding: 14px;
  border: 1px solid #e1e8ef;
  border-radius: 14px;
  background: #fff;
}

.abc-gov-parameter-section > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 10px;
}

.abc-gov-parameter-section > header strong {
  color: #1e293b;
  font-size: 13px;
}

.abc-gov-parameter-section > header small {
  max-width: 760px;
  color: #64748b;
  font-size: 11px;
  line-height: 1.4;
  text-align: right;
}

.abc-gov-form-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.abc-gov-form-grid > label {
  min-height: 114px;
  padding: 12px;
  border-radius: 12px;
}

.abc-gov-form label > span {
  font-size: 11px;
}

.abc-gov-form label > small {
  color: #64748b;
  font-size: 11px;
}

.abc-gov-form input,
.abc-gov-form textarea {
  font-size: 13px;
}

.abc-gov-form label > span b {
  font-size: 10px;
}

.abc-gov-xyz-fieldset .abc-gov-advanced-grid {
  grid-template-columns: minmax(230px, 1.35fr) repeat(4, minmax(120px, 1fr));
  gap: 10px;
}

.abc-gov-xyz-fieldset .abc-gov-advanced-grid article,
.abc-gov-xyz-fieldset .abc-gov-advanced-grid label {
  min-width: 0;
  padding: 12px;
  border-radius: 12px;
}

.abc-gov-xyz-fieldset .abc-gov-advanced-grid article span,
.abc-gov-xyz-fieldset .abc-gov-advanced-grid label > span {
  font-size: 10px;
}

.abc-gov-xyz-fieldset .abc-gov-advanced-grid article strong {
  font-size: 13px;
}

.abc-gov-xyz-fieldset .abc-gov-advanced-grid article small {
  font-size: 11px;
  line-height: 1.35;
}

.abc-gov-xyz-ranges {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 9px;
}

.abc-gov-xyz-ranges span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 7px;
  border: 1px solid #d8e2eb;
  border-radius: 999px;
  background: #fff;
  color: #334155;
  font-size: 10px;
  font-weight: 800;
  white-space: nowrap;
}

.abc-gov-xyz-ranges .is-x { border-color: #86efac; background: #f0fdf4; color: #166534; }
.abc-gov-xyz-ranges .is-y { border-color: #fde68a; background: #fffbeb; color: #92400e; }
.abc-gov-xyz-ranges .is-z { border-color: #fecaca; background: #fef2f2; color: #991b1b; }

.abc-gov-xyz-fieldset i {
  display: inline-grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  font-style: normal;
}

.abc-xyz-x { background: #dcfce7; color: #15803d; }
.abc-xyz-y { background: #fef3c7; color: #b45309; }
.abc-xyz-z { background: #fee2e2; color: #b91c1c; }

.abc-gov-derived-details {
  margin-top: 12px;
  overflow: hidden;
  border: 1px solid #dce5ed;
  border-radius: 12px;
  background: #f8fafc;
}

.abc-gov-derived-details > summary {
  padding: 11px 13px;
  color: #475569;
  font-size: 11px;
  font-weight: 900;
  cursor: pointer;
}

.abc-gov-derived-details .abc-gov-derived {
  margin: 0;
  border: 0;
  border-top: 1px solid #dce5ed;
  border-radius: 0;
}

.abc-gov-justification {
  margin-top: 12px;
}

.abc-gov-justification textarea {
  min-height: 66px;
}

.abc-mode-card-compact {
  display: flex;
  align-items: center;
  flex-direction: row;
  gap: 8px;
  margin: 12px 0;
  padding: 10px 14px;
  border-radius: 12px;
}

.abc-mode-card-compact strong {
  font-size: 13px;
}

.abc-mode-card-compact span {
  font-size: 12px;
}

.abc-methods {
  padding: 12px 14px;
}

.abc-method-head {
  margin-bottom: 9px;
}

.abc-method-head strong {
  font-size: 16px;
}

.abc-method-head small {
  font-size: 11px;
}

.abc-method-tab {
  min-height: 58px;
  padding: 10px 12px;
}

.abc-method-tab span {
  font-size: 12px;
}

.abc-method-tab small {
  font-size: 10px;
}

.abc-governanca-auditoria {
  min-width: 0;
  margin: 18px 0 0;
}

.abc-gov-audit-footer {
  min-width: 0;
  overflow: hidden;
  border: 1px solid #dbe5ed;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(15, 23, 42, .045);
}

.abc-gov-audit-footer > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 13px 16px;
  background: #f8fafc;
  cursor: pointer;
  list-style: none;
}

.abc-gov-audit-footer > summary::-webkit-details-marker {
  display: none;
}

.abc-gov-audit-footer > summary > div {
  display: grid;
  gap: 2px;
}

.abc-gov-audit-footer > summary span {
  color: #334155;
  font-size: 12px;
  font-weight: 900;
}

.abc-gov-audit-footer > summary small,
.abc-gov-audit-footer > summary b {
  color: #64748b;
  font-size: 10px;
}

.abc-gov-audit-footer > .abc-gov-job-wrap {
  border: 0;
  border-top: 1px solid #e2e8f0;
  border-radius: 0;
  box-shadow: none;
}

.abc-gov-official-audit {
  display: grid;
  gap: 3px;
  padding: 12px 16px;
  border-top: 1px solid #e2e8f0;
  background: #f8fffb;
}

.abc-gov-official-audit strong {
  color: #14532d;
  font-size: 12px;
}

.abc-gov-official-audit small {
  color: #64748b;
  font-size: 10px;
  overflow-wrap: anywhere;
}

.abc-gov-history-list {
  border-top: 1px solid #e2e8f0;
}

.abc-gov-audit-footer .abc-gov-history-item strong {
  font-size: 12px;
}

.abc-gov-audit-footer .abc-gov-history-item small,
.abc-gov-audit-footer .abc-gov-history-item p {
  font-size: 10px;
}

@media (max-width: 1280px) {
  .abc-gov-percent-inputs {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .abc-gov-xyz-fieldset .abc-gov-advanced-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .abc-gov-xyz-fieldset .abc-gov-advanced-grid article {
    grid-column: 1 / -1;
  }
}

@media (max-width: 820px) {
  .abc-unified-operation .abc-run-meta-v7,
  .abc-gov-form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .abc-gov-parameter-section > header,
  .abc-gov-form-intro-v2,
  .abc-mode-card-compact {
    align-items: flex-start;
    flex-direction: column;
  }

  .abc-gov-form-intro-v2 .abc-gov-manual-badge {
    width: auto;
    justify-content: flex-start;
  }

  .abc-gov-parameter-section > header small {
    max-width: none;
    text-align: left;
  }
}

@media (max-width: 620px) {
  .abc-unified-operation {
    border-radius: 16px;
  }

  .abc-unified-operation .abc-run-panel-v7,
  .abc-unified-operation .abc-gov-form {
    padding: 15px;
  }

  .abc-unified-operation .abc-run-meta-v7,
  .abc-gov-form-grid,
  .abc-gov-xyz-fieldset .abc-gov-advanced-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .abc-gov-percent-inputs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .abc-gov-percent-sum {
    grid-column: 1 / -1;
  }

  .abc-gov-form-intro-v2 {
    align-items: flex-start;
    flex-direction: column;
  }

  .abc-gov-form-intro-v2 .abc-gov-manual-badge {
    width: auto;
  }

  .abc-gov-form input,
  .abc-gov-form textarea {
    min-height: 44px;
    font-size: 16px;
  }

  .abc-gov-form label > span,
  .abc-gov-form label > small,
  .abc-gov-percent-fieldset legend {
    font-size: 11px;
  }

  .abc-gov-percent-inputs > label {
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
  }

  .abc-gov-percent-inputs > label .abc-gov-input-suffix input {
    text-align: left;
  }

  .abc-gov-audit-footer > summary {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 480px) {
  .abc-gov-percent-inputs {
    grid-template-columns: minmax(0, 1fr);
  }

  .abc-gov-percent-sum {
    grid-column: auto;
  }

  .abc-method-tab {
    min-height: 64px;
  }
}

body.abc-gov-recalc-open {
  overflow: hidden;
}

.abc-gov-form.is-processing {
  pointer-events: none;
  opacity: .72;
}

.abc-gov-progress-overlay {
  position: fixed;
  inset: 0;
  z-index: 100100;
  display: grid;
  place-items: center;
  padding: 22px;
  background: rgba(10, 28, 44, .74);
  backdrop-filter: blur(7px);
}

.abc-gov-progress-panel {
  width: min(720px, 96vw);
  max-height: min(94vh, calc(100dvh - 44px));
  overflow: auto;
  padding: 26px;
  border: 1px solid rgba(255, 255, 255, .72);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 32px 100px rgba(0, 0, 0, .34);
}

.abc-gov-progress-panel > header {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 15px;
}

.abc-gov-progress-panel > header > div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.abc-gov-progress-panel > header > div > span {
  color: #078744;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.abc-gov-progress-panel h3 {
  margin: 0;
  color: #102a43;
  font-size: clamp(22px, 3.2vw, 30px);
  line-height: 1.15;
}

.abc-gov-progress-panel header p {
  margin: 2px 0 0;
  color: #60758a;
  font-size: 12px;
  line-height: 1.5;
}

.abc-gov-progress-icon {
  display: grid;
  width: 54px;
  height: 54px;
  place-items: center;
  border: 1px solid #95e8b8;
  border-radius: 50%;
  background: #eafbf1;
  color: #078744;
  font-size: 25px;
  font-weight: 950;
}

.abc-gov-progress-overlay.is-running .abc-gov-progress-icon::before {
  content: "";
  box-sizing: border-box;
  width: 27px;
  height: 27px;
  border: 4px solid rgba(7, 135, 68, .18);
  border-top-color: #078744;
  border-right-color: #078744;
  border-radius: 50%;
  animation: abc-gov-spin 1.05s linear infinite;
}

.abc-gov-progress-overlay.is-error .abc-gov-progress-icon {
  border-color: #f4aaa4;
  background: #fff1f0;
  color: #b42318;
}

.abc-gov-progress-stage {
  display: grid;
  gap: 4px;
  margin-top: 22px;
  padding: 15px 16px;
  border: 1px solid #dce7ef;
  border-radius: 13px;
  background: #f8fbfd;
}

.abc-gov-progress-stage span,
.abc-gov-progress-params span {
  color: #52677c;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.abc-gov-progress-stage strong,
.abc-gov-progress-params strong {
  color: #17324d;
  font-size: 14px;
}

.abc-gov-progress-stage small,
.abc-gov-progress-params small {
  color: #536a80;
  font-size: 12px;
  line-height: 1.45;
}

.abc-gov-progress-meter {
  height: 18px;
  margin-top: 18px;
  overflow: hidden;
  border: 1px solid #cfe1e8;
  border-radius: 999px;
  background: #edf4f7;
  box-shadow: inset 0 2px 4px rgba(15, 23, 42, .08);
}

.abc-gov-progress-meter i {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #00a95c, #40d47e);
  box-shadow: 0 0 14px rgba(0, 169, 92, .38);
  transition: width .45s ease;
}

.abc-gov-progress-meter.is-indeterminate i {
  animation: abc-gov-indeterminate 1.25s ease-in-out infinite alternate;
}

.abc-gov-progress-overlay.is-error .abc-gov-progress-meter i {
  background: linear-gradient(90deg, #c53a30, #ef6b62);
  box-shadow: none;
}

.abc-gov-progress-number {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  margin-top: 8px;
}

.abc-gov-progress-number strong {
  color: #087d43;
  font-size: 28px;
  line-height: 1;
}

.abc-gov-progress-overlay.is-error .abc-gov-progress-number strong {
  color: #b42318;
}

.abc-gov-progress-number span {
  color: #64778b;
  font-size: 12px;
  font-weight: 800;
  text-align: right;
}

.abc-gov-progress-params {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 18px;
}

.abc-gov-progress-params > div {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 13px 14px;
  border: 1px solid #dce8ef;
  border-radius: 12px;
  background: #fbfdfe;
}

.abc-gov-progress-warning {
  margin: 16px 0 0;
  padding: 12px 14px;
  border: 1px solid #f0d28d;
  border-radius: 11px;
  background: #fffaed;
  color: #6d5524;
  font-size: 12px;
  line-height: 1.5;
}

.abc-gov-progress-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 19px;
}

.abc-gov-progress-actions .abc-gov-btn {
  min-height: 43px;
  padding-inline: 20px;
}

.abc-gov-progress-actions[hidden],
.abc-gov-progress-warning[hidden],
.abc-gov-progress-params[hidden] {
  display: none;
}

@keyframes abc-gov-spin {
  to { transform: rotate(360deg); }
}

@keyframes abc-gov-indeterminate {
  from { transform: translateX(-20%); }
  to { transform: translateX(205%); }
}

@media (prefers-reduced-motion: reduce) {
  .abc-gov-progress-overlay.is-running .abc-gov-progress-icon::before {
    animation: none;
  }

  .abc-gov-progress-meter i {
    transition: none;
  }

  .abc-gov-progress-meter.is-indeterminate i {
    animation: none;
  }
}

@media (max-width: 620px) {
  .abc-gov-progress-overlay {
    padding: max(8px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));
  }

  .abc-gov-progress-panel {
    width: 100%;
    max-height: calc(100dvh - max(16px, env(safe-area-inset-top)) - max(16px, env(safe-area-inset-bottom)));
    padding: 18px;
    border-radius: 17px;
  }

  .abc-gov-progress-panel > header {
    align-items: start;
  }

  .abc-gov-progress-icon {
    width: 44px;
    height: 44px;
    font-size: 20px;
  }

  .abc-gov-progress-params {
    grid-template-columns: minmax(0, 1fr);
  }

  .abc-gov-progress-number {
    align-items: flex-start;
    flex-direction: column;
    gap: 5px;
  }

  .abc-gov-progress-number span {
    text-align: left;
  }

  .abc-gov-progress-actions .abc-gov-btn {
    width: 100%;
  }
}

/* Curva ABC V5 — drill-down operacional por situação de giro */
.abc-status-drill:empty { display: none; }
.abc-status-drill { margin: 16px 0 0; }
.abc-status-drill-loading,
.abc-status-drill-error {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 16px;
  border: 1px solid #bfdbfe;
  border-radius: 14px;
  background: #f0f9ff;
}
.abc-status-drill-loading > div,
.abc-status-drill-error > div { display: grid; gap: 4px; }
.abc-status-drill-loading strong,
.abc-status-drill-error strong { color: #0f172a; font-size: 14px; }
.abc-status-drill-loading small,
.abc-status-drill-error span { color: #64748b; font-size: 12px; line-height: 1.4; }
.abc-status-drill-error { border-color: #fecaca; background: #fef2f2; }
.abc-status-drill-error button,
.abc-status-drill-actions button {
  min-height: 38px;
  padding: 8px 12px;
  border: 1px solid #cbd5e1;
  border-radius: 10px;
  background: #fff;
  color: #334155;
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
}
.abc-loading-dot {
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  border: 3px solid #bfdbfe;
  border-top-color: #0284c7;
  border-radius: 50%;
  animation: abc-gov-spin .8s linear infinite;
}
.abc-status-drill-panel {
  display: grid;
  gap: 14px;
  padding: 18px;
  border: 1px solid #a7f3d0;
  border-radius: 16px;
  background: linear-gradient(135deg, #f0fdf4 0, #fff 48%, #f8fbff 100%);
  box-shadow: inset 4px 0 0 #10b981, 0 12px 30px rgba(15, 23, 42, .06);
}
.abc-status-drill-panel > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}
.abc-status-drill-title { display: grid; gap: 5px; min-width: 0; }
.abc-status-drill-title > span { color: #047857; font-size: 10px; font-weight: 950; letter-spacing: .07em; text-transform: uppercase; }
.abc-status-drill-title > strong { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; color: #0f172a; font-size: 18px; }
.abc-status-drill-title > strong > em { color: #94a3b8; font-style: normal; }
.abc-status-drill-user-chip {
  max-width: min(100%, 360px);
  padding: 5px 9px;
  overflow: hidden;
  border: 1px solid #a7f3d0;
  border-radius: 999px;
  background: #ecfdf5;
  color: #047857;
  font-size: 12px;
  font-weight: 950;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.abc-status-drill-title > small { max-width: 820px; color: #64748b; font-size: 11px; line-height: 1.45; }
.abc-status-drill-actions { display: flex; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
.abc-status-drill-actions button:last-child { border-color: #86efac; color: #047857; }
.abc-status-drill-actions button:hover,
.abc-status-drill-error button:hover { border-color: #22c55e; background: #f0fdf4; color: #166534; }
.abc-status-drill-totals { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; }
.abc-status-drill-totals article {
  min-width: 0;
  padding: 11px 12px;
  border: 1px solid #dbe5ef;
  border-radius: 12px;
  background: rgba(255, 255, 255, .92);
}
.abc-status-drill-totals span { display: block; color: #64748b; font-size: 9px; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; }
.abc-status-drill-totals strong { display: block; margin-top: 4px; overflow: hidden; color: #0f172a; font-size: 15px; text-overflow: ellipsis; white-space: nowrap; }
.abc-status-drill-tabs { display: flex; gap: 6px; padding: 4px; border-radius: 12px; background: #eaf0f6; }
.abc-status-drill-tabs button {
  flex: 1;
  min-height: 40px;
  padding: 8px 10px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: #64748b;
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
}
.abc-status-drill-tabs button.active { background: #fff; color: #047857; box-shadow: 0 5px 14px rgba(15, 23, 42, .09); }
.abc-status-drill-tabs button:disabled { cursor: not-allowed; opacity: .45; }
.abc-status-drill-context { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.abc-status-drill-context strong { color: #0f172a; font-size: 13px; }
.abc-status-drill-context span { color: #64748b; font-size: 11px; }
.abc-status-drill-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 9px; }
.abc-status-drill-card {
  display: grid;
  align-content: start;
  gap: 7px;
  min-width: 0;
  padding: 13px;
  border: 1px solid #dbe5ef;
  border-radius: 13px;
  background: #fff;
  color: #475569;
  text-align: left;
  cursor: pointer;
  transition: border-color .14s ease, box-shadow .14s ease, transform .14s ease;
}
.abc-status-drill-card:hover { transform: translateY(-1px); border-color: #22c55e; box-shadow: 0 9px 22px rgba(15, 118, 110, .11); }
.abc-status-drill-card:focus-visible { outline: 3px solid #86efac; outline-offset: 2px; }
.abc-status-drill-card.active { border-color: #16a34a; background: #ecfdf5; box-shadow: inset 0 0 0 2px #22c55e; }
.abc-status-drill-card-head { display: flex; align-items: center; justify-content: space-between; gap: 9px; }
.abc-status-drill-card-head > b { color: #334155; font-size: 11px; white-space: nowrap; }
.abc-status-drill-card > strong { color: #0f172a; font-size: 15px; }
.abc-status-drill-card > strong small { color: #64748b; font-size: 9px; font-weight: 800; }
.abc-status-drill-card > span:not(.abc-status-drill-card-head) { display: flex; justify-content: space-between; gap: 8px; color: #64748b; font-size: 10px; }
.abc-status-drill-card > span b { color: #334155; text-align: right; }
.abc-status-drill-card > span.abc-status-drill-missing {
  margin-top: 2px;
  padding-top: 7px;
  border-top: 1px dashed #fdba74;
  color: #c2410c;
}
.abc-status-drill-card > span.abc-status-drill-missing b { color: #9a3412; }
.abc-status-drill-user-card > strong {
  overflow-wrap: anywhere;
  color: #065f46;
  font-size: 16px;
}
.abc-status-drill-user-avatar {
  display: inline-grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border: 1px solid #86efac;
  border-radius: 10px;
  background: #dcfce7;
  color: #047857;
  font-size: 13px;
  font-weight: 950;
}
.abc-registration-user {
  display: inline-flex;
  max-width: 190px;
  padding: 5px 8px;
  overflow: hidden;
  border: 1px solid #d1fae5;
  border-radius: 999px;
  background: #ecfdf5;
  color: #047857;
  font-size: 10px;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.abc-registration-age {
  color: #334155;
  font-size: 10px;
  white-space: nowrap;
}
.abc-registration-missing {
  color: #c2410c;
  font-size: 10px;
  font-weight: 850;
  white-space: nowrap;
}
.abc-status-drill-empty { grid-column: 1 / -1; padding: 18px; border: 1px dashed #cbd5e1; border-radius: 12px; color: #64748b; text-align: center; }
.abc-status-overview-row[aria-expanded="true"] td { background: #ecfdf5 !important; }

@media (max-width: 900px) {
  .abc-status-drill-panel > header { flex-direction: column; }
  .abc-status-drill-actions { justify-content: flex-start; }
  .abc-status-drill-totals { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
  .abc-status-drill { margin-top: 10px; }
  .abc-status-drill-panel { padding: 12px; border-radius: 13px; }
  .abc-status-drill-title > strong { font-size: 15px; }
  .abc-status-drill-actions { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
  .abc-status-drill-tabs { display: grid; grid-template-columns: 1fr; }
  .abc-status-drill-grid { grid-template-columns: 1fr; }
  .abc-status-drill-loading,
  .abc-status-drill-error { align-items: flex-start; flex-direction: column; }
}
/* ===== FIM CURVA ABC V5 — PAINEL OPERACIONAL UNIFICADO ===== */

/* ===== CURVA ABC V6 — GRADE UNIFICADA E MATRIZES EM CARDS ===== */
.abc-method-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.abc-matrix-header-actions { display: flex; align-items: center; justify-content: flex-end; gap: 9px; flex-wrap: wrap; }
.abc-matrix-up {
  border: 1px solid #bbf7d0;
  border-radius: 10px;
  background: #f0fdf4;
  color: #047857;
  padding: 8px 11px;
  font-weight: 900;
  cursor: pointer;
}
.abc-matrix-card-groups { display: grid; gap: 14px; margin-top: 14px; }
.abc-matrix-card-group {
  min-width: 0;
  padding: 12px;
  border: 1px solid #e2e8f0;
  border-radius: 15px;
  background: #fbfdff;
}
.abc-matrix-card-group > header { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
.abc-matrix-card-group > header > div { display: grid; gap: 1px; }
.abc-matrix-card-group > header strong { color: #0f172a; font-size: 14px; }
.abc-matrix-card-group > header span { color: #64748b; font-size: 10px; }
.abc-matrix-card-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 9px; }
.abc-matrix-cell-card {
  display: grid;
  align-content: start;
  gap: 6px;
  min-width: 0;
  min-height: 154px;
  padding: 12px;
  border: 1px solid #dbe5ef;
  border-radius: 13px;
  background: #fff;
  color: #475569;
}
.abc-matrix-cell-card > header { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.abc-matrix-cell-card > header > span { display: flex; align-items: center; gap: 6px; }
.abc-matrix-cell-card > header b { color: #0f172a; font-size: 12px; }
.abc-matrix-cell-card > header small { color: #64748b; font-size: 9px; font-weight: 850; text-align: right; }
.abc-matrix-cell-card > strong { color: #0f172a; font-size: 14px; }
.abc-matrix-cell-card > span { display: flex; justify-content: space-between; gap: 8px; font-size: 9.5px; }
.abc-matrix-cell-card > span b { color: #334155; text-align: right; }
.abc-matrix-cell-card.best { border-color: #86efac; background: #f0fdf4; }
.abc-matrix-cell-card.attention { border-color: #fdba74; background: #fff7ed; }
.abc-matrix-cell-card.empty { opacity: .62; background: #f8fafc; }
.abc-matrix-cell-card.clickable { cursor: pointer; transition: transform .14s ease, border-color .14s ease, box-shadow .14s ease; }
.abc-matrix-cell-card.clickable:hover { transform: translateY(-1px); border-color: #22c55e; box-shadow: 0 8px 20px rgba(15,118,110,.12); }
.abc-matrix-cell-card.clickable:focus-visible { outline: 3px solid #86efac; outline-offset: 2px; }
.abc-matrix-cell-card.active { border-color: #16a34a !important; background: #ecfdf5 !important; box-shadow: inset 0 0 0 2px #22c55e, 0 8px 20px rgba(15,118,110,.14); }
@media (max-width: 1250px) {
  .abc-matrix-card-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 820px) {
  .abc-method-tabs,
  .abc-matrix-card-grid { grid-template-columns: 1fr; }
  .abc-matrix-header-actions { align-items: stretch; flex-direction: column; width: 100%; }
  .abc-matrix-header-actions .abc-matrix-switch { width: 100%; }
  .abc-matrix-cell-card { min-height: 0; }
}
/* ===== FIM CURVA ABC V6 ===== */

/* ===== CURVA ABC V7 — FILTROS JUNTO AOS PRODUTOS ===== */
.abc-product-filters {
  margin: 14px 0 12px;
  scroll-margin-top: 112px;
}
/* ===== FIM CURVA ABC V7 ===== */

/* ===== PLATAFORMA CJ — CABEÇALHO GLOBAL FIXO E CONTEÚDO INTERNO ===== */
@media (min-width: 1181px) {
  html,
  body {
    height: 100%;
    overflow: hidden;
  }

  .layout {
    height: 100vh;
    height: 100dvh;
    min-height: 0;
    overflow: hidden;
  }

  .sidebar {
    position: relative !important;
    flex: 0 0 var(--cj-sidebar-fluid);
    height: 100vh !important;
    height: 100dvh !important;
  }

  .main {
    height: 100vh;
    height: 100dvh;
    min-height: 0;
    overflow-x: clip;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    scrollbar-gutter: stable;
    scroll-padding-top: 112px;
  }

  .topbar {
    position: sticky;
    top: 0;
    z-index: 950;
  }
}

@media (max-width: 1180px) {
  html,
  body {
    height: auto;
    min-height: 100%;
    overflow-x: clip;
    overflow-y: auto;
  }

  .layout {
    height: auto;
    min-height: 100vh;
    overflow-x: clip;
    overflow-y: visible;
  }

  .main {
    height: auto;
    max-height: none;
    overflow-x: clip;
    overflow-y: visible;
  }

  .topbar {
    position: sticky;
    top: 0;
    z-index: 950;
  }

  .abc-product-filters {
    scroll-margin-top: 220px;
  }
}
/* ===== FIM CABEÇALHO GLOBAL FIXO ===== */

/* ===== PLATAFORMA CJ V9 — LIMITE VISUAL E TABELAS CONTIDAS ===== */
/*
 * Contrato global de layout:
 * 1. cada tela termina dentro da área útil, com o mesmo respiro nas bordas;
 * 2. nenhum card pode aumentar a largura do documento;
 * 3. tabelas extensas rolam dentro do próprio quadro, nunca por baixo do menu
 *    ou para fora da borda direita;
 * 4. a tipografia permanece legível — responsividade não significa reduzir fonte.
 */
:root {
  --cj-shell-sidebar-width: 260px;
  --cj-shell-page-gutter: clamp(12px, .9vw, 18px);
}

.main > .view,
.main > .view.active,
.main > .view.active > * {
  min-width: 0;
  max-width: 100%;
}

.main > .view.active {
  width: 100%;
  margin-inline: 0;
}

.main > .view.active :where(
  .panel,
  .card,
  .abc-page,
  .abc-analysis-section,
  .abc-matrix-panel,
  .abc-table-wrap,
  .ranking-panel,
  .clientes-full-panel,
  .itens-full-panel,
  .supply-panel
) {
  min-width: 0;
  max-width: 100%;
}

:where(
  .cj-data-scroll,
  .ranking-table-wrap,
  .seller-central-table-wrap,
  .table-wrap,
  .clientes-table-wrap,
  .itens-table-wrap,
  .aud-table-wrap,
  .aud2-table-scroll,
  .cidades4-table-wrap,
  .cidades4-drill-table-wrap,
  .cidades4-modelos-table-wrap,
  .cj-fg-table-wrap,
  .cj-fg-modelos-table-wrap,
  .cj-fg-modal-table-wrap,
  .cj-memory-table-wrap,
  .cj-access-table-wrap,
  .cj-tech-tabs,
  .client-360-history-wrap,
  .supply-table-wrap,
  .rupture-abc-table-wrap,
  .rupture-network-table,
  .abc-mini-table-scroll,
  .abc-comparativo-scroll,
  .abc-comparativo-scroll-v4,
  .abc-table-scroll-v4
) {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}

/* O quadro mantém sua borda; somente a grade interna recebe rolagem lateral. */
#view-curva-abc.active .abc-page-v5 {
  overflow-x: visible;
}

#view-curva-abc.active #abc-table-wrap {
  overflow: hidden;
}

#view-curva-abc.active .abc-table-scroll-v4 {
  scrollbar-gutter: stable;
}

/* Filtros também obedecem ao limite final da tela. */
#view-auditoria-precos.active :where(.aud-page, .aud2-page, .aud-filters, .aud2-filters, .aud2-filters-plus),
#view-auditoria-precos.active .aud-filters > *,
#view-auditoria-precos.active .aud-filters .field,
#view-auditoria-precos.active .aud-filters .cj-ms {
  min-width: 0;
  max-width: 100%;
}

#view-auditoria-precos.active .aud-filters {
  width: 100%;
}

#view-auditoria-precos.active .aud-filters :where(input, select, .cj-ms, .cj-ms-btn) {
  width: 100%;
  min-width: 0;
  max-width: 100%;
}

@media (min-width: 1181px) {
  .layout > .sidebar {
    width: var(--cj-shell-sidebar-width) !important;
    min-width: var(--cj-shell-sidebar-width) !important;
    flex: 0 0 var(--cj-shell-sidebar-width);
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* O menu conserva a mesma largura útil; removemos apenas o espaço duplicado. */
  .layout > .sidebar .cj-clean-sidebar-v8 {
    padding-left: 18px;
    padding-right: 18px;
  }

  .layout > .main {
    flex: 1 1 auto;
    width: calc(100vw - var(--cj-shell-sidebar-width));
    max-width: calc(100vw - var(--cj-shell-sidebar-width));
    padding-left: var(--cj-shell-page-gutter);
    padding-right: var(--cj-shell-page-gutter);
  }

  /* Compacta espaço, não texto: as fontes continuam em 12/13 px. */
  #view-curva-abc.active .abc-products-table-v4 th {
    padding-left: 8px !important;
    padding-right: 8px !important;
    white-space: normal !important;
    overflow-wrap: normal;
    line-height: 1.2;
  }

  #view-curva-abc.active .abc-products-table-v4 td {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  #view-curva-abc.active .abc-products-table-v4 .abc-prod-main-cell {
    min-width: 210px !important;
    max-width: 270px !important;
  }

  #view-curva-abc.active .abc-products-table-v4 td[data-col="subgrupo"] {
    max-width: 138px !important;
  }

  #view-curva-abc.active .abc-products-table-v4 .abc-status-cell {
    min-width: 112px !important;
  }
}

@media (max-width: 1180px) {
  .layout > .sidebar {
    position: relative !important;
    top: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    flex: 0 0 auto;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    padding: 0 !important;
  }

  .layout > .sidebar .cj-clean-sidebar-v8 {
    width: 100%;
    padding: 14px;
  }

  .layout > .main {
    width: 100%;
    max-width: 100%;
    padding-left: clamp(10px, 2.5vw, 14px);
    padding-right: clamp(10px, 2.5vw, 14px);
  }

  #view-auditoria-precos.active .aud-filters.aud2-filters-plus {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  #view-auditoria-precos.active .aud-filters.aud2-filters-plus {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #view-auditoria-precos.active .aud-filter-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
  }

  #view-auditoria-precos.active .aud-filter-actions button {
    width: 100%;
  }
}
/* ===== FIM PLATAFORMA CJ V9 ===== */
