/* Aroma Imports Gestão — tokens da marca */
:root {
  --verde-900: #2A0C14;
  --verde-800: #3E1220;
  --verde:     #6B2438;
  --verde-600: #7A3146;
  --verde-500: #8E4A5C;
  --verde-400: #B07A88;
  --verde-200: #E4C5CC;
  --blush:     #F5DADF;
  --blush-700: #8E4E5E;
  --blush-600: #B5707F;
  --blush-500: #D9A3AF;
  --champanhe-700: #8A6F42;
  --champanhe:#C6A87C;
  --marfim:    #FBF9F7;
  --areia:     #F3EEEA;
  --linha:     #E6DFDA;
  --tinta-1:   #2A0C14;
  --tinta-2:   #5C3A44;
  --tinta-3:   #8A6A72;
  --erro:      #B23A4E;
  --erro-bg:   #FBECEF;
  --erro-bd:   #EFC4CD;
  --sucesso:   #1F7A5C;
  --sucesso-bg:#E7F3EE;
  --aviso:     #C08A2E;
  --aviso-bg:  #FBF1DF;
  --aviso-bd:  #EBD3A6;
  --info:      #2E6A7A;
  --tinta-4:   #9BA9A6;
  --font-display: 'Bodoni Moda', Georgia, serif;
  --font-sans: 'Jost', sans-serif;
  --font-text: 'Inter', system-ui, sans-serif;
  /* Número é pra ler, não pra admirar — Bodoni fica só nas palavras. */
  --font-num: 'Inter', system-ui, sans-serif;
  --side: 260px;
  --r: 12px;
  --ease: 180ms ease;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
[hidden] { display: none !important; }
html { -webkit-text-size-adjust: 100%; }
body {
  font-family: var(--font-text);
  color: var(--tinta-1);
  background: var(--marfim);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--verde); text-decoration: none; }
a:hover { text-decoration: underline; text-underline-offset: 3px; }
button, input, select, textarea { font: inherit; color: inherit; }

.brand-logo { height: auto; object-fit: contain; }

/* Auth */
.auth-body { min-height: 100dvh; background: var(--verde-900); }
.auth-split {
  min-height: 100dvh;
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.auth-aside {
  background: linear-gradient(165deg, #6B2438, #2A0C14);
  color: var(--blush);
  padding: 48px 46px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  overflow: hidden;
}
.auth-aside::after {
  content: '';
  position: absolute;
  width: 320px; height: 320px;
  border: 1px solid rgba(245,218,223,.12);
  border-radius: 50%;
  bottom: -120px; left: -80px;
}
.auth-aside-inner { position: relative; z-index: 2; }
.auth-aside .brand-logo { width: 170px; position: relative; z-index: 1; }

/* Auras que respiram devagar */
.aura {
  position: absolute; border-radius: 50%; pointer-events: none; z-index: 0;
  filter: blur(50px); opacity: .5;
}
.aura-1 {
  width: 420px; height: 420px; top: -120px; right: -140px;
  background: radial-gradient(circle, rgba(198,168,124,.30), transparent 70%);
  animation: aura-drift 18s ease-in-out infinite;
}
.aura-2 {
  width: 380px; height: 380px; bottom: -140px; left: -120px;
  background: radial-gradient(circle, rgba(245,218,223,.24), transparent 70%);
  animation: aura-drift 22s ease-in-out infinite reverse;
}
@keyframes aura-drift {
  0%, 100% { transform: translate3d(0,0,0) scale(1); opacity: .42; }
  50%      { transform: translate3d(26px,-22px,0) scale(1.14); opacity: .62; }
}

/* Estrelas da marca, piscando */
.spark { position: absolute; color: var(--blush-500); z-index: 1; opacity: 0; pointer-events: none; }
.spark svg { display: block; }
.spark-1 { top: 16%;  left: 74%; animation: twinkle 4.5s ease-in-out infinite; }
.spark-2 { top: 34%;  left: 12%; animation: twinkle 6s   ease-in-out infinite 1.1s; }
.spark-3 { top: 68%;  left: 82%; animation: twinkle 5.2s ease-in-out infinite 2.3s; }
.spark-4 { top: 84%;  left: 34%; animation: twinkle 7s   ease-in-out infinite 3.1s; }
@keyframes twinkle {
  0%, 100%  { opacity: 0;   transform: scale(.5) rotate(0deg); }
  45%, 55%  { opacity: .75; transform: scale(1) rotate(45deg); }
}

/* Palavra que gira */
.rot-line {
  display: flex; align-items: baseline; gap: 9px; flex-wrap: wrap;
  margin-top: 16px; position: relative; z-index: 2;
}
.rot-label {
  font-family: var(--font-sans); font-size: .6rem; font-weight: 500;
  letter-spacing: .22em; text-transform: uppercase; color: rgba(245,218,223,.5);
}
.rot {
  font-family: var(--font-display); font-size: 1.35rem; font-weight: 600;
  color: var(--blush); position: relative; display: inline-block;
  padding-bottom: 3px;
}
.rot::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 1px;
  background: linear-gradient(90deg, var(--champanhe), transparent);
}
.rot.is-out { animation: rot-out .32s ease forwards; }
.rot.is-in  { animation: rot-in  .42s cubic-bezier(.22,.61,.36,1) forwards; }
@keyframes rot-out { to { opacity: 0; transform: translateY(-8px); filter: blur(2px); } }
@keyframes rot-in  { from { opacity: 0; transform: translateY(10px); filter: blur(2px); } to { opacity: 1; transform: none; filter: none; } }

/* Entrada escalonada */
.reveal { animation: reveal-up .7s cubic-bezier(.22,.61,.36,1) both; animation-delay: var(--d, 0s); }
@keyframes reveal-up { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }

@media (prefers-reduced-motion: reduce) {
  .aura, .spark, .reveal, .rot.is-in, .rot.is-out { animation: none !important; }
  .spark { opacity: .5; }
}
.auth-aside-kicker {
  font-family: var(--font-sans);
  font-size: .68rem;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--blush-500);
  margin-top: 28px;
  position: relative; z-index: 1;
}
.auth-aside-title {
  font-family: var(--font-display);
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.2;
  margin-top: 10px;
  position: relative; z-index: 1;
}
.auth-aside-lead {
  margin-top: 14px;
  color: rgba(245,218,223,.78);
  max-width: 360px;
  position: relative; z-index: 1;
}
.auth-aside-list {
  list-style: none;
  margin-top: 28px;
  display: grid;
  gap: 12px;
  position: relative; z-index: 1;
}
.auth-aside-list li {
  display: flex; gap: 10px; align-items: flex-start;
  color: rgba(245,218,223,.86); font-size: .88rem;
}
.auth-aside-list i { color: var(--blush-500); flex-shrink: 0; margin-top: 2px; }
.auth-main {
  background: var(--marfim);
  padding: 48px 42px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.auth-title { font-family: var(--font-display); font-size: 1.8rem; font-weight: 600; }
.auth-desc { color: var(--tinta-3); margin: 8px 0 22px; }
.auth-form { display: grid; gap: 6px; max-width: 420px; }
.auth-form .form-label { margin-top: 10px; }
.auth-form .btn { margin-top: 18px; }
.auth-foot { margin-top: 22px; font-size: .88rem; color: var(--tinta-3); }
.link-min { font-size: .78rem; color: var(--verde); }
.u-between { display: flex; align-items: center; justify-content: space-between; gap: 10px; }

/* Cadastro largo */
.auth-body.wide .auth-main { overflow-y: auto; }
.auth-form--wide { max-width: 640px; }
.form-section {
  font-family: var(--font-sans); font-size: .66rem; font-weight: 600;
  letter-spacing: .18em; text-transform: uppercase; color: var(--verde-400);
  margin: 22px 0 10px; padding-bottom: 8px; border-bottom: 1px solid var(--linha);
}
.form-section:first-of-type { margin-top: 6px; }
.fg-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 16px; }
.fg { display: flex; flex-direction: column; }
.fg .form-label { margin-top: 0; }
.fg-2 { grid-column: span 2; }
.fg-sm { max-width: 100%; }
.opt { color: var(--tinta-3); font-weight: 400; text-transform: none; letter-spacing: 0; }
.req { color: var(--erro); }
.form-hint { font-size: .74rem; color: var(--tinta-3); margin-top: 5px; }
.form-hint.is-ok { color: var(--sucesso); }
.form-hint.is-warn { color: var(--aviso); }
.form-hint.is-loading { color: var(--tinta-2); }
.form-control.is-loading { opacity: .72; }

.pedido-frete-offers { margin-top: 12px; }
.pedido-frete-title { margin-bottom: 8px; }
.pedido-frete-cards { display: grid; gap: 8px; }
.pedido-frete-card {
  display: grid;
  grid-template-columns: auto auto 1fr auto;
  align-items: center;
  gap: 10px 12px;
  padding: 10px 12px;
  border: 1px solid var(--linha);
  border-radius: 10px;
  background: var(--superficie);
  cursor: pointer;
}
.pedido-frete-card:not(:has(.pedido-frete-logo)) {
  grid-template-columns: auto 1fr auto;
}
.pedido-frete-card:hover { border-color: var(--verde-400, #B07A88); }
.pedido-frete-card.is-selected,
.pedido-frete-card:has(input:checked) {
  border-color: var(--verde);
  background: #F2F8F5;
}
.pedido-frete-card input { accent-color: var(--verde); margin: 0; }
.pedido-frete-logo {
  width: 36px; height: 32px; object-fit: contain;
}
.pedido-frete-card span { display: grid; gap: 2px; min-width: 0; }
.pedido-frete-card strong {
  font-size: .88rem; color: var(--tinta-1); font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.pedido-frete-card small { color: var(--tinta-3); font-size: .72rem; }
.pedido-frete-card em {
  font-style: normal; color: var(--tinta-3); font-size: .68rem;
}
.pedido-frete-card b {
  font-family: var(--font-num, inherit);
  font-variant-numeric: tabular-nums;
  font-size: .9rem; color: var(--verde); white-space: nowrap;
}
.in-btn {
  position: absolute; right: 6px; top: 50%; transform: translateY(-50%);
  border: 0; background: var(--verde); color: var(--blush); cursor: pointer;
  width: 34px; height: 34px; border-radius: 8px; display: grid; place-items: center;
}
.in-btn:hover { background: var(--verde-800); }
.readonly-line { padding: 11px 0; color: var(--tinta-1); font-size: .95rem; display: flex; align-items: center; gap: 8px; }

/* Honeypot fallback (fora de tela, sem display:none) */
.tw-hp {
  position: absolute !important; left: -9999px !important; top: auto;
  width: 1px; height: 1px; overflow: hidden;
}

/* Turnstile */
.cf-turnstile { margin: 14px 0 4px; }

/* Medidor de senha — informativo, nunca bloqueante */
.pwd-meter { display: flex; align-items: center; gap: 10px; margin-top: 8px; }
.pwd-bar {
  flex: 1; height: 4px; border-radius: 999px; background: var(--areia); overflow: hidden;
}
.pwd-bar i {
  display: block; height: 100%; width: 0; border-radius: 999px;
  background: var(--aviso); transition: width .3s ease, background .3s ease;
}
.pwd-meter.lv1 .pwd-bar i { width: 33%;  background: #C4785F; }
.pwd-meter.lv2 .pwd-bar i { width: 66%;  background: var(--aviso); }
.pwd-meter.lv3 .pwd-bar i { width: 100%; background: var(--sucesso); }
.pwd-txt {
  font-family: var(--font-sans); font-size: .6rem; letter-spacing: .14em;
  text-transform: uppercase; color: var(--tinta-3); white-space: nowrap;
}
.pwd-meter.lv3 .pwd-txt { color: var(--sucesso); }
.link-btn { background: none; border: 0; cursor: pointer; padding: 0; font: inherit; }
.link-btn:hover { text-decoration: underline; }
.auth-note {
  display: flex; align-items: center; gap: 8px;
  font-size: .8rem; color: var(--verde); background: #E7F3EE;
  border-radius: 10px; padding: 10px 12px; margin: -12px 0 22px; max-width: 640px;
}
.auth-note i { flex-shrink: 0; }
.u-mt-2 { margin-top: 12px; }
.u-mt-3 { margin-top: 18px; }

/* Portão: confirmação de e-mail e espera pela aprovação */
.steps {
  list-style: none; display: flex; flex-wrap: wrap; gap: 8px 18px;
  margin-bottom: 26px; font-family: var(--font-sans);
  font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; color: var(--tinta-3);
}
.steps li { display: flex; align-items: center; gap: 8px; }
.steps span {
  width: 20px; height: 20px; border-radius: 50%; display: grid; place-items: center;
  border: 1px solid var(--linha); font-size: .62rem; color: var(--tinta-3); background: #fff;
}
.steps .is-done { color: var(--sucesso); }
.steps .is-done span { background: var(--sucesso); border-color: var(--sucesso); color: #fff; }
.steps .is-now { color: var(--verde); }
.steps .is-now span { border-color: var(--verde); color: var(--verde); box-shadow: 0 0 0 3px rgba(107,36,56,.10); }
.gate-icon {
  width: 54px; height: 54px; border-radius: 16px; display: grid; place-items: center;
  background: #E7F3EE; color: var(--verde); margin-bottom: 16px;
  animation: gate-pulse 3.2s ease-in-out infinite;
}
.gate-icon.is-erro { background: #FBECEF; color: var(--erro); animation: none; }
@keyframes gate-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(107,36,56,.16); }
  50%      { box-shadow: 0 0 0 12px rgba(107,36,56,0); }
}
.gate-box {
  background: #fff; border: 1px solid var(--linha); border-radius: var(--r);
  padding: 18px 20px; margin-top: 20px; max-width: 460px;
}
.gate-box p strong { font-family: var(--font-sans); font-size: .68rem; letter-spacing: .16em; text-transform: uppercase; color: var(--verde-400); }
.gate-list { list-style: none; display: grid; gap: 10px; margin-top: 12px; }
.gate-list li { display: flex; gap: 10px; align-items: flex-start; font-size: .88rem; color: var(--tinta-2); }
.gate-list i { color: var(--verde-400); flex-shrink: 0; margin-top: 3px; }
.gate-edit { margin-top: 22px; max-width: 460px; }
.gate-edit summary { cursor: pointer; font-size: .82rem; color: var(--verde); }
.gate-edit summary::marker { color: var(--verde-400); }
.gate-edit .auth-form { margin-top: 14px; }
.gate-foot {
  display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap;
  margin-top: 34px; padding-top: 16px; border-top: 1px solid var(--linha);
  font-size: .78rem; color: var(--tinta-3);
}

/* Fila de aprovação */
.callout {
  display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
  background: #FBF1DF; border: 1px solid #EBD9B4; border-radius: var(--r);
  padding: 14px 18px; margin-bottom: 20px; color: var(--tinta-1); font-size: .9rem;
}
.callout:hover { text-decoration: none; border-color: var(--champanhe); }
.callout i { color: var(--aviso); flex-shrink: 0; }
.callout em {
  margin-left: auto; font-style: normal; font-family: var(--font-sans);
  font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; color: var(--verde);
}
.side-badge {
  margin-left: auto; background: var(--blush); color: var(--verde-900);
  border-radius: 999px; min-width: 20px; padding: 1px 6px; text-align: center;
  font-size: .68rem; font-weight: 600;
}
.pend {
  display: grid; grid-template-columns: 1.1fr 1.3fr auto; gap: 18px; align-items: start;
  padding: 18px 0; border-top: 1px solid var(--areia);
}
.pend:first-of-type { border-top: 0; padding-top: 4px; }
.pend-who { display: flex; gap: 12px; align-items: center; min-width: 0; }
.avatar-lg { width: 42px; height: 42px; background: var(--verde); color: var(--blush); font-size: 1rem; }
.pend-data { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 16px; min-width: 0; }
.pend-data dt { font-family: var(--font-sans); font-size: .58rem; letter-spacing: .14em; text-transform: uppercase; color: var(--tinta-3); }
.pend-data dd { font-size: .86rem; margin-top: 2px; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.pend-acts { display: grid; gap: 8px; min-width: 240px; }
.pend-btns { display: flex; gap: 8px; flex-wrap: wrap; }
.pend-btns .btn { padding: 10px 18px; }
.btn-danger { color: var(--erro); border-color: #EFD6DB; }
.btn-danger:hover { border-color: var(--erro); }
.inline-form { display: flex; align-items: center; gap: 8px; }
.form-control--sm { padding: 6px 10px; font-size: .82rem; width: auto; }
.muted-inline { color: var(--tinta-3); font-size: .76rem; }

/* Cadastro em etapas */
.wiz-rail { max-width: 640px; margin: 4px 0 26px; position: relative; }
.wiz-track {
  position: absolute; top: 15px; left: 15px; right: 15px; height: 1px;
  background: var(--linha);
}
.wiz-fill {
  position: absolute; inset: 0 auto 0 0; width: 0; height: 1px;
  background: linear-gradient(90deg, var(--verde), var(--champanhe));
  transition: width .5s cubic-bezier(.22,.61,.36,1);
}
.wiz-dots {
  list-style: none; display: flex; justify-content: space-between;
  position: relative; z-index: 1;
}
.wiz-dot { display: flex; flex-direction: column; align-items: center; gap: 8px; flex: 1; min-width: 0; }
.wiz-bullet {
  width: 30px; height: 30px; border-radius: 50%; cursor: pointer;
  border: 1px solid var(--linha); background: var(--marfim); color: var(--tinta-3);
  display: grid; place-items: center; padding: 0;
  transition: background var(--ease), border-color var(--ease), color var(--ease), box-shadow var(--ease);
}
.wiz-bullet:disabled { cursor: default; }
.wiz-bullet i, .wiz-bullet svg { display: none; }
.wiz-n { font-family: var(--font-num); font-size: .72rem; font-weight: 700; line-height: 1; }
.wiz-lbl {
  font-family: var(--font-sans); font-size: .58rem; font-weight: 600;
  letter-spacing: .16em; text-transform: uppercase; color: var(--tinta-3);
  text-align: center; transition: color var(--ease);
}
.wiz-dot.is-done .wiz-bullet { background: var(--verde); border-color: var(--verde); color: var(--blush); }
.wiz-dot.is-done .wiz-n { display: none; }
.wiz-dot.is-done .wiz-bullet i, .wiz-dot.is-done .wiz-bullet svg { display: block; }
.wiz-dot.is-now .wiz-bullet {
  background: #fff; border-color: var(--verde); color: var(--verde);
  box-shadow: 0 0 0 4px rgba(107,36,56,.10);
}
.wiz-dot.is-now .wiz-lbl { color: var(--verde); }

.auth-form.is-wizard .wiz-panel { display: none; }
.auth-form.is-wizard .wiz-panel.is-active { display: block; }
.wiz-panel.is-active.from-right { animation: wiz-in-right .42s cubic-bezier(.22,.61,.36,1) both; }
.wiz-panel.is-active.from-left  { animation: wiz-in-left  .42s cubic-bezier(.22,.61,.36,1) both; }
@keyframes wiz-in-right { from { opacity: 0; transform: translateX(18px); } to { opacity: 1; transform: none; } }
@keyframes wiz-in-left  { from { opacity: 0; transform: translateX(-18px); } to { opacity: 1; transform: none; } }

.wiz-head { margin-bottom: 18px; }
.wiz-kicker {
  font-family: var(--font-sans); font-size: .6rem; font-weight: 600;
  letter-spacing: .2em; text-transform: uppercase; color: var(--champanhe);
}
.wiz-title { font-family: var(--font-display); font-size: 1.45rem; font-weight: 600; margin-top: 6px; }
.wiz-sub { color: var(--tinta-3); font-size: .86rem; margin-top: 6px; max-width: 460px; }

.wiz-actions { display: flex; align-items: center; gap: 12px; margin-top: 26px; }
.wiz-actions [data-wiz-next], .wiz-actions [data-wiz-submit] { margin-left: auto; }
.field-erro { font-size: .74rem; color: var(--erro); margin-top: 5px; }
.form-control[aria-invalid="true"] { border-color: var(--erro); background: #FFFAFB; }
.form-control[aria-invalid="true"]:focus { box-shadow: 0 0 0 3px rgba(178,58,78,.12); }

.wiz-resumo {
  margin-top: 22px; padding: 16px 18px;
  background: var(--areia); border-radius: var(--r); border: 1px solid var(--linha);
}
.wiz-resumo-lbl {
  font-family: var(--font-sans); font-size: .58rem; font-weight: 600;
  letter-spacing: .18em; text-transform: uppercase; color: var(--verde-400);
}
.wiz-resumo dl { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 18px; margin-top: 12px; }
.wiz-resumo dt {
  font-family: var(--font-sans); font-size: .56rem; letter-spacing: .14em;
  text-transform: uppercase; color: var(--tinta-3);
}
.wiz-resumo dd { font-size: .86rem; margin-top: 2px; }

/* App shell */
.app-body { min-height: 100dvh; }
.app-side {
  position: fixed; inset: 0 auto 0 0;
  width: var(--side);
  background: linear-gradient(180deg, #6B2438, #2A0C14);
  color: var(--blush);
  display: flex; flex-direction: column;
  z-index: 40;
  overflow: hidden;
}
.app-side::after {
  content: '';
  position: absolute; left: 0; right: 0; bottom: 64px;
  height: 32px; pointer-events: none;
  background: linear-gradient(180deg, rgba(42,12,20,0), #2A0C14);
}
.side-brand { padding: 26px 22px 18px; display: block; flex-shrink: 0; }
.side-logo { width: 132px; }
.brand-word.side-logo {
  width: auto;
  display: block;
  color: #F5DADF;
  font-family: "Bodoni Moda", Georgia, serif;
  font-size: 1.35rem;
  line-height: 1.15;
  letter-spacing: -0.03em;
}
.side-kicker {
  display: block; margin-top: 10px;
  font-family: var(--font-sans); font-size: .62rem;
  letter-spacing: .28em; text-transform: uppercase; color: var(--blush-500);
}
.side-nav {
  padding: 8px 12px 20px;
  flex: 1;
  min-height: 0;
  overflow: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.side-nav::-webkit-scrollbar { width: 0; height: 0; display: none; }
.side-group {
  font-family: var(--font-sans);
  font-size: .6rem; letter-spacing: .2em; text-transform: uppercase;
  color: rgba(245,218,223,.42); margin: 16px 10px 8px;
}
.side-nav a, .side-soon {
  display: flex; align-items: center; gap: 10px;
  padding: 9px 12px; border-radius: 10px;
  color: rgba(245,218,223,.82); font-size: .88rem;
  text-decoration: none;
}
.side-nav a:hover { background: rgba(245,218,223,.08); color: var(--blush); text-decoration: none; }
.side-nav a.is-on { background: rgba(245,218,223,.14); color: var(--blush); }
.side-tree { display: grid; gap: 2px; }
.side-tree-row {
  display: grid; grid-template-columns: minmax(0,1fr) 2rem; align-items: stretch;
  border-radius: 10px;
}
.side-tree-row:hover { background: rgba(245,218,223,.08); }
.side-tree-row:has(> a.is-on) { background: rgba(245,218,223,.14); }
.side-tree-row > a { min-width: 0; }
.side-tree-row > a:hover,
.side-tree-row > a.is-on { background: transparent; }
.side-tree-toggle {
  display: grid; place-items: center; width: 100%; min-height: 36px;
  border: 0; background: transparent; color: rgba(245,218,223,.62);
  border-radius: 8px; cursor: pointer; padding: 0;
}
.side-tree-toggle::before {
  content: ''; width: 6px; height: 6px; margin-top: -3px;
  border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg); transition: transform var(--ease), margin var(--ease);
}
.side-tree-toggle:hover { color: var(--blush); }
.side-tree.is-open .side-tree-toggle::before {
  margin-top: 2px; transform: rotate(225deg);
}
.side-tree-kids {
  display: none; margin: 0 0 2px 20px; padding-left: 8px;
  border-left: 1px solid rgba(245,218,223,.14);
}
.side-tree.is-open > .side-tree-kids { display: grid; gap: 2px; }
.side-tree-kids a { font-size: .82rem; padding: 7px 10px; }
.side-tree-row > a .side-badge,
.side-tree-kids .side-badge { margin-left: auto; }
.side-soon { opacity: .38; cursor: default; }
.side-user {
  display: flex; align-items: center; gap: 10px; width: 100%; text-align: left;
  padding: 14px 16px; border: 0; border-top: 1px solid rgba(245,218,223,.12);
  background: #2A0C14; color: var(--blush); cursor: pointer;
  transition: background var(--ease);
  flex-shrink: 0;
  position: relative; z-index: 1;
}
.side-user:hover { background: #06241f; }
.side-user strong { display: block; font-size: .9rem; }
.side-user small { color: rgba(245,218,223,.5); font-size: .7rem; text-transform: uppercase; letter-spacing: .08em; }
.side-user-ico { margin-left: auto; color: rgba(245,218,223,.55); display: grid; place-items: center; }
.side-user:hover .side-user-ico { color: var(--blush); }
.avatar {
  width: 34px; height: 34px; border-radius: 50%;
  background: var(--blush); color: var(--verde-900);
  display: grid; place-items: center; font-weight: 600; flex-shrink: 0;
}
.side-out { color: rgba(245,218,223,.7); margin-left: auto; }
.side-out:hover { color: var(--blush); }

.app-main { margin-left: var(--side); padding: 34px 34px 64px; }

/* Modal — usado por "meus dados" e pelas ações do catálogo */
.modal { position: fixed; inset: 0; z-index: 90; display: grid; place-items: center; padding: 24px; }
.modal-fundo { position: absolute; inset: 0; background: rgba(42,12,20,.55); backdrop-filter: blur(3px); animation: fade-in .2s ease both; }
.modal-caixa {
  position: relative; z-index: 1; width: min(760px, 100%); max-height: 88vh;
  display: flex; flex-direction: column; overflow: hidden;
  background: var(--marfim); border-radius: 18px; border: 1px solid var(--linha);
  box-shadow: 0 30px 80px rgba(42,12,20,.35);
  animation: modal-in .32s cubic-bezier(.22,.61,.36,1) both;
}
.modal-caixa--larga { width: min(1020px, 100%); }
.modal-caixa--alerta { width: min(34rem, 100%); }
.modal-caixa--alerta .modal-topo { padding: 16px 22px; }
.modal-caixa--alerta .modal-quem { align-items: flex-start; }
.modal-caixa--alerta .modal-quem .eyebrow { margin-bottom: 4px; }
.modal-caixa--alerta .modal-quem h2 { font-size: 1.28rem; line-height: 1.15; }
.modal-caixa--alerta .modal-corpo { padding: 16px 22px 0; }
.modal-caixa--alerta .modal-pe { margin: 14px -22px 0; padding: 12px 22px; }
.alerta-lead { font-size: .9rem; color: var(--tinta-2); line-height: 1.55; margin: 0 0 14px; }
.alerta-lead strong { color: var(--tinta-1); font-weight: 600; }
.alerta-grid {
  list-style: none; display: grid; grid-template-columns: 1fr 1fr;
  gap: 8px 12px; margin: 0 0 14px;
}
.alerta-grid li { display: grid; grid-template-columns: 28px 1fr; gap: 8px; align-items: start; }
.alerta-ico {
  width: 28px; height: 28px; border-radius: 8px; display: grid; place-items: center;
  background: #E7F3EE; color: var(--verde); flex-shrink: 0;
}
.alerta-grid strong { display: block; font-size: .82rem; color: var(--tinta-1); font-weight: 600; line-height: 1.25; }
.alerta-grid span { display: block; margin-top: 2px; font-size: .74rem; color: var(--tinta-3); line-height: 1.4; }
.alerta-aviso {
  background: var(--areia); border-radius: var(--r); padding: 11px 13px;
  font-size: .8rem; color: var(--tinta-2); line-height: 1.5;
}
.alerta-aviso strong { color: var(--tinta-1); font-weight: 600; }
.alerta-ciente { margin: 12px 0 0; font-size: .82rem; color: var(--tinta-1); }
.btn.is-off { opacity: .4; pointer-events: none; }
@keyframes fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes modal-in { from { opacity: 0; transform: translateY(16px) scale(.98); } to { opacity: 1; transform: none; } }
.modal-topo {
  display: flex; align-items: center; gap: 14px;
  padding: 20px 24px; border-bottom: 1px solid var(--linha);
  background: linear-gradient(180deg, #fff, var(--marfim));
}
.modal-quem { display: flex; align-items: center; gap: 12px; min-width: 0; }
.modal-quem h2 { font-family: var(--font-display); font-size: 1.25rem; font-weight: 600; }
.modal-quem p { font-size: .78rem; color: var(--tinta-3); }
.modal-x {
  margin-left: auto; border: 1px solid var(--linha); background: #fff; cursor: pointer;
  width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; color: var(--tinta-2);
}
.modal-x:hover { border-color: var(--verde-400); color: var(--verde); }
.modal-corpo { padding: 20px 24px 0; overflow-y: auto; }
.modal-fixos {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px 18px;
  background: var(--areia); border-radius: var(--r); padding: 14px 16px;
}
.modal-fixos span {
  display: block; font-family: var(--font-sans); font-size: .56rem;
  letter-spacing: .14em; text-transform: uppercase; color: var(--tinta-3);
}
.modal-fixos strong { font-size: .86rem; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.modal-fixos em { font-style: normal; }
.modal-pe {
  position: sticky; bottom: 0; margin: 22px -24px 0; padding: 14px 24px;
  display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
  background: #fff; border-top: 1px solid var(--linha);
}
.modal-pe-btns { margin-left: auto; display: flex; gap: 10px; }
.modal-pe .link-min { display: inline-flex; align-items: center; gap: 6px; color: var(--erro); }
body.modal-aberto { overflow: hidden; }

/* Aviso flutuante das ações rápidas */
.toast {
  position: fixed; bottom: 22px; left: 50%; transform: translateX(-50%);
  z-index: 120; padding: 12px 20px; border-radius: 999px;
  background: var(--verde); color: var(--blush); font-size: .86rem;
  box-shadow: 0 12px 34px rgba(42,12,20,.28);
  animation: toast-in .28s cubic-bezier(.22,.61,.36,1) both;
}
.toast-erro { background: var(--erro); color: #fff; }
.toast.is-saindo { animation: toast-out .4s ease both; }
@keyframes toast-in { from { opacity: 0; transform: translate(-50%, 14px); } to { opacity: 1; transform: translate(-50%, 0); } }
@keyframes toast-out { to { opacity: 0; transform: translate(-50%, 14px); } }
.sb-toggle {
  display: none; position: fixed; top: 14px; left: 14px; z-index: 50;
  width: 42px; height: 42px; border: 0; border-radius: 10px;
  background: var(--verde); color: var(--blush); cursor: pointer;
}

.page-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; margin-bottom: 28px; flex-wrap: wrap; }
.eyebrow { font-family: var(--font-sans); font-size: .68rem; letter-spacing: .2em; text-transform: uppercase; color: var(--tinta-3); }
.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0;
}
.page-title { font-family: var(--font-display); font-size: 2.1rem; font-weight: 600; letter-spacing: -.02em; }
.page-lead { color: var(--tinta-3); margin-top: 6px; max-width: 520px; }
.page-lead--wide { max-width: 40rem; }

.kpis { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; margin-bottom: 14px; }
.kpis-compact .kpi { padding: 14px 16px 12px; }
.kpis-compact .kpi-num { font-size: 1.45rem; margin-top: 6px; }
.kpi { background: #fff; border: 1px solid var(--linha); border-radius: var(--r); padding: 18px 18px 16px; min-width: 0; }
.kpi-lbl { font-family: var(--font-sans); font-size: .62rem; letter-spacing: .16em; text-transform: uppercase; color: var(--tinta-3); }
.kpi-num {
  display: block; font-family: var(--font-num);
  font-variant-numeric: tabular-nums lining-nums;
  font-size: 1.75rem; font-weight: 700; letter-spacing: -.02em; margin-top: 8px;
}
.kpi-sub { font-size: .78rem; color: var(--tinta-3); font-variant-numeric: tabular-nums; }
.ops-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 10px; margin-bottom: 22px; }
.ops-item {
  display: flex; align-items: center; gap: 11px; min-width: 0;
  padding: 12px 14px; border: 1px solid var(--linha); border-radius: var(--r);
  background: #fff; color: var(--tinta-1);
}
.ops-item:hover { border-color: var(--verde-400); text-decoration: none; }
.ops-item > svg { margin-left: auto; color: var(--tinta-3); flex-shrink: 0; }
.ops-ico { width: 34px; height: 34px; border-radius: 9px; display: grid; place-items: center; background: #E7F3EE; color: var(--verde); flex-shrink: 0; }
.ops-item strong { display: block; font-family: var(--font-num); font-size: 1rem; font-variant-numeric: tabular-nums; }
.ops-item span { display: block; font-size: .72rem; color: var(--tinta-3); }
.ops-item.is-warn .ops-ico { background: #FBF1DF; color: var(--aviso); }

.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 14px; }
.card { background: #fff; border: 1px solid var(--linha); border-radius: var(--r); padding: 22px; margin-bottom: 14px; }
.card.flush { padding: 0; overflow: hidden; }
.card-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; gap: 12px; }
.card-head h2 { font-family: var(--font-display); font-size: 1.2rem; font-weight: 600; }
.stat-list { list-style: none; display: grid; gap: 10px; }
.stat-list li { display: flex; justify-content: space-between; padding: 8px 0; border-bottom: 1px solid var(--areia); font-size: .9rem; }
.stat-list strong {
  font-family: var(--font-num); font-variant-numeric: tabular-nums lining-nums;
  font-size: 1.05rem; font-weight: 700; letter-spacing: -.01em;
}

.filters { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr auto; gap: 10px; margin-bottom: 16px; }
.table-wrap { overflow-x: auto; }
.table { width: 100%; border-collapse: collapse; font-size: .86rem; }
.table th {
  text-align: left; font-family: var(--font-sans); font-size: .62rem;
  letter-spacing: .14em; text-transform: uppercase; color: var(--tinta-3);
  padding: 12px 14px; border-bottom: 1px solid var(--linha); background: var(--areia);
}
.table td { padding: 12px 14px; border-bottom: 1px solid var(--areia); vertical-align: top; }
.table .num {
  text-align: right; font-family: var(--font-num);
  font-variant-numeric: tabular-nums lining-nums; font-feature-settings: 'tnum' 1;
}
.mono { font-family: ui-monospace, monospace; font-size: .78rem; color: var(--tinta-2); }
.muted { color: var(--tinta-3); font-size: .76rem; margin-top: 2px; }
.empty { color: var(--tinta-3); padding: 22px; text-align: center; }

.badge {
  display: inline-block; padding: 3px 9px; border-radius: 999px;
  font-family: var(--font-sans); font-size: .6rem; letter-spacing: .12em; text-transform: uppercase;
}
.badge-ativo { background: #E7F3EE; color: var(--sucesso); }
.badge-repor { background: #FBF1DF; color: var(--aviso); }
.badge-esgotado { background: #FBECEF; color: var(--erro); }
.badge-rascunho, .badge-inativo { background: var(--areia); color: var(--tinta-3); }

/* ---------------- catálogo ---------------- */
.page-acoes { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.autosave-state {
  display: inline-flex; align-items: center; gap: 6px; min-width: 112px;
  font-family: var(--font-sans); font-size: .62rem; letter-spacing: .08em;
  text-transform: uppercase; color: var(--tinta-3);
}
.autosave-state.is-saved { color: var(--sucesso); }
.autosave-state.is-saving { color: var(--verde); }
.autosave-state.is-saving svg { animation: save-pulse .8s ease-in-out infinite alternate; }
.autosave-state.is-dirty { color: var(--aviso); }
.autosave-state.is-error { color: var(--erro); max-width: 220px; }
@keyframes save-pulse { to { opacity: .35; } }
.status-legend {
  margin: -10px 0 20px; border: 1px solid var(--linha); border-radius: var(--r); background: #fff;
}
.status-legend summary {
  display: flex; align-items: center; gap: 8px; cursor: pointer; padding: 10px 14px;
  color: var(--verde); font-family: var(--font-sans); font-size: .66rem; font-weight: 600;
  letter-spacing: .1em; text-transform: uppercase; list-style: none;
}
.status-legend summary::-webkit-details-marker { display: none; }
.status-legend-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; padding: 4px 16px 16px; border-top: 1px solid var(--areia); }
.status-legend h3 { font-family: var(--font-display); font-size: 1rem; font-weight: 600; margin: 12px 0 8px; }
.status-legend ul { list-style: none; display: grid; gap: 10px; }
.status-legend li { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 8px 12px; }
.status-legend li > span { flex: 0 0 auto; max-width: 100%; }
.status-legend p { flex: 1 1 11rem; min-width: 0; font-size: .74rem; line-height: 1.45; color: var(--tinta-3); }
.completion-key {
  display: inline-flex; align-items: center; gap: 6px; padding: 3px 8px;
  border-radius: 999px; white-space: nowrap;
  font-family: var(--font-sans); font-size: .58rem; font-weight: 600;
  letter-spacing: .08em; text-transform: uppercase;
}
.completion-key i { width: 7px; height: 7px; border-radius: 50%; }
.completion-key.is-incomplete { background: #FFF8ED; color: var(--aviso); }
.completion-key.is-incomplete i { background: var(--aviso); }
.completion-key.is-progress { background: var(--areia); color: var(--tinta-2); }
.completion-key.is-progress i { background: var(--champanhe); }
.completion-key.is-ready { background: #E7F3EE; color: var(--sucesso); }
.completion-key.is-ready i { background: var(--sucesso); }
.completion-legend-bar {
  display: flex; align-items: center; gap: 10px 18px; flex-wrap: wrap;
  margin: -10px 0 14px; padding: 9px 13px; border-radius: 10px;
  background: var(--areia); color: var(--tinta-2); font-size: .7rem;
}
.completion-legend-bar strong {
  color: var(--tinta-1); font-family: var(--font-sans); font-size: .62rem;
  letter-spacing: .09em; text-transform: uppercase;
}
.completion-legend-bar span { display: inline-flex; align-items: center; gap: 6px; }
.completion-legend-bar span > i { width: 4px; height: 17px; border-radius: 999px; }
.completion-legend-bar span > i.is-incomplete { background: var(--champanhe); }
.completion-legend-bar span > i.is-ready { background: var(--sucesso); }
.completion-legend-bar em { margin-left: auto; color: var(--tinta-3); font-style: normal; }
.kpis-5 { grid-template-columns: repeat(5, minmax(0,1fr)); }
.kpi-alerta { border-color: #EBD9B4; background: #FDFAF3; }
.kpi-ready { border-color: #C9E4D8; background: #F4F9F7; }
.catalog-stock-kpis { margin-bottom: 10px; }
.catalog-stock-kpis .kpi-num { font-size: 1.45rem; }
.kpis-short { margin-bottom: 12px; }
.kpis-short .kpi { padding: 10px 12px 8px; }
.kpis-short .kpi-lbl { font-size: .56rem; letter-spacing: .12em; }
.kpis-short .kpi-num { font-size: 1.15rem; margin-top: 3px; }
.kpis-short .kpi-sub { font-size: .7rem; }

.filtros {
  display: grid; grid-template-columns: repeat(6, minmax(135px, 1fr));
  gap: 10px; margin-bottom: 16px; align-items: center;
}
.filtros .filtro-busca { grid-column: span 2; }
.filtro-busca { position: relative; }
/* O Lucide troca o <i> por <svg>, então os dois seletores precisam existir. */
.filtro-busca i, .filtro-busca > svg { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: var(--tinta-3); }
.filtro-busca .form-control { padding-left: 36px; }

.lote {
  position: sticky; top: 10px; z-index: 30;
  display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
  background: var(--verde); color: var(--blush);
  border-radius: var(--r); padding: 10px 16px; margin-bottom: 12px;
  box-shadow: 0 10px 30px rgba(42,12,20,.22);
  animation: reveal-up .25s ease both;
}
.lote-n { font-size: .84rem; }
.lote-n strong { font-family: var(--font-num); font-variant-numeric: tabular-nums; }
.lote-acoes { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-left: auto; }
.lote-pay { display: flex; align-items: center; gap: 8px; }
.lote .btn-ghost { background: rgba(245,218,223,.10); border-color: rgba(245,218,223,.30); color: var(--blush); }
.lote .btn-ghost:hover { background: rgba(245,218,223,.20); border-color: var(--blush); }
.lote .btn-danger { color: #FFD9DF; border-color: rgba(255,217,223,.35); }
.lote .form-control--sm { background: rgba(245,218,223,.10); border-color: rgba(245,218,223,.30); color: var(--blush); }
.btn-sm { padding: 8px 14px; font-size: .68rem; }

.table-produtos th { position: sticky; top: 0; z-index: 5; }
.table-produtos td { vertical-align: middle; }
.col-check { width: 34px; }
.col-check input { accent-color: var(--verde); width: 15px; height: 15px; }
.col-foto { width: 62px; }
.col-acoes { width: 96px; }
.col-cat { color: var(--tinta-2); font-size: .8rem; }
.thumb {
  display: grid; place-items: center; width: 46px; height: 46px; border-radius: 9px;
  overflow: hidden; background: var(--areia); border: 1px solid var(--linha); color: var(--verde-400);
}
.thumb img { width: 100%; height: 100%; object-fit: cover; }
.thumb-vazia { border-style: dashed; }
.thumb-vazia:hover { border-color: var(--verde); color: var(--verde); background: #fff; }
.peca-nome { font-weight: 600; color: var(--tinta-1); }
.peca-nome:hover { color: var(--verde); }
.peca-tags { display: flex; gap: 5px; flex-wrap: wrap; margin-top: 4px; }
.tag {
  font-family: var(--font-sans); font-size: .55rem; letter-spacing: .1em; text-transform: uppercase;
  background: var(--areia); color: var(--tinta-3); padding: 2px 7px; border-radius: 999px;
}
.tag-verde { background: #E7F3EE; color: var(--sucesso); }
.tag-warn { background: #FBF1DF; color: var(--aviso); }
.tag-published { background: var(--verde); color: var(--blush); }
.product-row.is-incomplete td:first-child { box-shadow: inset 3px 0 0 var(--champanhe); }
.product-row.is-complete td:first-child { box-shadow: inset 3px 0 0 var(--sucesso); }
.completion-action {
  margin-top: 6px; display: inline-flex; align-items: center; gap: 5px;
  border: 1px solid #E5CEA5; border-radius: 999px; padding: 4px 8px;
  background: #FFF8ED; color: #7A571B; cursor: pointer;
  font-family: var(--font-sans); font-size: .58rem; font-weight: 600;
  letter-spacing: .055em; text-transform: uppercase; line-height: 1;
}
.completion-action:hover { border-color: var(--aviso); background: #FBF1DF; }
.completion-action strong { font-family: var(--font-num); font-size: inherit; }
.completion-action > span {
  margin-left: 2px; padding-left: 6px; border-left: 1px solid #E5CEA5;
  font-family: var(--font-num); font-variant-numeric: tabular-nums;
}
.completion-action.is-ready {
  border-color: #C9E4D8; background: #E7F3EE; color: var(--sucesso); cursor: default;
}

.col-edit { white-space: nowrap; }
.cel {
  width: 74px; text-align: right; padding: 6px 8px; font-size: .84rem;
  border: 1px solid transparent; border-radius: 7px; background: transparent;
  font-variant-numeric: tabular-nums;
}
.cel:hover { border-color: var(--linha); background: #fff; }
.cel:focus { border-color: var(--verde); background: #fff; outline: none; box-shadow: 0 0 0 3px rgba(107,36,56,.10); }
.cel.is-salvo { border-color: var(--sucesso); background: #F1F9F5; }
.cel.is-erro { border-color: var(--erro); background: #FFF7F8; }
.cel-min { display: block; font-size: .62rem; color: var(--tinta-3); }
.cel-promo { display: block; font-size: .66rem; color: var(--erro); font-weight: 600; }
.badge-select {
  border: 1px solid transparent; border-radius: 999px; cursor: pointer;
  padding: 4px 8px; font-family: var(--font-sans); font-size: .6rem;
  letter-spacing: .1em; text-transform: uppercase; appearance: none;
}
.badge-select:focus { outline: none; box-shadow: 0 0 0 3px rgba(107,36,56,.12); }
.acoes { display: flex; gap: 4px; justify-content: flex-end; }
.acoes a, .acoes button, .icone-btn {
  border: 1px solid transparent; background: none; cursor: pointer; color: var(--tinta-3);
  width: 28px; height: 28px; border-radius: 8px; display: grid; place-items: center; padding: 0;
}
.acoes a:hover, .acoes button:hover, .icone-btn:hover { background: var(--areia); color: var(--verde); border-color: var(--linha); }
.acoes [data-acao="excluir"]:hover, .icone-btn:hover [data-lucide="trash-2"] { color: var(--erro); }

.paginacao { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin: 16px 0 40px; }
.pag-info { font-size: .8rem; color: var(--tinta-3); font-variant-numeric: tabular-nums; }
.pag-btns { display: flex; align-items: center; gap: 6px; margin-left: auto; }
.pag-n {
  min-width: 30px; height: 30px; border-radius: 8px; display: grid; place-items: center;
  font-size: .8rem; color: var(--tinta-2); border: 1px solid var(--linha); background: #fff;
  font-variant-numeric: tabular-nums;
}
.pag-n:hover { border-color: var(--verde-400); text-decoration: none; }
.pag-n.is-on { background: var(--verde); border-color: var(--verde); color: var(--blush); }

/* Preenchimento rápido do catálogo */
.completion-modal .modal-caixa { max-height: min(92vh, 940px); }
.completion-modal-icon {
  width: 40px; height: 40px; flex: 0 0 auto; display: grid; place-items: center;
  border-radius: 12px; background: var(--blush); color: var(--verde);
}
.completion-modal-body { padding-bottom: 22px; }
.completion-loading {
  min-height: 250px; display: grid; place-items: center; align-content: center;
  gap: 12px; color: var(--tinta-3); font-size: .86rem;
}
.completion-loading.is-error { color: var(--erro); }
.completion-spinner {
  width: 28px; height: 28px; border-radius: 50%;
  border: 2px solid var(--linha); border-top-color: var(--verde);
  animation: completion-spin .8s linear infinite;
}
.completion-loading.is-error .completion-spinner { display: none; }
@keyframes completion-spin { to { transform: rotate(360deg); } }
.completion-overview {
  display: grid; grid-template-columns: 130px 1fr; gap: 18px; align-items: center;
  padding: 14px 16px; margin-bottom: 14px; border-radius: var(--r);
  background: linear-gradient(135deg, #FBF4F6, var(--marfim)); border: 1px solid #D7E7E3;
}
.completion-score strong {
  display: block; color: var(--verde); font-family: var(--font-num);
  font-size: 1.7rem; line-height: 1; font-variant-numeric: tabular-nums;
}
.completion-score span {
  display: block; margin-top: 4px; color: var(--tinta-3);
  font-family: var(--font-sans); font-size: .57rem; letter-spacing: .1em; text-transform: uppercase;
}
.completion-progress > div { height: 6px; border-radius: 999px; background: #DCE7E4; overflow: hidden; }
.completion-progress i {
  display: block; width: 0; height: 100%; border-radius: inherit;
  background: linear-gradient(90deg, var(--champanhe), var(--verde));
  transition: width .28s ease;
}
.completion-progress p { margin-top: 7px; color: var(--tinta-2); font-size: .76rem; }
.completion-success {
  display: flex; align-items: center; gap: 13px; padding: 16px;
  margin-bottom: 14px; border: 1px solid #C9E4D8; border-radius: var(--r);
  background: #E7F3EE; color: var(--verde);
}
.completion-success strong { font-family: var(--font-display); font-size: 1.12rem; }
.completion-success p { margin-top: 2px; color: var(--tinta-2); font-size: .78rem; }
.completion-form {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px;
}
.completion-block {
  min-width: 0; padding: 15px; border: 1px solid var(--linha);
  border-radius: var(--r); background: #fff;
}
.completion-block--wide { grid-column: 1 / -1; }
.completion-block-head {
  display: grid; grid-template-columns: 34px 1fr auto; gap: 10px; align-items: start;
  margin-bottom: 12px;
}
.completion-step-icon {
  width: 34px; height: 34px; display: grid; place-items: center;
  border-radius: 10px; background: var(--areia); color: var(--verde);
}
.completion-block-head h3 { font-family: var(--font-display); font-size: 1rem; font-weight: 600; line-height: 1.2; }
.completion-block-head p { margin-top: 2px; color: var(--tinta-3); font-size: .72rem; line-height: 1.35; }
.completion-block-state {
  align-self: center; padding: 3px 7px; border-radius: 999px;
  background: #FBF1DF; color: var(--aviso);
  font-family: var(--font-sans); font-size: .54rem; font-weight: 600;
  letter-spacing: .08em; text-transform: uppercase; white-space: nowrap;
}
.completion-photo-current {
  display: grid; grid-template-columns: 76px 1fr; gap: 12px; align-items: center;
  padding: 10px; margin-bottom: 10px; border-radius: 10px; background: var(--areia);
}
.completion-photo-current img { width: 76px; height: 76px; object-fit: cover; border-radius: 8px; }
.completion-photo-current p { margin-bottom: 8px; color: var(--tinta-2); font-size: .76rem; }
.completion-upload {
  min-height: 82px; display: flex; align-items: center; justify-content: center; gap: 10px;
  border: 1px dashed var(--verde-400); border-radius: 10px;
  background: #F4F9F7; color: var(--verde); cursor: pointer;
}
.completion-upload:hover { border-color: var(--verde); background: #FBF4F6; }
.completion-upload input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.completion-upload strong, .completion-upload small { display: block; }
.completion-upload strong { font-family: var(--font-sans); font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; }
.completion-upload small { margin-top: 2px; color: var(--tinta-3); font-size: .68rem; }
.completion-photo-check { margin-top: 9px; font-size: .74rem; }
.completion-dimensions {
  display: grid; grid-template-columns: 1fr auto 1fr auto 1fr;
  gap: 8px; align-items: end;
}
.completion-dimensions > span { padding-bottom: 10px; color: var(--tinta-3); }
.completion-advanced { background: var(--areia); }
.completion-modal-footer { margin: 0; flex: 0 0 auto; }
.completion-modal-footer > p { color: var(--tinta-3); font-size: .72rem; }
.completion-modal-footer > p strong { color: var(--tinta-1); }

/* Staging e conciliação do inventário */
.inventory-upload { display: flex; align-items: center; gap: 8px; }
.inventory-upload input[type="file"] {
  position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none;
}
.inventory-safe em {
  margin-left: auto; color: var(--verde); font-family: var(--font-sans);
  font-size: .62rem; font-style: normal; font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
}
.inventory-empty { min-height: 260px; display: grid; place-items: center; align-content: center; gap: 8px; text-align: center; }
.inventory-empty svg { color: var(--verde); }
.inventory-empty h2 { font-family: var(--font-display); font-size: 1.3rem; }
.inventory-empty p { color: var(--tinta-3); font-size: .84rem; }
.inventory-source {
  display: flex; justify-content: space-between; align-items: center; gap: 16px;
  margin: 0 0 14px; padding: 13px 16px; border: 1px solid var(--linha); border-radius: var(--r); background: #fff;
}
.inventory-source h2 { font-family: var(--font-display); font-size: 1.15rem; font-weight: 600; }
.inventory-source p:last-child { color: var(--tinta-3); font-size: .72rem; }
.inventory-source .inventory-source-note { margin-top: 4px; color: var(--aviso); }
.inventory-source > select { width: min(300px, 100%); }
.inventory-kpis { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.inventory-documents .table td { vertical-align: top; }
.badge-doc-ok { background: #E7F3EE; color: var(--sucesso); }
.badge-doc-conferir { background: #FBF1DF; color: var(--aviso); }
.badge-doc-incompleto { background: #FBECEF; color: var(--erro); }
.inventory-doc-meta { margin-top: 4px; max-width: 320px; }
.inventory-doc-meta summary {
  cursor: pointer; color: var(--verde); font-family: var(--font-sans);
  font-size: .56rem; letter-spacing: .06em; text-transform: uppercase;
}
.inventory-doc-meta p { margin-top: 5px; color: var(--tinta-3); font-size: .66rem; line-height: 1.4; }
.inventory-filters { grid-template-columns: minmax(260px, 2fr) repeat(3, minmax(145px, 1fr)) auto; }
.table-inventory { min-width: 1180px; }
.table-inventory th, .table-inventory td { vertical-align: top; }
.table-inventory td:first-child { min-width: 280px; max-width: 380px; }
.table-inventory td:nth-child(7) { min-width: 240px; max-width: 330px; }
.table-inventory tr.is-partial td:first-child { box-shadow: inset 3px 0 0 var(--aviso); }
.source-raw {
  max-width: 360px; margin-top: 5px; color: var(--tinta-3);
  font-family: ui-monospace, monospace; font-size: .65rem; line-height: 1.35;
}
.badge-resolution-pendente { background: var(--areia); color: var(--tinta-3); }
.badge-resolution-sugerido { background: #FBF4F6; color: var(--verde); }
.badge-resolution-vinculado { background: #E7F3EE; color: var(--sucesso); }
.badge-resolution-novo_produto,
.badge-resolution-nova_variante { background: var(--blush); color: var(--verde); }
.badge-resolution-ignorado { background: var(--areia); color: var(--tinta-3); }
.badge-resolution-conflito { background: #FBECEF; color: var(--erro); }
.inventory-match { margin-top: 5px; color: var(--tinta-2); font-size: .72rem; line-height: 1.35; }
.inventory-match strong { color: var(--verde); }
.inventory-match small { display: block; color: var(--tinta-3); font-size: .65rem; }
.inventory-review-loading { min-height: 220px; display: grid; place-items: center; color: var(--tinta-3); }
.inventory-source-card {
  display: grid; grid-template-columns: 1fr 1fr; gap: 12px 18px;
  padding: 15px; border-radius: var(--r); background: var(--areia);
}
.inventory-source-card span {
  display: block; color: var(--tinta-3); font-family: var(--font-sans);
  font-size: .56rem; letter-spacing: .11em; text-transform: uppercase;
}
.inventory-source-card strong { display: block; margin-top: 3px; font-size: .8rem; line-height: 1.35; }
.inventory-source-card p {
  grid-column: 1 / -1; padding: 9px 11px; border-radius: 8px;
  background: #FFF8ED; color: var(--tinta-2); font-size: .74rem;
}
.inventory-candidate {
  margin: 14px 0; padding: 13px 15px; border: 1px solid #C9E4D8;
  border-radius: var(--r); background: #F4F9F7;
}
.inventory-candidate strong { display: block; margin-top: 2px; color: var(--verde); font-size: .9rem; }
.inventory-candidate > span { display: block; margin-top: 3px; color: var(--tinta-3); font-size: .72rem; }
.inventory-product-search { position: relative; }
.inventory-product-search .picker-list { top: calc(100% + 4px); max-height: 240px; overflow-y: auto; }
.inventory-product-search .picker-list button { display: block; width: 100%; text-align: left; }
.inventory-product-search .picker-list span { display: block; }
.inventory-resolution-actions {
  display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
  margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--linha);
}
.inventory-resolution-actions .link-min { margin-left: auto; border: 0; background: none; cursor: pointer; }

/* ---------------- ficha da peça ---------------- */
.abas { display: flex; gap: 4px; flex-wrap: wrap; margin-bottom: 16px; border-bottom: 1px solid var(--linha); }
.abas button {
  border: 0; background: none; cursor: pointer; padding: 11px 16px;
  font-family: var(--font-sans); font-size: .72rem; font-weight: 600;
  letter-spacing: .1em; text-transform: uppercase; color: var(--tinta-3);
  border-bottom: 2px solid transparent; margin-bottom: -1px;
}
.abas button:hover { color: var(--verde); }
.abas button.is-on { color: var(--verde); border-bottom-color: var(--verde); }
.abas-links a {
  padding: 11px 16px; font-family: var(--font-sans); font-size: .72rem; font-weight: 600;
  letter-spacing: .1em; text-transform: uppercase; color: var(--tinta-3);
  border-bottom: 2px solid transparent; margin-bottom: -1px;
}
.abas-links a:hover { color: var(--verde); text-decoration: none; }
.abas-links a.is-on { color: var(--verde); border-bottom-color: var(--verde); }
.aba-painel { display: none; }
.aba-painel.is-on { display: block; animation: reveal-up .3s ease both; }

.chips-check { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 16px; }
.chip-check {
  display: inline-flex; align-items: center; gap: 8px; cursor: pointer;
  border: 1px solid var(--linha); border-radius: 999px; padding: 8px 14px;
  font-size: .82rem; background: #fff;
}
.chip-check input { accent-color: var(--verde); }
.chip-check:has(input:checked) { border-color: var(--verde); background: #E7F3EE; color: var(--verde); }

.offering-chooser {
  display: grid; grid-template-columns: 1fr 1fr; gap: 16px; max-width: 820px;
}
.offering-choice, .offering-card {
  display: grid; gap: 8px; text-align: left; cursor: pointer;
  border: 1px solid var(--linha); border-radius: var(--r); padding: 22px 20px;
  background: #fff; color: inherit; font: inherit; text-decoration: none;
}
.offering-choice:hover, .offering-card:hover { border-color: var(--verde); text-decoration: none; }
.offering-choice strong, .offering-card strong {
  font-family: var(--font-display); font-size: 1.35rem; line-height: 1.2;
}
.offering-choice span, .offering-card span { color: var(--tinta-3); font-size: .86rem; line-height: 1.45; }
.offering-choice i { color: var(--verde); }
.offering-radios { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.offering-radios--count { grid-template-columns: repeat(4, 1fr); max-width: 640px; }
.offering-radios--count .offering-card { place-items: center; text-align: center; padding: 16px 10px; }
.offering-radios--count .offering-card strong {
  font-family: var(--font-num); font-variant-numeric: tabular-nums; font-size: 1.8rem;
}
.offering-card { padding: 16px 16px 14px; position: relative; }
.offering-card input { position: absolute; opacity: 0; pointer-events: none; }
.offering-card:has(input:checked) { border-color: var(--verde); background: #E7F3EE; }
.offering-card:has(input:focus-visible) { outline: 3px solid var(--champanhe); outline-offset: 2px; }
.offering-sizes { display: grid; gap: 28px; max-width: 640px; }
.offering-sizes fieldset { border: 0; margin: 0; padding: 0; display: grid; gap: 12px; }
.offering-sizes legend {
  font-family: var(--font-sans); font-size: .62rem; letter-spacing: .16em;
  text-transform: uppercase; color: var(--tinta-3); margin-bottom: 4px;
  grid-column: 1 / -1;
}
.decant-ml-fields { grid-template-columns: 1fr 1fr; }
.decant-ml { display: grid; gap: 6px; }
.decant-ml > span:first-child {
  font-family: var(--font-sans); font-size: .62rem; letter-spacing: .14em;
  text-transform: uppercase; color: var(--tinta-3);
}
.decant-ml-input { display: flex; align-items: center; gap: 8px; }
.decant-ml-input .form-control { max-width: 120px; }
.decant-ml-input em { font-style: normal; color: var(--tinta-3); font-family: var(--font-num); }
.offering-sizes-acoes { display: flex; gap: 12px; }
@media (max-width: 720px) {
  .offering-chooser, .offering-radios, .offering-radios--count, .decant-ml-fields { grid-template-columns: 1fr; }
}

.calc-resumo {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 14px;
  margin-top: 20px; padding: 16px 18px; background: var(--areia); border-radius: var(--r);
}
.calc-resumo span {
  display: block; font-family: var(--font-sans); font-size: .56rem;
  letter-spacing: .14em; text-transform: uppercase; color: var(--tinta-3);
}
.calc-resumo strong {
  display: block; margin-top: 4px; font-family: var(--font-num);
  font-variant-numeric: tabular-nums; font-size: 1.15rem; font-weight: 700; letter-spacing: -.01em;
}
.calc-resumo .link-min { margin-top: 2px; display: inline-block; }
.calc-negativo { color: var(--erro); }

.table-var td { padding: 6px 8px; }
.table-var .form-control--sm { min-width: 74px; }
.table-var input[type="checkbox"] { accent-color: var(--verde); }

.dropzone {
  border: 1.5px dashed var(--linha); border-radius: var(--r); padding: 30px 22px;
  text-align: center; color: var(--tinta-3); background: var(--marfim);
  transition: border-color var(--ease), background var(--ease);
}
.dropzone i { color: var(--verde-400); margin: 0 auto 8px; }
.dropzone p { color: var(--tinta-1); font-size: .9rem; }
.dropzone.is-sobre { border-color: var(--verde); background: #E7F3EE; }
.dropzone.is-enviando { opacity: .6; pointer-events: none; }
.galeria { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 14px; margin-top: 16px; }
.foto-card { border: 1px solid var(--linha); border-radius: var(--r); padding: 8px; background: #fff; }
.foto {
  position: relative; border-radius: var(--r); overflow: hidden;
  border: 1px solid var(--linha); background: var(--areia); aspect-ratio: 1;
}
.foto img { width: 100%; height: 100%; object-fit: cover; }
.foto figcaption {
  position: absolute; inset: auto 0 0 0; display: flex; gap: 6px; justify-content: flex-end;
  padding: 8px; background: linear-gradient(transparent, rgba(42,12,20,.72));
  opacity: 0; transition: opacity var(--ease);
}
.foto:hover figcaption { opacity: 1; }
.foto figcaption button {
  border: 0; background: rgba(251,249,247,.92); color: var(--verde-900); cursor: pointer;
  width: 28px; height: 28px; border-radius: 8px; display: grid; place-items: center;
}
.foto figcaption button:hover { background: #fff; color: var(--verde); }
.foto-capa-tag {
  position: absolute; top: 8px; left: 8px; display: none;
  background: var(--verde); color: var(--blush); border-radius: 999px;
  font-family: var(--font-sans); font-size: .55rem; letter-spacing: .12em;
  text-transform: uppercase; padding: 3px 9px;
}
.foto-card.is-capa { border-color: var(--verde); }
.foto-card.is-capa .foto-capa-tag { display: block; }
.foto-referencia {
  display: grid; gap: 14px; margin: 0 0 18px; padding: 16px;
  border: 1px solid var(--linha); border-radius: var(--r); background: var(--areia);
}
.foto-referencia .foto-meta-row { align-items: stretch; }
.foto-referencia input { flex: 1; min-width: 0; }
.foto-workflow-head { display: flex; align-items: start; justify-content: space-between; gap: 14px; }
.foto-reference-fields { display: grid; gap: 8px; padding-top: 4px; }
.foto-reference-facts {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 0;
}
.foto-reference-facts div { padding: 9px 10px; border: 1px solid var(--linha); border-radius: 10px; background: #fff; }
.foto-reference-facts dt {
  font-family: var(--font-sans); font-size: .54rem; letter-spacing: .13em;
  text-transform: uppercase; color: var(--tinta-3);
}
.foto-reference-facts dd { margin: 4px 0 0; font-size: .76rem; color: var(--tinta-1); }
.foto-compare { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.foto-compare figure {
  display: grid; grid-template-rows: auto minmax(220px, 1fr); margin: 0; padding: 10px;
  border: 1px solid var(--linha); border-radius: 12px; background: #fff;
}
.foto-compare figcaption {
  padding-bottom: 8px; font-family: var(--font-sans); font-size: .58rem;
  letter-spacing: .13em; text-transform: uppercase; color: var(--tinta-3);
}
.foto-compare img { width: 100%; height: 280px; object-fit: contain; border-radius: 8px; background: #fbf9f7; }
.foto-compare img[data-queue-ampliar] { cursor: pointer; }
.foto-compare-empty { display: grid; place-items: center; min-height: 220px; color: var(--tinta-3); font-size: .78rem; }
.photo-lightbox {
  position: fixed; inset: 0; z-index: 200;
  display: grid; place-items: center;
  margin: 0; padding: 0;
  width: 100vw; height: 100dvh;
  max-width: none; max-height: none;
  box-sizing: border-box;
  background: rgba(42, 12, 20, .92);
  animation: fade-in .18s ease both;
}
.photo-lightbox[hidden] { display: none !important; }
.photo-lightbox img,
.photo-lightbox .photo-lightbox-img {
  position: relative; z-index: 1;
  display: block;
  max-width: 92vw;
  max-height: 88vh;
  width: auto; height: auto;
  object-fit: contain;
  margin: 0; padding: 0;
  border: 0; border-radius: 0;
  background: transparent;
  box-shadow: none;
  pointer-events: auto;
}
.photo-lightbox-close {
  position: fixed; top: 16px; right: 16px; z-index: 3;
  width: 44px; height: 44px; border-radius: 999px;
  border: 1px solid rgba(245, 218, 223, .45);
  background: var(--verde); color: var(--blush);
  font-size: 1.35rem; line-height: 1; cursor: pointer;
  display: grid; place-items: center;
}
.photo-lightbox-close:hover { border-color: var(--blush); }
.foto-review-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.foto-review-actions .form-control { flex: 1 1 240px; }
.foto-meta { display: grid; gap: 7px; padding-top: 8px; }
.foto-meta-row { display: flex; align-items: center; gap: 8px; }
.foto-meta-row select { flex: 1; }
.foto-meta [data-foto-ref] { font-size: .72rem; }
.foto-foco { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.foto-foco label {
  display: flex; align-items: center; gap: 5px;
  font-family: var(--font-sans); font-size: .58rem; color: var(--tinta-3);
}
.foto-foco input { min-width: 0; width: 100%; accent-color: var(--verde); }
@media (max-width: 720px) {
  .foto-reference-facts { grid-template-columns: 1fr 1fr; }
  .foto-compare { grid-template-columns: 1fr; }
}
.photo-queue-tabs { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 16px; }
.photo-queue-tabs a {
  display: inline-flex; align-items: center; gap: 7px; padding: 8px 11px;
  border: 1px solid var(--linha); border-radius: 999px; background: #fff;
  font-family: var(--font-sans); font-size: .62rem; text-transform: capitalize; color: var(--tinta-2);
}
.photo-queue-tabs a.is-on { border-color: var(--verde); background: var(--verde); color: var(--blush); }
.photo-queue-tabs strong { font-family: var(--font-num); font-size: .68rem; }
.photo-queue-tabs a.photo-queue-tab--secondary { opacity: .72; border-style: dashed; }
.photo-queue-tabs a.photo-queue-tab--secondary.is-on { opacity: 1; border-style: solid; }
.photo-queue-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(420px, 1fr)); gap: 14px; }
.photo-queue-card { display: grid; gap: 14px; }
.photo-queue-card > header,
.photo-queue-card > footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.photo-queue-card h2 { margin-top: 3px; font-size: 1.05rem; }
.photo-queue-actions { justify-content: flex-start !important; flex-wrap: wrap; }
.photo-queue-note {
  margin: 0;
  padding: 10px 12px;
  background: var(--areia, #f3eee8);
  border-radius: var(--r, 8px);
  font-size: .84rem;
  line-height: 1.45;
  color: var(--tinta-2);
}
.photo-queue-swap {
  border-top: 1px solid var(--linha, #e8e2dc);
  padding-top: 10px;
}
.photo-queue-swap > summary {
  cursor: pointer;
  list-style: none;
  font-size: .78rem;
  color: var(--tinta-3);
  font-family: var(--font-ui, inherit);
}
.photo-queue-swap > summary::-webkit-details-marker { display: none; }
.photo-queue-swap[open] > summary { margin-bottom: 10px; color: var(--tinta-2); }
.photo-queue-ref { display: grid; gap: 8px; }
.photo-queue-google {
  justify-content: center;
  width: 100%;
  background: #E7F3EE;
  border-color: #C9E4D8;
  color: var(--verde);
  font-weight: 600;
}
.photo-queue-google:hover { background: #D5EBE3; border-color: var(--verde-400); text-decoration: none; }
.photo-queue-ref .foto-meta-row { align-items: stretch; }
.photo-queue-ref input[type="url"],
.photo-queue-ref input.form-control { flex: 1; min-width: 0; }
.photo-queue-ref-actions { flex-wrap: wrap; }
.photo-queue-ref-actions .btn { flex: 0 0 auto; white-space: nowrap; }
.photo-queue-card.is-bringing,
.photo-queue-card.is-uploading { opacity: .72; }
.foto-compare [data-queue-ref-preview] { min-height: 220px; display: grid; }
@media (max-width: 520px) {
  .photo-queue-grid { grid-template-columns: 1fr; }
  .photo-queue-ref-actions .btn { flex: 1 1 auto; justify-content: center; }
}

.readiness {
  display: grid; grid-template-columns: auto 1fr; gap: 8px 14px; align-items: center;
  padding: 14px 16px; margin-bottom: 16px; background: var(--areia); border-radius: var(--r);
}
.readiness-score { grid-row: span 2; text-align: center; }
.readiness-score strong { display: block; font-family: var(--font-num); font-size: 1.4rem; font-variant-numeric: tabular-nums; }
.readiness-score span { font-family: var(--font-sans); font-size: .55rem; letter-spacing: .12em; text-transform: uppercase; color: var(--tinta-3); }
.readiness-bar { height: 6px; border-radius: 999px; background: var(--linha); overflow: hidden; }
.readiness-bar i { display: block; height: 100%; background: var(--verde); border-radius: inherit; }
.readiness p { font-size: .76rem; color: var(--tinta-3); }
.readiness p.is-ok { color: var(--sucesso); }
.multi-select { min-height: 130px; }
.subsec { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--linha); }
.subsec .card-head h3 { font-family: var(--font-display); font-size: 1.05rem; font-weight: 600; }

/* ---------------- categorias ---------------- */
.callout-aviso {
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
  background: #FBF1DF; border: 1px solid #EBD9B4; border-radius: var(--r);
  padding: 12px 16px; margin-bottom: 16px; font-size: .88rem;
}
.callout-aviso i { color: var(--aviso); }
.callout-aviso a { margin-left: auto; }
.cat-lista { display: grid; gap: 14px; }
.cat-bloco.is-off { opacity: .6; }
.cat-mae { display: flex; align-items: flex-start; gap: 14px; }
.cat-info h2 { font-family: var(--font-display); font-size: 1.2rem; font-weight: 600; }
.cat-acoes { margin-left: auto; display: flex; align-items: center; gap: 6px; }
.cat-filhos { list-style: none; margin-top: 14px; border-top: 1px solid var(--areia); }
.cat-filhos li {
  display: flex; align-items: center; gap: 12px;
  padding: 9px 0; border-bottom: 1px solid var(--areia); font-size: .88rem;
}
.cat-filhos li:last-child { border-bottom: 0; }
.cat-filhos li.is-off { opacity: .55; }
.cat-filho-nome { font-weight: 500; }
.cat-filho-meta { color: var(--tinta-3); font-size: .72rem; }
.cat-filho-n {
  margin-left: auto; font-family: var(--font-num); font-variant-numeric: tabular-nums;
  font-size: .82rem; color: var(--tinta-3); background: var(--areia);
  border-radius: 999px; padding: 2px 10px;
}
.cat-filho-acoes { display: flex; align-items: center; gap: 4px; }

.kpis-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.master-nome { display: flex; align-items: center; gap: 11px; }
.master-nome > img, .master-nome > span {
  width: 40px; height: 40px; border-radius: 10px; object-fit: contain;
  background: var(--areia); border: 1px solid var(--linha);
}
.master-nome > span {
  display: grid; place-items: center; color: var(--verde);
  font-family: var(--font-display); font-size: 1.05rem; font-weight: 600;
}
.danger-link { color: var(--erro); }
.section-actions { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; flex-wrap: wrap; margin: 22px 0 16px; }
.section-actions h2 { font-family: var(--font-display); font-size: 1.35rem; font-weight: 600; }
.section-actions p { color: var(--tinta-3); font-size: .84rem; margin-top: 3px; }
.vitrine-home-head {
  display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; flex-wrap: wrap;
  margin: 22px 0 16px;
}
.vitrine-home-head h2 { font-family: var(--font-display); font-size: 1.35rem; font-weight: 600; }
.vitrine-home-head p { color: var(--tinta-3); font-size: .84rem; margin-top: 3px; max-width: 46rem; }
.vitrine-home-kpis { display: flex; gap: 16px; color: var(--tinta-3); font-size: .82rem; }
.vitrine-home-kpis strong { font-family: var(--font-num); font-variant-numeric: tabular-nums; color: var(--verde); }
.vitrine-home-form { padding: 22px; display: grid; gap: 22px; }
.vitrine-home-form fieldset { border: 0; margin: 0; padding: 0; display: grid; gap: 12px; }
.vitrine-home-form legend {
  font-family: var(--font-sans); font-size: .69rem; font-weight: 600;
  letter-spacing: .2em; text-transform: uppercase; color: var(--verde-500); margin-bottom: 4px;
}
.vitrine-home-actions { display: flex; justify-content: flex-end; gap: 10px; flex-wrap: wrap; }

/* Compras, recebimentos e estoque */
.filters-compact { display: flex; grid-template-columns: none; }
.filters-compact .filtro-busca { flex: 1 1 320px; }
.filters-compact > .form-control { width: auto; min-width: 190px; }
.badge-purchase-rascunho { background: var(--areia); color: var(--tinta-3); }
.badge-purchase-enviado { background: #FBF4F6; color: var(--verde); }
.badge-purchase-parcial { background: #FBF1DF; color: var(--aviso); }
.badge-purchase-recebido { background: #E7F3EE; color: var(--sucesso); }
.badge-purchase-cancelado { background: #FBECEF; color: var(--erro); }
/* Cada estágio tem cor própria e SÓLIDA — bate o olho e entende na hora. */
.badge-order-rascunho,
.badge-order-aguardando_pagamento,
.badge-order-pago,
.badge-order-em_separacao,
.badge-order-enviado,
.badge-order-entregue,
.badge-order-cancelado,
.badge-order-estornado {
  color: #fff; font-weight: 700; padding: 4px 10px;
  box-shadow: 0 1px 2px rgba(42,12,20,.12);
}
.badge-order-rascunho { background: #8A817A; }
.badge-order-aguardando_pagamento { background: #D9932A; }
.badge-order-pago { background: #1F9E6E; }
.badge-order-em_separacao { background: #0E9C89; }
.badge-order-enviado { background: #3B5BA5; }
.badge-order-entregue { background: var(--verde); color: var(--blush); }
.badge-order-cancelado, .badge-order-estornado { background: #CF4436; }
.table-compra .form-control--sm { min-width: 105px; }
.table-compra [data-item-produto] { min-width: 300px; }
.table-compra [data-item-variante] { min-width: 160px; }
.table-pedido .form-control--sm { min-width: 72px; }
.table-pedido [data-item-variante] { min-width: 140px; }
.table-pedido td strong { font-size: .88rem; }

.picker { position: relative; }
.picker--add { margin-bottom: 12px; }
.picker-search { position: relative; }
.picker-chosen {
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  border: 1px solid var(--linha); border-radius: 10px; padding: 8px 10px 8px 12px; background: #fff;
}
.picker-chosen strong { display: block; font-size: .9rem; }
.picker-static { padding: 10px 0; font-size: .92rem; }
.picker-list {
  position: absolute; left: 0; right: 0; top: calc(100% + 4px); z-index: 20;
  list-style: none; max-height: 240px; overflow: auto;
  background: #fff; border: 1px solid var(--linha); border-radius: 10px;
  box-shadow: 0 10px 28px rgba(42,12,20,.12);
}
.picker-list li button {
  display: block; width: 100%; text-align: left; border: 0; background: none;
  padding: 9px 12px; cursor: pointer; color: inherit;
}
.picker-list li button:hover { background: var(--areia); }
.picker-list li button strong { display: block; font-size: .84rem; }
.picker-list li button .muted { margin-top: 1px; }
.picker-empty { padding: 10px 12px; color: var(--tinta-3); font-size: .8rem; }

.confere {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px; margin: 0 0 14px;
}
.confere div { min-width: 0; }
.confere dt {
  font-family: var(--font-sans); font-size: .58rem; letter-spacing: .12em;
  text-transform: uppercase; color: var(--tinta-3);
}
.confere dd { margin-top: 3px; font-size: .88rem; }
.confere-check { margin: 0 0 14px; }

details.card > summary { cursor: pointer; list-style: none; }
details.card > summary::-webkit-details-marker { display: none; }
details.card > summary.card-head { margin-bottom: 0; }
details.card[open] > summary.card-head { margin-bottom: 14px; }
.timeline { display: grid; gap: 0; }
.timeline-item { display: flex; gap: 14px; position: relative; padding: 8px 0 18px; }
.timeline-item::before { content: ''; position: absolute; left: 5px; top: 20px; bottom: -2px; width: 1px; background: var(--linha); }
.timeline-item:last-child::before { display: none; }
.timeline-item > i { width: 11px; height: 11px; border-radius: 50%; background: var(--sucesso); margin-top: 5px; flex-shrink: 0; }
.timeline-item p { font-size: .78rem; color: var(--tinta-3); margin-top: 2px; }
.stock-in { background: #E7F3EE; color: var(--sucesso); }
.stock-out { background: #FBECEF; color: var(--erro); }
.stock-pos { color: var(--sucesso); font-weight: 600; }
.stock-neg { color: var(--erro); font-weight: 600; }
.badge-auth-verificado, .badge-auth-nao_aplicavel { background: #E7F3EE; color: var(--sucesso); }
.badge-auth-pendente { background: #FBF1DF; color: var(--aviso); }
.badge-auth-rejeitado { background: #FBECEF; color: var(--erro); }
.callout-inline { padding: 12px 14px; border-radius: 10px; background: var(--areia); color: var(--tinta-2); font-size: .86rem; margin-top: 16px; }
.callout-inline.is-erro { background: #FBECEF; color: var(--erro); }
.audit-detail summary { cursor: pointer; color: var(--verde); font-size: .78rem; white-space: nowrap; }
.audit-detail pre { max-width: 520px; max-height: 240px; overflow: auto; margin: 8px 0; padding: 10px; border-radius: 8px; background: var(--verde-900); color: var(--blush); font: .68rem/1.5 ui-monospace, monospace; white-space: pre-wrap; }
.audit-detail strong { display: block; margin-top: 8px; font-size: .68rem; }
.import-card { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; align-items: start; }
.import-card h2 { font-family: var(--font-display); font-size: 1.35rem; }
.import-card p, .import-card li { color: var(--tinta-3); font-size: .86rem; }
.import-card ul { margin: 16px 0 0 20px; display: grid; gap: 6px; }
.dropzone-file { display: grid; place-items: center; gap: 8px; cursor: pointer; }
.dropzone-file input { max-width: 100%; margin-top: 8px; }
.dropzone-file + .btn { margin-top: 12px; }

.u-mb-2 { margin-bottom: 12px; }

.form-label {
  display: block; font-family: var(--font-sans); font-size: .68rem; font-weight: 600;
  letter-spacing: .16em; text-transform: uppercase; color: var(--tinta-2); margin-bottom: 7px;
}
.field-info {
  position: relative; display: inline-grid; place-items: center; vertical-align: 1px;
  width: 17px; height: 17px; margin-left: 5px; padding: 0; border-radius: 50%;
  border: 1px solid var(--verde-200, #E4C5CC); background: #fff; color: var(--verde-400);
  cursor: help; text-transform: none; letter-spacing: 0;
}
.field-info:hover, .field-info:focus, .field-info.is-open { color: var(--verde); border-color: var(--verde); outline: none; }
.field-tip {
  position: fixed; z-index: 200;
  width: max-content; max-width: min(280px, calc(100vw - 24px));
  padding: 10px 12px; border-radius: 9px;
  background: var(--verde-900); color: var(--blush);
  font-family: var(--font-text); font-size: .74rem; font-weight: 400; line-height: 1.5;
  letter-spacing: 0; text-align: left; white-space: pre-line;
  box-shadow: 0 14px 36px rgba(42,12,20,.28);
  pointer-events: none;
  opacity: 0; visibility: hidden;
  transform: translateY(4px);
  transition: opacity var(--ease), transform var(--ease), visibility var(--ease);
}
.field-tip.is-on { opacity: 1; visibility: visible; transform: none; }
.field-tip::after {
  content: ''; position: absolute;
  width: 8px; height: 8px; background: var(--verde-900);
  left: var(--arrow-x, 50%); bottom: -4px;
  transform: translateX(-50%) rotate(45deg);
}
.field-tip.is-below::after { bottom: auto; top: -4px; }
.field-info-chip { flex-shrink: 0; margin-left: 2px; }
.table-var th .field-info { margin-left: 4px; }
.field-label-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.field-label-row .form-label { margin-bottom: 7px; }
.field-actions { display: inline-flex; gap: 8px; white-space: nowrap; }
.field-actions button {
  border: 0; background: none; color: var(--verde); cursor: pointer; padding: 0;
  font-family: var(--font-sans); font-size: .58rem; letter-spacing: .08em; text-transform: uppercase;
}
.field-actions button:hover { text-decoration: underline; text-underline-offset: 2px; }
.chip-edit-wrap { display: inline-flex; align-items: center; }
.chip-edit-wrap .chip-check { border-radius: 999px 0 0 999px; }
.chip-edit {
  align-self: stretch; width: 28px; padding: 0; border: 1px solid var(--linha); border-left: 0;
  border-radius: 0 999px 999px 0; background: #fff; color: var(--tinta-3); cursor: pointer;
  display: grid; place-items: center;
}
.chip-edit:hover { color: var(--verde); border-color: var(--verde-400); }
.inline-save-status { min-height: 22px; margin-top: 12px; font-size: .78rem; color: var(--erro); }
.form-control {
  width: 100%; padding: 11px 14px; border: 1px solid #D2C8C1; border-radius: 8px;
  background: #fff; outline: none;
  font-variant-numeric: tabular-nums lining-nums;
}
.form-control:focus { border-color: var(--verde); box-shadow: 0 0 0 3px rgba(107,36,56,.12); }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.form-grid .span-2 { grid-column: 1 / -1; }
.form-check { display: flex; align-items: center; gap: 8px; margin-top: 12px; font-size: .88rem; }
.form-check input { accent-color: var(--verde); }
.form-actions { display: flex; gap: 10px; flex-wrap: wrap; margin: 8px 0 40px; }
.readonly {
  padding: 12px 0; font-family: var(--font-num);
  font-variant-numeric: tabular-nums lining-nums;
  font-size: 1.15rem; font-weight: 700; letter-spacing: -.01em;
}
.prod-form .card { margin-bottom: 16px; }
.input-icon-wrap { position: relative; }
.pwd-toggle {
  position: absolute; right: 8px; top: 50%; transform: translateY(-50%);
  border: 0; background: none; color: var(--tinta-3); cursor: pointer; padding: 6px;
}

.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  border: 1px solid transparent; border-radius: 999px; cursor: pointer;
  font-family: var(--font-sans); font-size: .76rem; font-weight: 600;
  letter-spacing: .14em; text-transform: uppercase; padding: 12px 22px;
  text-decoration: none;
}
.btn:hover { text-decoration: none; }
.btn-primary { background: var(--verde); color: var(--blush); }
.btn-primary:hover { background: var(--verde-800); }
.btn-ghost { background: #fff; border-color: var(--linha); color: var(--tinta-1); }
.btn-ghost:hover { border-color: var(--verde-400); }
.btn-block { width: 100%; }
.btn-icon { width: 42px; height: 42px; padding: 0; }

.alert { padding: 12px 14px; border-radius: 10px; margin-bottom: 16px; font-size: .88rem; }
.alert-ok { background: #E7F3EE; color: var(--sucesso); }
.alert-erro { background: #FBECEF; color: var(--erro); }
.alert-aviso { background: var(--areia); color: var(--aviso); }

/* ---------------- dashboard 2.0 · gráficos · integrações ---------------- */
.pulse-grid {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px; margin-bottom: 14px;
}
.pulse {
  display: block; background: #fff; border: 1px solid var(--linha);
  border-radius: var(--r); padding: 14px 16px 12px;
  color: inherit; text-decoration: none; min-width: 0;
  box-shadow: inset 3px 0 0 var(--verde);
}
.pulse:hover { border-color: var(--verde-400); text-decoration: none; }
.pulse-pay { box-shadow: inset 3px 0 0 var(--champanhe); }
.pulse-ship { box-shadow: inset 3px 0 0 var(--verde); }
.pulse-cash { box-shadow: inset 3px 0 0 var(--verde-400); }
.pulse .eyebrow { color: var(--tinta-3); }
.pulse-num {
  display: block; margin-top: 6px;
  font-family: var(--font-num); font-variant-numeric: tabular-nums lining-nums;
  font-size: 1.45rem; font-weight: 700; letter-spacing: -.02em; color: var(--tinta-1);
}
.pulse-sub { display: block; margin-top: 2px; font-size: .74rem; color: var(--tinta-3); font-variant-numeric: tabular-nums; }

.wallet-pulses {
  display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: -2px 0 14px;
}
.pulse-wallet { box-shadow: inset 3px 0 0 var(--verde-400); }
.pulse-wallet.is-empty,
.pulse-wallet.is-unknown { box-shadow: inset 3px 0 0 var(--aviso); background: #FFF8ED; }
.pulse-wallet.is-empty .pulse-sub,
.pulse-wallet.is-unknown .pulse-sub { color: #8A5A12; }

.wallet-rail {
  display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
  margin: -4px 0 14px;
}
.wallet-chip {
  display: inline-flex; align-items: baseline; gap: 10px;
  padding: 8px 14px 8px 12px; border-radius: 999px;
  background: #fff; border: 1px solid var(--linha);
  color: var(--tinta-2); text-decoration: none;
}
.wallet-chip:hover { border-color: var(--verde); color: var(--verde); text-decoration: none; }
.wallet-chip span {
  font-family: var(--font-sans); font-size: .62rem; font-weight: 600;
  letter-spacing: .08em; text-transform: uppercase; color: var(--tinta-3);
}
.wallet-chip strong {
  font-family: var(--font-num); font-variant-numeric: tabular-nums;
  font-size: .95rem; font-weight: 700; color: var(--tinta-1);
}
.wallet-chip em { font-style: normal; font-size: .7rem; color: var(--tinta-3); }
.wallet-chip.is-empty, .wallet-chip.is-unknown { background: #FFF8ED; border-color: #EEDBB7; }
.wallet-chip.is-empty em, .wallet-chip.is-unknown em { color: #8A5A12; }

.dash-charts {
  display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(240px, .85fr);
  gap: 12px; margin-bottom: 12px; align-items: stretch;
}
.dash-charts > .card { margin-bottom: 0; }
.dash-charts .chart-card--area { display: flex; flex-direction: column; }
.dash-charts .chart-area { flex: 1; display: flex; flex-direction: column; justify-content: flex-end; }
.dash-charts .chart-area .tw-chart-area,
.dash-charts .chart-area.is-empty .tw-chart-area { height: 6.75rem; }
.chart-mix {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 12px; margin-bottom: 14px; align-items: stretch;
}
.chart-mix > .card { margin-bottom: 0; }
.chart-card { min-width: 0; }
.chart-card .card-head { margin-bottom: 8px; }
.chart-card--area { padding: 16px 18px 12px; }
.chart-card--area .card-head { margin-bottom: 4px; align-items: flex-end; }
.chart-card--area .card-head h2 { font-size: 1.15rem; line-height: 1.15; }
.chart-card--mix { padding: 16px 18px; }
.chart-card--mix .card-head { margin-bottom: 12px; }
.chart-card--mix .card-head h2 { font-size: 1.1rem; }
.chart-lead { font-size: .76rem; color: var(--tinta-3); margin-top: 3px; font-variant-numeric: tabular-nums; }
.chart-head-num {
  font-family: var(--font-num); font-variant-numeric: tabular-nums lining-nums;
  font-size: 1.35rem; font-weight: 700; letter-spacing: -.02em; line-height: 1;
  color: var(--tinta-1);
}
.chart-empty { color: var(--tinta-3); padding: 16px 8px; text-align: center; font-size: .82rem; }
.chart-area { min-width: 0; }
.chart-area-note { margin-top: 2px; font-size: .74rem; color: var(--tinta-3); }
.reserva-nota {
  margin: 10px 0 0; padding: 8px 12px; border-radius: 8px;
  background: var(--areia); color: var(--tinta-2); font-size: .78rem;
}
.tw-chart { display: block; width: 100%; height: auto; }
.tw-chart-area { width: 100%; height: 6.5rem; }
.chart-area.is-empty .tw-chart-area { height: 4.5rem; }
.tw-chart .chart-grid { stroke: var(--linha); stroke-width: 1; }
.tw-chart .chart-axis {
  font-family: var(--font-num); font-size: 11px; fill: var(--tinta-3);
  font-variant-numeric: tabular-nums lining-nums;
}
.tw-chart-donut {
  width: 7rem; height: 7rem; flex-shrink: 0;
}
.tw-chart-donut .chart-donut-n {
  font-family: var(--font-num); font-size: 18px; font-weight: 700;
  fill: var(--tinta-1); font-variant-numeric: tabular-nums;
}
.tw-chart-donut .chart-donut-lbl {
  font-family: var(--font-sans); font-size: 7px; letter-spacing: .14em;
  text-transform: uppercase; fill: var(--tinta-3);
}
.chart-donut-wrap { display: flex; align-items: center; gap: 16px; min-height: 7rem; }
.chart-legend { list-style: none; display: grid; gap: 6px; flex: 1; min-width: 0; }
.chart-legend li {
  display: grid; grid-template-columns: 8px 1fr auto; gap: 8px; align-items: center;
  font-size: .78rem; color: var(--tinta-2);
}
.chart-legend i { width: 8px; height: 8px; border-radius: 50%; }
.chart-legend strong {
  font-family: var(--font-num); font-variant-numeric: tabular-nums; font-weight: 700;
  font-size: .82rem;
}
.chart-bars {
  display: grid; gap: 11px; padding: 4px 0;
  align-content: center; min-height: 7rem;
}
.chart-bar { display: grid; grid-template-columns: 92px minmax(0, 1fr) 1.4em; gap: 10px; align-items: center; }
.chart-bar-lbl { font-size: .78rem; color: var(--tinta-2); }
.chart-bar-track { height: 6px; border-radius: 999px; background: var(--areia); overflow: hidden; }
.chart-bar-track i { display: block; height: 100%; border-radius: inherit; }
.chart-bar-n {
  font-family: var(--font-num); font-variant-numeric: tabular-nums;
  font-weight: 700; font-size: .82rem; text-align: right;
}
.chart-bar.is-zero .chart-bar-lbl,
.chart-bar.is-zero .chart-bar-n { color: var(--tinta-3); font-weight: 500; }

.vitrine-open {
  background: linear-gradient(165deg, #6B2438, #2A0C14);
  color: var(--blush); border-radius: var(--r); padding: 18px 18px 16px;
  display: flex; flex-direction: column;
}
.vitrine-open .eyebrow { color: rgba(245,218,223,.55); }
.vitrine-open h2 {
  font-family: var(--font-display); font-size: 1.25rem; font-weight: 600;
  color: var(--blush); margin-top: 4px;
}
.vitrine-when { color: var(--champanhe); font-size: .8rem; margin-top: 3px; }
.vitrine-count { margin-top: 12px; font-size: .82rem; color: rgba(245,218,223,.82); }
.vitrine-count strong {
  font-family: var(--font-num); font-variant-numeric: tabular-nums;
  font-size: 1.45rem; font-weight: 700; color: var(--blush); letter-spacing: -.02em;
}
.vitrine-meta {
  display: flex; gap: 12px; flex-wrap: wrap; margin-top: 12px;
  font-size: .68rem; color: rgba(245,218,223,.62);
}
.vitrine-meta strong {
  display: block; font-family: var(--font-num); font-variant-numeric: tabular-nums;
  font-size: .92rem; color: var(--blush); font-weight: 700;
}
.vitrine-bar { height: 3px; border-radius: 999px; background: rgba(245,218,223,.16); margin-top: 12px; overflow: hidden; }
.vitrine-bar i { display: block; height: 100%; background: var(--champanhe); border-radius: inherit; }
.vitrine-btn {
  margin-top: 14px; align-self: flex-start;
  background: rgba(245,218,223,.08); border-color: rgba(245,218,223,.28); color: var(--blush);
}
.vitrine-btn:hover { background: rgba(245,218,223,.16); border-color: var(--blush); }

.fila-next {
  font-family: var(--font-sans); font-size: .62rem; font-weight: 600;
  letter-spacing: .1em; text-transform: uppercase; color: var(--verde);
}
.fila-next:hover { color: var(--verde-800); }
.is-late { color: var(--aviso); font-weight: 600; font-variant-numeric: tabular-nums; }

.integ-grid {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px; margin-bottom: 16px;
}
.integ-card {
  appearance: none; display: flex; flex-direction: column; align-items: stretch;
  width: 100%; text-align: left; cursor: pointer;
  background: #fff; border: 1px solid var(--linha); border-radius: var(--r);
  padding: 16px 16px 14px;
}
.integ-card:hover { border-color: var(--verde-400); }
.integ-card:focus-visible { outline: 2px solid var(--verde); outline-offset: 2px; }
.integ-card.is-on { border-color: #C9E4D8; }
.integ-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.integ-ico {
  width: 36px; height: 36px; border-radius: 10px;
  display: grid; place-items: center; background: #E7F3EE; color: var(--verde);
}
.integ-card.is-off .integ-ico { background: var(--areia); color: var(--tinta-3); }
.integ-card h2 { font-family: var(--font-display); font-size: 1.12rem; font-weight: 600; }
.integ-card p { color: var(--tinta-3); font-size: .84rem; margin-top: 6px; }
.integ-card .integ-dept-open { padding-top: 12px; }
.modal-caixa--integ { max-width: 640px; }
.modal-caixa--integ-wide { max-width: 720px; }
.notify-matrix { width: 100%; border-collapse: collapse; font-size: .82rem; }
.notify-matrix th {
  text-align: left; font-family: var(--font-sans); font-size: .62rem;
  letter-spacing: .12em; text-transform: uppercase; color: var(--tinta-3);
  padding: 0 8px 8px; font-weight: 600;
}
.notify-matrix th:not(:first-child),
.notify-matrix td:not(:first-child) { text-align: center; width: 88px; }
.notify-matrix td { padding: 8px; border-top: 1px solid var(--areia); vertical-align: middle; }
.notify-matrix td strong { display: block; font-size: .88rem; color: var(--tinta-1); }
.notify-matrix td span { display: block; margin-top: 2px; color: var(--tinta-3); font-size: .72rem; }
.notify-matrix .notify-group {
  font-family: var(--font-display); font-size: .95rem; font-weight: 600;
  padding: 14px 8px 6px; border-top: none; color: var(--tinta-1); text-align: left;
}
.notify-matrix .form-check { margin-top: 0; justify-content: center; }
.form-secret { min-width: 0; }
.form-secret .input-icon-wrap .form-control { padding-right: 46px; }
.integ-detail { margin-top: 12px; font-size: .76rem; color: var(--tinta-2); }
.integ-wallet { margin-top: 8px; font-family: var(--font-num, Inter, sans-serif); font-size: .82rem; font-weight: 600; font-variant-numeric: tabular-nums; }
.integ-wallet.is-empty, .integ-wallet.is-unknown { color: var(--aviso); }
.integ-note p + p { margin-top: 10px; color: var(--tinta-3); font-size: .88rem; }

.integ-depts {
  display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 0 0 22px;
}
.integ-dept {
  appearance: none; display: flex; flex-direction: column; align-items: stretch;
  width: 100%; text-align: left; cursor: pointer;
  background: #fff; border: 1px solid var(--linha); border-radius: var(--r);
  padding: 18px 18px 16px;
}
.integ-dept:hover { border-color: var(--verde-400); }
.integ-dept:focus-visible { outline: 2px solid var(--verde); outline-offset: 2px; }
.integ-dept.is-on { border-color: #C9E4D8; }
.integ-dept h2 { font-family: var(--font-display); font-size: 1.35rem; font-weight: 600; }
.integ-dept > p { color: var(--tinta-3); font-size: .84rem; margin-top: 6px; }
.integ-dept-meta {
  list-style: none; display: flex; flex-wrap: wrap; gap: 8px;
  margin: 14px 0 0; padding: 0;
}
.integ-dept-meta li {
  font-size: .76rem; color: var(--tinta-2); background: var(--areia);
  border-radius: 999px; padding: 5px 10px;
  font-variant-numeric: tabular-nums;
}
.integ-dept-open {
  margin-top: auto; padding-top: 16px;
  font-family: var(--font-sans); font-size: .62rem;
  letter-spacing: .18em; text-transform: uppercase; color: var(--verde);
}
.integ-house-label { margin: 4px 0 10px; }

.integ-route { margin: 0 0 22px; }
.integ-route-group + .integ-route-group { margin-top: 16px; }
.integ-route-group .eyebrow { margin-bottom: 8px; }
.integ-route-opts { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.integ-route-opt {
  display: block; cursor: pointer;
  border: 1px solid var(--linha); border-radius: var(--r);
  background: #fff; padding: 12px 14px 13px;
}
.integ-route-opt input { position: absolute; opacity: 0; pointer-events: none; }
.integ-route-opt strong { display: block; font-size: .92rem; font-weight: 600; }
.integ-route-opt small { display: block; margin-top: 4px; color: var(--tinta-3); font-size: .74rem; }
.integ-route-opt:has(input:checked) {
  border-color: var(--verde); background: #E7F3EE;
}
.integ-route-opt.is-missing small { color: var(--aviso); }
.integ-route-acoes { margin-top: 14px; }
.integ-route .form-hint { margin-top: 12px; }

.integ-opt {
  display: flex; align-items: flex-start; gap: 12px;
  background: #fff; border: 1px solid var(--linha); border-radius: var(--r);
  padding: 14px 16px; margin: 0 0 8px;
}
.integ-opt.is-on { border-color: #C9E4D8; }
.integ-opt .integ-ico { flex-shrink: 0; }
.integ-opt-body { min-width: 0; flex: 1; }
.integ-opt-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.integ-opt h3 { font-family: var(--font-display); font-size: 1.08rem; font-weight: 600; }
.integ-opt p { color: var(--tinta-3); font-size: .84rem; margin-top: 6px; }
.integ-opt-acoes { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.modal .wallet-strip { margin: 0 0 16px; }

.wallet-strip { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 0 0 20px; }
.wallet-card {
  background: #fff; border: 1px solid var(--linha); border-radius: var(--r);
  padding: 16px 18px 14px;
}
.wallet-card.is-ok { border-color: #C9E4D8; }
.wallet-card.is-empty, .wallet-card.is-unknown { border-color: #EEDBB7; background: #FFF8ED; }
.wallet-card .eyebrow { margin-bottom: 6px; }
.wallet-amount {
  display: block; font-family: var(--font-num, Inter, sans-serif);
  font-size: 1.45rem; font-weight: 650; font-variant-numeric: tabular-nums; letter-spacing: -.02em;
}
.wallet-card p { margin-top: 6px; color: var(--tinta-3); font-size: .8rem; }
.wallet-card a { display: inline-block; margin-top: 10px; font-size: .76rem; color: var(--verde); }

.shipment-wallets {
  display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin: -6px 0 18px;
}
.shipment-wallets > div {
  min-width: 0; display: flex; align-items: center; gap: 9px;
  padding: 11px 12px; border: 1px solid var(--linha); border-radius: 10px;
  background: var(--marfim); color: var(--tinta-2); font-size: .76rem;
}
.shipment-wallets span { min-width: 0; flex: 1; }
.shipment-wallets strong {
  display: block; margin-bottom: 2px; color: var(--tinta-1);
  font-family: var(--font-sans); font-size: .64rem; letter-spacing: .09em; text-transform: uppercase;
}
.shipment-wallets a { flex: 0 0 auto; font-size: .72rem; color: var(--verde); }
.shipment-wallets .is-ok { background: #F2F8F5; border-color: #C9E4D8; }
.shipment-wallets .is-empty, .shipment-wallets .is-unknown { background: #FFF8ED; border-color: #EEDBB7; }

.shipment-card { scroll-margin-top: 18px; }
.shipment-card .card-head > div .eyebrow { margin-bottom: 2px; }
.badge-shipment-rascunho { background: var(--areia); color: var(--tinta-3); }
.badge-shipment-etiqueta_pronta { background: var(--blush); color: var(--verde); }
.badge-shipment-postado,
.badge-shipment-em_transito { background: #E8EEF8; color: #2A4A7A; }
.badge-shipment-entregue { background: #E7F3EE; color: var(--sucesso); }
.badge-shipment-excecao,
.badge-shipment-cancelado,
.badge-shipment-devolvido { background: #FBECEF; color: var(--erro); }
.shipment-pulse {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px; margin-bottom: 18px;
}
.shipment-pulse > div {
  min-width: 0; display: flex; align-items: flex-start; gap: 9px;
  padding: 11px 12px; border: 1px solid var(--linha); border-radius: 10px;
  background: var(--marfim); color: var(--tinta-2); font-size: .76rem; line-height: 1.35;
}
.shipment-pulse svg { flex: 0 0 auto; margin-top: 1px; }
.shipment-pulse span { min-width: 0; }
.shipment-pulse strong {
  display: block; margin-bottom: 2px; color: var(--tinta-1);
  font-family: var(--font-sans); font-size: .64rem; letter-spacing: .09em; text-transform: uppercase;
}
.shipment-pulse .is-ok { background: #F2F8F5; border-color: #C9E4D8; color: var(--verde); }
.shipment-pulse .is-ok svg { color: var(--sucesso); }
.shipment-pulse .is-missing { background: #FFF8ED; border-color: #EEDBB7; }
.shipment-pulse .is-missing svg { color: var(--aviso); }
.shipment-pulse .is-pending svg { color: var(--tinta-3); }
.shipment-volume-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.shipment-dimensions {
  display: grid; grid-template-columns: 1fr auto 1fr auto 1fr;
  gap: 7px; align-items: end;
}
.shipment-dimensions > span { padding-bottom: 9px; color: var(--tinta-3); }
.shipment-actions {
  display: flex; align-items: center; justify-content: flex-end;
  gap: 9px; flex-wrap: wrap; margin-top: 16px;
}
.shipment-history { border-top: 1px solid var(--linha); margin-top: 18px; padding-top: 13px; }
.shipment-history summary {
  cursor: pointer; color: var(--verde); font-family: var(--font-sans);
  font-size: .7rem; font-weight: 600; letter-spacing: .07em; text-transform: uppercase;
}
.shipment-history .timeline { margin-top: 12px; }

.order-rail {
  display: flex; flex-wrap: wrap; align-items: center;
  gap: 6px; margin: 0 0 12px; padding: 10px 12px;
  background: #fff; border: 1px solid var(--linha); border-radius: var(--r);
}
.order-rail-group { display: contents; }
.order-rail-sep {
  width: 1px; height: 20px; background: var(--linha);
  margin: 0 2px; flex: 0 0 auto; align-self: center;
}
.order-fila {
  --fila: var(--tinta-3);
  position: relative;
  display: inline-flex; align-items: center; gap: 5px;
  padding: 7px 8px 7px 9px; border-radius: 999px;
  background: var(--marfim); border: 1px solid var(--linha);
  color: var(--tinta-2); text-decoration: none;
  font-family: var(--font-sans); font-size: .6rem; font-weight: 500;
  letter-spacing: .1em; text-transform: uppercase;
}
/* Ponto = legenda da etapa. O verde escurece conforme o pedido avança. */
.order-fila::before {
  content: ""; flex: 0 0 auto;
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--fila);
}
.order-fila[data-fila="draft"]       { --fila: var(--tinta-4); }
.order-fila[data-fila="payment"]     { --fila: var(--champanhe); }
.order-fila[data-fila="refused"]     { --fila: var(--blush-700); }
.order-fila[data-fila="risk_review"] { --fila: var(--champanhe-700); }
.order-fila[data-fila="blocked"]     { --fila: var(--aviso); }
.order-fila[data-fila="exceptions"]  { --fila: var(--erro); }
.order-fila[data-fila="ready"]       { --fila: var(--verde-400); }
.order-fila[data-fila="picking"]     { --fila: var(--verde-500); }
.order-fila[data-fila="packing"]     { --fila: var(--verde-600); }
.order-fila[data-fila="labels"]      { --fila: var(--verde); }
.order-fila[data-fila="manifest"]    { --fila: var(--verde-800); }
.order-fila[data-fila="transit"]     { --fila: var(--info); }
.order-fila[data-fila="delivered"]   { --fila: var(--sucesso); }
.order-fila[data-fila="post_sale"]   { --fila: var(--blush-600); }
.order-fila[data-fila="closed"]      { --fila: var(--tinta-3); }
.order-fila[data-fila="all"]         { --fila: var(--verde); }
.order-fila:not(.is-on) {
  border-color: color-mix(in srgb, var(--fila) 45%, var(--linha));
  background: color-mix(in srgb, var(--fila) 8%, #fff);
}
.order-fila:not(.is-on) strong { color: var(--fila); }
.order-fila.is-zero:not(.is-on) { background: var(--marfim); }
.order-fila.is-zero:not(.is-on)::before { opacity: .5; }
.order-fila.is-on::before { background: var(--blush); }
.order-fila-i {
  display: grid; place-items: center; flex: 0 0 auto;
  width: 12px; height: 12px; border-radius: 50%;
  border: 1px solid currentColor; opacity: .34;
  font-family: var(--font-text); font-size: .5rem; font-weight: 700;
  letter-spacing: 0; text-transform: none; line-height: 1;
}
.order-fila:hover .order-fila-i,
.order-fila:focus-visible .order-fila-i { opacity: .85; }
.order-fila[data-dica]:hover::after,
.order-fila[data-dica]:focus-visible::after {
  content: attr(data-dica);
  position: absolute; top: calc(100% + 7px); left: 0; z-index: 40;
  width: max-content; max-width: 258px;
  padding: 9px 11px; border-radius: 10px;
  background: var(--verde-900); color: var(--blush);
  font-family: var(--font-text); font-size: .74rem; font-weight: 400;
  letter-spacing: 0; text-transform: none; line-height: 1.45;
  box-shadow: 0 12px 26px rgba(42,12,20,.3);
  pointer-events: none;
}
.order-rail-group[data-grupo="depois"] .order-fila::after,
.order-rail-group[data-grupo="tudo"] .order-fila::after { left: auto; right: 0; }
.order-fila strong {
  font-family: var(--font-num); font-variant-numeric: tabular-nums lining-nums;
  font-size: .82rem; letter-spacing: 0; font-weight: 650; color: var(--tinta-1);
}
.order-fila.is-zero:not(.is-on) strong { color: var(--tinta-3); font-weight: 500; }
.order-fila:hover { border-color: var(--fila); color: var(--verde); text-decoration: none; }
.order-fila.is-on {
  background: var(--verde); border-color: var(--verde); color: var(--blush);
  box-shadow: 0 6px 16px rgba(107,36,56,.18);
}
.order-fila.is-on strong,
.order-fila.is-on.is-zero strong { color: var(--blush); }
/* Fila carregada acende na própria cor da etapa, não numa cor genérica. */
.order-fila.is-warn:not(.is-on) {
  background: color-mix(in srgb, var(--fila) 13%, #fff);
  border-color: color-mix(in srgb, var(--fila) 58%, var(--linha));
}
.order-fila.is-alert:not(.is-on) {
  background: color-mix(in srgb, var(--fila) 17%, #fff);
  border-color: color-mix(in srgb, var(--fila) 70%, var(--linha));
  color: var(--fila);
}
.order-fila.is-alert:not(.is-on) strong { font-weight: 700; }
/* Filtros da mesa: busca + ambiente + ordem sempre à vista; o resto na gaveta. */
.fp {
  margin-bottom: 14px; padding: 13px 14px;
  background: #fff; border: 1px solid var(--linha); border-radius: var(--r);
}
.fp-topo {
  display: grid; grid-template-columns: minmax(220px, 1fr) 158px 170px auto;
  gap: 10px; align-items: end;
}
.fp-campo { display: grid; gap: 5px; min-width: 0; }
.fp-campo > span {
  font-family: var(--font-sans); font-size: .56rem; font-weight: 500;
  letter-spacing: .16em; text-transform: uppercase; color: var(--tinta-3);
}
.fp-campo .form-control { font-size: .82rem; padding: 9px 11px; }
.fp-busca-in { position: relative; display: block; }
.fp-busca-in i, .fp-busca-in > svg {
  position: absolute; left: 11px; top: 50%; transform: translateY(-50%);
  color: var(--tinta-3); pointer-events: none;
}
.fp-busca-in .form-control { padding-left: 34px; }
.fp-acoes { display: flex; align-items: center; gap: 12px; padding-bottom: 1px; }
.fp-mais { margin-top: 12px; }
.fp-mais summary {
  display: inline-flex; align-items: center; gap: 7px; cursor: pointer;
  list-style: none; color: var(--verde);
  font-family: var(--font-sans); font-size: .62rem; font-weight: 500;
  letter-spacing: .16em; text-transform: uppercase;
}
.fp-mais summary::-webkit-details-marker { display: none; }
.fp-mais summary:hover { color: var(--verde-600); }
.fp-mais summary i, .fp-mais summary > svg { transition: transform var(--ease); }
.fp-mais[open] summary i, .fp-mais[open] summary > svg { transform: rotate(90deg); }
.fp-mais-n {
  display: grid; place-items: center; min-width: 17px; height: 17px;
  padding: 0 5px; border-radius: 999px; font-style: normal;
  background: var(--verde); color: var(--blush);
  font-family: var(--font-num); font-size: .62rem; font-weight: 650; letter-spacing: 0;
}
.fp-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(146px, 1fr));
  gap: 10px; margin-top: 13px; padding-top: 13px;
  border-top: 1px solid var(--linha);
}
.fp-periodo { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.fp-periodo-campo { grid-column: span 2; }
.fp-uf { max-width: 108px; }
.table-pedidos { width: 100%; table-layout: fixed; font-size: .82rem; }
.table-pedidos td, .table-pedidos th { padding: 8px 6px; }
.table-pedidos .col-check { width: 2.6%; }
.table-pedidos .col-expand { width: 2.2%; padding-right: 0; }
.table-pedidos .col-pedido { width: 9.2%; }
.table-pedidos .col-cliente { width: 10.8%; }
.table-pedidos .col-destino { width: 7.6%; }
.table-pedidos .col-pecas { width: 6.4%; }
.table-pedidos .col-sit { width: 11.2%; }
.table-pedidos .col-bloqueio { width: 12%; }
.table-pedidos .col-espera { width: 10.4%; }
.table-pedidos .col-resp { width: 10.4%; }
.table-pedidos .col-total { width: 7.4%; }
.table-pedidos .col-acoes { width: 10%; }
.table-pedidos .fila-next { padding: 5px 8px; letter-spacing: .06em; }
.table-pedidos .badge { font-size: .56rem; }
.table-pedidos thead th,
.table-pedidos .order-row td {
  white-space: nowrap;
  overflow: hidden;
}
.order-clip {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
}
.order-clip a { display: block; overflow: hidden; text-overflow: ellipsis; }
.order-owner.order-clip { width: 100%; }
.order-pecas { display: inline-flex; align-items: center; gap: 5px; }
.order-pecas .field-info { width: 15px; height: 15px; margin-left: 0; }
/* overflow-x:auto vira overflow-y:auto no browser — a barra vertical
   do Windows come a última linha. Trava o eixo Y neste wrap. */
[data-tabela-pedidos].card.flush { overflow: visible; }
[data-tabela-pedidos] .table-wrap {
  overflow: hidden;
  border-radius: var(--r);
}
.order-expand {
  display: grid; place-items: center;
  width: 26px; height: 26px; border: 0; border-radius: 8px;
  background: var(--areia); color: var(--verde); cursor: pointer;
}
.order-expand:hover { background: #E7F3EE; }
.order-row.is-open .order-expand { background: #E7F3EE; }
.order-row.is-open .order-expand svg { transform: rotate(90deg); }
/* Estágio pinta a linha inteira (tom suave) + faixa lateral grossa.
   Sem filter: ele vira containing block e quebra position:fixed do menu. */
.table-pedidos .order-row td {
  background: var(--stage-bg, #fff);
  transition: background var(--ease);
}
.table-pedidos .order-row td:first-child { box-shadow: inset 5px 0 0 var(--stage, transparent); }
.table-pedidos .order-row:hover td {
  background: color-mix(in srgb, var(--stage-bg, #fff) 78%, var(--stage, #6B2438) 22%);
}
.table-pedidos .order-row[data-status="rascunho"] { --stage: #B8ADA3; --stage-bg: #F5F2EF; }
.table-pedidos .order-row[data-status="aguardando_pagamento"] { --stage: #D9932A; --stage-bg: #FDF6E8; }
.table-pedidos .order-row[data-status="pago"] { --stage: #1F9E6E; --stage-bg: #E9F6F0; }
.table-pedidos .order-row[data-status="em_separacao"] { --stage: #0E9C89; --stage-bg: #E5F4F0; }
.table-pedidos .order-row[data-status="enviado"] { --stage: #3B5BA5; --stage-bg: #ECF0FA; }
.table-pedidos .order-row[data-status="entregue"] { --stage: #6B2438; --stage-bg: #E9F0EE; }
.table-pedidos .order-row[data-status="cancelado"],
.table-pedidos .order-row[data-status="estornado"] { --stage: #CF4436; --stage-bg: #FCEEF0; }
.table-pedidos .order-row.is-late-row { --stage: #D9932A; --stage-bg: #FDF3E2; }
.order-qty { font-family: var(--font-num); font-variant-numeric: tabular-nums; font-size: .82rem; }
.order-track { color: var(--verde); font-family: ui-monospace, monospace; font-size: .74rem; max-width: 140px; overflow: hidden; text-overflow: ellipsis; }
.order-origin { display: flex; align-items: center; flex-wrap: nowrap; gap: 4px; margin-top: 5px; }
.order-origin .badge { font-size: .5rem; }
.badge-channel-loja { background: #E7F3EE; color: var(--verde); }
.badge-channel-whatsapp { background: var(--blush); color: var(--verde); }
.badge-channel-manual { background: var(--areia); color: var(--tinta-2); }
.badge-preview { background: var(--tinta-1); color: var(--blush); }
.badge-readiness-ready,
.badge-readiness-complete { background: #E7F3EE; color: var(--sucesso); }
.badge-readiness-attention { background: #FBF1DF; color: var(--aviso); }
.badge-readiness-blocked { background: #FBECEF; color: var(--erro); }
.badge-queue { background: var(--areia); color: var(--tinta-2); }
.badge-priority-normal { background: var(--areia); color: var(--tinta-2); }
.badge-priority-high { background: #FBF1DF; color: var(--aviso); }
.badge-priority-urgent { background: #FBECEF; color: var(--erro); }
.badge-priority-vip { background: var(--verde); color: var(--blush); }
.badge-priority-normal:disabled,
.badge-priority-high:disabled,
.badge-priority-urgent:disabled,
.badge-priority-vip:disabled { opacity: 1; cursor: default; }
.order-check {
  display: grid; place-items: center;
  width: 22px; height: 22px; margin: 0 auto; cursor: pointer;
}
.table-pedidos .order-check input {
  appearance: none; -webkit-appearance: none;
  width: 16px; height: 16px; margin: 0; padding: 0;
  border: 1.5px solid var(--verde-200); border-radius: 5px;
  background: #fff; cursor: pointer;
  transition: background var(--ease), border-color var(--ease);
}
.table-pedidos .order-check input:hover { border-color: var(--verde); }
.table-pedidos .order-check input:checked {
  background: var(--verde); border-color: var(--verde);
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><path fill='%23F5DADF' d='M4.7 8.5 2.2 6l.8-.8 1.7 1.7L9 2.6l.8.8z'/></svg>");
  background-repeat: no-repeat; background-position: center; background-size: 10px;
}
.table-pedidos .order-check input:focus-visible {
  outline: 2px solid var(--verde); outline-offset: 2px;
}
.order-block { display: grid; gap: 6px; min-width: 0; justify-items: start; }
.order-block-top { display: flex; align-items: center; gap: 5px; min-width: 0; max-width: 100%; }
.order-block-top .order-issue { min-width: 0; }
.order-block-top .field-info { flex: 0 0 auto; width: 15px; height: 15px; margin-left: 0; }
.order-wa {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 4px 9px; border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--verde) 18%, #E7F3EE);
  background: #E7F3EE; color: var(--verde);
  font-size: .68rem; font-weight: 600; line-height: 1; text-decoration: none;
  white-space: nowrap;
}
.order-wa:hover { background: var(--verde); border-color: var(--verde); color: var(--blush); }
.order-wa svg { flex: 0 0 auto; }
.order-issue { color: var(--erro); font-size: .76rem; line-height: 1.25; }
.order-sla { margin-top: 4px; color: var(--tinta-3); font-size: .7rem; font-variant-numeric: tabular-nums; }
/* Situação: um selo de etapa. O resto vira linha de apoio, sem segundo selo. */
.order-sit { display: flex; align-items: center; gap: 6px; }
.table-pedidos .order-sit .badge { font-size: .6rem; }
.order-sit-meta {
  margin-top: 5px;
  color: var(--tinta-3);
  font-size: .72rem;
  line-height: 1.35;
  overflow: hidden;
  text-overflow: ellipsis;
}
.order-espera { font-family: var(--font-num); font-variant-numeric: tabular-nums; font-size: .8rem; font-weight: 600; }
.order-espera-cell .order-sla.is-late { color: var(--erro); }
.order-track-chip {
  display: inline-block; margin-top: 5px; padding: 2px 7px; border-radius: 999px;
  background: var(--areia); color: var(--tinta-2);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .68rem;
}
.order-track-chip:hover { background: #E7F3EE; color: var(--verde); }
.order-owner { display: block; margin-bottom: 5px; color: var(--verde); font-size: .78rem; text-align: left; }
/* display:flex no TD tira a célula da tabela — ela fica mais baixa
   que a linha e o fundo branco do card vaza embaixo dos botões. */
.table-pedidos td.order-acoes { vertical-align: middle; text-align: right; }
.order-acoes-in {
  display: inline-flex; align-items: center; justify-content: flex-end;
  gap: 8px; white-space: nowrap;
}
.order-menu { position: relative; }
.order-menu summary { list-style: none; }
.order-menu summary::-webkit-details-marker { display: none; }
.order-menu:not([open]) .order-menu-list { display: none; }
.order-menu-list {
  display: none;
  position: fixed;
  z-index: 80;
  min-width: 184px; padding: 6px; border-radius: 10px;
  background: #fff; border: 1px solid var(--linha);
  box-shadow: 0 14px 32px rgba(42,12,20,.18);
}
.order-menu[open] .order-menu-list,
.order-menu-list.is-floating { display: block; }
.order-menu-list a, .order-menu-list button {
  display: block; width: 100%; text-align: left; border: 0; background: none;
  padding: 8px 10px; border-radius: 8px; cursor: pointer;
  color: var(--tinta-1); font-size: .8rem; text-decoration: none;
}
.order-menu-list a:hover, .order-menu-list button:hover { background: var(--areia); }
.order-menu-list .order-menu-note {
  display: block; padding: 8px 10px; border-radius: 8px;
  color: var(--tinta-3); font-size: .75rem;
}
.order-detail td { background: var(--areia); padding: 0 10px 12px; }
.order-detail-grid {
  display: grid; grid-template-columns: 1.1fr 1.2fr 1fr 1fr; gap: 10px;
  padding: 4px 2px 2px;
}
.order-dcard {
  min-width: 0; padding: 12px 13px 11px;
  border: 1px solid var(--linha); border-radius: 10px; background: #fff;
}
.order-dcard.is-stuck { border-color: color-mix(in srgb, var(--erro) 26%, var(--linha)); }
.order-dcard .eyebrow { margin-bottom: 8px; }
.order-dcard p { font-size: .82rem; line-height: 1.4; }
.order-dcard-name { font-weight: 600; font-size: .86rem; }
.order-dcard-sub { margin-top: 3px; color: var(--tinta-3); font-size: .76rem; }
.order-dcard-addr { margin-top: 8px; }
.order-dcard .order-issue { margin-top: 8px; }
.order-dcard .order-track { max-width: none; display: block; margin-top: 8px; }
.order-gaps {
  display: flex; flex-wrap: wrap; gap: 4px;
  list-style: none; margin-top: 8px;
}
.order-gaps li {
  padding: 2px 7px; border-radius: 999px;
  background: var(--erro-bg); color: var(--erro);
  font-size: .62rem; font-weight: 600; letter-spacing: .02em;
}
.order-ready-line { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.order-mini-acts { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.order-mini {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 5px 9px; border-radius: 8px;
  border: 1px solid var(--linha); background: var(--marfim);
  color: var(--tinta-1); font: inherit; font-size: .72rem; line-height: 1.2;
  text-decoration: none; cursor: pointer;
}
.order-mini:hover { border-color: var(--verde-200); color: var(--verde); background: #fff; }
.order-detail-items { list-style: none; display: grid; gap: 6px; }
.order-detail-items li { display: grid; grid-template-columns: 2.4em 1fr; gap: 8px; font-size: .82rem; }
.order-detail-items a { color: var(--tinta-1); font-weight: 500; }
.order-detail-items a:hover { color: var(--verde); }
.order-detail-items small { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; color: var(--tinta-3); font-size: .7rem; }
.order-item-price { color: var(--tinta-2); font-variant-numeric: tabular-nums; }
.order-detail-acts { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 12px; }
.badge-pay-pendente, .badge-pay-expirado { background: #FBF1DF; color: var(--aviso); }
.badge-pay-pago { background: #E7F3EE; color: var(--sucesso); }
.badge-pay-recusado, .badge-pay-estornado { background: #FBECEF; color: var(--erro); }
.pay-method-cell { margin-top: 4px; }
.pay-ico {
  display: inline-flex; align-items: center; gap: 6px;
  color: var(--tinta-2); vertical-align: middle;
}
.pay-ico svg, .pay-ico i { flex: 0 0 auto; }
.pay-ico--pix { color: #00A98F; }
.pay-ico-txt { font-size: .82rem; color: var(--tinta-1); }
.fila-next {
  display: inline-flex; align-items: center;
  padding: 6px 11px; border-radius: 8px;
  background: var(--verde); color: var(--blush);
  border: 0; cursor: pointer; text-decoration: none;
  font-family: var(--font-sans); font-size: .6rem; font-weight: 600;
  letter-spacing: .09em; text-transform: uppercase;
}
.fila-next:hover { background: var(--verde-800, #003a33); color: #fff; }
.fila-next.is-static {
  background: transparent; color: var(--tinta-3); cursor: default;
  letter-spacing: .04em; text-transform: none; font-size: .72rem;
}
.fila-next.is-static:hover { background: transparent; color: var(--tinta-3); }

.readiness-panel { scroll-margin-top: 18px; }
.readiness-head-badges { display: flex; align-items: center; justify-content: flex-end; gap: 6px; flex-wrap: wrap; }
.readiness-summary {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px; margin-bottom: 14px; overflow: hidden;
  border: 1px solid var(--linha); border-radius: 11px; background: var(--linha);
}
.readiness-summary > div { min-width: 0; padding: 11px 12px; background: var(--marfim); }
.readiness-summary span {
  display: block; margin-bottom: 3px; font-family: var(--font-sans);
  font-size: .56rem; letter-spacing: .11em; text-transform: uppercase; color: var(--tinta-3);
}
.readiness-summary strong,
.readiness-summary button { color: var(--tinta-1); font-size: .82rem; font-weight: 600; text-align: left; }
.readiness-checks { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 7px; }
.readiness-check {
  display: flex; align-items: flex-start; gap: 8px; min-width: 0;
  padding: 9px 10px; border: 1px solid var(--linha); border-radius: 9px;
  background: #fff; color: var(--tinta-3);
}
.readiness-check svg { flex: 0 0 auto; margin-top: 1px; }
.readiness-check span { min-width: 0; }
.readiness-check strong { display: block; color: var(--tinta-1); font-size: .76rem; }
.readiness-check small { display: block; margin-top: 2px; font-size: .68rem; line-height: 1.3; }
.readiness-check.is-ready,
.readiness-check.is-preview,
.readiness-check.is-not_applicable,
.readiness-check.is-not_required,
.readiness-check.is-waived { background: #F2F8F5; border-color: #C9E4D8; color: var(--verde); }
.readiness-check.is-blocked { background: #FFF4F4; border-color: #EBC8C8; color: var(--erro); }
.readiness-check.is-attention,
.readiness-check.is-waiting { background: #FFF8ED; border-color: #EEDBB7; color: var(--aviso); }
.readiness-issues { display: grid; gap: 7px; margin-top: 14px; }
.readiness-issue {
  display: grid; grid-template-columns: 1fr auto; gap: 5px 14px; align-items: center;
  padding: 10px 12px; border: 1px solid var(--linha); border-radius: 10px; background: var(--marfim);
}
.readiness-issue > div { display: flex; align-items: center; gap: 8px; }
.readiness-issue strong { font-size: .8rem; }
.readiness-issue p { grid-column: 1 / -1; color: var(--tinta-3); font-size: .72rem; }
.readiness-issue.is-exception { border-color: #EBC8C8; }
.badge-exception-critical,
.badge-blocker-critical { background: #FBECEF; color: var(--erro); }
.badge-exception-warning,
.badge-blocker-warning { background: #FBF1DF; color: var(--aviso); }
.badge-exception-info,
.badge-blocker-info { background: var(--areia); color: var(--tinta-2); }
.integration-timeline { margin-top: 14px; border-top: 1px solid var(--linha); padding-top: 12px; }
.integration-timeline summary {
  cursor: pointer; color: var(--verde); font-family: var(--font-sans);
  font-size: .68rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
}
.integration-timeline .timeline { margin-top: 12px; }

.modal-order-management { width: min(540px,100%); }
.order-management-icon {
  width: 38px; height: 38px; display: grid; place-items: center;
  border-radius: 11px; background: var(--blush); color: var(--verde);
}
.order-management-copy { margin-bottom: 14px; color: var(--tinta-2); font-size: .84rem; line-height: 1.5; }

.exception-kpis,
.integration-pulses {
  display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; margin-bottom: 14px;
}
.exception-kpis > a,
.exception-kpis > div,
.integration-pulses > div {
  padding: 12px 14px; border: 1px solid var(--linha); border-radius: 11px; background: #fff;
}
.exception-kpis > a {
  color: inherit; text-decoration: none;
}
.exception-kpis > a:hover { border-color: var(--verde); }
.exception-kpis > a.is-on { border-color: var(--verde); box-shadow: inset 3px 0 0 var(--verde); }
.exception-kpis span,
.integration-pulses span {
  display: block; font-family: var(--font-sans); font-size: .58rem;
  letter-spacing: .1em; text-transform: uppercase; color: var(--tinta-3);
}
.exception-kpis strong,
.integration-pulses strong {
  display: block; margin-top: 3px; font-family: var(--font-num);
  font-size: 1.25rem; font-variant-numeric: tabular-nums; color: var(--tinta-1);
}
.exception-kpis .is-critical,
.integration-pulses .is-critical { border-color: #EBC8C8; background: #FFF4F4; }
.integration-pulses .is-warning { border-color: #EEDBB7; background: #FFF8ED; }
.exception-toolbar {
  display: flex; align-items: end; flex-wrap: wrap; gap: 8px 10px;
  margin-bottom: 14px; padding: 12px 14px;
  border: 1px solid var(--linha); border-radius: var(--r); background: #fff;
}
.exception-toolbar > label { display: grid; gap: 5px; min-width: 0; }
.exception-toolbar > label > span,
.exception-search > span:first-child {
  font-family: var(--font-sans); font-size: .56rem; font-weight: 500;
  letter-spacing: .16em; text-transform: uppercase; color: var(--tinta-3);
}
.exception-search { flex: 1 1 240px; }
.exception-toolbar > label:not(.exception-search) { flex: 0 1 160px; }
.exception-search-in { position: relative; display: block; }
.exception-search-in i, .exception-search-in > svg {
  position: absolute; left: 11px; top: 50%; transform: translateY(-50%);
  color: var(--tinta-3); pointer-events: none; z-index: 1;
}
.exception-toolbar .form-control { font-size: .82rem; padding: 9px 11px; }
.exception-toolbar .exception-search-in .form-control { padding-left: 36px; }
.exception-toolbar-go {
  display: flex; align-items: center; gap: 10px;
  flex: 0 0 auto; padding-bottom: 1px;
}
.exception-list { overflow: hidden; }
.exception-row {
  display: grid; grid-template-columns: 110px minmax(260px,1fr) 160px auto;
  gap: 14px; align-items: start; padding: 14px 16px; border-bottom: 1px solid var(--linha);
}
.exception-row:last-child { border-bottom: 0; }
.exception-row.severity-critical { box-shadow: inset 5px 0 0 var(--erro); }
.exception-row.severity-warning { box-shadow: inset 5px 0 0 var(--aviso); }
.exception-state { display: grid; justify-items: start; gap: 5px; padding-top: 2px; }
.exception-main h2 { font-family: var(--font-text); font-size: .9rem; font-weight: 650; }
.exception-main > p { margin-top: 4px; color: var(--tinta-2); font-size: .78rem; line-height: 1.4; }
.exception-next { margin-top: 7px; color: var(--tinta-2); font-size: .76rem; line-height: 1.35; }
.exception-row.is-late .exception-next { color: var(--erro); }
.exception-notes { margin-top: 5px; color: var(--tinta-3); font-size: .72rem; line-height: 1.35; }
.exception-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; margin-top: 7px; color: var(--tinta-3); font-size: .7rem; }
.exception-owner { display: grid; gap: 4px; padding-top: 2px; font-size: .72rem; }
.exception-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 6px; padding-top: 2px; }
.exception-empty {
  display: grid; justify-items: center; gap: 8px;
  padding: 48px 28px 44px; text-align: center;
}
.exception-empty-ico {
  width: 48px; height: 48px; display: grid; place-items: center;
  border-radius: 14px; background: var(--blush); color: var(--verde);
}
.exception-empty h2 {
  margin-top: 4px; font-family: var(--font-display);
  font-size: 1.45rem; font-weight: 600; color: var(--tinta-1);
}
.exception-empty p {
  max-width: 28rem; margin: 0 auto;
  color: var(--tinta-2); font-size: .86rem; line-height: 1.45;
}
.exception-empty-go {
  display: flex; flex-wrap: wrap; justify-content: center; gap: 8px;
  margin-top: 10px;
}

.customer-kpis { grid-template-columns: repeat(6, minmax(0,1fr)); }
.customer-snap { grid-template-columns: repeat(5, minmax(0,1fr)); margin-bottom: 14px; }
.customer-hub {
  display: grid; grid-template-columns: minmax(0,1.15fr) minmax(0,.85fr); gap: 14px;
  margin-bottom: 14px;
}
.customer-pad { padding: 0 16px 14px; }
.customer-conn { padding: 0 16px 12px; }
.customer-conn h3 {
  margin-bottom: 6px; font-family: var(--font-sans); font-size: .56rem;
  letter-spacing: .14em; text-transform: uppercase; color: var(--tinta-3);
}
.customer-conn ul { list-style: none; display: grid; gap: 7px; }
.customer-conn li {
  display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
  padding: 8px 0; border-bottom: 1px solid var(--linha);
}
.customer-conn li:last-child { border-bottom: 0; }
.customer-compose {
  display: grid; gap: 6px; padding: 0 16px 16px;
  border-bottom: 1px solid var(--linha);
}
.customer-compose:last-child { border-bottom: 0; }
.customer-compose h3 {
  margin: 10px 0 2px; font-family: var(--font-sans); font-size: .62rem;
  letter-spacing: .12em; text-transform: uppercase;
}
.customer-compose .btn { justify-self: start; margin-top: 4px; }
.customer-timeline {
  list-style: none; display: grid; gap: 0; padding: 4px 16px 12px;
}
.customer-timeline li {
  display: grid; grid-template-columns: 7.2rem minmax(0,1fr); gap: 12px;
  padding: 11px 0; border-bottom: 1px solid var(--linha);
}
.customer-timeline li:last-child { border-bottom: 0; }
.customer-tl-kind {
  font-family: var(--font-sans); font-size: .56rem; font-weight: 600;
  letter-spacing: .12em; text-transform: uppercase; color: var(--tinta-3);
  padding-top: 3px;
}
.customer-timeline p { margin-top: 3px; color: var(--tinta-2); font-size: .8rem; line-height: 1.4; }
.customer-timeline small { display: block; margin-top: 4px; color: var(--tinta-3); font-size: .7rem; }
.customer-row { grid-template-columns: 120px minmax(240px,1fr) 140px auto; }

.integration-readiness {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  margin-bottom: 10px; padding: 14px 16px; border: 1px solid var(--linha);
  border-radius: var(--r); background: #fff;
}
.integration-readiness h2 { margin-top: 2px; font-family: var(--font-display); font-size: 1.18rem; }
.integration-readiness p:not(.eyebrow) { margin-top: 3px; color: var(--tinta-3); font-size: .78rem; }
.integration-readiness.is-ready { border-color: #C9E4D8; background: #F2F8F5; }
.integration-readiness.is-degraded { border-color: #EEDBB7; background: #FFF8ED; }
.integration-readiness.is-blocked { border-color: #EBC8C8; background: #FFF4F4; }
.integration-readiness-state {
  font-family: var(--font-sans); font-size: .64rem; font-weight: 600;
  letter-spacing: .1em; text-transform: uppercase; color: var(--verde);
}
.integration-ops { align-items: start; }
.provider-health-list,
.integration-exception-list { display: grid; gap: 8px; }
.provider-health-list > div,
.integration-exception-list > div {
  display: grid; grid-template-columns: auto 1fr; column-gap: 8px;
  padding: 8px 0; border-bottom: 1px solid var(--linha);
}
.provider-health-list > div:last-child,
.integration-exception-list > div:last-child { border-bottom: 0; }
.provider-health-list strong,
.integration-exception-list strong { font-size: .8rem; }
.provider-health-list small,
.integration-exception-list small { grid-column: 2; color: var(--tinta-3); font-size: .68rem; }
.provider-health-dot { width: 8px; height: 8px; margin-top: 5px; border-radius: 50%; background: var(--tinta-3); }
.provider-health-dot.is-healthy { background: var(--sucesso); }
.provider-health-dot.is-degraded,
.provider-health-dot.is-unknown { background: var(--aviso); }
.provider-health-dot.is-down,
.provider-health-dot.is-misconfigured { background: var(--erro); }
.integration-exception-list .badge { align-self: start; }
.integration-jobs { margin-top: 16px; }
.badge-job-succeeded { background: #E7F3EE; color: var(--sucesso); }
.badge-job-pending,
.badge-job-running,
.badge-job-retry { background: #FBF1DF; color: var(--aviso); }
.badge-job-dead,
.badge-job-cancelled { background: #FBECEF; color: var(--erro); }
.side-badge--alert { background: var(--erro); color: #fff; }

/* modal de pagamento */
.modal-pagamento { max-width: 560px; }
.pagamento-icone {
  width: 40px; height: 40px; border-radius: 12px; flex: 0 0 auto;
  display: grid; place-items: center; background: #E7F3EE; color: var(--verde);
}
.pagamento-upload {
  display: flex; align-items: center; gap: 12px; margin-top: 14px;
  padding: 14px; border: 1.5px dashed var(--linha); border-radius: 12px;
  cursor: pointer; transition: border-color var(--ease), background var(--ease);
}
.pagamento-upload:hover { border-color: var(--verde); background: var(--marfim); }
.pagamento-upload-icone {
  width: 38px; height: 38px; border-radius: 10px; flex: 0 0 auto;
  display: grid; place-items: center; background: var(--areia); color: var(--verde);
}
.pagamento-upload-txt strong { display: block; font-size: .88rem; }
.pagamento-upload-txt small { color: var(--tinta-3); font-size: .74rem; }
.pagamento-file-info {
  display: flex; align-items: center; gap: 8px; margin-top: 10px;
  padding: 8px 12px; border-radius: 10px; background: #E7F3EE; color: var(--verde);
  font-size: .82rem;
}
.pagamento-file-info span { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pagamento-file-info .link-min { margin-left: auto; color: var(--erro); }

/* fulfillment ecommerce */
.fulfillment-tabs {
  display: flex; gap: 4px; margin: -8px 0 16px; padding: 4px;
  overflow-x: auto; border: 1px solid var(--linha); border-radius: 10px; background: #fff;
}
.fulfillment-tabs a {
  display: inline-flex; align-items: center; gap: 6px;
  flex: 0 0 auto; padding: 8px 12px; border-radius: 7px; color: var(--tinta-2);
  font-family: var(--font-sans); font-size: .62rem; font-weight: 600;
  letter-spacing: .1em; text-decoration: none; text-transform: uppercase;
}
.fulfillment-tabs a:hover, .fulfillment-tabs a.is-on { background: var(--verde); color: var(--blush); }
.ff-tab-n {
  min-width: 1.15rem; padding: 1px 5px; border-radius: 999px;
  background: var(--areia); color: var(--tinta-1);
  font-family: var(--font-num); font-size: .62rem; font-weight: 600;
  letter-spacing: 0; text-transform: none;
}
.fulfillment-tabs a.is-on .ff-tab-n,
.fulfillment-tabs a:hover .ff-tab-n {
  background: color-mix(in srgb, var(--blush) 72%, #fff); color: var(--verde);
}
.ff-guide {
  margin: 0 0 16px; padding: 16px 18px 14px;
  border: 1px solid var(--linha); border-radius: var(--r); background: #fff;
}
.ff-guide-intro h2 { margin-top: 4px; font-size: 1.15rem; }
.ff-guide-intro p { margin-top: 8px; max-width: 44rem; color: var(--tinta-2); font-size: .86rem; line-height: 1.45; }
.ff-guide-intro a, .empty a { color: var(--verde); }
.ff-steps {
  display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 8px;
  list-style: none; margin-top: 14px;
}
.ff-steps-3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
.ff-step {
  display: grid; grid-template-columns: 1.6rem minmax(0,1fr); gap: 8px; align-items: start;
  min-height: 100%; padding: 10px 11px;
  border: 1px solid var(--linha); border-radius: 10px;
  background: var(--marfim); color: inherit; text-decoration: none;
}
.ff-step:hover { border-color: var(--verde-200); background: #fff; }
.ff-step.is-on { border-color: var(--verde); background: #fff; box-shadow: inset 3px 0 0 var(--verde); }
.ff-step-n {
  width: 1.5rem; height: 1.5rem; display: grid; place-items: center;
  border-radius: 999px; background: var(--areia);
  font-family: var(--font-num); font-size: .72rem; font-weight: 600;
}
.ff-step.is-on .ff-step-n { background: var(--verde); color: var(--blush); }
.ff-step-copy { min-width: 0; display: grid; gap: 2px; }
.ff-step-copy strong {
  font-family: var(--font-sans); font-size: .62rem; letter-spacing: .12em;
  text-transform: uppercase;
}
.ff-step-copy em { font-style: normal; font-weight: 600; font-size: .84rem; color: var(--tinta-1); }
.ff-step-copy span { color: var(--tinta-3); font-size: .74rem; line-height: 1.35; }
.ff-etapa-hint {
  margin: -6px 0 14px; max-width: 42rem;
  color: var(--tinta-2); font-size: .84rem; line-height: 1.4;
}
.ff-env-filter { display: flex; align-items: center; gap: 9px; margin-bottom: 12px; }
.ff-env-filter .form-label { margin: 0; }
.ff-env-filter .form-control { width: auto; min-width: 150px; }
.ff-create-card, .ff-manifest-create { margin-bottom: 14px; }
.ff-card-pad { padding: 14px 16px 8px; }
.ff-create-controls {
  display: flex; align-items: end; flex-wrap: wrap; gap: 8px; margin-bottom: 12px;
}
.ff-create-controls label { min-width: 160px; flex: 1 1 160px; }
.ff-create-controls .btn { flex: 0 0 auto; }
.ff-table code, .ff-order-row code { font-size: .72rem; }
.ff-table td > small { display: block; margin-top: 2px; color: var(--tinta-3); font-size: .66rem; }
.ff-table tr.is-done { background: var(--marfim); color: var(--tinta-3); }
.ff-table tr.is-done strong { text-decoration: line-through; text-decoration-thickness: 1px; }
.ff-progress { width: 92px; height: 5px; overflow: hidden; border-radius: 9px; background: var(--areia); }
.ff-progress span { display: block; height: 100%; border-radius: inherit; background: var(--verde); }
.badge-env-preview { background: var(--areia); color: var(--tinta-2); }
.badge-env-production, .badge-ff-completed, .badge-ff-packed, .badge-ff-labelled,
.badge-ff-manifested, .badge-ff-handed_over, .badge-ff-closed {
  background: var(--blush); color: var(--verde);
}
.badge-ff-draft, .badge-ff-released, .badge-ff-picking, .badge-ff-packing { background: var(--areia); color: var(--tinta-2); }
.badge-ff-cancelled { background: var(--linha); color: var(--tinta-3); }
.ff-feedback { min-height: 1.2em; margin-top: 7px; color: var(--tinta-3); font-size: .74rem; line-height: 1.35; }
.ff-feedback.is-ok { color: var(--sucesso); }
.ff-feedback.is-error {
  padding: 6px 8px; border-radius: 8px;
  background: var(--erro-bg); color: var(--erro);
  font-size: .78rem; font-weight: 600;
}
.ff-feedback.is-warn { color: var(--aviso); }
.ff-wave-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; margin-bottom: 14px; }
.ff-wave-summary .card { min-height: 82px; padding: 13px 14px; }
.ff-wave-summary span {
  display: block; margin-bottom: 4px; color: var(--tinta-3); font-family: var(--font-sans);
  font-size: .56rem; letter-spacing: .11em; text-transform: uppercase;
}
.ff-wave-summary strong { display: block; font-size: .9rem; }
.ff-wave-summary strong.num { font-family: var(--font-num); font-size: 1.25rem; font-variant-numeric: tabular-nums; }
.ff-wave-summary .ff-progress { width: 100%; margin-top: 8px; }
.ff-actions-card { display: flex; align-items: end; flex-wrap: wrap; gap: 10px; margin-bottom: 14px; }
.ff-inline-form { display: flex; align-items: end; flex-wrap: wrap; gap: 7px; }
.ff-inline-form label { min-width: 190px; }
.ff-actions-card > .ff-feedback { flex-basis: 100%; }
.ff-grid-main { align-items: start; }
.ff-order-stack { display: grid; }
.ff-order-row {
  display: grid; grid-template-columns: minmax(0,1fr) auto auto; gap: 12px; align-items: center;
  padding: 11px 14px; border-bottom: 1px solid var(--linha);
}
.ff-order-row:last-child { border-bottom: 0; }
.ff-order-row > div:first-child { min-width: 0; }
.ff-order-row > div:first-child strong, .ff-order-row > div:first-child small { display: block; margin-top: 2px; }
.ff-order-row > div:first-child small { overflow: hidden; color: var(--tinta-3); font-size: .68rem; text-overflow: ellipsis; white-space: nowrap; }
.ff-order-count { font-weight: 700; font-variant-numeric: tabular-nums; }
.ff-row-actions, .page-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; }
.ff-picking-layout { display: grid; grid-template-columns: 225px minmax(0,1fr); gap: 12px; align-items: start; }
.ff-focus-orders { position: sticky; top: 12px; display: grid; gap: 5px; padding: 10px; }
.ff-focus-orders > .eyebrow { padding: 5px; }
.ff-focus-orders a {
  display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 7px; align-items: center;
  padding: 9px; border: 1px solid transparent; border-radius: 8px; color: var(--tinta-2); text-decoration: none;
}
.ff-focus-orders a:hover, .ff-focus-orders a.is-on { border-color: var(--linha); background: var(--marfim); color: var(--verde); }
.ff-focus-orders a span { min-width: 0; }
.ff-focus-orders a code, .ff-focus-orders a small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ff-focus-orders a small { margin-top: 2px; color: var(--tinta-3); font-size: .65rem; }
.ff-focus-orders a strong { font-size: .68rem; }
.ff-picking-main { min-width: 0; }
.ff-scanner {
  display: grid; grid-template-columns: auto minmax(200px,1fr) 90px auto; gap: 9px; align-items: end;
  margin-bottom: 12px; border-color: var(--verde);
}
.ff-scanner-icon {
  width: 44px; height: 44px; display: grid; place-items: center;
  border-radius: 10px; background: var(--verde); color: var(--blush);
}
.ff-scanner-field, .ff-scanner-qty { min-width: 0; }
.ff-scanner .ff-feedback { grid-column: 2 / -1; margin: 0; }
.ff-scanner input[name="barcode"] { border-width: 2px; font-family: monospace; font-size: 1rem; }
.ff-package-tabs { display: flex; gap: 7px; margin-bottom: 12px; overflow-x: auto; }
.ff-package-tabs a {
  min-width: 130px; padding: 9px 11px; border: 1px solid var(--linha); border-radius: 9px;
  background: #fff; color: var(--tinta-2); text-decoration: none;
}
.ff-package-tabs a.is-on { border-color: var(--verde); box-shadow: inset 0 -3px 0 var(--verde); color: var(--verde); }
.ff-package-tabs span, .ff-package-tabs small { display: block; }
.ff-package-tabs span { font-weight: 700; }
.ff-package-tabs small { margin-top: 2px; font-size: .65rem; }
.ff-pack-grid { display: grid; grid-template-columns: minmax(0,1fr) 300px; gap: 12px; align-items: start; }
.ff-pack-main { min-width: 0; }
.ff-pack-side { display: grid; gap: 12px; position: sticky; top: 12px; }
.ff-pack-side h2 { margin: 3px 0 12px; overflow-wrap: anywhere; font-size: 1.05rem; }
.ff-pack-side label { display: block; margin-top: 8px; }
.ff-dim-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.ff-form-footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 11px 14px; border-top: 1px solid var(--linha); }
.ff-checklist { display: grid; gap: 5px; margin-top: 10px; }
.ff-checklist label {
  display: flex; align-items: center; gap: 8px; margin: 0; padding: 8px;
  border: 1px solid var(--linha); border-radius: 8px; background: var(--marfim); font-size: .78rem;
}
.ff-checklist input { accent-color: var(--verde); }
.ff-help { display: block; margin-top: 7px; color: var(--tinta-3); font-size: .68rem; line-height: 1.4; text-align: center; }
.btn-block { width: 100%; justify-content: center; margin-top: 9px; }
.ff-manifest-create { display: grid; grid-template-columns: minmax(190px,.7fr) minmax(0,2fr); gap: 18px; align-items: end; }
.ff-manifest-create > div > p:not(.eyebrow) { margin-top: 4px; color: var(--tinta-3); font-size: .75rem; }

@media (max-width: 1240px) {
  .kpis-5 { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .inventory-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ff-wave-summary { grid-template-columns: 1fr 1fr; }
  .ff-steps { grid-template-columns: 1fr 1fr; }
  .ff-steps-3 { grid-template-columns: 1fr; }
  .ff-pack-grid { grid-template-columns: minmax(0,1fr) 270px; }
  .filtros { grid-template-columns: 1fr 1fr 1fr; }
  .fp-topo { grid-template-columns: minmax(200px, 1fr) 150px 160px auto; }
  .order-detail-grid, .readiness-checks { grid-template-columns: 1fr 1fr; }
  .status-legend-grid { grid-template-columns: 1fr; }
  .exception-row { grid-template-columns: 90px minmax(240px,1fr) 160px; }
  .exception-actions { grid-column: 2 / -1; }
  .filtro-busca { grid-column: 1 / -1; }
  .dash-charts, .integ-grid, .integ-depts { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 980px) {
  .auth-split, .kpis, .grid-2, .filters, .form-grid, .kpis-5,
  .pulse-grid, .dash-charts, .chart-mix, .integ-grid, .integ-depts, .integ-route-opts, .confere, .shipment-pulse,
  .wallet-strip, .shipment-wallets, .wallet-pulses,
  .completion-form, .inventory-kpis, .readiness-summary { grid-template-columns: 1fr; }
  .completion-block--wide { grid-column: auto; }
  .chart-bar { grid-template-columns: 88px 1fr 1.4em; }
  .filtros { grid-template-columns: 1fr 1fr; }
  .fp-topo { grid-template-columns: 1fr 1fr; }
  .fp-busca, .fp-acoes { grid-column: 1 / -1; }
  .fp-periodo-campo { grid-column: 1 / -1; }
  .fp-uf { max-width: none; }
  /* No telefone a régua vira uma faixa que rola, em vez de oito linhas. */
  .order-rail { flex-wrap: nowrap; overflow-x: auto; padding: 10px; }
  .order-fila { flex: 0 0 auto; }
  .order-rail-sep { height: 16px; }
  .order-detail-grid { grid-template-columns: 1fr; }
  .ff-steps { grid-template-columns: 1fr; }
  .exception-kpis, .integration-pulses, .customer-kpis, .customer-snap { grid-template-columns: 1fr 1fr; }
  .exception-row, .customer-row { grid-template-columns: 1fr; }
  .customer-hub { grid-template-columns: 1fr; }
  .customer-timeline li { grid-template-columns: 1fr; gap: 4px; }
  .exception-actions { grid-column: auto; justify-content: flex-start; }
  .exception-toolbar > label,
  .exception-search { flex: 1 1 calc(50% - 10px); }
  .exception-search { flex-basis: 100%; }
  .exception-toolbar-go { width: 100%; }
  .inventory-filters { grid-template-columns: 1fr 1fr; }
  .inventory-filters .filtro-busca { grid-column: 1 / -1; }
  .lote { position: static; }
  .abas { overflow-x: auto; flex-wrap: nowrap; }
  .abas button { white-space: nowrap; }
  .cat-mae { flex-wrap: wrap; }
  .import-card { grid-template-columns: 1fr; }
  .modal { padding: 0; align-items: flex-end; }
  .modal-caixa { width: 100%; max-height: 92vh; border-radius: 18px 18px 0 0; }
  .app-side { transform: translateX(-105%); transition: transform var(--ease); }
  .app-side.is-open { transform: none; }
  .app-main { margin-left: 0; padding: 72px 18px 48px; }
  .ff-picking-layout, .ff-pack-grid, .ff-manifest-create { grid-template-columns: 1fr; }
  .ff-focus-orders, .ff-pack-side { position: static; }
  .ff-focus-orders { display: flex; overflow-x: auto; }
  .ff-focus-orders a { min-width: 185px; }
  .sb-toggle { display: grid; place-items: center; }
  .auth-aside { min-height: 280px; padding: 36px 28px; }
  .auth-main { padding: 32px 22px; }
}

@media (max-width: 980px) {
  .pend { grid-template-columns: 1fr; gap: 14px; }
  .pend-acts { min-width: 0; }
}

@media (max-width: 640px) {
  .page-title { font-size: 1.7rem; }
  .kpi-num, .pulse-num, .chart-head-num { font-size: 1.3rem; }
  .tw-chart-area { height: 5.75rem; }
  .chart-area.is-empty .tw-chart-area { height: 4.25rem; }
  .chart-donut-wrap { flex-wrap: wrap; }
  .alerta-grid { grid-template-columns: 1fr; }
  .pend-data { grid-template-columns: 1fr; }
  .steps { font-size: .62rem; gap: 6px 12px; }
  /* No celular o herói cede espaço: o formulário precisa aparecer sem rolagem longa */
  .auth-aside { min-height: 0; padding: 26px 22px 24px; }
  .auth-aside .brand-logo { width: 128px; }
  .auth-aside-kicker { margin-top: 16px; }
  .auth-aside-title { font-size: 1.5rem; }
  .auth-aside-lead, .auth-aside-list { display: none; }
  .fg-grid { grid-template-columns: 1fr; }
  .fg-2 { grid-column: auto; }
  .wiz-lbl { display: none; }
  .wiz-track { top: 14px; }
  .wiz-bullet { width: 28px; height: 28px; }
  .wiz-title { font-size: 1.25rem; }
  .wiz-resumo dl { grid-template-columns: 1fr; }
  .wiz-actions .btn { padding: 12px 18px; }
  .status-legend-grid { grid-template-columns: 1fr; gap: 4px; }
  .completion-overview { grid-template-columns: 1fr; gap: 10px; }
  .completion-modal .modal-topo { padding: 16px; }
  .completion-modal-body { padding: 16px; }
  .completion-modal-footer { padding: 12px 16px; }
  .completion-modal-footer > p { display: none; }
  .completion-dimensions { grid-template-columns: 1fr; }
  .completion-dimensions > span { display: none; }
  .inventory-source { align-items: flex-start; flex-direction: column; }
  .inventory-source-card { grid-template-columns: 1fr; }
  .inventory-source-card p { grid-column: auto; }
  .inventory-resolution-actions .link-min { margin-left: 0; }
  .readiness-checks, .exception-kpis, .integration-pulses, .customer-kpis, .customer-snap { grid-template-columns: 1fr; }
  .readiness-issue { grid-template-columns: 1fr; }
  .readiness-issue p { grid-column: auto; }
  .integration-readiness { align-items: flex-start; flex-direction: column; }
  .ff-scanner { grid-template-columns: auto minmax(0,1fr) 76px; }
  .ff-scanner .btn { grid-column: 2 / -1; }
  .ff-scanner .ff-feedback { grid-column: 1 / -1; }
  .ff-order-row { grid-template-columns: minmax(0,1fr) auto; }
  .ff-row-actions { grid-column: 1 / -1; }
  .ff-create-controls > *, .ff-create-controls label { flex: 1 1 100%; width: 100%; }
  .ff-create-controls .btn { justify-content: center; }
}

@media (max-width: 390px) {
  .app-main { padding-left: 12px; padding-right: 12px; }
  .page-actions { width: 100%; }
  .page-actions .btn { flex: 1 1 auto; justify-content: center; }
  .ff-wave-summary { grid-template-columns: 1fr 1fr; gap: 6px; }
  .ff-wave-summary .card { min-height: 72px; padding: 10px; }
  .ff-wave-summary strong.num { font-size: 1.05rem; }
  .ff-scanner { grid-template-columns: 40px minmax(0,1fr); padding: 11px; }
  .ff-scanner-icon { width: 40px; height: 40px; }
  .ff-scanner-qty { grid-column: 1; }
  .ff-scanner .btn { grid-column: 2; }
  .ff-dim-grid { grid-template-columns: 1fr; }
  .ff-form-footer, .ff-actions-card { align-items: stretch; flex-direction: column; }
  .ff-form-footer .btn, .ff-inline-form, .ff-inline-form .btn { width: 100%; }
}

/* pós-venda e rastreio */
.post-sale-kpis { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:14px }
.post-sale-kpis>a,
.post-sale-kpis>div { padding:12px 14px;border:1px solid var(--linha);border-radius:11px;background:#fff }
.post-sale-kpis>a { color:inherit;text-decoration:none }
.post-sale-kpis>a:hover { border-color:var(--verde) }
.post-sale-kpis>a.is-on { border-color:var(--verde);box-shadow:inset 3px 0 0 var(--verde) }
.post-sale-kpis span { display:block;color:var(--tinta-3);font-family:var(--font-sans);font-size:.56rem;letter-spacing:.1em;text-transform:uppercase }
.post-sale-kpis strong { display:block;margin-top:3px;font:700 1.25rem var(--font-num);font-variant-numeric:tabular-nums;color:var(--tinta-1) }
.post-sale-list { overflow:hidden }
.post-sale-row { display:grid;grid-template-columns:120px minmax(260px,1fr) 110px auto;gap:14px;align-items:start;padding:14px 16px;border-bottom:1px solid var(--linha) }
.post-sale-row:last-child { border-bottom:0 }
.post-sale-state { display:grid;justify-items:start;gap:5px;padding-top:2px }
.post-sale-main { min-width:0 }
.post-sale-main h2 { font-family:var(--font-text);font-size:.9rem;font-weight:650 }
.post-sale-money { display:grid;justify-items:end;gap:2px;padding-top:2px }
.post-sale-money strong { font-family:var(--font-num);font-variant-numeric:tabular-nums }
.post-sale-money small,
.post-sale-row small { color:var(--tinta-3);font-size:.7rem }
.post-sale-actions { display:flex;justify-content:flex-end;flex-wrap:wrap;gap:6px;padding-top:2px }
.badge-return-type { background:var(--areia);color:var(--tinta-2) }
.badge-return-requested,.badge-return-authorized,.badge-return-in_transit,.badge-refund-requested,.badge-refund-processing { background:#FBF1DF;color:var(--aviso) }
.badge-return-received,.badge-return-inspecting { background:var(--blush);color:var(--verde) }
.badge-return-approved,.badge-return-refunded,.badge-return-exchanged,.badge-return-closed,.badge-refund-paid { background:#E7F3EE;color:var(--sucesso) }
.badge-return-rejected,.badge-return-cancelled,.badge-refund-failed,.badge-refund-cancelled { background:#FBECEF;color:var(--erro) }
.post-sale-compact-list { display:grid;gap:6px }
.post-sale-compact-list>a { display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--linha);border-radius:9px;background:var(--marfim) }
.post-sale-compact-list>a>span:first-child { display:grid;gap:2px }
.post-sale-compact-list small { color:var(--tinta-3);font-size:.7rem }
.post-sale-new { margin-top:12px;border-top:1px solid var(--linha);padding-top:10px }
.post-sale-new>summary,.tracking-add>summary { cursor:pointer;color:var(--verde);font:600 .66rem var(--font-sans);letter-spacing:.09em;text-transform:uppercase }
.post-sale-new form,.tracking-add form { margin-top:14px }
.post-sale-items { display:grid;gap:6px;margin:12px 0 }
.post-sale-items label { display:grid;grid-template-columns:minmax(0,1fr) 100px;gap:12px;align-items:center;padding:9px 10px;border:1px solid var(--linha);border-radius:8px }
.post-sale-items label>span { display:grid }
.post-sale-items small { color:var(--tinta-3);font-size:.68rem }
.post-sale-actions-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px }
.post-sale-action { display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:16px }
.post-sale-action>svg { color:var(--verde) }
.post-sale-action h2 { font-size:1.1rem }
.post-sale-action p { color:var(--tinta-3);font-size:.78rem }
.post-sale-action .form-label { width:100% }
.inspection-list { display:grid;gap:8px }
.inspection-row { display:grid;grid-template-columns:minmax(230px,1.5fr) 110px 170px minmax(180px,1fr);gap:10px;align-items:end;padding:10px;border:1px solid var(--linha);border-radius:9px }
.inspection-row>div { display:grid;align-self:center }
.inspection-row small { color:var(--tinta-3);font-size:.68rem }
.inspection-row label { font:600 .58rem var(--font-sans);letter-spacing:.08em;text-transform:uppercase }
.refund-request-form { display:grid;grid-template-columns:160px minmax(220px,1fr) auto;align-items:end;gap:10px;margin-top:14px }
.tracking-event-list { display:grid;gap:0 }
.tracking-event-list article { display:grid;grid-template-columns:34px 1fr;gap:11px;min-height:72px;padding:7px 0;position:relative }
.tracking-event-list article::before { content:"";position:absolute;left:16px;top:40px;bottom:-7px;width:1px;background:var(--linha) }
.tracking-event-list article:last-child::before { display:none }
.tracking-event-dot { z-index:1;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--verde);color:var(--blush) }
.tracking-event-list article.is-exception .tracking-event-dot { background:var(--erro);color:#fff }
.tracking-event-list article.is-ignored { opacity:.58 }
.tracking-event-list article.is-ignored .tracking-event-dot { background:var(--areia);color:var(--tinta-3) }
.tracking-event-list p { margin:2px 0;color:var(--tinta-2);font-size:.78rem }
.tracking-event-list small { color:var(--tinta-3);font-size:.68rem }
.tracking-add { margin-top:10px;border-top:1px solid var(--linha);padding-top:12px }

.notify-tabs { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:28px }
.notify-tab { display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:18px 18px 16px;border:1px solid var(--linha);border-radius:14px;background:var(--marfim);color:inherit;text-decoration:none }
.notify-tab strong { font:600 1.05rem var(--font-serif);color:var(--verde) }
.notify-tab span { color:var(--tinta-3);font-size:.78rem;line-height:1.45 }
.notify-tab.is-on { border-color:var(--verde);box-shadow:0 0 0 1px var(--verde) }
.notify-state { font:700 .62rem var(--font-sans);letter-spacing:.08em;text-transform:uppercase;padding:4px 8px;border-radius:999px;background:var(--areia);color:var(--tinta-2) }
.notify-state.is-ready { background:rgba(46,158,116,.14);color:#1F6B4E }
.notify-state.is-setup { background:rgba(224,167,58,.16);color:#8A5A12 }
.notify-panel h2 { font:500 1.45rem var(--font-serif);margin:6px 0 10px }
.notify-split { display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,1fr);gap:22px }
.notify-templates { display:grid;gap:8px;margin-top:16px }
.notify-template { display:grid;gap:2px;padding:12px 14px;border:1px solid var(--linha);border-radius:10px;text-decoration:none;color:inherit;background:#fff }
.notify-template.is-on { border-color:var(--verde) }
.notify-template small { color:var(--tinta-3);font-family:ui-monospace,monospace;font-size:.68rem }
.notify-template span { color:var(--tinta-3);font-size:.75rem }
.notify-preview-card { padding:18px;border:1px solid var(--linha);border-radius:14px;background:#fff;min-height:420px }
.notify-iframe { width:100%;height:520px;border:1px solid var(--linha);border-radius:10px;background:#F3EEEA;margin-top:12px }
.notify-soon { max-width:720px;padding:28px 8px 12px }
.notify-soon > svg { color:var(--verde);margin-bottom:8px }
.notify-soon ul { margin:16px 0 0;padding-left:18px;color:var(--tinta-2) }
.notify-soon li { margin:6px 0 }
.notify-zapi { display:grid;grid-template-columns:1fr 220px;gap:18px;margin:22px 0;align-items:stretch }
.notify-zapi--single { grid-template-columns:1fr;max-width:28rem }
.notify-zapi > div:first-child,
.notify-zapi-card { padding:16px;border:1px solid var(--linha);border-radius:12px;background:#fff }
.notify-zapi span { font:700 .62rem var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--tinta-3) }
.notify-zapi strong { display:block;margin:6px 0 4px;font:600 1.05rem var(--font-serif) }
.notify-zapi small[data-zapi-detail] { display:block;color:var(--tinta-2);font-size:.88rem;line-height:1.45;max-width:26rem }
.notify-zapi-instance { margin-top:12px;font-size:.8rem }
.notify-zapi-actions { margin-top:14px;display:flex;flex-wrap:wrap;gap:8px }
.notify-zapi [data-zapi-msg] { margin-top:10px;font-size:.85rem;min-height:1.2em }
.notify-qr { display:grid;place-items:center;text-align:center;padding:18px;margin-top:14px;border:1px dashed var(--linha);border-radius:12px;color:var(--tinta-3);background:var(--areia) }
.notify-qr__img { width:260px;height:260px;max-width:100%;border-radius:8px;background:#fff;padding:8px;box-sizing:border-box }
.notify-qr__hint { margin:0;font-size:.82rem;line-height:1.4;max-width:16rem }

.notify-group-block { margin:0 0 32px }
.notify-group-block--conta { opacity:.92 }
.notify-group-head { margin-bottom:14px }
.notify-group-head h2 { font:500 1.35rem var(--font-serif);margin:4px 0 6px;color:var(--verde) }
.notify-group-head p { color:var(--tinta-3);font-size:.86rem;max-width:40rem;margin:0 }
.notify-stage-list { display:grid;gap:16px }
.notify-stage-card { border:1px solid var(--linha);border-radius:14px;background:#fff;padding:16px 18px 18px }
.notify-stage-card__head { display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:14px }
.notify-stage-card__head h3 { font:600 1.05rem var(--font-serif);margin:0 0 4px;color:var(--tinta-1) }
.notify-stage-card__head p { margin:0;color:var(--tinta-3);font-size:.78rem }
.notify-stage-card__head code { font-size:.68rem;color:var(--tinta-3);white-space:nowrap }
.notify-stage-cols { display:grid;grid-template-columns:minmax(0,1.15fr) minmax(220px,.85fr);gap:16px }
.notify-stage-cols--one { grid-template-columns:1fr }
.notify-stage-col .eyebrow { margin-bottom:6px }
.notify-stage-subject { display:block;font:600 .88rem var(--font-text);color:var(--tinta-1);margin-bottom:8px }
.notify-iframe--sm { height:280px;margin-top:0 }
.notify-wa-bubble {
  margin:0;padding:14px 16px;border-radius:12px 12px 4px 12px;
  background:var(--areia);color:var(--tinta-1);font:400 .88rem/1.5 var(--font-text);
  white-space:pre-wrap;word-break:break-word;border:1px solid var(--linha);
}
.notify-group-block--conta .notify-stage-card { background:var(--marfim) }

.badge-sac-urg-baixa { background: var(--areia); color: var(--tinta-3); }
.badge-sac-urg-normal { background: var(--areia); color: var(--verde); }
.badge-sac-urg-alta { background: var(--aviso-bg); color: var(--aviso); }
.badge-sac-urg-urgente { background: var(--erro-bg); color: var(--erro); }
.badge-sac-status { background: var(--areia); color: var(--tinta-2); }
.sac-desk { display: grid; grid-template-columns: minmax(0, 1.4fr) 300px; gap: 16px; align-items: start; }
.sac-desk-thread { padding: 0; overflow: hidden; }
.sac-desk-messages { display: grid; gap: 10px; padding: 16px; max-height: 58vh; overflow: auto; }
.sac-desk-msg { border-radius: 10px; padding: 12px 14px; background: var(--areia); }
.sac-desk-msg header { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 6px; color: var(--tinta-3); font-size: .68rem; }
.sac-desk-msg p { margin: 0; font-size: .84rem; line-height: 1.5; }
.sac-desk-msg--out { background: var(--areia); box-shadow: inset 3px 0 0 var(--verde); }
.sac-desk-msg--note { background: var(--aviso-bg); }
.sac-desk-reply, .sac-desk-note { display: grid; gap: 10px; padding: 14px 16px; border-top: 1px solid var(--linha); }
.sac-desk-reply label, .sac-desk-note label, .sac-desk-meta label { display: grid; gap: 5px; }
.sac-desk-reply span, .sac-desk-note span, .sac-desk-meta span { color: var(--tinta-3); font: 600 .58rem var(--font-sans); letter-spacing: .1em; text-transform: uppercase; }
.sac-desk-reply-row { display: flex; align-items: end; gap: 10px; }
.sac-desk-reply-row label { flex: 1; }
.sac-desk-meta, .sac-desk-who { display: grid; gap: 10px; padding: 16px; }
.sac-desk-who strong { font-family: var(--font-text); }
.sac-desk-who p { margin: 0; font-size: .8rem; }
.urgency-urgente { box-shadow: inset 3px 0 0 var(--erro); }
.review-desk-row .exception-next { max-width: 68ch; }
.review-desk-stars { display: inline-flex; gap: 1px; color: var(--linha); }
.review-desk-stars .is-on { color: var(--champanhe); fill: var(--champanhe); }
.review-desk-reason { margin: 8px 0 0; font-size: .74rem; }
.review-desk-row .exception-actions form { display: flex; flex-wrap: wrap; gap: 6px; }

#modal-integ-frete,
#modal-integ-frete .eyebrow,
#modal-integ-frete .badge,
#modal-integ-frete h2,
#modal-integ-frete h3,
#modal-integ-frete p,
#modal-integ-frete .integ-detail,
#modal-integ-frete .integ-wallet,
#modal-integ-frete .wallet-amount,
#modal-integ-frete .wallet-card,
#modal-integ-frete .integ-opt,
#modal-integ-frete .form-label,
#modal-integ-frete .form-hint,
#modal-integ-frete .form-check,
#modal-integ-frete .btn {
  letter-spacing: 0;
  font-variant-numeric: normal;
  font-feature-settings: normal;
}
#modal-integ-frete .eyebrow,
#modal-integ-frete .badge {
  text-transform: none;
}
#modal-integ-frete .wallet-amount {
  font-family: var(--font-num, Inter, sans-serif);
}
.integ-opt--house { align-items: flex-start; }
.integ-opt--house .house-form { margin-top: 14px; }
.integ-opt--house .form-check { margin-top: 4px; }

@media (max-width: 760px) {
  .notify-tabs,.notify-split,.notify-zapi,.notify-stage-cols { grid-template-columns:1fr }
  .post-sale-kpis { grid-template-columns:repeat(2,minmax(0,1fr)) }
  .post-sale-row { grid-template-columns:1fr }
  .post-sale-money { justify-items:start }
  .post-sale-actions { justify-content:flex-start }
  .post-sale-actions-grid,.inspection-row,.refund-request-form { grid-template-columns:1fr }
  .sac-desk { grid-template-columns: 1fr; }
  .sac-desk-messages { max-height: none; }
}

/* Pedidos — toggle Lista | Kanban */
.vista-toggle {
  display: inline-flex;
  align-items: stretch;
  margin: 4px 0 14px;
  border: 1px solid var(--linha);
  border-radius: 10px;
  overflow: hidden;
  background: var(--marfim);
}
.vista-btn {
  padding: 8px 16px;
  font-family: var(--font-ui, Jost, sans-serif);
  font-size: .78rem;
  font-weight: 500;
  letter-spacing: .04em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--tinta-2);
  border-right: 1px solid var(--linha);
}
.vista-btn:last-child { border-right: 0; }
.vista-btn:hover { color: var(--verde); background: #E7F3EE; }
.vista-btn.is-on {
  background: var(--verde);
  color: var(--blush);
}
.vista-btn.is-on:hover { color: var(--blush); background: var(--verde-600, #003830); }

.kanban-note {
  margin: 0 0 8px;
  font-size: .82rem;
  color: var(--tinta-3);
}
.kanban-err {
  margin: 0 0 10px;
  padding: 8px 12px;
  font-size: .82rem;
  color: var(--erro);
  background: var(--erro-bg);
  border: 1px solid var(--erro-bd);
  border-radius: 8px;
}
.kanban {
  --kanban-top: 280px;
  --kanban-sec-min: 160px;
  display: grid;
  grid-template-rows: repeat(3, minmax(var(--kanban-sec-min), 1fr));
  gap: 14px;
  height: calc(100vh - var(--kanban-top));
  min-height: calc(3 * var(--kanban-sec-min));
  max-height: calc(100vh - var(--kanban-top));
}
.kanban-sec {
  display: flex;
  flex-direction: column;
  min-height: 0;
  gap: 6px;
}
.kanban-sec-head { flex: 0 0 auto; margin-bottom: 0; }
.kanban-sec-title {
  margin: 0;
  font-family: var(--font-display, "Bodoni Moda", serif);
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--verde);
  letter-spacing: 0;
}
.kanban-cols {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  gap: 10px;
  overflow-x: auto;
  overflow-y: hidden;
  padding-bottom: 2px;
  scroll-snap-type: x proximity;
  align-items: stretch;
}
.kanban-col {
  flex: 0 0 220px;
  width: 220px;
  max-width: 220px;
  display: flex;
  flex-direction: column;
  min-height: 0;
  height: 100%;
  max-height: none;
  background: var(--areia);
  border: 1px solid var(--linha);
  border-radius: 12px;
  scroll-snap-align: start;
}
.kanban-col.is-drop {
  border-color: var(--verde-400, #2A6B5F);
  background: color-mix(in srgb, var(--verde) 6%, var(--areia));
}
.kanban-col-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 10px 12px 8px;
  border-bottom: 1px solid var(--linha);
  flex: 0 0 auto;
}
.kanban-col-title {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
}
.kanban-col-ico {
  flex: 0 0 auto;
  color: var(--verde);
  opacity: .85;
}
.kanban-col-name {
  font-family: var(--font-ui, Jost, sans-serif);
  font-size: .72rem;
  font-weight: 500;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--tinta-2);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.kanban-col-n {
  font-family: var(--font-num, Inter, sans-serif);
  font-variant-numeric: tabular-nums;
  font-size: .78rem;
  font-weight: 600;
  color: var(--verde);
}
.kanban-col-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  padding: 8px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.kanban-empty {
  margin: 18px 8px;
  text-align: center;
  font-size: .78rem;
  color: var(--tinta-4);
}
.kanban-card {
  display: grid;
  gap: 4px;
  padding: 10px 11px;
  background: #fff;
  border: 1px solid var(--linha);
  border-radius: 10px;
  text-decoration: none;
  color: inherit;
  cursor: grab;
  touch-action: none;
  user-select: none;
  transition: border-color var(--ease), box-shadow var(--ease), opacity var(--ease);
}
.kanban-card:hover {
  border-color: var(--verde-400, #2A6B5F);
  box-shadow: 0 1px 0 color-mix(in srgb, var(--verde) 12%, transparent);
}
.kanban-card.is-dragging {
  opacity: .45;
  cursor: grabbing;
}
.kanban-card-ghost {
  position: fixed;
  z-index: 80;
  pointer-events: none;
  width: 200px;
  opacity: .92;
  box-shadow: 0 8px 24px color-mix(in srgb, var(--verde) 18%, transparent);
  transform: rotate(1.5deg);
}
.kanban-card-code {
  font-size: .78rem;
  font-weight: 600;
  color: var(--verde);
}
.kanban-card-nome {
  font-size: .82rem;
  color: var(--tinta-1);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.kanban-card-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  margin-top: 2px;
}
.kanban-card-meta .badge { font-size: .52rem; }
.kanban-card-total {
  font-family: var(--font-num, Inter, sans-serif);
  font-variant-numeric: tabular-nums;
  font-size: .78rem;
  font-weight: 600;
  color: var(--tinta-1);
}
.kanban-col-foot {
  padding: 6px 10px 10px;
  border-top: 1px solid var(--linha);
  text-align: center;
  flex: 0 0 auto;
}
.kanban-more {
  font-size: .74rem;
  color: var(--verde);
  text-decoration: none;
}
.kanban-more:hover { text-decoration: underline; }

@media (max-width: 760px) {
  .kanban {
    height: auto;
    max-height: none;
    grid-template-rows: none;
    gap: 18px;
  }
  .kanban-cols {
    flex-direction: column;
    overflow-x: visible;
    overflow-y: visible;
    scroll-snap-type: none;
  }
  .kanban-col {
    flex: 1 1 auto;
    width: 100%;
    max-width: none;
    height: auto;
    max-height: 360px;
  }
}

/* ---------------- CDP ---------------- */
.cdp-segments {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 16px;
}
.cdp-seg {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
  padding: 14px 14px 12px;
  border: 1px solid var(--linha);
  border-radius: var(--r);
  background: #fff;
  color: inherit;
  text-decoration: none;
  box-shadow: inset 3px 0 0 transparent;
}
.cdp-seg:hover { border-color: var(--verde-400); text-decoration: none; }
.cdp-seg.is-on { border-color: var(--verde); box-shadow: inset 3px 0 0 var(--verde); }
.cdp-seg-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.cdp-seg-ico {
  width: 28px; height: 28px; display: grid; place-items: center;
  border-radius: 8px; background: var(--areia); color: var(--verde);
}
.cdp-seg-count {
  font-family: var(--font-num); font-variant-numeric: tabular-nums lining-nums;
  font-size: 1.35rem; font-weight: 700; letter-spacing: -.02em; color: var(--tinta-1);
}
.cdp-seg-title {
  font-family: var(--font-text); font-size: .88rem; font-weight: 650; line-height: 1.25; color: var(--tinta-1);
}
.cdp-seg-who {
  color: var(--tinta-2); font-size: .76rem; line-height: 1.4;
}
.cdp-seg-rule {
  color: var(--tinta-3); font-size: .68rem; line-height: 1.35;
}
.cdp-seg-note {
  color: var(--aviso); font-size: .68rem; line-height: 1.35;
}
.cdp-effort {
  margin-top: auto;
  display: inline-flex; align-self: flex-start;
  padding: 4px 8px; border-radius: 999px;
  font-family: var(--font-sans); font-size: .58rem; font-weight: 600;
  text-transform: uppercase; letter-spacing: .12em;
}
.cdp-effort--wa { background: #E7F3EE; color: var(--sucesso); }
.cdp-effort--mail { background: var(--areia); color: var(--tinta-1); }
.cdp-effort--quiet { background: #F3F1EF; color: var(--tinta-3); }
.cdp-hint p { margin: 0; color: var(--tinta-2); font-size: .86rem; line-height: 1.45; }
.cdp-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr);
  gap: 14px;
  align-items: start;
}
.cdp-list-head {
  display: flex; justify-content: space-between; align-items: flex-start; gap: 12px;
  padding: 16px 16px 12px; border-bottom: 1px solid var(--linha);
}
.cdp-list-title {
  margin: 2px 0 0; font-family: var(--font-display); font-size: 1.35rem; font-weight: 600; color: var(--tinta-1);
}
.cdp-list-lead { margin-top: 4px; color: var(--tinta-2); font-size: .8rem; line-height: 1.4; }
.cdp-people { list-style: none; margin: 0; padding: 0; }
.cdp-people > li { border-bottom: 1px solid var(--linha); }
.cdp-people > li:last-child { border-bottom: 0; }
.cdp-person {
  display: grid; gap: 3px; padding: 12px 16px; color: inherit; text-decoration: none;
}
.cdp-person:hover { background: var(--marfim); text-decoration: none; }
.cdp-person.is-on { background: #F4F8F6; box-shadow: inset 3px 0 0 var(--verde); }
.cdp-person strong { font-family: var(--font-text); font-size: .9rem; font-weight: 650; }
.cdp-person-meta { color: var(--tinta-3); font-size: .74rem; line-height: 1.35; }
.cdp-copy-block { padding: 12px 16px 16px; border-top: 1px solid var(--linha); }
.cdp-copy { font-family: var(--font-text); font-size: .8rem; line-height: 1.45; resize: vertical; min-height: 4.5rem; }
.cdp-profile { padding: 16px; min-height: 220px; }
.cdp-dl {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px;
  margin: 14px 0 0;
}
.cdp-dl dt {
  font-family: var(--font-sans); font-size: .56rem; font-weight: 500;
  text-transform: uppercase; letter-spacing: .14em; color: var(--tinta-3);
}
.cdp-dl dd { margin-top: 3px; font-family: var(--font-num); font-variant-numeric: tabular-nums; font-size: .92rem; color: var(--tinta-1); }
.cdp-block { margin-top: 16px; }
.cdp-bullets {
  margin: 6px 0 0; padding-left: 1.1rem; color: var(--tinta-2); font-size: .8rem; line-height: 1.45;
}
.cdp-actions { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 6px; }
.cdp-actions li {
  display: flex; justify-content: space-between; gap: 10px; align-items: baseline;
  padding: 8px 10px; border: 1px solid var(--linha); border-radius: 10px; background: var(--marfim);
  font-size: .78rem;
}
.cdp-actions em { font-style: normal; color: var(--verde); font-family: var(--font-sans); font-size: .62rem; text-transform: uppercase; letter-spacing: .12em; }
.cdp-profile-go { margin-top: 16px; }
.cdp-empty { border: 0; border-radius: 0; }
@media (max-width: 1100px) {
  .cdp-segments { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cdp-workspace { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .cdp-segments { grid-template-columns: 1fr; }
  .cdp-dl { grid-template-columns: 1fr; }
}

.cdp-switch { display: flex; flex-wrap: wrap; gap: 8px; margin: -8px 0 18px; }
.cdp-switch a,
.an-period a {
  font-family: var(--font-sans);
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--tinta-2);
  border: 1px solid var(--linha);
  background: #fff;
  border-radius: 999px;
  padding: 8px 14px;
}
.cdp-switch a:hover,
.an-period a:hover { text-decoration: none; border-color: var(--verde-400); }
.cdp-switch a.is-on,
.an-period a.is-on { color: var(--blush); background: var(--verde); border-color: var(--verde); }
.an-period { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 14px; }
.an-note { margin: 0 0 14px; color: var(--tinta-2); font-size: .86rem; line-height: 1.45; }
.an-foot { margin: 4px 0 0; color: var(--tinta-3); font-size: .75rem; line-height: 1.4; }
.an-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(240px, .85fr);
  gap: 12px;
  margin-bottom: 12px;
  align-items: stretch;
}
.an-grid--equal { grid-template-columns: 1fr 1fr; }
.an-grid > .card { margin-bottom: 0; }
.an-kpis { margin-bottom: 14px; }
.kpi-num--word { font-size: 1.15rem; letter-spacing: 0; line-height: 1.15; }
.an-line-legend { grid-template-columns: auto auto; justify-content: start; margin-top: 8px; }
.an-pages .chart-bar,
.an-devices .chart-bar { grid-template-columns: 108px minmax(0, 1fr) 2.4em; }
.an-products { display: grid; }
.an-product {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(72px, .8fr) auto;
  gap: 10px;
  align-items: center;
  padding: 8px 0;
  border-bottom: 1px solid var(--linha);
}
.an-product:last-child { border-bottom: 0; }
.an-product-name { min-width: 0; }
.an-product-name strong {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-family: var(--font-text);
  font-size: .88rem;
  font-weight: 650;
}
.an-product b {
  font-family: var(--font-num);
  font-variant-numeric: tabular-nums lining-nums;
  font-weight: 700;
  font-size: .92rem;
}
.an-chart .tw-chart-area,
.chart-card--area .tw-chart-area { height: 6.5rem; }
@media (max-width: 980px) {
  .an-kpis { grid-template-columns: 1fr 1fr; }
  .an-grid, .an-grid--equal { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .an-kpis { grid-template-columns: 1fr; }
  .an-product { grid-template-columns: 1fr; }
  .an-product-name strong { white-space: normal; }
}
.fiado-row-actions { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.fiado-row-actions .form-control { width: auto; min-width: 7.5rem; }
