/* ══════════════════════════════════════════════════════════════
   ESTILO.CSS — extraído do index.html em 31/07/2026
   6 blocos <style> originais, concatenados pela mesma ordem em
   que apareciam no <head>. Nenhuma regra foi alterada — só movida.
   ══════════════════════════════════════════════════════════════ */

/* ── BLOCO 1 — reset/tipografia base (index.html linha 9 original) ── */
@font-face {
    font-family: 'MontserratLight';
    src: url('https://wmvucabpkixdzeanfrzx.supabase.co/storage/v1/object/public/assets/Montserrat-Light.ttf.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
    font-display: block;
}

#intro-screen {
  position: fixed;
  top:0; left:0;
  width:100vw; height:100vh;
  background:#fff;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  z-index:9999;
  font-family:'MontserratLight', sans-serif;
  transition: opacity 1.4s cubic-bezier(0.4,0,0.2,1);
  perspective: 900px;
}

#dynamic-text {
  font-size: 20vw;
  text-transform: lowercase;
  text-align: center;
  display: flex;
  justify-content: center;
  line-height: 1;
  letter-spacing: -0.02em;
}

#dynamic-text .char {
  display: inline-block;
  opacity: 0;
  color: #000;
  will-change: transform, opacity, color, filter;
}

@keyframes charAssemble {
  0%   { opacity: 0; }
  30%  { opacity: 1; }
  100% { opacity: 1; color: #000; filter: blur(0px); transform: translate(0,0) rotate(0deg) scale(1); }
}

#intro-line {
  width: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, #ccc, transparent);
  margin-top: 8px;
  transition: width 0.9s cubic-bezier(0.4,0,0.2,1);
}
#intro-line.draw { width: 20vw; }

@media(max-width:600px){
  #dynamic-text { font-size:15vw; }
  #intro-line.draw { width: 40vw; }
}

input, button, select, textarea {
    font-family: 'MontserratLight', sans-serif !important;
    font-weight: 300;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
select, select option {
    font-family: 'MontserratLight', sans-serif !important;
    font-weight: 300 !important;
}

/* ── BLOCO 2 — estilos principais (index.html linha 90 original) ── */

*, *::before, *::after {
  color-scheme: light;
}
html, body {
  margin:0; padding:0; height:100%;
  font-family:'MontserratLight', sans-serif;
  background:#fff !important; color:#000 !important; overflow:hidden;
  color-scheme: light;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}
body {
  display:flex; flex-direction:column;
  justify-content:flex-start; align-items:center; min-height:100vh;
  overflow-x:hidden; overflow-y:auto;
}

#login-screen {
  text-align:center; display:flex; flex-direction:column;
  align-items:center; justify-content:center;
  height:100vh; width:100%; position:fixed;
  top:0; left:0; background:#fff; z-index:5;
  overflow:hidden; box-sizing:border-box;
  padding: 16px;
  opacity:0; transform: translateY(18px);
  transition: opacity 0.9s cubic-bezier(0.22,1,0.36,1), transform 0.9s cubic-bezier(0.22,1,0.36,1);
}
#login-screen.visible { opacity:1; transform: translateY(0); }
#login-screen .logo-text {
  font-size: clamp(1.6rem, 4vw, 2.4rem); font-weight: 100;
  text-transform: lowercase; color: #000;
  letter-spacing: .1em; margin-bottom: 20px;
}
#login-screen #current-time {
  font-size: clamp(3rem, 10vw, 5.5rem); font-weight: 100;
  letter-spacing: -.02em; color: #000;
  line-height: 1; margin-top: 0;
}
#login-screen #current-date {
  font-size: 0.82rem; font-weight: 600;
  text-transform: lowercase; color: #000;
  letter-spacing: .07em; margin-top: 10px;
}
#login-screen .loading-dots { display:flex; gap:8px; justify-content:center; margin-top:18px; }
#login-screen .loading-dots span { width:5px; height:5px; background:#000; border-radius:50%; opacity:0; animation:blink 7s infinite; }
#login-screen .loading-dots span:nth-child(1){animation-delay:0s;}
#login-screen .loading-dots span:nth-child(2){animation-delay:0.5s;}
#login-screen .loading-dots span:nth-child(3){animation-delay:1s;}
#login-divider { width:32px; height:1px; background:#000; margin:26px auto; opacity:.15; }
#key-input-container { display:flex; flex-direction:column; align-items:center; }
#key-input {
  font-size: 1.05rem; font-weight: 600;
  padding: 8px 4px; width: 170px; text-align: center;
  border: none; border-bottom: 1.5px solid #000;
  outline: none; background: transparent; color: #000;
  transition: border-color .3s;
}
#key-input:focus { border-bottom-color: #000; }
#key-input::placeholder { color: #000; font-weight: 400; font-size:.9rem; }
#key-submit {
  margin-top: 22px; padding: 8px 34px;
  font-size: .78rem; font-weight: 600;
  letter-spacing: .12em; text-transform: lowercase;
  cursor: pointer; border: 1px solid #000;
  border-radius: 20px; background: transparent; color: #000;
  transition: border-color .2s, color .2s, background .2s;
}
#key-submit:hover { border-color: #000; background: #000; color: #fff; }

#main-header { display:flex; flex-direction:row; align-items:flex-start; justify-content:center; margin-bottom:10px; opacity:0; transition: opacity 1s ease; position:relative; width:100%; }
#main-header.show { opacity:1; }
#main-header-center { display:flex; flex-direction:column; align-items:center; }
#main-header .logo-text { font-size:3rem; text-transform:lowercase; margin-bottom:0px; line-height:1;}
#main-header #current-time-main { font-size:1.2rem; font-weight:bold; }
#main-header #current-date-main { font-size:1rem; font-weight:bold; }
#main-header .loading-dots { display:flex; gap:10px; justify-content:center; margin-top:5px; margin-bottom: 5px; }
#main-nav {
  position: absolute;
  left: 16px;
  top: 72%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  gap: 5px;
  align-items: flex-start;
}
#recibos-link,
#agenda-link,
#rotulos-link,
#etiquetas-link,
#processamento-link,
#banco-horas-link {
  display: inline-block;
  padding: 4px 13px;
  font-size: 0.7rem;
  font-weight: 600;
  font-family: 'MontserratLight', sans-serif;
  text-transform: uppercase;
  color: #000;
  text-decoration: none;
  letter-spacing: .1em;
  border: 1px solid #ccc;
  border-radius: 20px;
  cursor: pointer;
  transition: color .2s, border-color .2s, background .2s;
  min-width: 82px;
  text-align: center;
}
#recibos-link:hover,
#agenda-link:hover,
#rotulos-link:hover,
#etiquetas-link:hover,
#processamento-link:hover,
#banco-horas-link:hover {
  border-color: #555;
  background: #f5f5f5;
}
@media (max-width: 768px) { #main-nav { display: none; } }

#recibos-overlay {
  display: none;
  position: fixed; inset: 0;
  background: #fff;
  z-index: 200;
  flex-direction: column;
  opacity: 0;
  transition: opacity 0.6s cubic-bezier(0.22,1,0.36,1);
}
#recibos-overlay.open { display: flex; }
#recibos-overlay.visible { opacity: 1; }
#recibos-overlay-bar {
  display: flex; align-items: center; gap: 16px;
  padding: 10px 16px;
  border-bottom: 1px solid #e6e6e6;
  background: #fff;
  flex-shrink: 0;
}
#recibos-overlay-title {
  font-size: .82rem; font-weight: bold; text-transform: lowercase;
  letter-spacing: .06em; color: #000;
}
#recibos-overlay-back {
  font-size: .9rem; font-weight: bold; font-family: 'MontserratLight', sans-serif;
  cursor: pointer; color: #fff; background: #000; border: 1.5px solid #000;
  padding: 7px 16px 7px 12px; border-radius: 10px;
  transition: background .2s, color .2s, transform .15s, box-shadow .15s;
  text-transform: lowercase; letter-spacing: .03em;
  box-shadow: 0 2px 8px rgba(0,0,0,0.18);
}
#recibos-overlay-back:hover { background: #333; border-color: #333; color: #fff; transform: translateY(-1px); box-shadow: 0 4px 14px rgba(0,0,0,0.22); }
#recibos-overlay-content {
  flex: 1; overflow-y: auto; overflow-x: hidden;
  display: flex; flex-direction: column;
  align-items: center;
  padding: 40px 16px 60px;
  font-family: 'MontserratLight', sans-serif;
  -webkit-overflow-scrolling: touch;
}
#recibos-overlay-loading {
  font-size: .88rem; font-weight: bold; color: #000;
  padding: 60px 0; text-align: center;
}
#recibos-overlay-error {
  font-size: .88rem; font-weight: bold; color: #c03000;
  padding: 60px 0; text-align: center;
}
#recibos-overlay-body {
  width: 100%; max-width: 700px;
  display: flex; flex-direction: column; align-items: flex-start;
}
#recibos-overlay-body table td {
  padding: 9px 14px; border: 1px solid #efefef;
  font-size: .88rem; font-weight: bold; vertical-align: middle;
}
#recibos-overlay-body table tbody tr:hover td { background: #f5f5f5; }
#recibos-overlay-body table .rn {
  color: #000; font-size: .78rem; text-align: center; min-width: 24px;
}
#recibos-overlay-body table button {
  padding: 4px 12px; font-size: .78rem; cursor: pointer;
  border: 1px solid #ccc; border-radius: 7px; background: #fff;
  font-family: 'MontserratLight', sans-serif; font-weight: 600;
  transition: background .15s, color .15s;
}
#recibos-overlay-body table button:hover { background: #555; color: #fff; border-color: #555; }
.recibos-nota {
  position: fixed;
  top: 50%;
  left: 20px;
  transform: translateY(-50%);
  max-width: 160px;
  font-size: .82rem; font-weight: 600; color: #000;
  line-height: 1.7; text-align: left;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.5s ease;
  z-index: 201;
}
#recibos-overlay.visible .recibos-nota { opacity: 1; }
.recibos-nota p { margin-bottom: 8px; }
.recibos-nota p:last-child { margin-bottom: 0; }
.recibos-nota strong { color: #000; font-weight: bold; display: block; margin-bottom: 6px; font-size: .85rem; }
@media (max-width: 1024px) { .recibos-nota { display: none; } }

#etiquetas-overlay {
  display: none; position: fixed; inset: 0;
  background: #fff; z-index: 200;
  flex-direction: column; opacity: 0;
  transition: opacity 0.6s cubic-bezier(0.22,1,0.36,1);
}
#etiquetas-overlay.open { display: flex; }
#etiquetas-overlay.visible { opacity: 1; }
#etiquetas-overlay-bar {
  display: flex; align-items: center; gap: 16px;
  padding: 10px 16px; border-bottom: 1px solid #e6e6e6;
  background: #fff; flex-shrink: 0;
}
#etiquetas-overlay-title {
  font-size: .82rem; font-weight: bold; text-transform: lowercase;
  letter-spacing: .06em; color: #000;
}
#etiquetas-overlay-back {
  font-size: .9rem; font-weight: bold; font-family: 'MontserratLight', sans-serif;
  cursor: pointer; color: #fff; background: #000; border: 1.5px solid #000;
  padding: 7px 16px 7px 12px; border-radius: 10px;
  transition: background .2s, color .2s, transform .15s, box-shadow .15s;
  text-transform: lowercase; letter-spacing: .03em;
  box-shadow: 0 2px 8px rgba(0,0,0,0.18);
}
#etiquetas-overlay-back:hover { background: #333; border-color: #333; transform: translateY(-1px); box-shadow: 0 4px 14px rgba(0,0,0,0.22); }
#etiquetas-overlay-content {
  flex: 1; overflow-y: auto; overflow-x: hidden;
  display: flex; flex-direction: column; align-items: center;
  padding: 36px 16px 60px;
  font-family: 'MontserratLight', sans-serif;
  -webkit-overflow-scrolling: touch;
}
#etiquetas-form-wrap { width: 100%; max-width: 600px; }
#etiquetas-form-wrap .et-section-title {
  font-size: .72rem; font-weight: bold; text-transform: uppercase;
  letter-spacing: .1em; margin-bottom: 14px; opacity: .5;
}
.et-price-row {
  display: flex; align-items: center; gap: 10px; margin-bottom: 12px;
}
.et-price-row label { font-size: .82rem; font-weight: bold; min-width: 56px; }
.et-price-input, .et-qty-input {
  padding: 8px 12px; font-size: 1rem; font-weight: bold;
  font-family: 'MontserratLight', sans-serif;
  border: 1.5px solid #ddd; border-radius: 10px;
  outline: none; transition: border-color .2s; background: #fff;
}
.et-price-input { width: 120px; }
.et-qty-input   { width: 80px; }
.et-price-input:focus, .et-qty-input:focus { border-color: #555; }
.et-sep { font-size: .78rem; font-weight: bold; opacity: .4; white-space: nowrap; }
.et-total-badge { font-size: .72rem; font-weight: bold; opacity: .55; min-width: 60px; text-align: right; }
#et-summary-row {
  display: flex; align-items: center; justify-content: space-between;
  margin: 18px 0 22px; padding: 12px 16px; border-radius: 12px;
  background: #f7f7f7; border: 1.5px solid #e6e6e6;
}
#et-summary-row span { font-size: .88rem; font-weight: bold; }
.et-btn-row { display: flex; gap: 10px; flex-wrap: wrap; }
.et-btn {
  padding: 10px 26px; font-size: .88rem; font-weight: bold;
  font-family: 'MontserratLight', sans-serif; text-transform: lowercase;
  cursor: pointer; border-radius: 10px; border: 1.5px solid #ccc;
  background: #fff; transition: background .15s, color .15s, border-color .15s;
}
.et-btn:hover { background: #f5f5f5; border-color: #555; }
.et-btn.primary { background: #000 !important; color: #fff !important; border-color: #000 !important; }
.et-btn.primary:hover { background: #333 !important; border-color: #333 !important; }
.et-btn:disabled { opacity: .4; cursor: not-allowed; }
#et-status { margin-top: 14px; font-size: .82rem; font-weight: bold; min-height: 20px; }

#ventas-link {
  display: inline-block;
  padding: 4px 13px;
  font-size: 0.7rem;
  font-weight: 600;
  font-family: 'MontserratLight', sans-serif;
  text-transform: uppercase;
  color: #000;
  text-decoration: none;
  letter-spacing: .1em;
  border: 1px solid #ccc;
  border-radius: 20px;
  cursor: pointer;
  transition: color .2s, border-color .2s, background .2s;
  min-width: 82px;
  text-align: center;
}
#ventas-link:hover { border-color: #555; background: #f5f5f5; }

#banco-horas-link {
  display: inline-block;
  padding: 4px 13px;
  font-size: 0.7rem;
  font-weight: 600;
  font-family: 'MontserratLight', sans-serif;
  text-transform: uppercase;
  color: #000;
  text-decoration: none;
  letter-spacing: .1em;
  border: 1px solid #ccc;
  border-radius: 20px;
  cursor: pointer;
  transition: color .2s, border-color .2s, background .2s;
  min-width: 82px;
  text-align: center;
}
#banco-horas-link:hover { border-color: #555; background: #f5f5f5; }

#banco-horas-overlay {
  display: none;
  position: fixed; inset: 0;
  background: #fff;
  z-index: 200;
  flex-direction: column;
  opacity: 0;
  transition: opacity 0.6s cubic-bezier(0.22,1,0.36,1);
}
#banco-horas-overlay.open { display: flex; }
#banco-horas-overlay.visible { opacity: 1; }
#banco-horas-overlay-bar {
  display: flex; align-items: center; gap: 16px;
  padding: 10px 16px;
  border-bottom: 1px solid #e6e6e6;
  background: #fff; flex-shrink: 0;
}
#banco-horas-overlay-title {
  font-size: .82rem; font-weight: bold; text-transform: lowercase;
  letter-spacing: .06em; color: #000;
}
#banco-horas-overlay-back {
  font-size: .9rem; font-weight: bold; font-family: 'MontserratLight', sans-serif;
  cursor: pointer; color: #fff; background: #000; border: 1.5px solid #000;
  padding: 7px 16px 7px 12px; border-radius: 10px;
  transition: background .2s, color .2s, transform .15s, box-shadow .15s;
  text-transform: lowercase; letter-spacing: .03em;
  box-shadow: 0 2px 8px rgba(0,0,0,0.18);
}
#banco-horas-overlay-back:hover { background: #333; border-color: #333; color: #fff; transform: translateY(-1px); box-shadow: 0 4px 14px rgba(0,0,0,0.22); }
#banco-horas-overlay-content {
  flex: 1; overflow-y: auto; overflow-x: hidden;
  display: flex; flex-direction: column; align-items: center;
  padding: 36px 16px 60px;
  font-family: 'MontserratLight', sans-serif;
  -webkit-overflow-scrolling: touch;
}

#ventas-overlay {
  display: none;
  position: fixed; inset: 0;
  background: #fff; z-index: 200;
  flex-direction: column; opacity: 0;
  transition: opacity 0.6s cubic-bezier(0.22,1,0.36,1);
}
#ventas-overlay.open    { display: flex; }
#ventas-overlay.visible { opacity: 1; }
#ventas-overlay-bar {
  display: flex; align-items: center; gap: 16px;
  padding: 10px 16px; border-bottom: 1px solid #e6e6e6;
  background: #fff; flex-shrink: 0;
}
#ventas-overlay-title {
  font-size: .82rem; font-weight: bold;
  text-transform: lowercase; letter-spacing: .06em; color: #000;
}
#ventas-overlay-back {
  font-size: .9rem; font-weight: bold;
  font-family: 'MontserratLight', sans-serif;
  cursor: pointer; color: #fff !important;
  background: #000; border: 1.5px solid #000;
  padding: 7px 16px 7px 12px; border-radius: 10px;
  transition: background .2s, transform .15s, box-shadow .15s;
  text-transform: lowercase; letter-spacing: .03em;
  box-shadow: 0 2px 8px rgba(0,0,0,0.18);
}
#ventas-overlay-back:hover {
  background: #333; border-color: #333;
  transform: translateY(-1px); box-shadow: 0 4px 14px rgba(0,0,0,0.22);
}
#ventas-overlay-content {
  flex: 1; overflow-y: auto; overflow-x: hidden;
  display: flex; flex-direction: column; align-items: center;
  padding: 32px 16px 60px;
  font-family: 'MontserratLight', sans-serif;
  -webkit-overflow-scrolling: touch;
}
#ventas-overlay-body { width: 100%; max-width: 560px; }

.v-subtienda-selector { display: flex; flex-direction: column; align-items: center; gap: 14px; }
.v-selector-title {
  font-size: .78rem; font-weight: bold;
  text-transform: uppercase; letter-spacing: .1em; opacity: .5; margin-bottom: 6px;
}
.v-subtienda-btn {
  width: 100%; max-width: 320px;
  padding: 14px 24px; font-size: 1rem; font-weight: bold;
  font-family: 'MontserratLight', sans-serif;
  border: 1.5px solid #ddd; border-radius: 12px;
  background: #fff; cursor: pointer;
  transition: border-color .2s, background .2s;
}
.v-subtienda-btn:hover { border-color: #555; background: #f5f5f5; }

.v-section-label {
  font-size: .72rem; font-weight: bold;
  text-transform: uppercase; letter-spacing: .1em;
  opacity: .45; margin: 22px 0 10px;
}
.v-hist-section { margin-bottom: 8px; }
.v-hist-row {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 14px; border-radius: 10px;
  border: 1.5px solid #efefef; margin-bottom: 7px;
  transition: border-color .2s, background .2s;
}
.v-hist-row:hover { border-color: #ccc; }
.v-hist-today { border-color: #000 !important; }
.v-hist-row-active { background: #f9f9f9; border-color: #555 !important; }
.v-hist-date  { flex: 1; font-size: .9rem; font-weight: bold; }
.v-hist-total { font-size: .9rem; font-weight: bold; opacity: .7; white-space: nowrap; }
.v-hist-missing {
  font-size: .78rem; font-weight: bold; color: #c03000 !important;
  background: #fff0ec; padding: 3px 9px; border-radius: 6px;
}
.v-hist-pending { font-size: .78rem; font-weight: bold; opacity: .45; }
.v-hist-edit-btn {
  padding: 4px 10px; font-size: .85rem; cursor: pointer;
  border: 1px solid #ccc; border-radius: 7px; background: #fff;
  font-family: 'MontserratLight', sans-serif;
  transition: background .15s, color .15s; flex-shrink: 0;
}
.v-hist-edit-btn:hover { background: #333; color: #fff; border-color: #333; }

.v-form-section { margin-top: 8px; padding-top: 4px; border-top: 1px solid #e8e8e8; }
.v-num-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 12px; }
.v-field-group { display: flex; flex-direction: column; gap: 5px; margin-bottom: 12px; }
.v-field-group label {
  font-size: .72rem; font-weight: bold;
  text-transform: uppercase; letter-spacing: .08em; opacity: .5;
}
.v-num-input {
  padding: 10px 12px; font-size: 1rem; font-weight: bold;
  font-family: 'MontserratLight', sans-serif;
  border: 1.5px solid #ddd; border-radius: 10px;
  outline: none; transition: border-color .2s; background: #fff;
  width: 100%; box-sizing: border-box;
}
.v-num-input:focus { border-color: #555; }
.v-total-group { margin-bottom: 16px; }
.v-total-input {
  background: #f5f5f5 !important; color: #000 !important;
  font-weight: bold !important; cursor: default !important;
  font-size: 1.1rem !important;
}
.v-obs-input {
  padding: 10px 12px; font-size: .92rem; font-weight: bold;
  font-family: 'MontserratLight', sans-serif;
  border: 1.5px solid #ddd; border-radius: 10px;
  outline: none; transition: border-color .2s; background: #fff;
  resize: vertical; width: 100%; box-sizing: border-box;
}
.v-obs-input:focus { border-color: #555; }
.v-text-input {
  padding: 10px 12px; font-size: .92rem; font-weight: bold;
  font-family: 'MontserratLight', sans-serif;
  border: 1.5px solid #ddd; border-radius: 10px;
  outline: none; transition: border-color .2s; background: #fff;
  width: 100%; box-sizing: border-box;
}
.v-text-input:focus { border-color: #555; }
.v-action-bar {
  display: flex; align-items: center; justify-content: space-between;
  gap: 12px; margin-top: 18px; padding-top: 14px;
  border-top: 1px solid #efefef;
}
.v-save-btn {
  display: flex; align-items: center; gap: 7px;
  padding: 10px 22px; font-size: .88rem; font-weight: bold;
  font-family: 'MontserratLight', sans-serif;
  background: #000; color: #fff !important; border: none;
  border-radius: 10px; cursor: pointer; transition: background .2s, transform .15s;
}
.v-save-btn:hover { background: #333; transform: translateY(-1px); }
.v-save-status { font-size: .8rem; font-weight: bold; min-height: 16px; transition: color .2s; }
.v-status-ok    { color: #2a8a2a !important; }
.v-status-error { color: #c03000 !important; }
.v-status-saving{ color: #888 !important; }
.v-loading, .v-error { padding: 40px 0; text-align: center; font-size: .9rem; font-weight: bold; }
.v-error { color: #c03000 !important; }
@media (max-width: 480px) { .v-num-grid { grid-template-columns: 1fr; } }

#adm-ventas-panel {
  display: none; width: 100%; max-width: 1100px;
  margin: 0 auto; padding: 24px 16px 60px; box-sizing: border-box;
  animation: tabFadeIn 0.35s cubic-bezier(0.22,1,0.36,1) forwards;
}
.vadm-filter-bar {
  display: flex; flex-wrap: wrap; flex-direction: column; align-items: flex-start; gap: 10px;
  margin-bottom: 28px; padding: 16px 20px;
  border-radius: 14px; background: #f7f7f7; border: 1.5px solid #e6e6e6;
}
.vadm-filter-group { display: flex; flex-direction: column; gap: 4px; }
.vadm-filter-group label {
  font-size: .68rem; font-weight: bold;
  text-transform: uppercase; letter-spacing: .1em; opacity: .5;
}
.vadm-filter-group input[type="date"],
.vadm-filter-group select {
  padding: 8px 12px; font-size: .88rem; font-weight: bold;
  font-family: 'MontserratLight', sans-serif;
  border: 1.5px solid #ddd; border-radius: 9px;
  background: #fff; outline: none; cursor: pointer;
}
.vadm-buscar-btn {
  padding: 9px 22px; font-size: .88rem; font-weight: bold;
  font-family: 'MontserratLight', sans-serif;
  background: #000; color: #fff !important; border: none;
  border-radius: 9px; cursor: pointer; transition: background .2s;
  align-self: flex-end;
}
.vadm-buscar-btn:hover { background: #333; }
.vadm-period-btns {
  display: flex; gap: 8px; width: 100%;
  margin-bottom: 4px;
}
.vadm-period-btn {
  padding: 7px 18px; font-size: .82rem; font-weight: bold;
  font-family: 'MontserratLight', sans-serif;
  background: #3d3d3d !important; color: #f0f0f0 !important;
  border: 1.5px solid #666 !important; border-radius: 20px;
  cursor: pointer; transition: background .18s, border-color .18s, color .18s;
  white-space: nowrap;
}
.vadm-period-btn:hover { border-color: #aaa !important; background: #555 !important; color: #fff !important; }
.vadm-period-btn.vadm-period-active {
  background: #4a7c59 !important; color: #fff !important; border-color: #4a7c59 !important;
}
@media (max-width: 600px) {
  .vadm-period-btns { flex-wrap: wrap; }
}
.vadm-filter-dates {
  display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; width: 100%;
}
.v-adm-store-section { margin-bottom: 36px; overflow-x: auto; }
.v-adm-store-title {
  font-size: 1.1rem; font-weight: 800;
  text-transform: uppercase; letter-spacing: .08em; opacity: 1; margin-bottom: 10px;
}
.v-adm-table {
  width: 100%; border-collapse: separate; border-spacing: 0;
  border-radius: 12px; overflow: hidden; border: 1px solid #e6e6e6;
}
.v-adm-table th {
  background: #f0f0f0; padding: 8px 12px;
  font-size: .72rem; font-weight: bold;
  text-transform: uppercase; letter-spacing: .06em;
  border-bottom: 1.5px solid #e0e0e0; text-align: left; white-space: nowrap;
}
.v-adm-table td {
  padding: 9px 12px; font-size: .88rem; font-weight: bold;
  border-bottom: 1px solid #f0f0f0; vertical-align: middle;
}
.v-adm-table tbody tr:hover td { background: #fafafa; }
.v-adm-num { text-align: right; font-variant-numeric: tabular-nums; }
.v-adm-total-cell { font-weight: bold !important; }
.v-adm-obs { color: #555 !important; font-weight: 400 !important; max-width: 200px; }
.v-adm-table tfoot .v-adm-subtotal-row td {
  background: #f5f5f5; font-weight: bold; border-top: 2px solid #ddd; font-size: .85rem;
}
.v-adm-subtotal-row td:first-child { letter-spacing: .06em; font-size: .72rem; opacity: .7; }
.v-adm-grand-section {
  margin-top: 28px; padding: 20px 24px;
  background: #111; border-radius: 16px;
}
.v-adm-grand-label {
  font-size: .72rem; font-weight: bold;
  text-transform: uppercase; letter-spacing: .14em;
  color: #ffffff !important; margin-bottom: 14px;
}
.v-adm-grand-grid { display: flex; flex-wrap: wrap; gap: 18px; }
.v-adm-grand-item { display: flex; flex-direction: column; gap: 2px; min-width: 90px; }
.v-adm-grand-item span {
  font-size: 1.15rem; font-weight: bold;
  color: #ffffff !important; font-variant-numeric: tabular-nums;
}
.v-adm-grand-item em {
  font-style: normal; font-size: .65rem; font-weight: bold;
  text-transform: uppercase; letter-spacing: .08em;
  color: rgba(255,255,255,0.75) !important;
}
.v-adm-grand-total span { color: #fff !important; font-size: 1.35rem !important; }
.v-adm-loading, .v-adm-error, .v-adm-empty {
  padding: 50px 0; text-align: center; font-size: .9rem; font-weight: bold;
}
.v-adm-error { color: #c03000 !important; }
.v-adm-empty { opacity: .5; }

#agenda-overlay {
  display: none; position: fixed; inset: 0;
  background: #fff; z-index: 200;
  flex-direction: column; opacity: 0;
  transition: opacity 0.6s cubic-bezier(0.22,1,0.36,1);
}
#agenda-overlay.open { display: flex; }
#agenda-overlay.visible { opacity: 1; }
#agenda-overlay-bar {
  display: flex; align-items: center; gap: 16px;
  padding: 10px 16px; border-bottom: 1px solid #e6e6e6;
  background: #fff; flex-shrink: 0;
}
#agenda-overlay-title {
  font-size: .82rem; font-weight: bold; text-transform: lowercase;
  letter-spacing: .06em; color: #000;
}
#agenda-overlay-back {
  font-size: .9rem; font-weight: bold; font-family: 'MontserratLight', sans-serif;
  cursor: pointer; color: #fff; background: #000; border: 1.5px solid #000;
  padding: 7px 16px 7px 12px; border-radius: 10px;
  transition: background .2s, color .2s, transform .15s, box-shadow .15s;
  text-transform: lowercase; letter-spacing: .03em;
  box-shadow: 0 2px 8px rgba(0,0,0,0.18);
}
#agenda-overlay-back:hover { background: #333; border-color: #333; color: #fff; transform: translateY(-1px); box-shadow: 0 4px 14px rgba(0,0,0,0.22); }
#agenda-overlay-content {
  flex: 1; overflow-y: auto; overflow-x: hidden;
  display: flex; flex-direction: column; align-items: center;
  padding: 0; font-family: 'MontserratLight', sans-serif;
  -webkit-overflow-scrolling: touch;
}

#rotulos-overlay {
  display: none; position: fixed; inset: 0;
  background: #fff; z-index: 200;
  flex-direction: column; opacity: 0;
  transition: opacity 0.6s cubic-bezier(0.22,1,0.36,1);
}
#rotulos-overlay.open { display: flex; }
#rotulos-overlay.visible { opacity: 1; }
#rotulos-overlay-bar {
  display: flex; align-items: center; gap: 16px;
  padding: 10px 16px; border-bottom: 1px solid #e6e6e6;
  background: #fff; flex-shrink: 0;
}
#rotulos-overlay-title {
  font-size: .82rem; font-weight: bold; text-transform: lowercase;
  letter-spacing: .06em; color: #000;
}
#rotulos-overlay-back {
  font-size: .9rem; font-weight: bold; font-family: 'MontserratLight', sans-serif;
  cursor: pointer; color: #fff; background: #000; border: 1.5px solid #000;
  padding: 7px 16px 7px 12px; border-radius: 10px;
  transition: background .2s, color .2s, transform .15s, box-shadow .15s;
  text-transform: lowercase; letter-spacing: .03em;
  box-shadow: 0 2px 8px rgba(0,0,0,0.18);
}
#rotulos-overlay-back:hover { background: #333; border-color: #333; color: #fff; transform: translateY(-1px); box-shadow: 0 4px 14px rgba(0,0,0,0.22); }
#rotulos-overlay-content {
  flex: 1; overflow-y: auto; overflow-x: hidden;
  display: flex; flex-direction: column; align-items: center;
  padding: 0; font-family: 'MontserratLight', sans-serif;
  -webkit-overflow-scrolling: touch;
}

#processamento-overlay {
  display: none; position: fixed; inset: 0;
  background: #fff; z-index: 200;
  flex-direction: column; opacity: 0;
  transition: opacity 0.6s cubic-bezier(0.22,1,0.36,1);
}
#processamento-overlay.open { display: flex; }
#processamento-overlay.visible { opacity: 1; }
#processamento-overlay-bar {
  display: flex; align-items: center; gap: 16px;
  padding: 10px 16px; border-bottom: 1px solid #e6e6e6;
  background: #fff; flex-shrink: 0;
}
#processamento-overlay-title {
  font-size: .82rem; font-weight: bold; text-transform: lowercase;
  letter-spacing: .06em; color: #000;
}
#processamento-overlay-back {
  font-size: .9rem; font-weight: bold; font-family: 'MontserratLight', sans-serif;
  cursor: pointer; color: #fff; background: #000; border: 1.5px solid #000;
  padding: 7px 16px 7px 12px; border-radius: 10px;
  transition: background .2s, color .2s, transform .15s, box-shadow .15s;
  text-transform: lowercase; letter-spacing: .03em;
  box-shadow: 0 2px 8px rgba(0,0,0,0.18);
}
#processamento-overlay-back:hover { background: #333; border-color: #333; color: #fff; transform: translateY(-1px); box-shadow: 0 4px 14px rgba(0,0,0,0.22); }
#processamento-overlay-content {
  flex: 1; overflow-y: auto; overflow-x: hidden;
  display: flex; flex-direction: column; align-items: center;
  padding: 0; font-family: 'MontserratLight', sans-serif;
  -webkit-overflow-scrolling: touch;
  will-change: scroll-position;
}

/* ============================================================
   PROCESSAMENTO DE FATURAS — estilos migrados de processamento.js
   (bloco CSS-in-JS original + estilos dispersos convertidos)
   ============================================================ */
#proc-content *, #proc-content *::before, #proc-content *::after { box-sizing: border-box; }
#proc-content { box-sizing:border-box; width:100%; min-height:100%; background:transparent; padding:20px; display:flex; flex-direction:column; align-items:center; font-family:'MontserratLight', sans-serif; font-size:14px; font-weight:600; color:#000; }
#proc-root { width:100%; min-height:100%; }
#proc-content .page-wrap { width:100%; max-width:1400px; margin:0 auto; flex:1 0 auto; display:flex; flex-direction:column; min-height:0; }
#proc-content .proc-top-bar { display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; flex-wrap:wrap; gap:10px; }
#proc-content .proc-app-title { font-size:1.05rem; font-weight:700; color:#000; letter-spacing:-.01em; }
#proc-content .proc-top-actions { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
#proc-content .proc-save-status { font-size:.72rem; font-weight:700; color:#000; opacity:0; transition:opacity 0.5s; white-space:nowrap; min-width:90px; text-align:right; }
#proc-content .proc-session-menu-wrap { position:relative; }
#proc-content .proc-session-dropdown { position:fixed; width:min(420px,92vw); background:#fff; border:1px solid #e0e0e0; border-radius:12px; box-shadow:0 8px 30px rgba(0,0,0,.14); z-index:9999; overflow-y:auto; max-height:min(70vh,560px); }
#proc-content .proc-session-dropdown.hidden { display:none; }
#proc-session-menu-backdrop { position:fixed; inset:0; background:rgba(0,0,0,0.22); backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px); z-index:9998; }
#proc-content .proc-session-menu-empty { padding:18px 20px; text-align:center; color:#000; font-size:.78rem; font-weight:600; }
#proc-content .proc-session-menu-item { display:flex; align-items:center; justify-content:space-between; padding:10px 14px; margin-bottom:6px; gap:8px; background:rgba(255,255,255,0.5); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); border:1px solid rgba(255,255,255,0.65); border-radius:12px; box-shadow:0 2px 10px rgba(0,0,0,0.05); transition:background .15s ease, box-shadow .15s ease; }
#proc-content .proc-session-menu-item:last-child { margin-bottom:0; }
#proc-content .proc-session-menu-item:hover { background:rgba(255,255,255,0.72); box-shadow:0 4px 16px rgba(0,0,0,0.08); }
#proc-content .proc-session-menu-item.current { background:rgba(0,0,0,0.06); }
#proc-content .proc-session-menu-item-info { display:flex; flex-direction:column; gap:2px; min-width:0; }
#proc-content .proc-session-menu-item-label { font-size:.84rem; font-weight:700; color:#000; white-space:nowrap; }
#proc-content .proc-session-current-badge { font-size:.58rem; background:#000 !important; color:#fff !important; -webkit-text-fill-color:#fff !important; border-radius:4px; padding:1px 5px; margin-left:6px; vertical-align:middle; font-weight:700; }
#proc-content .proc-session-menu-item-date { font-size:.7rem; color:#888; font-weight:600; }
#proc-content .proc-session-menu-item-actions { display:flex; gap:5px; align-items:center; flex-shrink:0; }
#proc-content .proc-session-load-btn { padding:3px 10px; border:1px solid #ccc; border-radius:6px; background:transparent; color:#000; font-size:.7rem; font-weight:700; cursor:pointer; font-family:'MontserratLight',sans-serif; transition:background 0.14s,border-color 0.14s; }
#proc-content .proc-session-load-btn:hover { background:#f0f0f0; border-color:#555; }
#proc-content .proc-session-delete-btn { padding:3px 8px; border:1px solid #ddd; border-radius:6px; background:transparent; color:#000; font-size:.7rem; font-weight:700; cursor:pointer; font-family:'MontserratLight',sans-serif; transition:background 0.14s,border-color 0.14s,color 0.14s; }
#proc-content .proc-session-delete-btn:hover { border-color:#9B4D4D; color:#9B4D4D; background:#F5EAEA; }
#proc-content #proc-main-area { flex:1 0 auto; display:flex; flex-direction:column; min-height:0; }
#proc-content .proc-fatura-instance { margin-bottom:40px; border-bottom:3px solid #000; padding-bottom:40px; contain:layout style; content-visibility:auto; contain-intrinsic-size:0 600px; }
#proc-content .proc-fatura-instance:last-of-type { border-bottom:none; padding-bottom:0; }
#proc-content .proc-fatura-banner { background:transparent; border-radius:12px 12px 0 0; padding:18px 24px; display:flex; align-items:center; justify-content:space-between; border:1px solid #e0e0e0; border-bottom:none; }
#proc-content .proc-fatura-banner-left { display:flex; align-items:center; gap:10px; }
#proc-content .proc-fatura-banner-num { font-size:.78rem; font-weight:400; text-transform:uppercase; letter-spacing:.18em; color:#000 !important; }
#proc-content .proc-fatura-banner-provider { font-size:1.5rem; font-weight:800; color:#000 !important; letter-spacing:.02em; }
#proc-content .proc-remove-fatura-btn { padding:3px 11px; border:1px solid #ccc; border-radius:6px; background:transparent; color:#000; font-size:.68rem; font-weight:700; cursor:pointer; font-family:'MontserratLight',sans-serif; transition:background 0.14s,border-color 0.14s,color 0.14s; display:none; }
#proc-content .proc-remove-fatura-btn:hover { border-color:#c47a7a; color:#c47a7a; background:rgba(155,77,77,.12); }
#proc-content .proc-guia-erp-wrap { display:flex; align-items:center; gap:6px; margin-left:auto; }
#proc-content .proc-guia-erp-label { font-size:.58rem; font-weight:700; letter-spacing:.10em; text-transform:uppercase; color:#000; opacity:.45; white-space:nowrap; }
#proc-content .proc-guia-erp-input { padding:4px 6px; border:1px solid #e0e0e0; border-radius:7px; background:#fafafa; font-family:'MontserratLight',sans-serif; font-size:.82rem; font-weight:700; color:#000; width:68px !important; text-align:center; outline:none; transition:border-color .15s,background .15s; }
#proc-content .proc-guia-erp-input:focus { border-color:#000; background:#fff; }
#proc-content .proc-guia-erp-input.proc-guia-done { border-color:#3a3a3a !important; background:#3a3a3a !important; color:#fff !important; -webkit-text-fill-color:#fff !important; }
#proc-content .proc-transp-wrap { display:flex; align-items:center; gap:6px; }
#proc-content .proc-transp-label { font-size:.58rem; font-weight:700; letter-spacing:.10em; text-transform:uppercase; color:#000; opacity:.45; white-space:nowrap; }
#proc-content .proc-transp-input { padding:4px 6px; border:1px solid #e0e0e0; border-radius:7px; background:#fafafa; font-family:'MontserratLight',sans-serif; font-size:.82rem; font-weight:700; color:#000; width:68px !important; text-align:center; outline:none; transition:border-color .15s,background .15s; -moz-appearance:textfield; }
#proc-content .proc-transp-input::-webkit-inner-spin-button { -webkit-appearance:none; }
#proc-content .proc-transp-input:focus { border-color:#000; background:#fff; }
#proc-content .proc-transp-input.proc-transp-active { border-color:#5F7B94; background:#F0F4F7; color:#5F7B94; }
#proc-content .proc-transp-apply-btn { padding:3px 9px; border:1px solid #5F7B94; border-radius:6px; background:transparent; color:#5F7B94; font-size:.65rem; font-weight:700; cursor:pointer; font-family:'MontserratLight',sans-serif; transition:background .13s,color .13s; white-space:nowrap; display:none; }
#proc-content .proc-transp-apply-btn:hover { background:#5F7B94; color:#fff; }
#proc-content .proc-transp-undo-btn { padding:3px 9px; border:1px solid #9B4D4D; border-radius:6px; background:transparent; color:#9B4D4D; font-size:.65rem; font-weight:700; cursor:pointer; font-family:'MontserratLight',sans-serif; transition:background .13s,color .13s; white-space:nowrap; display:none; }
#proc-content .proc-transp-undo-btn:hover { background:#9B4D4D; color:#fff; }
#proc-content .proc-collapse-btn { display:flex; align-items:center; justify-content:center; width:26px; height:26px; padding:0; border:1px solid #ddd; border-radius:7px; background:transparent; cursor:pointer; color:#888; font-size:.75rem; transition:background .13s,border-color .13s,color .13s; flex-shrink:0; }
#proc-content .proc-collapse-btn:hover { background:#f0f0f0; border-color:#ccc; color:#000; }
#proc-content .proc-collapse-btn.collapsed { color:#000; border-color:#ccc; background:#f5f5f5; }
#proc-content .proc-fatura-instance.proc-collapsed .proc-header-card { display:none !important; }
#proc-content .proc-fatura-instance.proc-collapsed .proc-table-lock  { display:none !important; }
#proc-content .proc-fatura-instance.proc-collapsed #proc-table-block-1,#proc-content .proc-fatura-instance.proc-collapsed [id^="proc-table-block-"] { display:none !important; }
#proc-content .proc-fatura-instance.proc-collapsed { padding-bottom:12px; margin-bottom:16px; border-bottom-width:1px; border-bottom-style:dashed; }
#proc-content .proc-fatura-banner.proc-banner-done { background:#f5f5f5; border-color:#ddd; }
#proc-content .proc-fatura-instance .proc-header-card { border-radius:0; border-top:none; margin-top:0; }
#proc-content .proc-header-card { background:#fff; border:1px solid #e0e0e0; border-radius:0; padding:20px; margin-bottom:10px; display:flex; align-items:flex-end; gap:28px; flex-wrap:wrap; }
#proc-content .proc-forn-valor-row { display:flex; align-items:flex-end; gap:10px; flex:0 1 auto; }
#proc-content .proc-forn-group { flex:0 1 220px; min-width:140px; }
#proc-content .proc-valorfat-group { flex:0 0 108px; }
#proc-content .proc-header-summary-col { display:flex; flex-direction:column; align-items:flex-end; gap:5px; margin-left:auto; padding-left:22px; border-left:1px solid #e0e0e0; min-width:0; flex:0 1 auto; }
#proc-content .proc-summary-item { font-size:.76rem; font-weight:700; color:#000; text-align:right; }
#proc-content .proc-summary-item strong { color:#000; }
#proc-content .proc-stock-btn { padding:5px 12px; font-size:.68rem; margin-left:4px; }
#proc-content .proc-field-group { display:flex; flex-direction:column; gap:5px; }
#proc-content .proc-field-label { font-size:.6rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#000 !important; opacity:1 !important; }
#proc-content input[type="text"], #proc-content input[type="number"] { background:#fafafa; border:1px solid #e0e0e0; color:#000; font-family:'MontserratLight',sans-serif; font-size:.88rem; font-weight:700; padding:8px 10px; border-radius:8px; outline:none; width:100%; transition:border-color 0.15s; -moz-appearance:textfield; }
#proc-content input[id^="proc-valorFactura-"] { width:76px; text-align:center; }
#proc-content input[type="text"]:focus, #proc-content input[type="number"]:focus { border-color:#000; background:#fff; }
#proc-content input[type="number"]::-webkit-inner-spin-button { -webkit-appearance:none; }
#proc-content .proc-total-box { background:transparent; border:none; border-radius:0; padding:0; display:flex; flex-direction:column; gap:2px; }
#proc-content .proc-total-box .proc-amount { font-size:1.4rem; font-weight:300; color:#000; letter-spacing:-.02em; }
#proc-content .proc-table-block { background:#fff; border:1px solid #e0e0e0; border-radius:14px; overflow:visible; margin-bottom:10px; contain:layout style; }
#proc-content .proc-table-wrap { overflow-x:auto; width:100%; }
#proc-content .proc-table-wrap table { border-collapse:collapse; white-space:nowrap; border-radius:0; border-spacing:0; width:100%; table-layout:auto; }
#proc-content .proc-table-wrap thead tr { background:#fff !important; border-bottom:1px solid #e0e0e0; }
#proc-content .proc-table-wrap thead th { padding:8px 7px; text-align:center; font-size:.68rem; font-weight:700; letter-spacing:.10em; text-transform:uppercase; color:#000 !important; opacity:1; white-space:nowrap; border:none; border-radius:0; background:#fff !important; }
#proc-content .proc-table-wrap thead th.left { text-align:left; padding-left:10px; }
#proc-content .proc-table-wrap thead th.th-a4 { color:#000 !important; background:#fff !important; }
#proc-content .proc-table-wrap thead th.th-a5 { color:#000 !important; background:#fff !important; }
#proc-content .proc-table-wrap tbody tr { border-bottom:1px solid #f0f0f0; }
#proc-content .proc-table-wrap tbody tr:hover { background:#f5f5f5 !important; }
#proc-content .proc-table-wrap tbody tr.has-data { background:#fff; }
#proc-content .proc-table-wrap td { padding:3px 4px; vertical-align:middle; white-space:nowrap; border:none; border-radius:0; font-size:.9rem; font-weight:800; color:#000; }
/* ── Colunas QTD./FNC/PXO/€/%- não tinham text-align definido (o th está
   centrado, o td ficava com o alinhamento por omissão do browser à
   esquerda) — daí a tabela parecer torta. Centram-se pela posição (mesma
   ordem das colunas no thead), sem tocar nas 2 primeiras (Referência/
   Descrição, à esquerda de propósito). ── */
#proc-content .proc-table-wrap td:nth-child(3),
#proc-content .proc-table-wrap td:nth-child(4),
#proc-content .proc-table-wrap td:nth-child(5),
#proc-content .proc-table-wrap td:nth-child(7),
#proc-content .proc-table-wrap td:nth-child(8) { text-align:center; }
#proc-content .proc-table-wrap td input[type="text"], #proc-content .proc-table-wrap td input[type="number"] { background:transparent; border:1px solid transparent; font-size:.85rem; font-weight:800; padding:3px 4px; border-radius:6px; width:100%; color:#000; text-align:center; }
#proc-content .proc-table-wrap td input[type="number"] { width:44px; text-align:center; }
#proc-content .proc-table-wrap td input.proc-ref-input { width:auto; min-width:0; text-align:left; text-transform:uppercase; }
#proc-content .proc-table-wrap td input.proc-desc-input { width:auto; min-width:0; font-size:.73rem; text-align:left; text-transform:uppercase; }
#proc-content .proc-table-wrap td input.proc-preco-input { width:46px; text-align:center; }
#proc-content .proc-table-wrap td input.proc-desc-pct-input { width:38px; text-align:center; }
#proc-content .proc-table-wrap td input:focus { background:#fff; border-color:#ccc; }
#proc-content .proc-table-wrap td.center-col { text-align:center; }
#proc-content .proc-table-wrap td.td-ref { }
#proc-content .proc-table-wrap td.td-desc { }
#proc-content .proc-cell-computed { padding:3px 6px; font-size:.85rem; font-weight:800; text-align:center; color:#000; white-space:nowrap; }
#proc-content .proc-cell-computed.has-val { color:#000; font-weight:800; }
#proc-content td[id^="proc-pvp-"] { text-align:center !important; }
#proc-content td[id^="proc-marg-"] { text-align:center !important; }
#proc-content td[id^="proc-pvp-"].has-val { font-size:.88rem; font-weight:800; }
#proc-content td[id^="proc-marg-"].has-val { font-size:.88rem; font-weight:800; }
#proc-content .proc-pvp-wrap { display:inline-flex; align-items:center; justify-content:center; gap:3px; }
#proc-content .proc-pvp-display { font-size:.88rem; font-weight:800; color:#000; }
#proc-content .proc-pvp-edit-input { width:52px; font-size:.85rem; font-weight:800; font-family:'MontserratLight',sans-serif; text-align:center; border:1px solid #ccc; border-radius:5px; background:#fff; color:#000; padding:2px 4px; display:none; -moz-appearance:textfield; }
#proc-content .proc-pvp-edit-input::-webkit-inner-spin-button { -webkit-appearance:none; }
#proc-content .proc-pvp-edit-input:focus { border-color:#000; outline:none; }
#proc-content .proc-pvp-edit-btn { display:inline-flex; align-items:center; justify-content:center; width:16px; height:16px; padding:0; border:1px solid #d0d0d0; background:transparent; cursor:pointer; color:#aaa; font-size:.55rem; border-radius:4px; flex-shrink:0; transition:background .15s,border-color .15s,color .15s; }
#proc-content .proc-pvp-edit-btn:hover { color:#000; background:#f0f0f0; border-color:#ccc; }
#proc-content .proc-pvp-edit-btn.active { color:#000; background:#e8e8e8; border-color:#999; }
#proc-content .proc-cell-status { text-align:center; font-size:.75rem; font-weight:700; padding:3px 6px; white-space:nowrap; border-radius:6px; }
#proc-content .proc-cell-status.ok { color:#fff; background:#4A7C6F; }
#proc-content .proc-cell-status.err { color:#fff; background:#9B4D4D; }
#proc-content .proc-cell-status.warn { color:#fff; background:#5F7B94; }
#proc-content .proc-ref-wrap { display:inline-flex; align-items:center; width:100%; }
#proc-content .proc-desc-wrap { display:inline-flex; align-items:center; width:100%; position:relative; }
#proc-content .proc-toggle-d { display:flex; justify-content:center; align-items:center; white-space:nowrap; }
#proc-content .proc-toggle-d input[type="checkbox"] { display:none; }
#proc-content .proc-toggle-d label { cursor:pointer; padding:3px 8px; border:1px solid #ddd; border-radius:6px; color:#000; font-size:.7rem; font-weight:700; transition:background 0.15s,border-color 0.15s; user-select:none; white-space:nowrap; }
#proc-content .proc-toggle-d input:checked + label { border-color:#000; color:#000; background:#f0f0f0; }
#proc-content .proc-split-btn { cursor:pointer; padding:3px 7px; border:1px solid #ddd; border-radius:6px; color:#000; font-size:.68rem; font-weight:700; background:transparent; font-family:'MontserratLight',sans-serif; transition:background 0.15s,border-color 0.15s; user-select:none; display:block; width:100%; text-align:center; }
#proc-content .proc-split-btn:hover { border-color:#000; color:#000; background:#f0f0f0; }
#proc-content .proc-split-btn.active { border-color:#000; color:#000; background:#f0f0f0; }
#proc-content .proc-fill-all-btn { cursor:pointer; padding:3px 8px; border:1px solid #ccc; border-radius:6px; color:#000; font-size:.68rem; font-weight:700; background:transparent; font-family:'MontserratLight',sans-serif; transition:background 0.15s,border-color 0.15s,color 0.15s,box-shadow 0.15s; user-select:none; white-space:nowrap; line-height:1.4; }
#proc-content .proc-fill-all-btn:hover { border-color:#000; background:#f0f0f0; box-shadow:0 1px 4px rgba(0,0,0,.10); }
#proc-content .proc-fill-all-btn.flashed { border-color:#4A7C6F; color:#fff; background:#4A7C6F; box-shadow:0 2px 8px rgba(74,124,111,.35); }
#proc-content .proc-toggle-plus { display:flex; justify-content:center; align-items:center; white-space:nowrap; }
#proc-content .proc-toggle-plus input[type="checkbox"] { display:none; }
#proc-content .proc-toggle-plus label { cursor:pointer; padding:3px 8px; border:1px solid #ddd; border-radius:6px; color:#000; font-size:.7rem; font-weight:700; transition:background 0.15s,border-color 0.15s; user-select:none; white-space:nowrap; }
#proc-content .proc-toggle-plus input:checked + label { border-color:#000; color:#000; background:#f0f0f0; }
#proc-content .proc-margem-val { color:#4A7C6F; }
#proc-content .proc-margem-val.low { color:#5F7B94; }
#proc-content .proc-margem-val.very-low { color:#9B4D4D; }
#proc-content .proc-summary-line { display:flex; gap:20px; font-size:.78rem; color:#000; font-weight:700; }
#proc-content .proc-summary-line strong { color:#000; }
#proc-content .proc-diff-chip { font-size:.75rem; font-weight:700; padding:3px 10px; border-radius:20px; border:1.5px solid; display:inline-flex; align-items:center; gap:5px; transition:background 0.3s ease,border-color 0.3s ease; }
#proc-content .proc-diff-chip.zero { border-color:#ccc; color:#000; background:#f0f0f0; font-size:.88rem; padding:5px 14px; border-radius:24px; box-shadow:none; letter-spacing:.02em; animation:proc-chip-pop 0.35s cubic-bezier(.36,.07,.19,.97); }
#proc-content .proc-diff-chip.pos { border-color:#4a6a80; color:#fff; background:linear-gradient(135deg,#5F7B94,#9DB6C9); font-size:.95rem; font-weight:800; padding:6px 16px; border-radius:24px; box-shadow:0 3px 14px rgba(95,123,148,.45); letter-spacing:.02em; animation:proc-chip-shake 0.4s cubic-bezier(.36,.07,.19,.97); }
#proc-content .proc-diff-chip.neg { border-color:#7a3535; color:#fff; background:linear-gradient(135deg,#9B4D4D,#c47a7a); font-size:.95rem; font-weight:800; padding:6px 16px; border-radius:24px; box-shadow:0 3px 16px rgba(155,77,77,.5); letter-spacing:.02em; animation:proc-chip-shake 0.4s cubic-bezier(.36,.07,.19,.97); }
@keyframes proc-chip-pop { 0%{transform:scale(.85);opacity:.6} 60%{transform:scale(1.08)} 100%{transform:scale(1);opacity:1} }
@keyframes proc-chip-shake { 0%{transform:scale(.85) rotate(-1deg);opacity:.5} 30%{transform:scale(1.1) rotate(1deg)} 60%{transform:scale(1.05) rotate(-0.5deg)} 100%{transform:scale(1) rotate(0deg);opacity:1} }
#proc-content .proc-footer-actions { display:flex; gap:8px; }
#proc-content .proc-flag-btn { display:inline-flex; align-items:center; justify-content:center; width:20px; height:20px; padding:0; border:1.5px solid #ddd; background:transparent; cursor:pointer; color:#bbb; font-size:.7rem; line-height:1; border-radius:5px; flex-shrink:0; transition:background .15s,border-color .15s,color .15s; }
#proc-content .proc-flag-btn:hover { color:#000; background:#f0f0f0; border-color:#ccc; }
#proc-content .proc-flag-btn.flagged { color:#fff; background:#9B4D4D; border-color:#7a3535; box-shadow:0 1px 6px rgba(155,77,77,.5); animation:proc-flag-pulse 1.8s ease-in-out infinite; }
@keyframes proc-flag-pulse { 0%,100%{box-shadow:0 1px 6px rgba(155,77,77,.5)} 50%{box-shadow:0 2px 12px rgba(155,77,77,.8)} }
#proc-content .proc-table-wrap tbody tr.proc-row-active { background:#000 !important; outline:2px solid #000; outline-offset:-1px; }
#proc-content .proc-table-wrap tbody tr.proc-row-active:hover { background:#000 !important; }
#proc-content .proc-table-wrap tbody tr.proc-row-active td { color:#fff !important; }
#proc-content .proc-table-wrap tbody tr.proc-row-active td * { color:#fff !important; }
#proc-content .proc-table-wrap tbody tr.proc-row-active td input { color:#fff !important; background:transparent !important; }
#proc-content .proc-table-wrap tbody tr.proc-row-active:hover td { background:#000 !important; }
#proc-content .proc-table-wrap tbody tr.proc-row-active td.td-ref { background:#111 !important; }
#proc-content .proc-table-wrap tbody tr.proc-row-active .proc-toggle-plus input:checked + label { background:rgba(255,255,255,.18) !important; border-color:rgba(255,255,255,.5) !important; }
#proc-content .proc-table-wrap tbody tr.proc-row-active:hover td.td-ref { background:#111 !important; }
#proc-content .proc-table-wrap tbody tr.proc-row-flagged { background:linear-gradient(90deg,rgba(155,77,77,.10) 0%,rgba(255,235,238,.45) 100%) !important; outline:2px solid rgba(155,77,77,.35); outline-offset:-1px; }
#proc-content .proc-table-wrap tbody tr.proc-row-flagged:hover { background:linear-gradient(90deg,rgba(155,77,77,.16) 0%,rgba(255,235,238,.6) 100%) !important; }
#proc-content .proc-table-wrap tbody tr.proc-row-flagged td.td-ref { background:#fdf0f0 !important; }
#proc-content .proc-table-wrap tbody tr.proc-row-flagged:hover td.td-ref { background:#f9e4e4 !important; }
#proc-content .proc-table-wrap tbody tr.proc-row-flagged.proc-row-active { background:#000 !important; outline:2px solid #000; }
#proc-content .proc-table-wrap tbody tr.proc-row-flagged.proc-row-active:hover { background:#000 !important; }
#proc-content .proc-table-wrap tbody tr.proc-row-flagged.proc-row-active td { background:#000 !important; color:#fff !important; }
#proc-content .proc-table-wrap tbody tr.proc-row-flagged.proc-row-active td * { color:#fff !important; }
#proc-content .proc-table-wrap tbody tr.proc-row-flagged.proc-row-active td.td-ref { background:#111 !important; }
#proc-content .proc-table-wrap tbody tr.proc-row-flagged.proc-row-active:hover td.td-ref { background:#111 !important; }
#proc-content .proc-btn { padding:7px 16px; border:1px solid #ccc; border-radius:8px; background:transparent; color:#000; font-family:'MontserratLight',sans-serif; font-size:.78rem; font-weight:700; text-transform:lowercase; cursor:pointer; transition:background 0.15s,border-color 0.15s; white-space:nowrap; }
#proc-content .proc-btn:hover { background:#f0f0f0; border-color:#555; }
#proc-content .proc-btn.primary { border-color:#ccc; color:#000; background:transparent; }
#proc-content .proc-btn.primary:hover { background:#f0f0f0; border-color:#555; }
#proc-session-bar { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:8px 0 12px; flex-wrap:nowrap; }
#proc-session-bar-left { display:flex; align-items:center; gap:6px; min-width:0; flex:1; overflow:hidden; }
#proc-session-bar-right { display:flex; align-items:center; gap:6px; flex-shrink:0; }
#proc-session-bar .proc-session-dropdown { position:fixed; }
#proc-float-actions { position:fixed; right:16px; bottom:24px; display:none; flex-direction:column; gap:10px; z-index:1200; transition:opacity 0.2s; }
#proc-float-actions.proc-float-visible { display:flex; }
#proc-float-actions .proc-float-btn { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; width:52px; height:52px; border-radius:14px; border:1.5px solid; cursor:pointer; font-family:'MontserratLight',sans-serif; font-size:.50rem; font-weight:700; text-transform:lowercase; letter-spacing:.03em; line-height:1.2; transition:transform 0.18s,box-shadow 0.18s; box-shadow:0 4px 16px rgba(0,0,0,.18); }
#proc-float-actions .proc-float-btn:hover { transform:scale(1.08); box-shadow:0 6px 22px rgba(0,0,0,.26); }
#proc-float-actions .proc-float-btn:active { transform:scale(0.96); }
#proc-float-actions .proc-float-btn-icon { font-size:1.2rem; line-height:1; }
#proc-float-save { border-color:#ccc; color:#000; background:transparent; }
#proc-float-save:hover { background:#f5f5f5; border-color:#555; }
#proc-content .proc-obs-cell { position:relative; width:30px; max-width:30px; text-align:center; padding:4px 2px !important; }
#proc-content .proc-obs-btn { display:inline-flex; align-items:center; justify-content:center; width:22px; height:22px; padding:0; border:1px solid transparent; border-radius:6px; background:transparent; color:#000; font-size:1rem; font-weight:800; cursor:pointer; line-height:1; transition:background .12s,border-color .12s; }
#proc-content .proc-obs-btn:hover { background:#f0f0f0; border-color:#ddd; }
#proc-content .proc-obs-btn.has-text { color:#000; }
#proc-content .proc-obs-cell.editing .proc-obs-btn { display:none; }
#proc-content .proc-obs-input { display:none; width:150px; padding:4px 6px; border:1px solid #000; border-radius:6px; background:#fff; font-family:'MontserratLight',sans-serif; font-size:.82rem; font-weight:700; color:#000; outline:none; }
#proc-content .proc-obs-cell.editing .proc-obs-input { display:inline-block; position:absolute; top:50%; right:2px; transform:translateY(-50%); z-index:20; box-shadow:0 4px 14px rgba(0,0,0,.15); }
#proc-content .proc-obs-tip { visibility:hidden; opacity:0; position:absolute; bottom:calc(100% + 8px); right:0; min-width:180px; max-width:300px; background:#1a1a1a; color:#fff !important; font-size:.78rem; font-weight:600; padding:8px 12px; border-radius:8px; white-space:pre-wrap; word-break:break-word; z-index:9999; pointer-events:none; line-height:1.6; transition:opacity .15s, visibility .15s; box-shadow:0 4px 14px rgba(0,0,0,.25); }
#proc-content .proc-obs-tip::after { content:""; position:absolute; top:100%; right:14px; border:6px solid transparent; border-top-color:#1a1a1a; }
#proc-content .proc-obs-cell:hover .proc-obs-tip.has-text { visibility:visible; opacity:1; }
#proc-content .proc-warn-field { border-color:#E8A44A !important; background:#FFFBF5 !important; }
#proc-content .proc-warn-field:focus { border-color:#D4922A !important; }
#proc-content .proc-valor-error-neg { border-color:#9B4D4D !important; background:#FBEFEF !important; color:#7a3535 !important; }
#proc-content .proc-valor-error-neg:focus { border-color:#7a3535 !important; }
#proc-content .proc-valor-error-pos { border-color:#5F7B94 !important; background:#EFF4F7 !important; color:#3d5266 !important; }
#proc-content .proc-valor-error-pos:focus { border-color:#3d5266 !important; }
#proc-content .proc-audit-btn { margin-left:6px; padding:1px 7px; border:1px solid #E8A44A; border-radius:5px; background:transparent; color:#C47A1E; font-family:'MontserratLight',sans-serif; font-size:.6rem; font-weight:700; cursor:pointer; vertical-align:middle; transition:background .15s,border-color .15s,color .15s; display:none; }
#proc-content .proc-audit-btn:hover { background:#E8A44A; color:#fff; }
#proc-content .proc-audit-explain { font-size:.75rem; font-weight:600; color:#000; opacity:.6; margin-bottom:14px; line-height:1.6; }
#proc-content .proc-audit-table { width:100%; border-collapse:collapse; margin-bottom:14px; }
#proc-content .proc-audit-table thead th { font-size:.6rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#000; opacity:.45; padding:4px 8px; text-align:left; border-bottom:1px solid #e0e0e0; }
#proc-content .proc-audit-row { border-bottom:1px solid #f5f5f5; transition:background .1s; }
#proc-content .proc-audit-row:hover { background:#f9f5ee; }
#proc-content .proc-audit-row-top { background:#FFFBF5; }
#proc-content .proc-audit-row-top:hover { background:#FFF5E6; }
#proc-content .proc-audit-row td { padding:7px 8px; font-size:.82rem; font-weight:700; color:#000; }
#proc-content .proc-audit-ref { font-weight:800; }
#proc-content .proc-audit-desc { font-weight:600; opacity:.55; font-size:.72rem; }
#proc-content .proc-audit-val { font-variant-numeric:tabular-nums; }
#proc-content .proc-audit-corr { color:#4A7C6F; }
#proc-content .proc-audit-arrow { color:#000; opacity:.3; text-align:center; }
#proc-content .proc-audit-pcs { opacity:.5; font-size:.75rem; }
#proc-content .proc-audit-err { color:#E8A44A; font-size:.75rem; }
#proc-content .proc-audit-pairs-title { font-size:.68rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:#000; opacity:.4; margin-bottom:6px; }
#proc-content .proc-audit-pair { font-size:.8rem; font-weight:700; color:#000; padding:4px 0; }
#proc-content .proc-audit-pair-err { color:#E8A44A; font-weight:600; font-size:.75rem; }
#proc-content .proc-audit-note { font-size:.68rem; font-weight:600; color:#000; opacity:.35; margin-top:10px; }
#proc-onboarding-tip { position:absolute; z-index:2000; pointer-events:none; animation:proc-tip-in 0.3s ease both; color:#fff !important; }
@keyframes proc-tip-in { from{opacity:0;transform:translateY(6px)} to{opacity:1;transform:translateY(0)} }
#proc-onboarding-tip .proc-tip-bubble { background:#1a1a1a; color:#fff !important; font-family:'MontserratLight',sans-serif; font-size:.78rem; font-weight:700; padding:8px 14px; border-radius:10px; white-space:nowrap; box-shadow:0 4px 18px rgba(0,0,0,.28); display:flex; align-items:center; gap:8px; }
#proc-onboarding-tip .proc-tip-arrow { position:absolute; top:100%; left:18px; border:7px solid transparent; border-top-color:#1a1a1a; }
#proc-content .proc-add-fatura-wrap { display:flex; justify-content:center; margin:8px 0 14px; }
#proc-content .proc-add-fatura-btn { padding:9px 32px; font-size:.82rem; border-style:dashed; border-color:#ccc; color:#000; background:transparent; border-radius:10px; }
#proc-content .proc-add-fatura-btn:hover { background:#f0f0f0; border-color:#555; border-style:solid; }
#proc-content .proc-disclaimer-msg { margin:0; padding:2px 16px; background:transparent; border:none; border-radius:0; font-size:.68rem; font-weight:800; color:#000; letter-spacing:.03em; text-align:center; text-transform:uppercase; opacity:1; line-height:1.5; }
#proc-content .proc-disclaimer-bar { width:100vw; margin-top:auto; margin-bottom:0; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); padding:8px 24px; display:flex; flex-direction:column; align-items:center; flex-shrink:0; background: url("data:image/png;base64,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") repeat, linear-gradient(180deg, #1c1c1c 0%, #101010 100%) no-repeat; background-size:90px 90px, 100% 100%; background-blend-mode:screen; box-shadow:0 -4px 18px rgba(0,0,0,.25); }
#proc-content .proc-disclaimer-bar .proc-disclaimer-msg { color:#fff !important; }

#proc-content .proc-criacao-btn { display:inline-flex; align-items:center; justify-content:center; width:29px; height:29px; border-radius:50%; border:1.5px solid #ccc; background:#fff; color:#000; font-size:.72rem; font-weight:700; cursor:pointer; font-family:'MontserratLight',sans-serif; transition:background .15s,border-color .15s,box-shadow .15s,transform .15s; box-shadow:0 1px 4px rgba(0,0,0,.10); flex-shrink:0; vertical-align:middle; margin-left:8px; animation:procCriacaoPulse 2.6s ease-in-out infinite; }
@keyframes procCriacaoPulse { 0%,100% { box-shadow:0 0 0 0 rgba(0,0,0,.08); } 50% { box-shadow:0 0 0 4px rgba(0,0,0,.08); } }
#proc-content .proc-criacao-btn:hover { background:#000; color:#fff; border-color:#000; box-shadow:0 3px 12px rgba(0,0,0,.22); transform:scale(1.08); animation-play-state:paused; }
#proc-content .proc-criacao-btn:active { transform:scale(0.96); }
#proc-content .proc-guia-include-wrap { display:inline-flex; align-items:center; gap:5px; margin-left:10px; cursor:pointer; user-select:none; }
#proc-content .proc-guia-include-wrap input[type="checkbox"] { width:14px; height:14px; cursor:pointer; accent-color:#000; flex-shrink:0; }
#proc-content .proc-guia-include-wrap .proc-guia-include-label { font-size:.58rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#000; opacity:.5; white-space:nowrap; }
#proc-content .proc-guia-include-wrap.excluded .proc-guia-include-label { opacity:.35; text-decoration:line-through; }
#proc-criacao-modal { position:fixed; inset:0; z-index:6000; display:flex; align-items:center; justify-content:center; opacity:0; transition:opacity .2s ease; pointer-events:none; }
#proc-criacao-modal.proc-criacao-visible { opacity:1; pointer-events:auto; }
#proc-criacao-backdrop { position:absolute; inset:0; background-color:rgba(30,30,30,.72); background-image:radial-gradient(circle at 15% 20%, rgba(255,255,255,.035) 0, transparent 45%),radial-gradient(circle at 85% 75%, rgba(255,255,255,.03) 0, transparent 45%),repeating-linear-gradient(0deg, rgba(255,255,255,.02) 0px, rgba(255,255,255,.02) 1px, transparent 1px, transparent 3px),repeating-linear-gradient(90deg, rgba(0,0,0,.03) 0px, rgba(0,0,0,.03) 1px, transparent 1px, transparent 3px); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); }
#proc-criacao-panel { position:relative; z-index:1; width:auto; min-width:360px; max-width:96vw; max-height:82vh; display:inline-flex; flex-direction:column; background:#fff; border-radius:16px; box-shadow:0 20px 64px rgba(0,0,0,.18); transform:translateY(12px); transition:transform .2s ease; font-family:'MontserratLight',sans-serif; overflow:hidden; }
#proc-criacao-modal.proc-criacao-visible #proc-criacao-panel { transform:translateY(0); }
#proc-criacao-header { display:flex; align-items:center; justify-content:space-between; padding:16px 22px 14px; border-bottom:1px solid #e0e0e0; flex-shrink:0; gap:40px; }
#proc-criacao-title { display:flex; flex-direction:column; gap:2px; }
#proc-criacao-title-main { font-size:1rem; font-weight:700; color:#000; }
#proc-criacao-title-sub { font-size:.62rem; font-weight:700; letter-spacing:.10em; text-transform:uppercase; color:#000; opacity:.4; }
#proc-criacao-toggle-wrap { display:inline-flex; align-items:center; gap:5px; margin:1px 0 2px; cursor:pointer; user-select:none; flex-shrink:0; }
#proc-criacao-toggle-wrap input[type="checkbox"] { width:14px; height:14px; cursor:pointer; accent-color:#000; flex-shrink:0; }
#proc-criacao-toggle-wrap span { font-size:.58rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#000; opacity:.5; white-space:nowrap; }
#proc-criacao-toggle-wrap:hover span { opacity:.75; }
#proc-criacao-header-right { display:flex; align-items:center; gap:18px; flex-shrink:0; }
#proc-criacao-pecas-badge { text-align:right; font-size:.6rem; font-weight:700; text-transform:uppercase; letter-spacing:.07em; color:#000; opacity:.4; line-height:1.35; font-family:'MontserratLight',sans-serif; white-space:nowrap; }
#proc-criacao-pecas-badge strong { display:block; font-size:1rem; font-weight:800; opacity:1; letter-spacing:0; text-transform:none; color:#000; }
#proc-criacao-close { width:28px; height:28px; display:flex; align-items:center; justify-content:center; font-size:.95rem; cursor:pointer; border:1.5px solid #ddd; border-radius:8px; background:transparent; color:#000; transition:background .12s,border-color .12s; font-family:'MontserratLight',sans-serif; font-weight:700; flex-shrink:0; }
#proc-criacao-close:hover { background:#f0f0f0; border-color:#ccc; }
#proc-criacao-scroll { overflow-y:auto; overflow-x:hidden; flex:1; }
#proc-criacao-table { width:100%; border-collapse:collapse; font-family:'MontserratLight',sans-serif; table-layout:auto; }
#proc-criacao-table thead { position:sticky; top:0; z-index:2; }
#proc-criacao-table thead th { padding:8px 14px; font-size:.62rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:#000 !important; background:#fff !important; border-bottom:2px solid #e0e0e0; white-space:nowrap; text-align:center; }
#proc-criacao-table thead th.center { text-align:center; }
#proc-criacao-table thead th.right { text-align:right; }
#proc-criacao-table tbody tr { border-bottom:1px solid #f0f0f0; cursor:pointer; }
#proc-criacao-table tbody tr.proc-criacao-active { background:#000 !important; }
#proc-criacao-table tbody tr.proc-criacao-active td { color:#fff !important; opacity:1 !important; }
#proc-criacao-table tbody tr.proc-criacao-active td * { color:#fff !important; }
#proc-criacao-table td { padding:8px 14px; font-size:.88rem; font-weight:700; color:#000; white-space:nowrap; vertical-align:middle; user-select:none; text-align:center; }
#proc-criacao-table td.td-ref { font-size:.88rem; font-weight:800; text-align:center; }
#proc-criacao-table td.td-nome { font-size:.82rem; font-weight:600; text-align:center; }
#proc-criacao-table td.td-qtd { font-size:.84rem; font-weight:700; text-align:center; }
#proc-criacao-table td.td-pvp { font-size:.88rem; font-weight:800; text-align:center; }
#proc-criacao-table td.td-marg { font-size:.72rem; font-weight:700; text-align:center; opacity:.5; }
#proc-criacao-table td.td-custo { font-size:.72rem; font-weight:700; text-align:center; opacity:.4; }
#proc-criacao-table td.td-ref-original { font-size:.74rem; font-weight:600; text-align:center; color:#000; opacity:.4; cursor:default; }
#proc-criacao-table tbody tr.proc-criacao-active td.td-ref-original { opacity:.7; }
@keyframes proc-criacao-flash { 0%{opacity:1} 30%{opacity:.4} 100%{opacity:1} }
#proc-criacao-table td.proc-cell-copied { animation:proc-criacao-flash .35s ease; }

/* Revelação final das referências geradas: uma única entrada suave e em
   cascata (não linha-a-linha em tempo real), para não dar o efeito de
   "pipoca" quando o modal reabre e não há nada de novo para criar. */
@keyframes proc-criacao-reveal { from { opacity:0; transform:translateY(3px); } to { opacity:1; transform:translateY(0); } }
#proc-criacao-table tbody.proc-reveal tr { animation:proc-criacao-reveal .32s ease both; animation-delay:calc(var(--i, 0) * 35ms); }
#proc-criacao-table tbody tr.proc-criacao-active td.td-marg { opacity:.8; }
#proc-criacao-table tbody tr.proc-criacao-active td.td-custo { opacity:.75; }
#proc-criacao-copy-hint { padding:6px 22px 10px; font-size:.65rem; font-weight:700; color:#000; opacity:.35; letter-spacing:.04em; text-transform:uppercase; flex-shrink:0; border-top:1px solid #f0f0f0; }
#proc-guia-modal { position:fixed; inset:0; z-index:5000; display:flex; align-items:center; justify-content:center; opacity:0; transition:opacity .22s ease; pointer-events:none; }
#proc-guia-modal.proc-guia-visible { opacity:1; pointer-events:auto; }
#proc-guia-backdrop { position:absolute; inset:0; background-color:rgba(30,30,30,.72); background-image:radial-gradient(circle at 15% 20%, rgba(255,255,255,.035) 0, transparent 45%),radial-gradient(circle at 85% 75%, rgba(255,255,255,.03) 0, transparent 45%),repeating-linear-gradient(0deg, rgba(255,255,255,.02) 0px, rgba(255,255,255,.02) 1px, transparent 1px, transparent 3px),repeating-linear-gradient(90deg, rgba(0,0,0,.03) 0px, rgba(0,0,0,.03) 1px, transparent 1px, transparent 3px); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); }
#proc-guia-panel { position:relative; z-index:1; width:min(720px,96vw); max-height:85vh; display:flex; flex-direction:column; background:#fff; border-radius:16px; box-shadow:0 16px 64px rgba(0,0,0,.28); overflow:hidden; transform:translateY(14px); transition:transform .22s ease; font-family:'MontserratLight',sans-serif; }
#proc-guia-modal.proc-guia-visible #proc-guia-panel { transform:translateY(0); }
#proc-guia-header { display:flex; align-items:center; justify-content:space-between; padding:14px 20px 12px; border-bottom:1px solid #e0e0e0; background:#fff; flex-shrink:0; flex-wrap:wrap; gap:8px; }
#proc-guia-title { display:flex; flex-direction:column; gap:2px; }
#proc-guia-title-main { font-size:.95rem; font-weight:700; color:#000!important; font-family:'MontserratLight',sans-serif; }
#proc-guia-title-sub { display:block; font-size:.68rem; font-weight:700; color:#000!important; font-family:'MontserratLight',sans-serif; text-transform:uppercase; letter-spacing:.06em; }
#proc-guia-header-btns { display:flex; align-items:center; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
#proc-guia-header-right { display:flex; flex-direction:column; align-items:flex-end; gap:6px; }
.proc-guia-other-banner { display:flex; align-items:center; gap:7px; border-radius:8px; padding:5px 10px; font-size:.72rem; font-weight:700; font-family:'MontserratLight',sans-serif; transition:background .3s; }
.proc-guia-other-loading { background:#f5f5f5; color:#000; opacity:.55; }
.proc-guia-other-none    { background:transparent; color:#4A7C6F; }
.proc-guia-other-found   { background:#f7f7f7; border:1px solid #ddd; color:#000; flex-wrap:wrap; }
.proc-guia-other-icon    { font-size:1rem; flex-shrink:0; }
.proc-guia-other-text    { display:flex; flex-direction:column; gap:1px; }
.proc-guia-other-text strong { color:#000!important; }
.proc-guia-other-sessions { font-size:.65rem; color:#000; opacity:.55; margin-top:1px; display:block; font-weight:600; }
#proc-guia-other-add-btn:hover { background:#f0f0f0!important; border-color:#555!important; }
#proc-guia-other-dismiss-btn:hover { background:#f5f5f5!important; }
.proc-guia-session-dot { font-size:.55rem; vertical-align:middle; margin-right:3px; line-height:1; }
#proc-guia-session-legend { display:flex; flex-wrap:wrap; gap:10px; padding:7px 14px 4px; font-size:.68rem; color:#000; font-family:'MontserratLight',sans-serif; border-top:1px dashed #e0e0e0; opacity:.6; font-weight:700; }
.proc-guia-legend-item { display:flex; align-items:center; gap:4px; }
.proc-guia-action-btn { padding:6px 16px; font-size:.76rem; font-weight:700; font-family:'MontserratLight',sans-serif; cursor:pointer; border:1.5px solid #ccc; border-radius:8px; background:transparent; color:#000!important; transition:background .13s,color .13s; white-space:nowrap; }
.proc-guia-action-btn:hover:not(:disabled) { background:#f0f0f0; border-color:#555; }
.proc-guia-action-btn:disabled { opacity:.4; cursor:not-allowed; }
.proc-guia-confirm { border-color:#000!important; color:#000!important; background:transparent!important; }
.proc-guia-confirm:hover:not(:disabled) { background:#f0f0f0!important; border-color:#555!important; }
.proc-guia-close-btn { width:30px; height:30px; display:flex; align-items:center; justify-content:center; font-size:1rem; cursor:pointer; border:1.5px solid #ddd; border-radius:8px; background:transparent; color:#000; transition:background .12s; }
.proc-guia-close-btn:hover { background:#7a3535; color:#fff; border-color:#7a3535; }
.proc-guia-copy-bar { display:grid; grid-template-columns:repeat(4,1fr); gap:6px; padding:10px 16px; background:#fafafa; border-bottom:1px solid #e0e0e0; flex-shrink:0; }
.proc-guia-copy-btn { padding:7px 10px; font-size:.72rem; font-weight:700; font-family:'MontserratLight',sans-serif; cursor:pointer; border:1.5px solid #ddd; border-radius:8px; background:#fff; color:#000; transition:background .12s,color .12s,border-color .12s; white-space:nowrap; text-align:center; display:flex; align-items:center; justify-content:center; gap:5px; }
.proc-guia-copy-btn:hover { background:#f0f0f0; border-color:#555; }
.proc-guia-copy-active { background:#f0f0f0!important; border-color:#555!important; }
.proc-guia-copy-msg { display:inline; font-size:.72rem; font-weight:700; margin-left:8px; }
.proc-guia-addr-btn { padding:7px 10px; font-size:.72rem; font-weight:700; font-family:'MontserratLight',sans-serif; cursor:pointer; border:1.5px solid #ddd; border-radius:8px; background:#fff; color:#000; transition:background .12s,color .12s,border-color .12s; white-space:nowrap; text-align:center; display:flex; align-items:center; justify-content:center; gap:5px; width:100%; }
.proc-guia-addr-btn:hover { background:#f0f0f0; border-color:#555; }
.proc-guia-addr-btn.proc-guia-addr-copied { background:#e8e8e8!important; border-color:#555!important; }
#proc-content .proc-guia-th2, .proc-guia-th2 { padding:5px 8px; background:#fff !important; font-size:.68rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:#000 !important; border-bottom:2px solid #ddd; text-align:left; white-space:nowrap; }
.proc-guia-th2 .proc-guia-copy-btn { width:100%; padding:5px 8px; font-size:.65rem; }

#proc-guia-scroll { overflow:auto; flex:1; -webkit-overflow-scrolling:touch; }
#proc-guia-table { width:100%; border-collapse:collapse; font-family:'MontserratLight',sans-serif; font-size:.84rem; }
#proc-guia-table thead { position:sticky; top:0; z-index:2; }
.proc-guia-th { padding:9px 14px; font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; border-bottom:2px solid #ddd; text-align:center; color:#000 !important; }
.proc-guia-th-f { background:#fff !important; color:#000 !important; }
.proc-guia-th-p { background:#fff !important; color:#000 !important; }
.proc-guia-th-sep { width:16px; background:#fff !important; border-bottom:2px solid #ddd; }
.proc-guia-td { padding:7px 14px; border-bottom:1px solid #f0f0f0; vertical-align:middle; }
.proc-guia-ref-f { font-weight:700; color:#000; min-width:120px; }
.proc-guia-qty-f { text-align:center; font-weight:700; color:#000; font-variant-numeric:tabular-nums; }
.proc-guia-sep-td { width:16px; background:#fafafa; border-bottom:1px solid #f0f0f0; }
.proc-guia-ref-p { font-weight:700; color:#000; min-width:120px; }
.proc-guia-qty-p { text-align:center; font-weight:700; color:#000; font-variant-numeric:tabular-nums; }
#proc-guia-table tr.proc-guia-row-even td { background:#fff !important; }
#proc-guia-table tr.proc-guia-row-odd td { background:#F7F4F3 !important; }
#proc-guia-table tr.proc-guia-row-sent td { background:#f5f5f5 !important; }
.proc-guia-row-sent .proc-guia-ref-f,.proc-guia-row-sent .proc-guia-ref-p { color:#000; }
.proc-guia-row-sent .proc-guia-qty-f,.proc-guia-row-sent .proc-guia-qty-p { color:#000; }
#proc-guia-table tbody tr:hover td { background:#f0f0f0!important; }
.proc-guia-sent-hdr td { padding:6px 14px; background:transparent; font-size:.72rem; font-weight:700; color:#000; text-transform:uppercase; letter-spacing:.04em; border-top:2px solid #e0e0e0; border-bottom:1px solid #e0e0e0; }
.proc-guia-empty { padding:24px; color:#000; font-style:italic; text-align:center; }
.proc-guia-dot-col { width:14px; min-width:14px; max-width:14px; padding:4px 2px 4px 8px!important; text-align:center; vertical-align:middle; }
.proc-guia-dot-th { width:14px; min-width:14px; border-bottom:2px solid #ddd; background:#fff; padding:0!important; }
#proc-guia-footer { padding:8px 20px; font-size:.72rem; font-weight:700; color:#000!important; border-top:1px solid #e0e0e0; background:#fafafa; font-family:'MontserratLight',sans-serif; flex-shrink:0; }
#proc-guia-confirm-overlay { position:absolute; inset:0; z-index:10; display:flex; align-items:center; justify-content:center; background:rgba(255,255,255,.9); border-radius:16px; }
#proc-guia-confirm-box { background:#fff; border-radius:14px; box-shadow:0 8px 40px rgba(0,0,0,.18); padding:24px 28px; width:min(380px,90%); font-family:'MontserratLight',sans-serif; }
.proc-gc-title { font-size:.9rem; font-weight:700; color:#000; margin-bottom:12px; }
.proc-gc-body { font-size:.82rem; color:#000; line-height:1.6; margin-bottom:18px; }
.proc-gc-btns { display:flex; gap:8px; }
.proc-gc-btn { padding:8px 18px; font-size:.82rem; font-weight:700; font-family:'MontserratLight',sans-serif; border-radius:8px; cursor:pointer; border:1.5px solid #ccc; background:#fff; color:#000; transition:background .12s; }
.proc-gc-ok { border-color:#000!important; color:#000!important; background:#f0f0f0!important; }
.proc-gc-ok:hover { background:#e8e8e8!important; border-color:#555!important; }
.proc-gc-cancel:hover { background:#f0f0f0; }
.proc-guia-addr-bar { display:flex; align-items:center; gap:5px; flex-wrap:wrap; justify-content:flex-end; padding:0 20px 10px; flex-shrink:0; }
.proc-guia-addr-chip { display:flex; align-items:center; gap:6px; padding:7px 12px; border:1px solid #e0e0e0; border-radius:8px; background:#fff; font-size:.75rem; font-weight:700; color:#000!important; font-family:'MontserratLight',sans-serif; cursor:pointer; transition:background .12s,border-color .12s; user-select:none; width:100%; box-sizing:border-box; justify-content:space-between; }
.proc-guia-addr-chip:hover { background:#f0f0f0; border-color:#bbb; }
.proc-guia-addr-chip.proc-addr-copied { background:#f0f0f0!important; border-color:#000!important; color:#000!important; }
.proc-guia-addr-clip { font-size:.8rem; }
#proc-content .proc-desc-wrap { position:relative; display:inline-flex; align-items:center; width:100%; }
#proc-desc-global-sugg { position:fixed; top:0; left:0; min-width:220px; max-width:360px; background:#fff; border:1.5px solid #000; border-radius:8px; box-shadow:0 6px 20px rgba(0,0,0,.12); z-index:99999; overflow:hidden; max-height:210px; overflow-y:auto; display:none; }
#proc-desc-global-sugg .proc-desc-item { padding:7px 12px; font-size:.82rem; font-weight:700; color:#000; cursor:pointer; border-bottom:1px solid #f0f0f0; transition:background .1s; white-space:nowrap; font-family:'MontserratLight',sans-serif; }
#proc-desc-global-sugg .proc-desc-item:last-child { border-bottom:none; }
#proc-desc-global-sugg .proc-desc-item:hover { background:#f0f0f0; }
#proc-content .proc-forn-wrap { position:relative; }
#proc-content .proc-forn-wrap input { width:70% !important; transition:width .2s ease; }
#proc-content .proc-forn-wrap input:focus { width:100% !important; }
#proc-content .proc-forn-suggestions { position:absolute; top:calc(100% + 3px); left:0; right:0; background:#fff; border:1.5px solid #000; border-radius:8px; box-shadow:0 6px 20px rgba(0,0,0,.12); z-index:500; overflow:hidden; max-height:220px; overflow-y:auto; }
#proc-content .proc-forn-suggestions.hidden { display:none; }
#proc-content .proc-forn-item { padding:8px 12px; font-size:.85rem; font-weight:700; color:#000; cursor:pointer; border-bottom:1px solid #f0f0f0; transition:background .1s; }
#proc-content .proc-forn-item:last-child { border-bottom:none; }
#proc-content .proc-forn-item:hover { background:#f0f0f0; }
#proc-content .proc-forn-item.corrected { color:#000; }
#proc-content .proc-table-lock { display:flex; align-items:center; justify-content:center; padding:22px 16px; background:transparent; border:1px solid #e0e0e0; border-radius:14px; margin-bottom:10px; font-size:.88rem; font-weight:700; color:#000; text-align:center; gap:10px; }
#proc-content .proc-table-lock span { font-size:1.2rem; }
.proc-or-modal { position:fixed; inset:0; z-index:2000; display:flex; align-items:center; justify-content:center; opacity:0; transition:opacity 0.22s ease; pointer-events:none; }
.proc-or-modal.visible { opacity:1; pointer-events:auto; }
.proc-or-backdrop { position:absolute; inset:0; background-color:rgba(30,30,30,.72); background-image:radial-gradient(circle at 15% 20%, rgba(255,255,255,.035) 0, transparent 45%),radial-gradient(circle at 85% 75%, rgba(255,255,255,.03) 0, transparent 45%),repeating-linear-gradient(0deg, rgba(255,255,255,.02) 0px, rgba(255,255,255,.02) 1px, transparent 1px, transparent 3px),repeating-linear-gradient(90deg, rgba(0,0,0,.03) 0px, rgba(0,0,0,.03) 1px, transparent 1px, transparent 3px); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); }
.proc-or-panel { position:relative; z-index:1; width:min(700px,96vw); max-height:85vh; display:flex; flex-direction:column; background:#fff; border-radius:16px; box-shadow:0 20px 60px rgba(0,0,0,.18); transform:translateY(14px); transition:transform 0.22s ease; overflow:hidden; }
.proc-or-modal.visible .proc-or-panel { transform:translateY(0); }
.proc-or-panel-header { display:flex; align-items:center; justify-content:space-between; padding:14px 20px 12px; border-bottom:1px solid #e0e0e0; background:#fff; flex-shrink:0; flex-wrap:wrap; row-gap:8px; }
.proc-or-panel-title { display:flex; flex-direction:column; gap:2px; }
.proc-or-panel-title-main { font-size:1rem; font-weight:700; color:#000!important; font-family:'MontserratLight',sans-serif; }
.proc-or-panel-title-sub { font-size:.65rem; letter-spacing:.1em; text-transform:uppercase; color:#000!important; font-family:'MontserratLight',sans-serif; }
.proc-or-panel-header-btns { display:flex; gap:8px; align-items:center; }
.proc-or-close-btn { background:transparent; border:1.5px solid #ddd; border-radius:8px; color:#000; font-size:.85rem; padding:4px 10px; cursor:pointer; font-family:'MontserratLight',sans-serif; font-weight:700; transition:background 0.14s,border-color 0.14s,color 0.14s; }
.proc-or-close-btn:hover { border-color:#9B4D4D; color:#9B4D4D; background:#F5EAEA; }
.proc-or-action-btn { background:#fff; border:1px solid #ccc; border-radius:8px; color:#000; font-size:.75rem; font-weight:700; text-transform:lowercase; padding:5px 13px; cursor:pointer; font-family:'MontserratLight',sans-serif; transition:background 0.14s,border-color 0.14s,color 0.14s; }
.proc-or-action-btn:hover { background:#f0f0f0; border-color:#555; }
.proc-or-copy-bar { display:grid; grid-template-columns:repeat(5,1fr); gap:6px; padding:10px 16px; border-bottom:1px solid #f0f0f0; background:#fff; flex-shrink:0; }
.proc-or-copy-label { display:none; }
.proc-or-copy-btn { background:#fff; border:1.5px solid #ddd; border-radius:8px; color:#000; font-size:.72rem; font-weight:700; padding:7px 6px; cursor:pointer; font-family:'MontserratLight',sans-serif; transition:background 0.14s,border-color 0.14s,color 0.14s; text-align:center; display:flex; align-items:center; justify-content:center; gap:4px; }
.proc-or-copy-btn:hover { background:#f0f0f0; border-color:#555; }
.proc-or-copy-btn.active { border-color:#555; color:#000; background:#f0f0f0; }
.proc-or-copy-msg { display:none; margin-left:10px; font-size:.72rem; font-weight:700; }
.proc-or-scroll { overflow:auto; flex:1; }
.proc-or-table { border-collapse:collapse; font-family:'MontserratLight',sans-serif; white-space:nowrap; width:100%; }
.proc-or-table thead { position:sticky; top:0; z-index:2; }
.proc-or-table thead tr { background:#fff !important; border-bottom:1px solid #e0e0e0; }
.proc-or-table th { padding:8px 12px; text-align:left; font-size:.65rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#000 !important; background:#fff !important; white-space:nowrap; }
.proc-or-table th.center { text-align:center; }
.proc-or-table td { padding:7px 12px; font-size:.84rem; font-weight:400; border-bottom:1px solid #f0f0f0; color:#000; }
.proc-or-table td.center { text-align:center; }
.proc-or-table td.right { text-align:right; }
.proc-or-table tr:nth-child(even) td { background:#fafafa; }
.proc-or-table tr:hover td { background:#f0f0f0 !important; }
.proc-or-table .empty-row td { text-align:center; color:#000; padding:24px; font-style:italic; font-weight:400; }
.proc-or-panel-footer { padding:10px 20px; border-top:1px solid #e0e0e0; background:#fafafa; font-size:.72rem; font-weight:700; color:#000; flex-shrink:0; font-family:'MontserratLight',sans-serif; }
#proc-content .proc-table-wrap td.td-ref { width:1px; white-space:nowrap; padding:3px 4px; }
#proc-content .proc-table-wrap th.left:first-child { width:1px; white-space:nowrap; }
#proc-content .proc-obs-th { width:30px; max-width:30px; }
#proc-content .proc-table-wrap td.td-ref .proc-ref-wrap { display:inline-flex; align-items:center; gap:0; width:auto; }
#proc-content .proc-table-wrap td input.proc-ref-input { width:auto; min-width:0; max-width:none; text-align:left; padding-left:4px; text-transform:uppercase; }
@media (max-width:768px), (orientation:landscape) and (max-height:500px) {
  #proc-content { padding:10px; }
  #proc-content .proc-fatura-banner { padding:14px 14px; flex-wrap:wrap; gap:8px; }
  #proc-content .proc-fatura-banner-provider { font-size:1.15rem; }
  #proc-content .proc-header-card { flex-direction:column !important; align-items:stretch !important; gap:12px; padding:14px; }
  #proc-content .proc-header-summary-col { align-items:flex-start; border-left:none; border-top:1px solid #e0e0e0; padding-left:0; padding-top:12px; }
  #proc-content .proc-stock-btn { padding:8px 9px !important; }
  #proc-content .proc-stock-btn-label { display:none !important; }
  #proc-content .proc-amount-row { flex-wrap:wrap; }
  #proc-content .proc-table-wrap { overflow-x:auto; -webkit-overflow-scrolling:touch; }
  #proc-content .proc-table-wrap table { min-width:0; table-layout:auto; }
  #proc-content .proc-table-wrap td.td-ref {
    position:sticky; left:0; background:#fff; z-index:2;
  }
  #proc-content .proc-table-wrap td.td-ref::after {
    content:""; position:absolute; top:0; right:-8px; bottom:0; width:8px;
    background:linear-gradient(to right,rgba(0,0,0,.10),transparent); pointer-events:none;
  }
  #proc-content .proc-table-wrap th.left:first-child {
    position:sticky; left:0; background:#fff; z-index:3;
  }
  #proc-content .proc-table-wrap th.left:first-child::after {
    content:""; position:absolute; top:0; right:-8px; bottom:0; width:8px;
    background:linear-gradient(to right,rgba(0,0,0,.10),transparent); pointer-events:none;
  }
  #proc-content .proc-table-wrap tbody tr:hover td.td-ref { background:#f5f5f5 !important; }
  #proc-content .proc-table-wrap tbody tr.proc-row-flagged td.td-ref { background:#fdf0f0 !important; }
  #proc-content .proc-table-wrap tbody tr.proc-row-flagged:hover td.td-ref { background:#f9e4e4 !important; }
  #proc-content .proc-top-bar { flex-direction:column; align-items:flex-start; }
  #proc-content .proc-footer-actions { flex-wrap:wrap; }
  #proc-float-actions { right:12px; bottom:16px; }
  #proc-float-actions .proc-float-btn { width:46px; height:46px; }
}
@media (min-width:769px) and (max-width:1366px) {
  #proc-content .proc-header-card { flex-wrap:wrap; row-gap:14px; column-gap:20px; padding:16px; }
  #proc-content .proc-forn-valor-row { flex-wrap:wrap; row-gap:10px; }
  #proc-content .proc-amount-row { flex-wrap:wrap; }
  #proc-content .proc-header-summary-col { flex:0 0 auto; }
  #proc-content .proc-stock-btn-label { display:none !important; }
  #proc-content .proc-stock-btn { padding:8px 9px !important; }
  #proc-content .proc-table-wrap { overflow-x:auto; -webkit-overflow-scrolling:touch; }
  #proc-content .proc-table-wrap td.td-ref {
    position:sticky; left:0; background:#fff; z-index:2;
  }
  #proc-content .proc-table-wrap td.td-ref::after {
    content:""; position:absolute; top:0; right:-8px; bottom:0; width:8px;
    background:linear-gradient(to right,rgba(0,0,0,.08),transparent); pointer-events:none;
  }
  #proc-content .proc-table-wrap th.left:first-child {
    position:sticky; left:0; background:#fff; z-index:3;
  }
  #proc-content .proc-table-wrap th.left:first-child::after {
    content:""; position:absolute; top:0; right:-8px; bottom:0; width:8px;
    background:linear-gradient(to right,rgba(0,0,0,.08),transparent); pointer-events:none;
  }
  #proc-content .proc-table-wrap tbody tr:hover td.td-ref { background:#f5f5f5 !important; }
  #proc-content .proc-table-wrap tbody tr.proc-row-flagged td.td-ref { background:#fdf0f0 !important; }
  #proc-content .proc-table-wrap tbody tr.proc-row-flagged:hover td.td-ref { background:#f9e4e4 !important; }
  #proc-content .proc-table-wrap tbody tr.proc-row-flagged.proc-row-active td.td-ref { background:#111 !important; }
  #proc-content .proc-table-wrap tbody tr.proc-row-flagged.proc-row-active:hover td.td-ref { background:#111 !important; }
}
@media (max-width:1024px) and (orientation:portrait) {
  /* Grid de 2 filas: fornecedor/valor/total en la fila 1 (cada uno con su
     propio ancho garantizado, sin pelearse por espacio), referências/peças/
     diferença en su propia fila 2 a todo lo ancho — así nadie se recorta,
     nadie se monta encima de otro, y el encabezado queda con altura fija
     y previsible en vez de crecer sin control. */
  #proc-content .proc-header-card {
    display:grid !important;
    grid-template-columns: minmax(150px,1.6fr) minmax(72px,0.7fr) minmax(170px,1.4fr) !important;
    grid-template-areas: "forn valor total" "summary summary summary" !important;
    column-gap:12px !important; row-gap:10px !important;
    align-items:end !important; flex-wrap:unset !important;
    padding:12px 14px !important;
  }
  #proc-content .proc-forn-valor-row { display:contents !important; }
  #proc-content .proc-forn-group { grid-area:forn !important; min-width:0 !important; }
  #proc-content .proc-valorfat-group { grid-area:valor !important; min-width:0 !important; }
  #proc-content .proc-forn-wrap input { width:100% !important; }
  #proc-content .proc-forn-group input, #proc-content .proc-valorfat-group input { font-size:.78rem !important; padding:6px 6px !important; }
  #proc-content .proc-field-label { font-size:.52rem !important; letter-spacing:.04em !important; white-space:nowrap !important; }
  #proc-content .proc-totalcalc-group { grid-area:total !important; min-width:0 !important; margin-left:0 !important; }
  #proc-content .proc-total-box { min-width:0 !important; }
  #proc-content .proc-total-box .proc-amount { font-size:1rem !important; }
  #proc-content .proc-amount-row { flex-wrap:nowrap !important; gap:3px !important; }
  #proc-content .proc-criacao-btn { width:22px !important; height:22px !important; margin-left:2px !important; font-size:.6rem !important; }
  #proc-content .proc-guia-include-wrap { margin-left:4px !important; gap:2px !important; }
  #proc-content .proc-guia-include-wrap .proc-guia-include-label { font-size:.5rem !important; }
  #proc-content .proc-header-summary-col {
    grid-area:summary !important; display:flex !important; flex-direction:row !important;
    flex-wrap:nowrap !important; justify-content:space-between !important;
    align-items:baseline !important; width:100% !important; min-width:0 !important;
    margin-left:0 !important; padding-left:0 !important; padding-top:8px !important;
    border-left:none !important; border-top:1px solid #e0e0e0 !important; gap:8px !important;
  }
  #proc-content .proc-summary-item { font-size:.62rem !important; white-space:nowrap !important; }
}
/* Telemóveis (retrato OU paisagem — os iPads ficam de fora: o lado curto
   de um iPad em paisagem nunca é <=500px, e nenhum iPad tem <=600px de
   largura em nenhuma orientação). A grelha de 3 colunas acima foi pensada
   para o espaço de um iPad; num ecrã de telemóvel esse mínimo (150+72+170px)
   não cabe e tudo se sobrepõe/corta — aqui usa-se uma grelha própria, mais
   estreita, com fornecedor+valor numa linha, total calculado sozinho na
   linha seguinte, e o resumo (referências/peças/diferença) na última,
   podendo quebrar para 2 linhas em vez de cortar texto. */
@media (max-width:600px), (orientation:landscape) and (max-height:500px) {
  #proc-content .proc-header-card {
    display:grid !important;
    grid-template-columns: minmax(0,1fr) 100px !important;
    grid-template-areas: "forn valor" "total total" "summary summary" !important;
    column-gap:8px !important; row-gap:8px !important;
    align-items:end !important;
    padding:10px 12px !important;
  }
  #proc-content .proc-forn-valor-row { display:contents !important; }
  #proc-content .proc-forn-group { grid-area:forn !important; min-width:0 !important; width:100% !important; }
  #proc-content .proc-valorfat-group { grid-area:valor !important; min-width:0 !important; width:100% !important; }
  #proc-content .proc-forn-wrap input { width:100% !important; }
  #proc-content .proc-forn-group input, #proc-content .proc-valorfat-group input { font-size:.72rem !important; padding:5px 4px !important; width:100% !important; box-sizing:border-box !important; }
  #proc-content input[id^="proc-valorFactura-"] { width:100% !important; max-width:100% !important; }
  #proc-content .proc-field-label { font-size:.46rem !important; letter-spacing:.02em !important; white-space:nowrap !important; }
  #proc-content .proc-valorfat-group .proc-field-label { white-space:normal !important; font-size:.4rem !important; line-height:1.15 !important; word-break:break-word !important; }
  #proc-content .proc-totalcalc-group { grid-area:total !important; min-width:0 !important; width:100% !important; margin-left:0 !important; }
  #proc-content .proc-total-box { min-width:0 !important; width:100% !important; }
  #proc-content .proc-total-box .proc-amount { font-size:.9rem !important; }
  #proc-content .proc-amount-row { flex-wrap:wrap !important; row-gap:5px !important; gap:5px !important; }
  #proc-content .proc-criacao-btn { width:20px !important; height:20px !important; margin-left:2px !important; font-size:.55rem !important; }
  #proc-content .proc-guia-include-wrap { margin-left:2px !important; gap:2px !important; }
  #proc-content .proc-guia-include-wrap .proc-guia-include-label { font-size:.46rem !important; white-space:nowrap !important; }
  #proc-content .proc-stock-btn { padding:5px 7px !important; }
  #proc-content .proc-header-summary-col {
    grid-area:summary !important; display:flex !important; flex-direction:row !important;
    flex-wrap:wrap !important; justify-content:space-between !important; row-gap:5px !important;
    align-items:baseline !important; width:100% !important; min-width:0 !important;
    margin-left:0 !important; padding-left:0 !important; padding-top:6px !important;
    border-left:none !important; border-top:1px solid #e0e0e0 !important; gap:6px !important;
  }
  #proc-content .proc-summary-item { font-size:.58rem !important; white-space:nowrap !important; }
  #proc-content .proc-diff-chip { font-size:.6rem !important; padding:2px 8px !important; }
  #proc-content .proc-diff-chip.pos, #proc-content .proc-diff-chip.neg { font-size:.68rem !important; padding:4px 10px !important; }
}
/* ===== PROCESSAMENTO — modificadores para classes partilhadas ===== */
#proc-content .proc-cell-tight { padding:2px 4px; }
.proc-or-panel--narrow { max-width:560px; }
.proc-or-panel--stock { width:min(560px,94vw); }
.proc-or-copy-th-btn { width:100%; background:#fff; border:1.5px solid #ddd; border-radius:7px; padding:5px 9px; font-size:.65rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#000; cursor:pointer; text-align:center; justify-content:center; transition:background .12s,border-color .12s; }
.proc-or-copy-th-btn:hover { background:#f0f0f0; border-color:#555; }
.proc-or-copy-th-btn.active { background:#f0f0f0; border-color:#555; }
.proc-stock-table { table-layout:fixed; }
.proc-stock-th-ref { width:auto; }
.proc-stock-th-arm { width:52px; }
.proc-stock-th-iva { width:52px; }
.proc-stock-th-preco { width:64px; }
.proc-stock-th-qtd { width:56px; }
.proc-stock-table td { overflow:hidden; text-overflow:ellipsis; }
.proc-or-scroll--padded { padding:16px 20px; }
.proc-th2-center { text-align:center; }
.proc-cod-td { font-weight:700; letter-spacing:.05em; }

/* ===== PROCESSAMENTO — novas classes (antigos style="" / style.cssText) ===== */
#proc-content .proc-start-load-btn { padding:3px 10px; border:1px solid #ccc; border-radius:6px; background:transparent; color:#000; font-size:.7rem; font-weight:700; cursor:pointer; font-family:'MontserratLight',sans-serif; transition:background 0.14s,border-color 0.14s; }
#proc-content .proc-start-load-btn:hover { background:#f0f0f0; border-color:#555; }
#proc-content .proc-start-del-btn { padding:3px 8px; border:1px solid #ddd; border-radius:6px; background:transparent; color:#000; font-size:.7rem; font-weight:700; cursor:pointer; font-family:'MontserratLight',sans-serif; transition:background 0.14s,border-color 0.14s,color 0.14s; }
#proc-content .proc-start-del-btn:hover { border-color:#9B4D4D; color:#9B4D4D; background:#F5EAEA; }
#proc-content .proc-guia-sess-row { display:flex; align-items:center; gap:8px; flex-wrap:nowrap; }
#proc-content .proc-guia-sess-add-btn { padding:3px 12px; font-size:.68rem; font-weight:700; cursor:pointer; border:1.5px solid #555; border-radius:6px; background:#fff; color:#000; white-space:nowrap; flex-shrink:0; transition:background .12s,border-color .12s; }
#proc-content .proc-guia-sess-ign-btn { padding:3px 8px; font-size:.68rem; font-weight:700; cursor:pointer; border:1.5px solid #ddd; border-radius:6px; background:transparent; color:#000; white-space:nowrap; flex-shrink:0; transition:background .12s,border-color .12s; }

#proc-picker-body { padding:16px 24px 22px; overflow-y:auto; flex:1; }
#proc-stock-iva-input { width:52px; padding:4px 7px; border:1px solid #ccc; border-radius:7px; font-family:'MontserratLight',sans-serif; font-size:.82rem; font-weight:700; color:#000; text-align:center; background:#fafafa; outline:none; }
#proc-session-label { font-size:.78rem; font-weight:700; color:#555; white-space:nowrap; }
#proc-session-bar-center { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); }
#proc-start-new-btn { white-space:nowrap; }
#proc-sessionMenuBtn { white-space:nowrap; }
#proc-guiaBtn { border-color:#5F7B94; color:#5F7B94; background:transparent; }
#proc-sessionMenuDropdown { top:calc(100% + 6px); right:0; }
[id^="proc-table-block-"] { display:none; }

.proc-dlg-label { font-size:.6rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#000; opacity:.45; margin-bottom:10px; }
.proc-dlg-title { font-size:1rem; font-weight:700; color:#000; margin-bottom:8px; line-height:1.3; }
.proc-dlg-body { font-size:.85rem; font-weight:600; color:#000; opacity:.75; margin-bottom:20px; line-height:1.6; }
.proc-dlg-overlay { position:fixed; inset:0; z-index:4000; display:flex; align-items:center; justify-content:center; background:rgba(0,0,0,.38); backdrop-filter:blur(3px); }
.proc-dlg-panel { background:#fff; border-radius:16px; padding:28px 28px 20px; max-width:440px; width:92%; box-shadow:0 20px 60px rgba(0,0,0,.2); font-family:'MontserratLight',sans-serif; }

.proc-picker-header { padding:22px 24px 16px; border-bottom:1px solid #f0f0f0; flex-shrink:0; }
.proc-picker-eyebrow { font-size:.6rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#000; opacity:.4; margin-bottom:6px; }
.proc-picker-title { font-size:1.05rem; font-weight:700; color:#000; line-height:1.3; }
.proc-picker-desc { font-size:.78rem; font-weight:600; color:#555; margin-top:6px; line-height:1.5; }
.proc-picker-loading { text-align:center; padding:28px 0; color:#000; font-size:.85rem; font-weight:700; opacity:.45; }
.proc-picker-overlay { position:fixed; inset:0; z-index:4000; display:flex; align-items:center; justify-content:center; background:rgba(0,0,0,.45); backdrop-filter:blur(4px); }
.proc-picker-panel { background:#fff; border-radius:18px; width:min(460px,94vw); max-height:85vh; display:flex; flex-direction:column; box-shadow:0 24px 72px rgba(0,0,0,.22); font-family:'MontserratLight',sans-serif; overflow:hidden; }

.proc-meta-line { font-size:.68rem; font-weight:600; opacity:.6; }
.proc-section-label { font-size:.62rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#000; opacity:.4; margin-bottom:8px; }
.proc-section-wrap { margin-bottom:18px; }
.proc-section3-divider { border-top:1px solid #f0f0f0; padding-top:18px; }
.proc-fatura-icon { font-size:1rem; }
.proc-transp-row { display:flex; align-items:center; gap:10px; }
.proc-amount-row { display:flex; align-items:center; gap:6px; }
.proc-toggle-cell { white-space:nowrap; text-align:center; padding:2px 4px; }
.proc-toggle-inner { display:flex; gap:4px; justify-content:center; align-items:center; }
.proc-marg-td { text-align:center; padding:2px 4px; }

.proc-odd-label { font-size:.6rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#000; opacity:.5; margin-bottom:10px; }
.proc-odd-ref { font-size:.95rem; font-weight:700; color:#000; margin-bottom:4px; }
.proc-odd-info { font-size:.85rem; font-weight:600; color:#000; margin-bottom:4px; }
.proc-odd-question { font-size:.88rem; font-weight:700; color:#000; margin-bottom:18px; }
.proc-odd-overlay { position:fixed; inset:0; z-index:3000; display:flex; align-items:center; justify-content:center; background:rgba(0,0,0,.35); backdrop-filter:blur(2px); }
.proc-odd-panel { background:#fff; border-radius:16px; padding:28px 28px 22px; max-width:420px; width:92%; box-shadow:0 20px 60px rgba(0,0,0,.18); font-family:'MontserratLight',sans-serif; }
.proc-odd-btn { display:block; width:100%; padding:11px 16px; margin-bottom:8px; text-align:left; font-size:.88rem; font-weight:600; font-family:'MontserratLight',sans-serif; background:#fff; border:1px solid #9DB6C9; border-radius:10px; cursor:pointer; transition:background .12s,border-color .12s; color:#000; }

.proc-tip-text { color:#fff!important; }
.proc-stock-iva-label { font-size:.68rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#000; opacity:.6; white-space:nowrap; }
.proc-stock-total-strong { color:#000; font-size:1rem; letter-spacing:-.01em; }

#proc-content .proc-sess-bar-divider { margin-bottom:18px; position:relative; }
.proc-sess-start-wrap { display:flex; justify-content:center; padding:32px 0; }
.proc-sess-start-inner { width:100%; max-width:460px; font-family:'MontserratLight',sans-serif; }

/* ── Consulta rapida por referencia ── */
#proc-busca-referencia-wrap { position:relative; margin-bottom:22px; }
.proc-busca-input { width:100%; box-sizing:border-box; padding:11px 14px; border:1px solid #ccc; border-radius:10px; background:#fff; color:#000; font-family:'MontserratLight',sans-serif; font-size:.82rem; font-weight:600; transition:border-color .15s,box-shadow .15s; }
.proc-busca-input:focus { outline:none; border-color:#555; box-shadow:0 2px 10px rgba(0,0,0,.06); }
.proc-busca-input::placeholder { color:#999; font-weight:500; }

/* ── Lupa + popover de pesquisa na barra de sessão ── */
#proc-content .proc-icon-btn { padding:7px 11px; font-size:.95rem; line-height:1; }
#proc-content .proc-busca-popover { position:fixed; width:min(360px,92vw); background:#fff; border:1px solid #e0e0e0; border-radius:12px; box-shadow:0 8px 30px rgba(0,0,0,.14); z-index:9999; padding:10px; }
#proc-content .proc-busca-popover.hidden { display:none; }
#proc-content .proc-busca-popover .proc-busca-dropdown { position:relative; top:6px; left:0; right:0; }

/* ── Grupos colapsáveis de sessões antigas (por mês/ano) ── */
.proc-session-group { margin-bottom:6px; }
.proc-session-group-header { display:flex; align-items:center; justify-content:space-between; padding:10px 14px; cursor:pointer; background:#f2ede4; border-radius:10px; font-family:'MontserratLight',sans-serif; font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.05em; color:#7a6f5c; transition:background .15s; }
.proc-session-group-header:hover { background:#ece5d8; }
.proc-session-group-count { font-weight:600; text-transform:none; letter-spacing:0; color:#9a8a6f; font-size:.68rem; display:flex; align-items:center; gap:5px; }
.proc-session-group-arrow { font-size:.6rem; }
.proc-session-group-body { display:none; padding-top:6px; }
.proc-session-group.aberto .proc-session-group-body { display:block; }
#proc-sessionMenuDropdown .proc-session-group-header { margin:2px 8px; }
#proc-sessionMenuDropdown .proc-session-group-body { padding-left:0; }
#proc-busca-dropdown { position:absolute; top:calc(100% + 6px); left:0; right:0; background:#fff; border:1px solid #e0e0e0; border-radius:10px; box-shadow:0 10px 28px rgba(0,0,0,.14); max-height:280px; overflow-y:auto; overflow-x:hidden; z-index:30; }
#proc-busca-dropdown.hidden { display:none; }
.proc-busca-dropdown-item { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:9px 14px; cursor:pointer; border-bottom:1px solid #f0f0f0; font-family:'MontserratLight',sans-serif; min-width:0; }
.proc-busca-dropdown-item:last-child { border-bottom:none; }
.proc-busca-dropdown-item:hover { background:#f5f5f5; }
.proc-busca-dropdown-ref { font-size:.8rem; font-weight:800; color:#000; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; min-width:0; flex:0 1 auto; }
.proc-busca-dropdown-desc { font-size:.66rem; font-weight:700; color:#888; text-transform:uppercase; letter-spacing:.04em; white-space:nowrap; text-align:right; overflow:hidden; text-overflow:ellipsis; min-width:0; flex:0 1 55%; }
.proc-busca-dropdown-empty { padding:14px; text-align:center; font-size:.75rem; color:#888; font-style:italic; font-family:'MontserratLight',sans-serif; }

/* ── Modal "Historico da Referencia" ── */
.proc-or-panel--radiografia { width:min(760px,96vw); max-width:96vw; }
.proc-or-panel-scroll { overflow-y:auto; flex:1; min-height:0; }
.proc-raio-vazio { padding:40px 20px; text-align:center; color:#888; font-style:italic; font-family:'MontserratLight',sans-serif; }
.proc-raio-bloco { border-bottom:1px solid #e0e0e0; padding:16px 20px; }
.proc-raio-bloco:last-child { border-bottom:none; }
.proc-raio-bloco-header { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:8px; margin-bottom:4px; font-family:'MontserratLight',sans-serif; }
.proc-raio-ref-nova { font-size:1.02rem; font-weight:800; color:#000; }
.proc-raio-categoria { font-size:.62rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:#4A7C6F; background:#eef6f3; padding:3px 9px; border-radius:6px; margin-left:6px; }
.proc-raio-ref-original { font-size:.68rem; font-weight:600; color:#888; white-space:nowrap; }
.proc-raio-descricao { font-size:.76rem; font-weight:600; color:#333; margin-bottom:10px; font-family:'MontserratLight',sans-serif; }
.proc-raio-totais { display:flex; gap:4px; flex-wrap:wrap; margin-bottom:10px; font-size:.72rem; font-weight:800; color:#000; font-family:'MontserratLight',sans-serif; }
.proc-raio-totais span { opacity:.5; font-weight:600; margin-right:3px; }


.proc-session-item { display:flex; align-items:center; justify-content:space-between; padding:10px 14px; margin-bottom:8px; gap:8px; background:rgba(255,255,255,0.5); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); border:1px solid rgba(255,255,255,0.65); border-radius:12px; box-shadow:0 2px 10px rgba(0,0,0,0.05); transition:background .15s ease, box-shadow .15s ease; font-family:'MontserratLight',sans-serif; }
.proc-session-item:last-child { margin-bottom:0; }
.proc-session-item:hover { background:rgba(255,255,255,0.72); box-shadow:0 4px 16px rgba(0,0,0,0.08); }
.proc-session-item-info { min-width:0; }
.proc-session-item-label { font-size:.84rem; font-weight:700; color:#000; }
.proc-session-item-meta { font-size:.7rem; font-weight:600; color:#888; margin-top:2px; }
.proc-session-item-actions { display:flex; gap:5px; flex-shrink:0; }

.proc-guia-th-flex { display:flex; flex-direction:column; align-items:center; gap:2px; }
.proc-guia-count-label { font-size:.6rem; font-weight:600; opacity:.7; }
.proc-guia-banner-label { font-size:.6rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#000; opacity:.5; margin-bottom:2px; }
.proc-guia-sess-name { font-size:.72rem; font-weight:700; flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.proc-guia-sess-count { font-size:.68rem; font-weight:600; color:#000; opacity:.6; white-space:nowrap; flex-shrink:0; }
.proc-table-empty-msg { text-align:center; padding:24px; font-style:italic; opacity:.5; font-size:.82rem; }

.proc-clipboard-hack { position:fixed; top:-9999px; opacity:0; }
.proc-row-highlight { background:#000!important; }
.proc-cell-highlight { color:#fff!important; opacity:1!important; }

#vendas-sub-grid .adm-mod-card:nth-child(1) { animation-delay: .05s; }
#vendas-sub-grid .adm-mod-card:nth-child(2) { animation-delay: .10s; }

#summary-wrap { display: none !important; width: 0 !important; height: 0 !important; overflow: hidden !important; }

#container-tables {
  display: flex; flex-direction: column;
  flex: 0 0 auto;
  width: fit-content;
  min-width: 900px;     
  margin: 0 auto;
  overflow: visible;
  padding-bottom: 10px;
}


#table-container {
  flex: 0 0 auto;
  display: flex;
  justify-content: center;
  width: 100%;
  overflow-x: auto;
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;
}
.table-wrap { overflow-x:auto; display:flex; justify-content:center; transition: opacity 0.5s ease; }
#table-container table, .h-admin-tbl table { width:auto; border-collapse:separate; border-spacing:0; border-radius:15px; font-family:'MontserratLight', sans-serif; color:#000; }
#table-container th, #table-container td, .h-admin-tbl th, .h-admin-tbl td { border:1px solid #e6e6e6; padding:1px 2px; text-align:center; vertical-align:middle; font-size:0.73rem; font-weight:bold; color:#000; }
#table-container th, .h-admin-tbl th { background:#444; color:#fff !important; text-transform:uppercase; font-size:0.78rem; position:relative; top:0; z-index:2; }
#table-container td.name, .h-admin-tbl td.name { white-space:nowrap !important; text-align:center; border-radius:15px 0 0 15px; display:flex; align-items:center; justify-content:center; padding-left:8px; gap:2px; }
#table-container td.name .h-name-txt, .h-admin-tbl td.name .h-name-txt { white-space:nowrap !important; flex-shrink:0; }
#table-container td.multi-line, .h-admin-tbl td.multi-line { white-space:pre-line; }
#table-container td.bold-row, .h-admin-tbl td.bold-row { font-weight:bold; }
#table-container tr:hover td, .h-admin-tbl tr:hover td { background:#eaeaea; }
#table-container th.h-th-merged, .h-admin-tbl th.h-th-merged { padding:5px 4px !important; line-height:1.15 !important; white-space:nowrap !important; }
#table-container .h-th-day, .h-admin-tbl .h-th-day { font-size:.86em; font-weight:600; opacity:.85; letter-spacing:.02em; }
#table-container .h-th-date, .h-admin-tbl .h-th-date { font-size:.94em; }
/* FOLGA/FÉRIAS perdiam-se visualmente ao lado dos horários — negrito máximo
   + leve destaque de fundo para nunca mais passar despercebido. */
#table-container .h-cell-off, .h-admin-tbl .h-cell-off {
  font-weight:900 !important; letter-spacing:.03em !important;
  color:#7a1f1f !important; background:rgba(122,31,31,.08) !important;
  border-radius:5px; padding:1px 4px; display:inline-block;
}
.funchal-store-card th, .funchal-store-card td { border:1px solid #ccc !important; }
/* Texto sobre fundo escuro (cabeçalhos, coluna "hoje") sempre branco,
   incluindo qualquer span lá dentro (h-th-day/h-th-date/etc.) */
#table-container th, #table-container th * ,
.h-admin-tbl th, .h-admin-tbl th * ,
.funchal-store-card th, .funchal-store-card th * {
  color:#fff !important;
}
th.today-col, th.today-col * { color:#fff !important; }
#table-container td, #table-container th, .h-admin-tbl td, .h-admin-tbl th { border-radius:10px; margin:2px; }
.today-col { background: #D7D7D7 !important; }
.today-col:hover { background: #ffffff !important; }
th.today-col { background: #222 !important; color: #fff !important; }
th.today-col:hover { background: #333 !important; color: #fff !important; }
.blinking-now { animation: blinkCell 2s infinite !important; background-color: #e0e0e0 !important; }
@keyframes blinkCell { 0%,100%{background-color:#f0f0f0;} 50%{background-color:#d0d0d0;} }
#page-name-popup { position:fixed; top:50%; left:50%; transform:translate(-50%, -50%) scale(1); font-size:3rem; font-weight:bold; opacity:0; pointer-events:none; transition: opacity 0.5s ease, transform 0.5s ease; color:#000; font-family:'MontserratLight', sans-serif; z-index:4; }

#admin-app {
  display: none;
  flex-direction: column;
  align-items: center;
  position: fixed;
  top: 0; left: 0;
  width: 100%;
  height: 100vh;
  box-sizing: border-box;
  padding: 20px 16px 16px;
  overflow: hidden;
  background-color: #fafafa;
  background-image: url("data:image/png;base64,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");
  background-size: 100px 100px;
  z-index: 4;
}
#admin-app.show { display: flex; }
#admin-app, #admin-app.show { box-sizing: border-box; }

#admin-header {
  display: flex; flex-direction: column; align-items: center;
  margin-bottom: 24px; opacity: 0; transition: opacity 1s ease;
}
#admin-header.show { opacity: 1; }
#admin-header .logo-text {
  font-size: 3rem; text-transform: lowercase;
  cursor: pointer; line-height: 1;
}
#admin-header #admin-time { font-size: 1.2rem; font-weight: bold; margin-top: 2px; }
#admin-header #admin-date { font-size: 1rem; font-weight: bold; }
#admin-header .loading-dots { margin-top: 5px; margin-bottom: 5px; }

#tab-nav {
  display: flex; gap: 0; margin-bottom: 28px;
  border-bottom: 2px solid #e6e6e6; width: 100%; max-width: 700px;
}
.tab-btn {
  padding: 10px 28px; font-size: .9rem; font-weight: 600;
  font-family: 'MontserratLight', sans-serif;
  cursor: pointer; border: none; background: transparent; color: #000;
  border-bottom: 2px solid transparent; margin-bottom: -2px;
  transition: color .2s, border-color .2s; text-transform: lowercase;
}
.tab-btn.active { color: #000; border-bottom-color: #555; }
.tab-panel { display: none; flex-direction: column; align-items: center; width: 100%; }
.tab-panel.active { display: flex; flex: 1; overflow: hidden; }
#tab-horarios.active { display: flex; flex-direction: column; flex: 1; overflow: hidden; width: 100%; }

#admin-app #tab-nav { display: none !important; }
#admin-app #admin-menu-btn { display: none !important; }

#admin-app.module-open #adm-dashboard { display: none !important; }
#admin-app:not(.module-open) .tab-panel { display: none !important; }
#admin-app:not(.module-open) #adm-module-bar { display: none !important; }
#admin-app.module-open #adm-module-bar { display: flex !important; }
#admin-app.module-open #admin-header { display: none; }

#adm-dashboard {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  flex: 1;
  overflow-y: auto;
  padding: 0 16px 60px;
  box-sizing: border-box;
}

#adm-dash-greeting {
  text-align: center;
  margin-bottom: 48px;
  margin-top: 8px;
}
#adm-dash-greeting .adm-brand {
  font-size: clamp(1.4rem, 3vw, 2rem);
  font-weight: 100;
  text-transform: uppercase;
  letter-spacing: .22em;
  color: #000;
  line-height: 1;
  margin-bottom: 6px;
}
#adm-dash-greeting .adm-tagline {
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #000;
}

#adm-module-grid {
  display: flex;
  flex-direction: column;
  gap: 14px;
  width: 100%;
  max-width: 520px;
}

.adm-group { display: flex; flex-direction: column; }

.adm-mod-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 15px 24px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.09);
  /* grão subtil próprio (ruído PNG dedicado, tons escuros) fundido via
     screen — só clareia (nunca lava o preto), dá aspeto granulado sem
     competir com o brilho do hover ── */
  background:
    url("data:image/png;base64,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") repeat,
    linear-gradient(180deg, #1c1c1c 0%, #101010 100%) no-repeat;
  background-size: 90px 90px, 100% 100%;
  background-blend-mode: screen;
  cursor: pointer;
  min-height: 0;
  text-decoration: none;
  color: #fff;
  position: relative;
  overflow: hidden;
  user-select: none;
  transition: border-color 0.25s ease, box-shadow 0.28s ease;

  /* ── hover uniforme: eleva + amplia ligeiramente, SEM qualquer rotação
     (nunca inclina — não deve parecer uma tábua solta).
     A LUZ do hover é 100% CSS (regras :hover mais abaixo), de propósito:
     não depende de o admin-init.js ter corrido, nem de eventos de ponteiro,
     nem de custom properties — se o JS falhar ou não carregar, a luz aparece
     na mesma. Ao JS sobra só o movimento (--lift/--scale/--shadow-*), que é
     onde a física de mola acrescenta alguma coisa. Em repouso, em touch, ou
     com prefers-reduced-motion, estes valores nunca mudam. ── */
  --lift: 0px;
  --scale: 1;
  --shadow-y: 4px;
  --shadow-blur: 18px;
  --shadow-spread: -4px;
  --shadow-alpha: 0;

  transform: translateY(var(--lift)) scale(var(--scale));
  box-shadow:
    0 4px 20px rgba(0,0,0,0.18),
    0 1px 3px rgba(0,0,0,0.10),
    0 var(--shadow-y) var(--shadow-blur) var(--shadow-spread) rgba(0,0,0,var(--shadow-alpha)),
    inset 0 1px 5px 0px rgba(255,255,255,0);
}

/* brilho subtil e simétrico — só visível durante o hover; posição fixa
   (não segue o ponteiro) para nunca parecer assimétrico */
.adm-mod-card::before {
  content: "";
  position: absolute;
  inset: -20%;
  background: radial-gradient(circle at 50% 35%, rgba(255,255,255,0.55) 0%, transparent 62%);
  opacity: 0;
  transition: opacity 0.28s ease;
  mix-blend-mode: screen;
  pointer-events: none;
  z-index: 1;
}

/* reflexo ambiente — varredura diagonal fixa (nunca segue o ponteiro:
   não pode voltar a parecer assimétrica); só a opacidade varia com o hover */
.adm-mod-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg,
    transparent 15%,
    rgba(255,255,255,0.025) 30%,
    rgba(255,255,255,0.10) 45%,
    rgba(255,255,255,0.025) 60%,
    transparent 85%);
  opacity: 0;
  transition: opacity 0.28s ease;
  mix-blend-mode: screen;
  pointer-events: none;
  z-index: 1;
}

/* ── A LUZ DO HOVER, em CSS puro. Valores já reduzidos 60% face aos
   originais (0.22 → 0.09 no brilho central, 0.12 → 0.048 na varredura,
   0.18 → 0.07 no rebordo interior). Nenhum JS envolvido: basta o rato
   estar em cima. ── */
.adm-mod-card:hover::before { opacity: 0.15; }
.adm-mod-card:hover::after  { opacity: 0.08; }

.adm-mod-card:hover {
  border-color: rgba(255,255,255,0.20);
  box-shadow:
    0 4px 20px rgba(0,0,0,0.18),
    0 1px 3px rgba(0,0,0,0.10),
    0 var(--shadow-y) var(--shadow-blur) var(--shadow-spread) rgba(0,0,0,var(--shadow-alpha)),
    inset 0 1px 5px 0px rgba(255,255,255,0.12);
}

.adm-mod-trigger[aria-expanded="true"] {
  border-radius: 18px 18px 0 0;
  border-color: rgba(255,255,255,0.22);
}

.adm-mod-icon, .adm-mod-arrow, .adm-mod-desc { display: none !important; }

#adm-module-grid .adm-mod-name {
  color: #fff !important;
  font-size: .92rem !important;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .10em;
  line-height: 1.3;
  position: relative;
  z-index: 2;
}
#adm-module-grid .adm-mod-desc {
  color: rgba(255,255,255,0.5) !important;
  opacity: 1;
  font-size: .68rem !important;
  font-weight: 500;
  text-transform: lowercase;
  letter-spacing: .02em;
  margin-top: 6px;
  line-height: 1.4;
}

/* ── corpo do acordeão: altura animada via grid-template-rows (0fr→1fr),
   evita adivinhar um max-height fixo e permite conteúdo de altura variável.
   O conteúdo funde a opacidade/posição em vez de um visibility:hidden binário
   (esse não pode ser suavizado, só atrasado — resultava num corte seco). No
   fecho a opacidade cai mais rápido do que a altura encolhe, por isso já está
   invisível antes da grelha chegar a 0 — sem resquício visível no final. ── */
.adm-mod-body {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.4s cubic-bezier(0.4,0,0.2,1);
}
.adm-mod-body > * {
  overflow: hidden;
  min-height: 0;
  min-width: 0;
  opacity: 0;
  transform: translateY(-4px);
  pointer-events: none;
  transition: opacity 0.18s ease, transform 0.18s ease, visibility 0s linear 0.4s;
  visibility: hidden;
}
.adm-group.expanded > .adm-mod-body { grid-template-rows: 1fr; }
.adm-group.expanded > .adm-mod-body > * {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
  visibility: visible;
  transition: opacity 0.28s ease 0.12s, transform 0.28s ease 0.12s, visibility 0s linear 0s;
}

/* sub-grids (utilitários estático + vendas/horários/faturas reubicados por
   admin-init.js) — lista vertical compacta, cards mais pequenas e neutras */
#adm-module-grid .adm-mod-subgrid,
#adm-module-grid #vendas-sub-grid,
#adm-module-grid #horarios-sub-grid,
#adm-module-grid #faturas-sub-grid {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
  max-width: none;
  padding: 10px 22px 6px;
  box-sizing: border-box;
}
#adm-module-grid .adm-mod-subgrid .adm-mod-card,
#adm-module-grid #vendas-sub-grid .adm-mod-card,
#adm-module-grid #horarios-sub-grid .adm-mod-card,
#adm-module-grid #faturas-sub-grid .adm-mod-card {
  padding: 11px 20px;
  border-radius: 13px;
  background:
    url("data:image/png;base64,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") repeat,
    linear-gradient(180deg, #242424 0%, #181818 100%) no-repeat;
  background-size: 90px 90px, 100% 100%;
  background-blend-mode: screen;
  box-shadow: none;
}
#adm-module-grid .adm-mod-subgrid .adm-mod-name,
#adm-module-grid #vendas-sub-grid .adm-mod-name,
#adm-module-grid #horarios-sub-grid .adm-mod-name,
#adm-module-grid #faturas-sub-grid .adm-mod-name {
  font-size: .78rem !important;
  letter-spacing: .06em;
}
#adm-module-grid .adm-mod-subgrid .adm-mod-desc,
#adm-module-grid #vendas-sub-grid .adm-mod-desc,
#adm-module-grid #horarios-sub-grid .adm-mod-desc,
#adm-module-grid #faturas-sub-grid .adm-mod-desc {
  font-size: .64rem !important;
}

/* entrada escalonada dos 5 cards principais — puramente CSS, sem inline styles.
   Janela total encurtada (era 0.05→0.37s + 0.5s de duração = 0.87s) para reduzir
   a hipótese de o admin-app se tornar visível a meio da animação e mostrar um
   card isolado "pescado" nesse instante. */
#adm-module-grid > .adm-mod-card:nth-child(1),
#adm-module-grid > .adm-group:nth-child(1) > .adm-mod-trigger { animation-delay: 0.03s; }
#adm-module-grid > .adm-mod-card:nth-child(2),
#adm-module-grid > .adm-group:nth-child(2) > .adm-mod-trigger { animation-delay: 0.07s; }
#adm-module-grid > .adm-mod-card:nth-child(3),
#adm-module-grid > .adm-group:nth-child(3) > .adm-mod-trigger { animation-delay: 0.11s; }
#adm-module-grid > .adm-mod-card:nth-child(4),
#adm-module-grid > .adm-group:nth-child(4) > .adm-mod-trigger { animation-delay: 0.15s; }
#adm-module-grid > .adm-mod-card:nth-child(5),
#adm-module-grid > .adm-group:nth-child(5) > .adm-mod-trigger { animation-delay: 0.19s; }

#adm-module-bar {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 10px 16px 10px;
  border-bottom: 1px solid #ebebeb;
  box-sizing: border-box;
  flex-shrink: 0;
  margin-bottom: 0;
  background: #fff;
}
#adm-back-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 16px 7px 12px;
  font-size: .78rem;
  font-weight: 700;
  font-family: 'MontserratLight', sans-serif;
  text-transform: lowercase;
  letter-spacing: .06em;
  color: #fff;
  background: #000;
  border: 1.5px solid #000;
  border-radius: 10px;
  cursor: pointer;
  transition: background .2s, color .2s, border-color .2s, transform .15s, box-shadow .15s;
  box-shadow: 0 2px 8px rgba(0,0,0,0.18);
}
#adm-back-btn:hover {
  background: #333;
  border-color: #333;
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(0,0,0,0.22);
}
#adm-back-btn:active {
  transform: translateY(0) scale(0.97);
  box-shadow: none;
}
#adm-back-btn svg {
  width: 13px;
  height: 13px;
  flex-shrink: 0;
  transition: transform .2s;
}
#adm-back-btn:hover svg { transform: translateX(-2px); }
#adm-module-bar-title {
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: lowercase;
  color: #000;
}

@keyframes admCardIn {
  from { opacity: 0; transform: translateY(18px) scale(var(--scale)); }
  to   { opacity: 1; transform: translateY(var(--lift)) scale(var(--scale)); }
}
.adm-mod-card {
  opacity: 0;
  animation: admCardIn 0.32s cubic-bezier(0.22,1,0.36,1) forwards;
}

#admin-app.module-open .tab-panel.active {
  display: flex !important;
}
#admin-app.module-open {
  padding-top: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
#admin-app.module-open .tab-panel.active {
  padding: 20px 16px 16px;
  box-sizing: border-box;
}

@media (max-width: 1024px) {
  #admin-app.module-open {
    position: fixed !important;
    top: 0 !important; left: 0 !important;
    width: 100% !important;
    height: 100vh !important;
    overflow-y: auto !important;
    overflow-x: clip !important;
    -webkit-overflow-scrolling: touch;
    display: flex !important;
    flex-direction: column !important;
    padding-top: 0 !important;
  }
  
  #admin-app.module-open.tam-loaded {
    overflow-y: auto !important;
    height: 100vh !important;
  }
  
  #admin-app.module-open #adm-module-bar {
    display: flex !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 101;
    background: #fff;
    flex-shrink: 0;
  }
  
  #admin-app.module-open .tab-panel.active {
    flex: none !important;
    overflow: visible !important;
    min-height: 0;
    padding: 20px 16px 60px !important;
  }
  
  #admin-app.module-open #tab-tam.active.tam-loaded {
    flex: none !important;
    overflow: visible !important;
  }
}

@media (max-width: 600px) {
  #adm-module-grid { gap: 12px; }
  .adm-mod-card { padding: 22px 18px; }
  #adm-module-grid .adm-mod-name { font-size: .86rem !important; }
  #adm-module-grid .adm-mod-desc { font-size: .64rem !important; }
}
/* Inicio: reservar la franja del panel lateral en la banda donde el mosaico centrado lo pisaría.
   Simétrico para mantener el mosaico centrado y sin saltos al redimensionar. */
@media (min-width: 1025px) and (max-width: 1244px) {
  #adm-dashboard { padding-left: 192px; padding-right: 192px; }
}

.results-wrap { width: 100%; max-width: 700px; overflow-x: auto; }
.row-num { color: #000; font-size: .78rem; text-align: center !important; min-width: 24px; }

/* ── recibos styles injected by recibos.js ── */

* { cursor: crosshair !important; }
#proc-content *, #proc-criacao-modal *, #proc-guia-modal *, .proc-or-modal * { cursor: unset !important; }
input, textarea { cursor: text !important; }
#proc-content input, #proc-content textarea,
#proc-criacao-modal input, #proc-guia-modal input, .proc-or-modal input { cursor: text !important; }

@keyframes colonBlink {
  0%, 49%  { opacity: 1; }
  50%, 100% { opacity: 0.15; }
}
.time-colon {
  display: inline-block;
  animation: colonBlink 1s step-end infinite;
}

#sweep-line {
  position: fixed; top: 0; left: 0;
  width: 100%; height: 2px;
  background: #111;
  z-index: 9997;
  transform: translateY(-4px);
  opacity: 0;
  transition: none;
}
#sweep-line.sweep {
  opacity: 1;
  animation: sweepDown 0.65s cubic-bezier(0.76,0,0.24,1) forwards;
}
@keyframes sweepDown {
  0%   { transform: translateY(-4px); opacity: 1; }
  60%  { transform: translateY(100vh); opacity: 1; }
  100% { transform: translateY(100vh); opacity: 0; }
}

#h-store-selector {
  display: flex; flex-direction: column; align-items: center; gap: 8px;
  margin-bottom: 8px; width: 100%; flex-shrink: 0;
}
#h-store-selector label {
  font-size: .8rem; font-weight: bold; text-transform: uppercase;
  letter-spacing: .05em; color: #000; white-space: nowrap;
}
#h-store-select {
  width: auto; padding: 8px 14px; font-size: .9rem; font-weight: 600;
  border: 1px solid #ccc; border-radius: 10px; background: #fff;
  outline: none; transition: border-color .2s;
}
#h-store-select:focus { border-color: #555; }
#h-week-select {
  width: auto; padding: 8px 14px; font-size: .9rem; font-weight: 600;
  border: 1px solid #ccc; border-radius: 10px; background: #fff;
  outline: none; transition: border-color .2s;
}
#h-week-select:focus { border-color: #555; }

#h-active-bar {
  display: none; justify-content: center; align-items: center; gap: 10px;
  margin-bottom: 8px; width: 100%; flex-shrink: 0;
}
#h-active-badge {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 5px 14px 5px 10px;
  border-radius: 20px;
  background: #f2f2f2;
  font-size: .78rem; font-weight: bold; color: #000;
  letter-spacing: .03em;
}
#h-active-dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: #2a8a2a;
  animation: activePulse 2s ease-in-out infinite;
}
@keyframes activePulse {
  0%,100% { opacity:1; transform:scale(1); }
  50%      { opacity:.4; transform:scale(.7); }
}
#h-active-badge.zero #h-active-dot { background: #ccc; animation: none; }

#h-table-area {
  width: 100%; overflow-x: auto; overflow-y: auto;
  flex: 1;
  padding-bottom: 8px;
  -webkit-overflow-scrolling: touch;
  min-height: 0; 
}

#h-table-area table {
  width: auto;
}
@media (min-width: 769px) {
  #h-table-area table {
    margin-left: auto;
    margin-right: auto;
  }
}
#h-status-msg {
  font-size: .85rem; font-weight: 600; color: #000;
  text-align: center; padding: 40px 0;
}

.tr-active-now td { background: rgba(0,0,0,0.06) !important; }
.tr-active-now td.today-col { background: rgba(0,0,0,0.12) !important; }

#greeting-overlay {
  position: fixed; inset: 0; z-index: 9990;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  background: #fff; pointer-events: none;
  opacity: 0; transition: opacity 0.5s ease;
}

#greeting-overlay.show { opacity: 1; }
#greeting-text {
  font-size: clamp(4.5rem, 11vw, 8rem); font-weight: 100;
  text-transform: lowercase; color: #000; letter-spacing: .06em;
  transform: translateY(20px); transition: transform 0.6s cubic-bezier(0.22,1,0.36,1);
}
#greeting-overlay.show #greeting-text { transform: translateY(0); }
#greeting-sub {
  font-size: clamp(1.3rem, 3.5vw, 2rem); font-weight: 100;
  letter-spacing: .18em; text-transform: lowercase; color: #000; margin-top: 16px;
  opacity: 0; transition: opacity 0.5s ease 0.3s;
}
#greeting-overlay.show #greeting-sub { opacity: 1; }

#h-dashboard {
  display: none; gap: 10px; margin-bottom: 8px;
  justify-content: center; flex-wrap: wrap; width: 100%; flex-shrink: 0;
}
.dash-card {
  display: flex; flex-direction: column; align-items: center;
  padding: 8px 18px; border-radius: 12px;
  border: 1px solid #e6e6e6; background: #fafafa;
  min-width: 100px; transition: border-color .2s;
}
.dash-card:hover { border-color: #bbb; }
.dash-card .dash-val {
  font-size: 1.5rem; font-weight: 100; color: #000; line-height: 1;
}
.dash-card .dash-label {
  font-size: .65rem; font-weight: bold; text-transform: uppercase;
  letter-spacing: .06em; color: #000; margin-top: 4px;
  text-align: center;
}
.dash-card .dash-dot {
  width: 6px; height: 6px; border-radius: 50%;
  margin-bottom: 4px;
}

#tab-ferias.active { display:flex; flex-direction:column; width:100%; flex:1; overflow:hidden; }
#f-area {
  flex:1; overflow-y:auto; overflow-x:hidden;
  padding: 0 0 16px; width:100%;
  -webkit-overflow-scrolling:touch; min-height:0;
}
#f-today-banner {
  display:none; width:100%; max-width:700px; margin: 0 auto 16px;
  padding:14px 20px; border-radius:14px;
  background: rgba(42,138,42,0.08); border:1px solid rgba(42,138,42,0.25);
  text-align:center;
}
#f-today-banner .f-banner-title {
  font-size:.72rem; font-weight:bold; text-transform:uppercase;
  letter-spacing:.07em; color:#2a8a2a; margin-bottom:6px;
}
#f-today-banner .f-banner-names {
  font-size:1rem; font-weight:bold; color:#1a6a1a; line-height:1.5;
}

.f-section {
  width:100%; max-width:700px; margin:0 auto 20px;
}
.f-section-title {
  font-size:.72rem; font-weight:bold; text-transform:uppercase;
  letter-spacing:.07em; color:#000; margin-bottom:10px;
  padding-bottom:6px; border-bottom:1px solid #efefef;
}

.f-card {
  display:flex; align-items:center; gap:0;
  padding:10px 16px; border-radius:12px;
  border:1px solid #efefef; margin-bottom:6px;
  background:#fff; transition:border-color .15s;
}
.f-card:hover { border-color:#ccc; }

.f-card .f-dot {
  width:9px; height:9px; border-radius:50%; flex-shrink:0;
}
.f-card .f-name {
  font-size:.88rem; font-weight:bold; color:#000; flex:1;
}
.f-card .f-dates {
  font-size:.72rem; font-weight:600; color:#000; text-align:right;
}
.f-card .f-badge {
  font-size:.7rem; font-weight:bold; padding:3px 10px;
  border-radius:20px; background:#f2f2f2; color:#000;
  white-space:nowrap; text-align:center; min-width:70px;
}
.f-card .f-badge.active-now  { background:rgba(42,138,42,0.12); color:#1a7a1a; }
.f-card .f-badge.soon        { background:rgba(220,140,0,0.1);  color:#a06000; }
.f-card .f-badge.past        { background:#f8f8f8; color:#000; }

#fd-btn {
  padding: 5px 14px;
  font-size: .72rem; font-weight: bold;
  font-family: 'MontserratLight', sans-serif;
  text-transform: lowercase; letter-spacing: .05em;
  color: #fff !important; border: 1px solid #555; border-radius: 20px;
  background: #222 !important; cursor: pointer;
  transition: color .2s, border-color .2s, background .2s;
  width: 100%; margin-top: 2px;
}
#fd-btn:hover { border-color: #aaa !important; background: #333 !important; }
#fd-badge-count {
  display: inline-block; background: #555; color: #fff !important;
  font-size: .58rem; font-weight: bold; border-radius: 20px;
  padding: 1px 5px; margin-left: 4px; vertical-align: middle;
  min-width: 14px; text-align: center;
}

#fd-overlay {
  display: none; position: fixed; inset: 0; z-index: 9000;
  background: rgba(0,0,0,.7); backdrop-filter: blur(3px);
  align-items: center; justify-content: center;
}
#fd-overlay.open { display: flex; }

#fd-modal {
  background: #1a1a1a !important; color: #fff !important;
  border: 1px solid #383838; border-radius: 14px;
  width: min(94vw, 560px); max-height: 88vh;
  display: flex; flex-direction: column;
  box-shadow: 0 8px 40px rgba(0,0,0,.7);
}
#fd-modal-header {
  display: flex; align-items: center; justify-content: space-between;
  padding: 16px 20px 12px; border-bottom: 1px solid #2e2e2e;
  flex-shrink: 0;
}
#fd-modal-title {
  font-size: .78rem; font-weight: bold; text-transform: uppercase;
  letter-spacing: .12em; color: #fff !important;
}
#fd-modal-close {
  background: none; border: none; cursor: pointer;
  font-size: 1.1rem; color: #888 !important; line-height: 1;
  padding: 2px 6px; border-radius: 6px;
  transition: color .2s, background .2s;
}
#fd-modal-close:hover { color: #fff !important; background: #333 !important; }
#fd-modal-body {
  overflow-y: auto; padding: 12px 16px; flex: 1;
  scrollbar-width: thin; scrollbar-color: #444 #1a1a1a;
}
#fd-modal-footer {
  padding: 12px 20px; border-top: 1px solid #2e2e2e;
  display: flex; gap: 8px; justify-content: flex-end; flex-shrink: 0;
}

.fd-pessoa-row {
  background: #222 !important; border: 1px solid #2e2e2e;
  border-radius: 10px; padding: 12px 14px; margin-bottom: 8px;
}
.fd-pessoa-name {
  font-size: .8rem; font-weight: bold; color: #fff !important;
  margin-bottom: 8px; display: flex; align-items: center; gap: 8px;
}
.fd-pessoa-name .fd-has-dates {
  font-size: .6rem; background: #3a3a3a; color: #bbb !important;
  border-radius: 20px; padding: 1px 7px; font-weight: normal;
}
.fd-dates-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin-bottom: 6px;
}
.fd-date-input {
  background: #2a2a2a !important; border: 1px solid #3a3a3a;
  border-radius: 7px; padding: 5px 8px;
  font-size: .72rem; color: #fff !important;
  font-family: 'MontserratLight', sans-serif;
  width: 100%; box-sizing: border-box;
  colorscheme: dark;
}
.fd-date-input:focus { outline: none; border-color: #666; }
.fd-nota-input {
  background: #2a2a2a !important; border: 1px solid #2e2e2e;
  border-radius: 7px; padding: 5px 8px;
  font-size: .7rem; color: #ccc !important;
  font-family: 'MontserratLight', sans-serif;
  width: 100%; box-sizing: border-box;
}
.fd-nota-input:focus { outline: none; border-color: #555; }
.fd-nota-input::placeholder { color: #555 !important; }

.fd-footer-btn {
  padding: 7px 20px; border-radius: 20px; font-size: .72rem;
  font-weight: bold; font-family: 'MontserratLight', sans-serif;
  text-transform: lowercase; letter-spacing: .05em;
  cursor: pointer; border: 1px solid #444; transition: background .2s, border-color .2s;
}
#fd-save-btn {
  background: #fff !important; color: #000 !important; border-color: #fff;
}
#fd-save-btn:hover { background: #ddd !important; }
#fd-cancel-btn {
  background: transparent !important; color: #888 !important;
}
#fd-cancel-btn:hover { color: #fff !important; border-color: #666; }

#fd-loading {
  text-align: center; padding: 24px; color: #666 !important;
  font-size: .75rem; letter-spacing: .05em;
}

#saft-reminder {
  position: fixed;
  top: 50%;
  left: 20px;
  transform: translateY(-50%);
  display: none;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  z-index: 50;
  opacity: 0;
  transition: opacity 0.8s ease;
  max-width: 148px;
}
#saft-reminder.show { display: flex; }
#saft-reminder.visible { opacity: 1; }
#saft-label {
  font-size: .6rem; font-weight: bold; text-transform: uppercase;
  letter-spacing: .1em; color: #000;
}
#saft-title {
  font-size: .78rem; font-weight: bold; color: #000; line-height: 1.3;
}
#saft-divider {
  width: 100%; height: 1px; background: #e8e8e8; margin: 10px 0;
}
#saft-recibos-btn {
  padding: 5px 14px;
  font-size: .72rem; font-weight: bold;
  font-family: 'MontserratLight', sans-serif;
  text-transform: lowercase; letter-spacing: .05em;
  color: #000; border: 1px solid #ccc; border-radius: 20px;
  background: transparent; cursor: pointer;
  transition: color .2s, border-color .2s, background .2s;
  width: 100%;
}
#saft-recibos-btn:hover { border-color: #555; color: #000; background: #f7f7f7; }
#saft-recibos-label {
  font-size: .6rem; font-weight: bold; text-transform: lowercase;
  letter-spacing: .05em; color: #000; line-height: 1.4;
  margin-top: 5px; text-align: left;
}
#saft-recibos-mes {
  font-size: .82rem; font-weight: 100; color: #000;
  letter-spacing: .02em; margin-top: 2px; text-align: left;
  font-family: 'MontserratLight', sans-serif;
}
.saft-fat-item {
  font-size: .65rem; font-weight: bold; line-height: 1.3;
  padding: 4px 7px; border-radius: 7px;
  border: 1px solid #e6e6e6; background: #fafafa;
  color: #000; width: 100%; box-sizing: border-box;
}
.saft-fat-item.vencida { background: #fff5f5; border-color: #ffd7d7; color: #c62828; }
.saft-fat-item.urgente { background: #fff8f0; border-color: #ffd7b0; color: #c05000; }
.saft-fat-item .saft-fat-dias {
  font-size: .6rem; opacity: .75; display: block; margin-top: 1px;
}
.saft-fat-total {
  font-size: .82rem; font-weight: bold;
  letter-spacing: -.01em; line-height: 1.2;
}
.saft-fat-total-label {
  font-size: .6rem; font-weight: bold; text-transform: uppercase;
  letter-spacing: .07em; opacity: .5; margin-top: 1px;
}
.saft-fat-empty {
  font-size: .65rem; font-weight: bold; opacity: .45;
}
#saft-faturas-count.danger { color: #c62828; }
#saft-faturas-count.warn   { color: #c05000; }
#saft-agenda-btn:hover { border-color: #555; color: #000; background: #f7f7f7; }
@media (max-width: 1024px) { #saft-reminder { display: none !important; } }
/* Panel lateral oculto mientras hay un módulo abierto (libera o botão início y evita solapamiento) */
#admin-app.module-open ~ #saft-reminder { display: none !important; }

/* ══ BOLHA "CÓDIGO DE ACESSO" — desktop inline na sidebar (#emg-bubble) +
   gatilho fixo mobile (#emg-mobile-bubble), ambos abrem o mesmo tooltip
   (#emg-tooltip) ao clique. Visual espelha #wz-active-bubble, cor cinza. ══ */
#emg-bubble, #emg-mobile-bubble {
  width: 44px; height: 44px; border-radius: 50%;
  border: 1.5px solid rgba(0,0,0,0.14);
  background: transparent;
  display: flex; align-items: center; justify-content: center;
  transition: border-color 0.2s;
  cursor: pointer;
}
#emg-bubble:hover, #emg-mobile-bubble:hover { border-color: rgba(0,0,0,0.4); }
#emg-bubble::before, #emg-mobile-bubble::before {
  content: '';
  width: 16px; height: 16px; border-radius: 50%;
  background: #999;
  animation: emgPulse 3s ease-in-out infinite;
}
@keyframes emgPulse {
  0%, 100% { opacity: 1;   transform: scale(1);    box-shadow: 0 0 0 0 rgba(153,153,153,0.35); }
  50%      { opacity: .55; transform: scale(1.15); box-shadow: 0 0 0 6px rgba(153,153,153,0); }
}
#emg-mobile-bubble {
  display: none;
  margin: 8px 0 0;
}
@media (max-width: 1024px) { #emg-mobile-bubble { display: flex; } }
#emg-tooltip {
  position: fixed;
  bottom: 20px; left: 50%;
  transform: translateX(-50%) translateY(6px);
  width: max-content;
  min-width: 150px; max-width: min(280px, 86vw);
  background: #fff;
  border: 1px solid #e6e6e6;
  border-radius: 16px;
  box-shadow: 0 10px 34px rgba(0,0,0,0.16);
  padding: 13px 16px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease, transform 0.2s ease;
  max-height: 80vh;
  overflow-y: auto;
  z-index: 53;
}
#emg-tooltip.open {
  opacity: 1;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}
@media (min-width: 1025px) {
  #emg-tooltip {
    bottom: auto; top: 50%; left: 190px;
    transform: translateY(-50%) translateX(-6px);
  }
  #emg-tooltip.open { transform: translateY(-50%) translateX(0); }
}
#admin-app.module-open ~ #emg-tooltip { display: none !important; }
#emg-tooltip-title {
  font-size: .62rem; font-weight: bold; text-transform: uppercase;
  letter-spacing: .1em; color: #000; margin-bottom: 8px;
}

/* Fundo escurecido/blur atrás do tooltip de "pessoas ativas" em mobile —
   elemento irmão do painel (nunca dentro dele), só visível ≤1024px via
   .show (ver wzBindMobileToggle em nucleo.js). Por estar fora do painel,
   um clique nele conta como "fora" para o listener de fecho existente. */
#wz-active-mobile-backdrop {
  display: none;
  position: fixed; inset: 0;
  background: rgba(0,0,0,.28);
  backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
  z-index: 48;
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s ease;
}
/* ══ PAINEL "PESSOAS ATIVAS AGORA" (lado direito, espelha #saft-reminder) ══ */
#wz-active-panel {
  position: fixed;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  display: none;
  z-index: 50;
  opacity: 0;
  transition: opacity 0.8s ease;
}
#wz-active-panel.show { display: block; }
#wz-active-panel.visible { opacity: 1; }
#wz-active-bubble {
  width: 44px; height: 44px; border-radius: 50%;
  border: 1.5px solid rgba(0,0,0,0.14);
  background: transparent;
  display: flex; align-items: center; justify-content: center;
  transition: border-color 0.2s;
}
#wz-active-panel:hover #wz-active-bubble { border-color: rgba(0,0,0,0.4); }
#wz-active-bubble::before {
  content: '';
  width: 16px; height: 16px; border-radius: 50%;
  background: #2a8a2a;
  animation: wzActivePulse 3s ease-in-out infinite;
}
#wz-active-bubble.zero::before { background: #ccc; animation: none; }
@keyframes wzActivePulse {
  0%, 100% { opacity: 1;   transform: scale(1);    box-shadow: 0 0 0 0 rgba(42,138,42,0.35); }
  50%      { opacity: .55; transform: scale(1.15); box-shadow: 0 0 0 6px rgba(42,138,42,0); }
}
#wz-active-tooltip {
  position: absolute;
  top: 50%; right: 54px;
  transform: translateY(-50%) translateX(6px);
  width: max-content;
  min-width: 150px; max-width: min(380px, 86vw);
  background: #fff;
  border: 1px solid #e6e6e6;
  border-radius: 16px;
  box-shadow: 0 10px 34px rgba(0,0,0,0.16);
  padding: 13px 16px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease, transform 0.2s ease;
  max-height: 90vh;
}
#wz-active-panel:hover #wz-active-tooltip {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(-50%) translateX(0);
}
#wz-active-tooltip-title {
  font-size: .62rem; font-weight: bold; text-transform: uppercase;
  letter-spacing: .1em; color: #000; margin-bottom: 8px;
}
#wz-active-list {
  display: flex; flex-direction: column; gap: 5px;
}
.wz-active-item {
  display: flex; align-items: baseline; gap: 5px;
  padding: 5px 9px; border: 1px solid #efefef; border-radius: 8px;
  background: #fafafa;
  white-space: nowrap;
}
.wz-active-name { font-size: .78rem; font-weight: bold; color: #000; line-height: 1.2; }
.wz-active-store {
  font-size: .6rem; font-weight: 600; color: #777;
  text-transform: uppercase; letter-spacing: .04em;
}
.wz-active-store::before { content: '·'; margin-right: 5px; color: #ccc; font-weight: 700; }
.wz-active-break {
  font-size: .58rem; font-weight: 700; color: #a86a00;
  background: #fff3cd; border: 1px solid #f0d585;
  border-radius: 6px; padding: 1px 6px;
  text-transform: uppercase; letter-spacing: .04em; white-space: nowrap;
}
.wz-active-item.wz-on-break { background: #fffaf0; border-color: #f0e0bd; }
.wz-active-countdown {
  font-size: .62rem; font-weight: 700; color: #2e7d32;
  font-variant-numeric: tabular-nums;
  margin-left: auto; white-space: nowrap;
}
.wz-active-exit {
  font-size: .56rem; font-weight: 600; color: #999;
  text-transform: lowercase; white-space: nowrap;
}
#wz-active-empty { font-size: .72rem; font-weight: 600; color: #999; }
.wz-active-sep {
  text-align: center; font-size: .62rem; font-weight: 700;
  letter-spacing: .3em; color: #ccc; margin: 0; line-height: 1;
}
#wz-active-updated { font-size: .56rem; color: #bbb; margin-top: 8px; text-align: right; }
@media (max-width: 1024px) {
  /* Deixa de estar escondido em mobile: passa a viver junto ao botão
     "código de acesso" (#emg-mobile-bubble), reparentado ali pelo JS
     (wzPlaceMobilePanel em nucleo.js). Sem position:fixed aqui — pela
     mesma razão do #emg-mobile-bubble: #adm-dashboard tem overflow-y
     próprio e um botão fixo ficaria sobreposto aos cartões ao fazer scroll. */
  #wz-emg-row {
    display: flex; align-items: center; gap: 10px;
    margin: 8px 0 0;
  }
  #wz-emg-row #emg-mobile-bubble { margin: 0; }
  #wz-active-panel.wz-inline-mobile {
    display: inline-flex !important;
    position: static !important;
    top: auto !important; right: auto !important; left: auto !important; transform: none !important;
    margin: 0 !important;
    z-index: auto !important;
    opacity: 1 !important;
  }
  #wz-active-panel.wz-inline-mobile #wz-active-tooltip {
    position: fixed;
    top: auto; right: auto; bottom: 20px; left: 50%;
    transform: translateX(-50%) translateY(6px);
    width: calc(100vw - 32px);
    max-width: 420px;
  }
  #wz-active-panel.wz-inline-mobile .wz-active-item {
    white-space: normal;
    flex-wrap: wrap;
  }
  #wz-active-panel.wz-inline-mobile.tt-open #wz-active-tooltip {
    opacity: 1; pointer-events: auto;
    transform: translateX(-50%) translateY(0);
  }
  #wz-active-mobile-backdrop.show {
    display: block; opacity: 1; pointer-events: auto;
  }
}
#admin-app.module-open ~ #wz-active-panel { display: none !important; }
/* Clique (mobile, sem :hover) — funciona em qualquer largura, não só inline */
#wz-active-panel.tt-open #wz-active-tooltip {
  opacity: 1; pointer-events: auto;
  transform: translateY(-50%) translateX(0);
}

#tab-editor.active {
  display: flex; flex-direction: column;
  width: 100%; flex: 1; overflow: hidden;
  padding: 0; align-items: stretch;
}

#ed-toolbar {
  display: flex; align-items: center; flex-wrap: wrap; gap: 6px;
  padding: 8px 12px; border-bottom: 1px solid #e6e6e6;
  background: #fafafa; flex-shrink: 0; width: 100%; box-sizing: border-box;
}
#ed-toolbar button, #ed-toolbar label[for] {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 5px 12px; font-size: .78rem; font-weight: bold;
  font-family: 'MontserratLight', sans-serif; text-transform: lowercase;
  letter-spacing: .03em; cursor: pointer; border: 1px solid #ddd;
  border-radius: 8px; background: #fff; color: #000;
  transition: border-color .15s, background .15s, color .15s;
  white-space: nowrap;
}
#ed-toolbar button:hover, #ed-toolbar label[for]:hover { border-color: #555; color: #000; background: #f5f5f5; }
#ed-toolbar button:disabled { opacity: .35; cursor: not-allowed; }
#ed-export-btn { border-color: #555 !important; }
#ed-export-btn:hover { background: #555 !important; color: #fff !important; }
.ed-sep { width: 1px; height: 22px; background: #e6e6e6; margin: 0 2px; }
.ed-tool-label { font-size: .7rem; font-weight: bold; text-transform: uppercase; letter-spacing: .06em; color: #000; border: none !important; background: none !important; padding: 0 !important; }
#ed-font-size {
  width: 54px; padding: 4px 6px; font-size: .82rem; font-weight: bold;
  font-family: 'MontserratLight', sans-serif; border: 1px solid #ddd;
  border-radius: 8px; text-align: center; outline: none;
}
#ed-font-size:focus { border-color: #555; }
#ed-font-color {
  width: 30px; height: 28px; border: 1px solid #ddd; border-radius: 8px;
  padding: 2px; cursor: pointer; background: none;
}
#ed-page-select {
  padding: 4px 8px; font-size: .82rem; font-weight: bold;
  font-family: 'MontserratLight', sans-serif; border: 1px solid #ddd;
  border-radius: 8px; background: #fff; outline: none; cursor: pointer;
}
#ed-page-select:focus { border-color: #555; }

#ed-canvas-wrap {
  flex: 1; overflow-y: auto; overflow-x: auto;
  background: #e8e8e8; display: flex;
  flex-direction: column; align-items: center;
  padding: 24px 16px; gap: 20px;
  -webkit-overflow-scrolling: touch; min-height: 0;
}
#ed-drop-hint {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 10px; color: #000; text-align: center; padding: 60px 20px;
}
#ed-drop-hint span { font-size: 3rem; }
#ed-drop-hint p { font-size: .95rem; font-weight: bold; color: #000; margin: 0; }
#ed-drop-hint small { font-size: .78rem; color: #000; font-weight: 600; }
#ed-pages-container { display: flex; flex-direction: column; gap: 20px; align-items: center; }

.ed-page {
  position: relative;
  box-shadow: 0 4px 20px rgba(0,0,0,.18);
  background: #fff;
  cursor: default;
  flex-shrink: 0;
}
.ed-page canvas { display: block; }

.ed-element {
  position: absolute; box-sizing: border-box;
  cursor: move;
  outline: none;
}
.ed-element.selected { outline: 2px solid #555; outline-offset: 1px; }
.ed-element.selected .ed-handle { display: block; }

.ed-handle {
  display: none; position: absolute;
  width: 10px; height: 10px;
  background: #fff; border: 2px solid #555; border-radius: 2px;
  z-index: 10; cursor: se-resize;
}
.ed-handle.se { bottom: -6px; right: -6px; cursor: se-resize; }
.ed-handle.sw { bottom: -6px; left: -6px; cursor: sw-resize; }
.ed-handle.ne { top: -6px; right: -6px; cursor: ne-resize; }
.ed-handle.nw { top: -6px; left: -6px; cursor: nw-resize; }

.ed-del-btn {
  display: none; position: absolute;
  top: -12px; right: -12px;
  width: 20px; height: 20px;
  background: #555; color: #fff;
  border: none; border-radius: 50%;
  font-size: .7rem; line-height: 20px; text-align: center;
  cursor: pointer !important; z-index: 11; font-family: sans-serif;
}
.ed-element.selected .ed-del-btn { display: block; }

.ed-text-el {
  min-width: 80px;
  min-height: 28px;
  padding: 0;
  background: transparent;
  border: 1px dashed transparent;
  overflow: visible;
}
.ed-text-el.selected { border-color: rgba(85,85,85,0.35); }
.ed-text-el textarea {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 28px;
  padding: 4px 6px;
  box-sizing: border-box;
  border: none;
  outline: none;
  background: transparent;
  resize: none;
  overflow: hidden;
  font-family: 'MontserratLight', sans-serif !important;
  font-size: inherit;
  color: #000000 !important;
  line-height: 1.5;
  white-space: pre-wrap;
  word-break: break-word;
  writing-mode: horizontal-tb !important;
  direction: ltr !important;
  cursor: move;
  user-select: none;
  -webkit-user-select: none;
  pointer-events: none;
}
.ed-text-el.editing textarea {
  cursor: text !important;
  user-select: text !important;
  -webkit-user-select: text !important;
  pointer-events: auto !important;
  background: rgba(255,255,255,0.92) !important;
  border: none !important;
}
.ed-text-el.selected textarea {
  background: rgba(255,255,255,0.5);
}

.ed-img-el { overflow: hidden; }
.ed-img-el img { width: 100%; height: 100%; object-fit: contain; display: block; pointer-events: none; }

.ed-native-text {
  pointer-events: none;
  cursor: default !important;
  background: transparent !important;
}
.ed-native-text.editable-mode {
  pointer-events: auto;
  cursor: text !important;
}
.ed-native-text.editable-mode:not(.selected):not(.editing):not(.modified):hover {
  outline: 1.5px dashed rgba(60,120,255,0.35) !important;
  outline-offset: 1px;
  background: rgba(60,120,255,0.04) !important;
}
.ed-native-text .ed-handle { display: none !important; }
.ed-native-text .ed-del-btn { display: none !important; }
.ed-native-text textarea {
  color: transparent !important;
  background: transparent !important;
  cursor: text !important;
  user-select: none !important;
  -webkit-user-select: none !important;
  pointer-events: none;
  font-family: Arial, Helvetica, sans-serif !important;
}
.ed-native-text.selected:not(.editing):not(.modified) {
  outline: 2px solid rgba(60,120,255,0.45) !important;
  background: rgba(60,120,255,0.05) !important;
}
.ed-native-text.editing textarea {
  color: #000 !important;
  background: rgba(255, 255, 248, 0.97) !important;
  user-select: text !important;
  -webkit-user-select: text !important;
  pointer-events: auto !important;
}
.ed-native-text.modified {
  background: #fff !important;
}
.ed-native-text.modified textarea {
  color: #000 !important;
  background: #fff !important;
}
.ed-native-text.selected.modified {
  outline: 2px solid rgba(255,150,0,0.6) !important;
}

#ed-edit-native-btn.active {
  background: #555 !important;
  color: #fff !important;
  border-color: #333 !important;
}

#ed-export-modal {
  display: none; position: fixed; inset: 0;
  background: rgba(0,0,0,.35); z-index: 600;
  justify-content: center; align-items: center;
}
#ed-export-modal.show { display: flex; }
#ed-export-modal-box {
  background: #fff; border-radius: 18px;
  padding: 32px 34px; max-width: 440px; width: 92%;
  font-family: 'MontserratLight', sans-serif;
  box-shadow: 0 8px 32px rgba(0,0,0,.14);
}
#ed-export-modal-box .ed-modal-title {
  font-size: .78rem; font-weight: bold; text-transform: uppercase;
  letter-spacing: .07em; color: #000; margin-bottom: 18px;
}
#ed-export-filename {
  width: 100%; padding: 11px 14px; font-size: 1.05rem; font-weight: bold;
  font-family: 'MontserratLight', sans-serif;
  border: 1.5px solid #ddd; border-radius: 10px;
  outline: none; box-sizing: border-box; margin-bottom: 14px;
  transition: border-color .2s;
}
#ed-export-filename:focus { border-color: #555; }
#ed-folder-row {
  display: flex; align-items: center; gap: 10px;
  margin-bottom: 14px;
}
#ed-folder-display {
  flex: 1; padding: 9px 12px; font-size: .88rem; font-weight: bold;
  font-family: 'MontserratLight', sans-serif;
  border: 1.5px solid #e6e6e6; border-radius: 10px;
  color: #000; background: #fafafa;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  box-sizing: border-box;
}
#ed-folder-display.chosen { color: #000; border-color: #ccc; background: #f5f5f5; }
#ed-folder-pick-btn {
  padding: 9px 14px; font-size: .82rem; font-weight: bold;
  font-family: 'MontserratLight', sans-serif; text-transform: lowercase;
  cursor: pointer; border-radius: 10px; border: 1.5px solid #ccc;
  background: #fff; white-space: nowrap;
  transition: border-color .15s, background .15s;
  flex-shrink: 0;
}
#ed-folder-pick-btn:hover { border-color: #555; background: #f5f5f5; }
#ed-export-hint {
  font-size: .82rem; font-weight: bold; color: #000;
  margin-bottom: 22px; line-height: 1.6;
}
#ed-export-hint span { color: #000; }
#ed-export-hint.has-folder { color: #000; }
.ed-modal-btns { display: flex; gap: 8px; justify-content: flex-end; }
.ed-modal-btn {
  padding: 10px 24px; font-size: .88rem; font-weight: bold;
  font-family: 'MontserratLight', sans-serif; text-transform: lowercase;
  cursor: pointer; border-radius: 10px; border: 1px solid #ccc;
  background: #fff; transition: background .15s, color .15s, border-color .15s;
}
.ed-modal-btn:hover { background: #f5f5f5; border-color: #999; }
.ed-modal-btn.primary { border-color: #555; }
.ed-modal-btn.primary:hover { background: #555; color: #fff; }

@media (max-width: 768px) {

  
  html, body { overflow-x: hidden; }
  body { overflow-y: auto !important; overflow-x: hidden; }

  
  #login-screen { padding: 24px 20px 20px; overflow-y: auto; }
  #login-screen .logo-text { font-size: 2rem; margin-bottom: 12px; }
  #login-screen #current-time { font-size: clamp(3.2rem, 16vw, 5rem); }
  #login-divider { margin: 18px auto; }

  
  #main-header {
    flex-direction: column; align-items: center;
    margin-bottom: 6px; padding: 0 12px;
  }
  #main-header-center { order: 1; }
  #main-nav {
    display: flex !important;
    position: static; transform: none;
    flex-direction: row; gap: 8px;
    margin-top: 8px; justify-content: center;
    order: 2;
  }
  #main-header .logo-text { font-size: 2rem; }
  #main-header #current-time-main { font-size: 1rem; }
  #main-header #current-date-main { font-size: .82rem; }
  #recibos-link { font-size: .82rem; padding: 5px 12px; }
  #container-tables { padding-bottom: 16px; overflow-x: hidden; overflow-y: auto; width: 100%; min-width: 0; margin: 0; }
  #table-container {
    overflow-x: auto; -webkit-overflow-scrolling: touch;
    justify-content: flex-start;
  }
  .table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; width: 100%; justify-content: flex-start; }
  
  #h-dashboard { display: none !important; }

  
  #admin-app {
    position: static !important;
    height: auto !important;
    min-height: 100vh;
    overflow: visible !important;
    padding: 12px 10px 40px;
  }
  #admin-app.module-open {
    padding-top: 0 !important;
  }
  
  #admin-header { margin-bottom: 12px; }
  #admin-header .logo-text { font-size: 2rem; }
  #admin-header #admin-time { font-size: .95rem; }
  #admin-header #admin-date { font-size: .8rem; }
  #admin-header .loading-dots { margin-top: 3px; margin-bottom: 3px; }

  
  #tab-nav {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
    background: #fff;
    overflow-x: auto; -webkit-overflow-scrolling: touch;
    margin-bottom: 0; max-width: 100%;
    scrollbar-width: none;
    border-bottom: 2px solid #e6e6e6;
  }
  #tab-nav::-webkit-scrollbar { display: none; }
  .tab-btn { padding: 8px 16px; font-size: .78rem; white-space: nowrap; }

  
  #admin-header { margin-top: 54px; }

  
  .tab-panel.active { overflow: visible !important; flex: none !important; min-height: 0; }
  #tab-ferias.active { min-height: 60vh; overflow: visible !important; }
  #f-area { overflow: visible !important; flex: none !important; min-height: 200px; }
  
  #tab-recibos.active,
  #tab-ferias.active,
  #tab-editor.active {
    overflow: visible !important;
    width: 100%;
    max-width: 100%;
  }

  
  #h-store-selector { flex-direction: row; flex-wrap: wrap; justify-content: center; }
  
  #tab-horarios.active {
    flex: none !important;
    overflow: visible !important;
    min-height: 0 !important;
    width: 100%;
  }
  #h-table-area {
    overflow-x: auto !important;
    overflow-y: visible !important;
    -webkit-overflow-scrolling: touch;
    max-height: none !important;
    min-height: 40px;
    flex: none !important;
    width: 100%;
  }
  
  #h-table-area table { width: auto; }
  
  #h-dashboard { display: none !important; max-height: 0 !important; overflow: hidden !important; margin: 0 !important; padding: 0 !important; }
  .dash-card { min-width: 80px; padding: 6px 12px; }
  .dash-card .dash-val { font-size: 1.2rem; }

  
  #f-today-banner { max-width: 100%; }
  .f-card { padding: 8px 12px; gap: 10px; }
  .f-card .f-name { font-size: .82rem; }

  
  #recibos-overlay-content { padding: 24px 12px 40px; }
  #recibos-overlay-body { max-width: 100%; }
  #recibos-overlay-body table { font-size: .8rem; }
  #recibos-overlay-body table td { padding: 7px 10px; }

  
  #saft-reminder { display: none !important; }

  
  #tab-editor.active {
    justify-content: center; align-items: center;
    padding: 40px 20px;
  }
  #ed-mobile-msg {
    display: flex !important;
    flex-direction: column; align-items: center; gap: 12px;
    text-align: center; color: #000;
  }
  #ed-mobile-msg span { font-size: 2.5rem; }
  #ed-mobile-msg p { font-size: .88rem; font-weight: bold; color: #000; margin: 0; }
  #ed-mobile-msg small { font-size: .75rem; color: #000; font-weight: 600; }
  #ed-toolbar, #ed-canvas-wrap { display: none !important; }
}

@media (max-width: 400px) {
  #tab-nav { gap: 0; }
  .tab-btn { padding: 8px 10px; font-size: .72rem; }
}

@media (max-width: 900px) and (orientation: landscape) {
  
  html, body { overflow-y: auto !important; overflow-x: hidden; }

  
  #admin-app {
    position: static !important;
    height: auto !important; min-height: 100vh;
    overflow: visible !important;
    overflow-y: auto !important; overflow-x: hidden;
  }
  #adm-dashboard { overflow-y: visible !important; }

  
  .tab-panel.active { flex: none; overflow: visible; min-height: 0; }
  #tab-horarios.active { flex: 1; overflow: hidden; min-height: 50vh; }

  
  #h-dashboard { display: none !important; }

  
  #saft-reminder { display: none !important; }

  
  #container-tables { overflow-x: hidden; overflow-y: auto; }
  #table-container { justify-content: flex-start; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .table-wrap { justify-content: flex-start; width: 100%; }

  
  #tab-horarios.active { flex: none !important; overflow: visible !important; }
  #h-table-area { overflow-x: auto; overflow-y: auto; -webkit-overflow-scrolling: touch; max-height: 60vh; flex: none !important; }
}

@keyframes revealUp {
  from { opacity: 0; transform: translateY(26px); }
  to   { opacity: 1; transform: translateY(0); }
}
.reveal-item { opacity: 0; }
.reveal-item.in {
  animation: revealUp 0.7s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

html, body { background: #fafafa !important; }
#login-screen { background: transparent !important; }

/* Textura de papel/grão — camada única, global, por cima de TUDO o conteúdo
   normal (dashboard, módulos, overlays legacy de faturas/agenda/etc, todos
   ≤201) mas por baixo de qualquer UI interativa real (modais, toasts,
   dropdowns, popovers — o mais baixo desses é 300). pointer-events:none
   garante que nunca bloqueia cliques, a opacidade baixa (0.045) garante que
   nunca compete visualmente com essa UI mesmo estando por cima dela. ── */
body::before {
  content: '';
  position: fixed; inset: 0; z-index: 250;
  pointer-events: none;
  opacity: 0.045;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
  background-size: 200px 200px;
}

#glow-layer-1, #glow-layer-2 {
  position: fixed; inset: 0; z-index: -1;
  pointer-events: none;
  border-radius: 0;
  will-change: opacity;
}
#glow-layer-1 {
  background:
    radial-gradient(circle at 22% 28%, rgba(0,0,0,0.045) 0%, transparent 45%),
    radial-gradient(circle at 78% 72%, rgba(0,0,0,0.03) 0%, transparent 45%),
    #fafafa;
  animation: glowDrift1 18s ease-in-out infinite;
}
#glow-layer-2 {
  background:
    radial-gradient(circle at 65% 18%, rgba(0,0,0,0.025) 0%, transparent 38%),
    radial-gradient(circle at 30% 80%, rgba(0,0,0,0.02) 0%, transparent 38%);
  animation: glowDrift2 24s ease-in-out infinite;
}
@keyframes glowDrift1 {
  0%,100% { transform: translate(0,0); }
  25%     { transform: translate(3%, 2%); }
  50%     { transform: translate(-2%, 4%); }
  75%     { transform: translate(2%, -2%); }
}
@keyframes glowDrift2 {
  0%,100% { transform: translate(0,0); }
  30%     { transform: translate(-3%, 3%); }
  60%     { transform: translate(4%, -2%); }
}

body.no-glow #glow-layer-1,
body.no-glow #glow-layer-2 { animation: none; }

button:not(#proc-content button):not(#proc-criacao-modal button):not(#proc-guia-modal button):not(.proc-or-modal button), .tab-btn, #key-submit, #recibos-link,
#saft-recibos-btn,
.ed-modal-btn, #ed-folder-pick-btn {
  transition: transform 0.18s cubic-bezier(0.22,1,0.36,1),
              box-shadow 0.18s cubic-bezier(0.22,1,0.36,1),
              background 0.2s, color 0.2s, border-color 0.2s !important;
  will-change: transform;
}
button:hover:not(:disabled):not(#proc-content button):not(#proc-criacao-modal button):not(#proc-guia-modal button):not(.proc-or-modal button), .tab-btn:hover,
#key-submit:hover, #recibos-link:hover,
#saft-recibos-btn:hover,
.ed-modal-btn:hover, #ed-folder-pick-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 22px rgba(0,0,0,0.07);
}
button:active:not(:disabled):not(#proc-content button):not(#proc-criacao-modal button):not(#proc-guia-modal button):not(.proc-or-modal button), .tab-btn:active,
#key-submit:active, #recibos-link:active,
.ed-modal-btn:active {
  transform: translateY(1px) scale(0.97) !important;
  box-shadow: none !important;
}

#key-input, #r-cfg-token, #r-cfg-repo, #r-cfg-base-folder,
#ed-export-filename, #ed-font-size {
  transition: border-color 0.25s, box-shadow 0.25s !important;
}
#key-input:focus, #r-cfg-token:focus,
#ed-export-filename:focus {
  box-shadow: 0 2px 14px rgba(0,0,0,0.06) !important;
}

.dash-card {
  background: rgba(255,255,255,0.75) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  border: 1px solid rgba(0,0,0,0.06) !important;
  box-shadow: 0 4px 18px rgba(0,0,0,0.05) !important;
  transition: transform 0.2s cubic-bezier(0.22,1,0.36,1),
              box-shadow 0.2s cubic-bezier(0.22,1,0.36,1) !important;
}
.dash-card:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 10px 30px rgba(0,0,0,0.09) !important;
  border-color: rgba(0,0,0,0.1) !important;
}
.f-card {
  background: rgba(255,255,255,0.8) !important;
  border: 1px solid rgba(0,0,0,0.05) !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.04) !important;
  transition: transform 0.2s cubic-bezier(0.22,1,0.36,1),
              box-shadow 0.2s cubic-bezier(0.22,1,0.36,1),
              border-color 0.2s !important;
}
.f-card:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.07) !important;
  border-color: rgba(0,0,0,0.1) !important;
}
#r-modal-box, #ed-export-modal-box {
  box-shadow: 0 20px 60px rgba(0,0,0,0.14), 0 4px 16px rgba(0,0,0,0.06) !important;
}

@keyframes tabFadeIn {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}
.tab-panel.active {
  animation: tabFadeIn 0.35s cubic-bezier(0.22,1,0.36,1) forwards;
}

#table-container tr, .h-admin-tbl tr { transition: background 0.15s ease; }

.logo-text {
  transition: letter-spacing 0.35s cubic-bezier(0.22,1,0.36,1),
              opacity 0.2s !important;
}
.logo-text:hover { letter-spacing: .18em !important; opacity: 0.7; }

#greeting-overlay {
  backdrop-filter: blur(0px);
  transition: opacity 0.5s ease, backdrop-filter 0.5s ease !important;
}
#greeting-overlay.show { backdrop-filter: blur(2px); }

.login-bubble {
  position: absolute;
  border-radius: 50%;
  border: 1.5px solid rgba(0,0,0,0.14);
  background: radial-gradient(circle at 35% 35%,
    rgba(255,255,255,0.70),
    rgba(190,190,205,0.22) 60%,
    rgba(170,170,190,0.06) 100%);
  pointer-events: none;
  transform: scale(0);
  opacity: 0;
  will-change: transform, opacity;
  z-index: 0;
}
.login-bubble:nth-child(1) {
  width: 440px; height: 440px;
  top: -80px; left: -150px;
  animation: bubblePop 9s cubic-bezier(0.15,0.8,0.25,1) infinite;
  animation-delay: 0s;
}
.login-bubble:nth-child(2) {
  width: 400px; height: 400px;
  bottom: -90px; right: -110px;
  animation: bubblePop 9s cubic-bezier(0.15,0.8,0.25,1) infinite;
  animation-delay: 3s;
}
.login-bubble:nth-child(3) {
  width: 360px; height: 360px;
  top: 50%; left: 50%;
  animation: bubblePopCenter 9s cubic-bezier(0.15,0.8,0.25,1) infinite;
  animation-delay: 6s;
}
@keyframes bubblePop {
  0%   { transform: scale(0);    opacity: 0;    }
  12%  {                          opacity: 0.85; }
  65%  { transform: scale(1);    opacity: 0.5;  }
  85%  { transform: scale(1.07); opacity: 0.15; }
  100% { transform: scale(1.12); opacity: 0;    }
}
@keyframes bubblePopCenter {
  0%   { transform: translate(-50%,-50%) scale(0);    opacity: 0;    }
  12%  {                                              opacity: 0.85; }
  65%  { transform: translate(-50%,-50%) scale(1);    opacity: 0.5;  }
  85%  { transform: translate(-50%,-50%) scale(1.07); opacity: 0.15; }
  100% { transform: translate(-50%,-50%) scale(1.12); opacity: 0;    }
}
@media (max-width: 600px) {
  .login-bubble:nth-child(1) { width: 300px; height: 300px; top: -50px; left: -90px; }
  .login-bubble:nth-child(2) { width: 280px; height: 280px; }
  .login-bubble:nth-child(3) { width: 250px; height: 250px; }
}

#login-screen > *:not(.login-bubble) { position: relative; z-index: 1; }

#admin-menu-btn {
  display: none;
  position: fixed;
  left: 14px;
  top: 14px;
  background: none;
  border: none;
  cursor: pointer !important;
  padding: 7px 8px;
  z-index: 998;
  flex-direction: column;
  gap: 5px;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  transition: background 0.18s;
}
#admin-menu-btn:hover { background: rgba(0,0,0,0.06); }
#admin-menu-btn span {
  display: block;
  width: 20px;
  height: 2px;
  background: #000;
  border-radius: 2px;
  transition: background 0.2s, transform 0.25s, opacity 0.2s;
}
#admin-menu-btn.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
#admin-menu-btn.open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
#admin-menu-btn.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

#admin-menu-drawer {
  display: none;
  position: fixed;
  top: 0; left: 0;
  width: 220px;
  height: 100vh;
  background: #fff;
  z-index: 1000;
  flex-direction: column;
  padding: 60px 0 20px;
  box-shadow: 4px 0 24px rgba(0,0,0,0.10);
  transform: translateX(-100%);
  transition: transform 0.3s cubic-bezier(0.22,1,0.36,1);
  box-sizing: border-box;
}
#admin-menu-drawer.open {
  display: flex;
  transform: translateX(0);
}
#admin-menu-drawer .drawer-tab-btn {
  width: 100%;
  padding: 14px 24px;
  font-size: .92rem;
  font-weight: 600;
  font-family: 'MontserratLight', sans-serif;
  text-transform: lowercase;
  letter-spacing: .04em;
  background: none;
  border: none;
  border-left: 3px solid transparent;
  color: #000;
  text-align: left;
  cursor: pointer !important;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
}
#admin-menu-drawer .drawer-tab-btn:hover { background: #f5f5f5; }
#admin-menu-drawer .drawer-tab-btn.active { border-left-color: #000; font-weight: bold; }
#admin-menu-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.25);
  z-index: 999;
  backdrop-filter: blur(1px);
  -webkit-backdrop-filter: blur(1px);
}
#admin-menu-overlay.open { display: block; }

@media (max-width: 1024px) {
  #tab-nav { display: none !important; }
  #admin-menu-btn { display: flex; }
}

@keyframes loginItemIn {
  from { opacity: 0; transform: translateY(14px); }
  to   { opacity: 1; transform: translateY(0); }
}
.login-item {
  opacity: 0;
  animation: loginItemIn 0.7s cubic-bezier(0.22,1,0.36,1) forwards;
  animation-play-state: paused;
}

#tab-tam {
  width: 100%;
  overflow: visible;
  align-items: center;
  padding-bottom: 40px;
}
#tab-tam.active { display: flex; flex-direction: column; flex: 1; overflow: hidden; }
#tab-tam.active.tam-loaded { flex: none; overflow: visible; }
#admin-app.tam-loaded { overflow-y: auto; overflow-x: hidden; will-change: scroll-position; }

#tam-upload-zone {
  display: flex; flex-direction: column; align-items: center;
  gap: 14px; margin-bottom: 24px; width: 100%; max-width: 480px;
}
#tam-upload-label, #upload-label {
  display: inline-flex; flex-direction: row; align-items: center;
  justify-content: center; gap: 8px; width: auto; min-height: 0;
  border: 1px solid #ccc; border-radius: 8px; cursor: pointer;
  transition: background 0.15s, border-color 0.15s; padding: 7px 16px;
  text-align: center; color: #000; font-family:'MontserratLight',sans-serif;
  font-size: .78rem; font-weight: 700; text-transform: lowercase; background: transparent;
}
#tam-upload-label:hover, #tam-upload-label.drag-over,
#upload-label:hover, #upload-label.drag-over { border-color: #555; background: #f0f0f0; color: #000; }
#tam-upload-label .upload-icon, #upload-label .upload-icon { font-size: 1rem; margin-bottom: 0; }
#tam-upload-label.loaded, #upload-label.loaded { min-height: 0; padding: 7px 16px; }
#tam-upload-label.loaded .upload-icon, #upload-label.loaded .upload-icon { display: none; }
#tam-file-input { display: none; }
#tam-file-name { font-size: .85rem; color: #000; font-weight: 600; min-height: 18px; }
#tam-status-msg { font-size: .9rem; font-weight: 600; color: #000; min-height: 20px; text-align: center; }
#tam-export-btn {
  display: none; margin-top: 16px; padding: 9px 28px;
  font-size: .88rem; font-weight: 600; cursor: pointer;
  border: 1px solid #555; border-radius: 12px; background: #fff;
  font-family: 'MontserratLight', sans-serif;
  transition: background .2s, color .2s;
}
#tam-export-btn.show { display: inline-block; }
#tam-export-btn:hover { background: #555; color: #fff; }

#tam-invoice-meta {
  display: none; width: 100%; max-width: 960px;
  background: #f8f8f8; border-radius: 14px;
  padding: 10px 20px; margin-bottom: 12px;
  font-size: .85rem; font-weight: 600; color: #000;
  flex-wrap: wrap; gap: 6px 28px;
}
#tam-invoice-meta.show { display: flex; }
#tam-invoice-meta .tam-mi { display: flex; flex-direction: column; gap: 1px; align-items: center; text-align: center; }
#tam-invoice-meta .tam-mi em { font-style: normal; font-size: .65rem; color: #000; text-transform: uppercase; letter-spacing: .07em; }

#tam-validation-banner {
  display: none; width: 100%; max-width: 960px;
  border-radius: 14px; padding: 10px 20px; margin-bottom: 14px;
  font-size: .82rem; font-weight: 600; flex-wrap: wrap; gap: 6px 24px;
}
#tam-validation-banner.ok  { display: flex; background: #f0faf0; color: #2a6a2a; }
#tam-validation-banner.err { display: flex; background: #fff0f0; color: #a00; }
#tam-validation-banner .tam-vi { display: flex; flex-direction: column; gap: 0; align-items: center; text-align: center; }
#tam-validation-banner .tam-vi em { font-style: normal; font-size: .64rem; opacity: .6; text-transform: uppercase; letter-spacing: .06em; }

#tam-results-wrap { width: 100%; max-width: 960px; overflow-x: auto; }
.tam-table {
  width: 100%; border-collapse: separate; border-spacing: 0;
  border-radius: 15px; overflow: hidden; font-family: 'MontserratLight', sans-serif;
}
.tam-table th {
  background: #e0e0e0; padding: 5px 12px; text-align: center;
  font-size: .73rem; font-weight: bold; text-transform: uppercase;
  letter-spacing: .04em; border: 1px solid #e6e6e6; white-space: nowrap; line-height: 1.2;
}
.tam-table td {
  padding: 3px 12px; border: 1px solid #efefef;
  font-size: .86rem; font-weight: bold; vertical-align: middle;
  text-align: center; line-height: 1.2; white-space: nowrap;
}
.tam-table tbody tr:hover td { background: #f5f5f5; }
.tam-row-num { color: #000; font-size: .72rem; font-weight: 600; min-width: 22px; }
.tam-table tfoot td {
  background: #f2f2f2; font-weight: bold; border-top: 2px solid #ccc;
  padding: 4px 12px; text-align: center; line-height: 1.2;
}
.tam-table tfoot tr.tam-tr-ship td {
  background: #fafafa; font-weight: 600; font-size: .82rem; color: #000;
  border-top: 1px solid #e8e8e8; padding: 3px 12px; line-height: 1.2;
}
.tam-table tfoot tr.tam-tr-grand td {
  background: #e4e4e4; font-size: .94rem; border-top: 2px solid #bbb;
}
.tam-chk-ok  { color: #2a6a2a; }
.tam-chk-err { color: #c00; }

#intro-screen { background: #000 !important; }

#intro-screen #dynamic-text .char { color: #fff !important; }
#intro-line {
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.25), transparent) !important;
}

#dynamic-text { position: relative; }
#dynamic-text::before,
#dynamic-text::after {
  content: attr(data-text);
  position: absolute; top:0; left:0; right:0;
  font-size:inherit; font-family:inherit; font-weight:inherit;
  text-align:center; display:flex; justify-content:center;
  pointer-events:none; mix-blend-mode:screen; opacity:0;
}
#dynamic-text.chromatic::before {
  color: rgba(255,60,60,0.55);
  opacity:1; animation: chromaR 3s ease-in-out infinite;
}
#dynamic-text.chromatic::after {
  color: rgba(0,200,255,0.45);
  opacity:1; animation: chromaB 3s ease-in-out infinite;
}
@keyframes chromaR {
  0%,100%{ transform:translateX(-3px); opacity:.5; }
  50%    { transform:translateX(-5px) translateY(1px); opacity:.7; }
}
@keyframes chromaB {
  0%,100%{ transform:translateX(3px); opacity:.4; }
  50%    { transform:translateX(4px) translateY(-1px); opacity:.6; }
}
@keyframes glitchChar {
  0%,90%,100%{ clip-path:none; transform:translate(0,0) skewX(0); }
  91%{ clip-path:polygon(0 15%,100% 15%,100% 40%,0 40%); transform:translate(-4px,0) skewX(-3deg); }
  92%{ clip-path:polygon(0 60%,100% 60%,100% 80%,0 80%); transform:translate(4px,0) skewX(2deg); }
  95%{ clip-path:none; transform:translate(0,0); }
}
.char-glitch { animation: glitchChar 7s linear infinite; }

.tr-active-now { position: relative; }
.tr-active-now td:first-child { position: relative; }
.tr-active-now td:first-child::before {
  content:'';
  position:absolute; left:-2px; top:20%; height:60%; width:3px;
  background: linear-gradient(180deg,transparent,#666,transparent);
  border-radius:2px;
  animation: activeGlow 2s ease-in-out infinite;
}
@keyframes activeGlow {
  0%,100%{ opacity:.4; } 50%{ opacity:1; }
}

#wz-vignette {
  position:fixed; inset:0; pointer-events:none; z-index:190;
  opacity:0;
  background: radial-gradient(ellipse at center,
    transparent 40%, rgba(0,0,0,0.12) 70%, rgba(0,0,0,0.32) 100%);
  transition: opacity 0.8s ease;
}
#wz-vignette.active { opacity:1; }

#wz-wipe {
  position:fixed; inset:0; z-index:9990;
  pointer-events:none; transform-origin:left;
  transform:scaleX(0); background:#000;
}
#wz-wipe.wipe-in  { animation: wipeIn  0.45s cubic-bezier(0.76,0,0.24,1) forwards; }
#wz-wipe.wipe-out { animation: wipeOut 0.45s cubic-bezier(0.76,0,0.24,1) forwards; }
@keyframes wipeIn  { from{transform:scaleX(0)} to{transform:scaleX(1)} }
@keyframes wipeOut {
  0%  { transform:scaleX(1); transform-origin:right; }
  100%{ transform:scaleX(0); transform-origin:right; }
}

html.wz-morning #glow-layer-1 {
  background:
    radial-gradient(circle at 30% 20%, rgba(255,200,100,0.07) 0%, transparent 50%),
    radial-gradient(circle at 70% 60%, rgba(255,170,60,0.04)  0%, transparent 50%),
    #fafafa !important;
}
html.wz-evening #glow-layer-1 {
  background:
    radial-gradient(circle at 60% 30%, rgba(200,100,80,0.07) 0%, transparent 50%),
    radial-gradient(circle at 20% 70%, rgba(150,80,120,0.04) 0%, transparent 50%),
    #fafafa !important;
}

html.wz-egg body::after {
  content:''; position:fixed; inset:0; z-index:0; pointer-events:none;
  background: repeating-linear-gradient(
    45deg, transparent, transparent 48px,
    rgba(0,0,0,0.012) 48px, rgba(0,0,0,0.012) 50px
  );
  animation: eggGrid 20s linear infinite;
}
@keyframes eggGrid { from{background-position:0 0} to{background-position:100px 100px} }

@keyframes logoBurst {
  0%  { letter-spacing:-0.02em; opacity:1; }
  30% { letter-spacing:0.5em;   opacity:0.4; }
  60% { letter-spacing:0.2em;   opacity:0.8; }
  100%{ letter-spacing:inherit; opacity:1; }
}
.logo-text.burst { animation: logoBurst 0.6s cubic-bezier(0.22,1,0.36,1) forwards; }

html.wz-minimal #main-nav,
html.wz-minimal #saft-reminder,
html.wz-minimal #wz-active-panel    { opacity:0!important; transition:opacity 0.5s!important; }
html.wz-minimal #main-nav:hover,
html.wz-minimal #saft-reminder:hover,
html.wz-minimal #wz-active-panel:hover{ opacity:1!important; }
html.wz-minimal #current-time-main,
html.wz-minimal #current-date-main  { opacity:0.08; transition:opacity 0.5s; }
html.wz-minimal #current-time-main:hover,
html.wz-minimal #current-date-main:hover { opacity:1; }
html.wz-minimal #main-header .logo-text,
html.wz-minimal #admin-header .logo-text { opacity:0.15; transition:opacity 0.5s; }
html.wz-minimal #main-header .logo-text:hover,
html.wz-minimal #admin-header .logo-text:hover { opacity:1; }

#wz-minimal-btn {
  position:fixed; bottom:20px; right:20px;
  width:28px; height:28px; border-radius:50%;
  border:1px solid rgba(0,0,0,0.12); background:transparent;
  z-index:300; display:flex; align-items:center; justify-content:center;
  transition:border-color 0.2s, opacity 0.3s;
  opacity:0.3; cursor:crosshair !important;
}
#wz-minimal-btn:hover { opacity:1; border-color:rgba(0,0,0,0.5); }
#wz-minimal-btn::before {
  content:''; width:6px; height:6px; border-radius:50%; background:#000;
  transition:background 0.2s;
}
html.wz-minimal #wz-minimal-btn::before {
  background:transparent; border:1.5px solid #000; width:8px; height:8px;
}

@keyframes soundRipple {
  0%  { transform:scale(1);   opacity:0.5; }
  100%{ transform:scale(2.5); opacity:0; }
}
.wz-ripple {
  position:fixed; width:20px; height:20px; border-radius:50%;
  border:1.5px solid rgba(0,0,0,0.2); pointer-events:none;
  z-index:99990; margin:-10px 0 0 -10px;
  animation: soundRipple 0.5s ease-out forwards;
}

/* ── BLOCO 3 — (index.html linha 2887 original) ── */

html { font-size: 16.5px; }

*, *::before, *::after {
  color: inherit;
}

html, body,
#admin-app, #login-screen, #main-header,
.tab-panel, #adm-dashboard,
.adm-mod-name, .adm-mod-desc, .adm-mod-arrow,
#adm-dash-greeting .adm-brand, #adm-dash-greeting .adm-tagline,
#adm-module-bar-title,
td, .tab-btn, .drawer-tab-btn,
input, button, select, textarea,
.f-card .f-name, .f-card .f-dates, .f-card .f-badge, .f-section-title,
#f-today-banner .f-banner-title, #f-today-banner .f-banner-names,
.dash-card .dash-val, .dash-card .dash-label,
#h-status-msg, #s-status-msg, #r-status-msg,
#r-progress-detail, #saft-title,
.r-inline-hint, .upload-box, #s-upload-label,
.results-wrap, .tam-table th, .tam-table td,
#login-screen .logo-text, #login-screen #current-time,
#login-screen #current-date,
#recibos-overlay-title, #agenda-overlay-title,
#rotulos-overlay-title, #processamento-overlay-title,
.modal-btn, .modal-title, .modal-name, .modal-counter,
#r-modal-pwd-row label, #r-modal-box,
#ed-export-modal-box, #ed-export-hint, #ed-export-hint span,
#ed-folder-display, #ed-folder-pick-btn,
.ed-modal-btn, .ed-tool-label,
#r-conferir-btn, #r-process-btn,
#saft-recibos-btn, #saft-agenda-btn,
#saft-label, #saft-recibos-label, #saft-recibos-mes,
#saft-faturas-label, #saft-faturas-count, #saft-faturas-count-label,
.saft-fat-item,
#wz-active-tooltip-title, .wz-active-name, #wz-active-empty, #wz-active-updated,
#page-name-popup,
#greeting-text, #greeting-sub,
#h-store-selector label, #h-store-select, #h-week-select,
#h-active-badge, #h-status-msg,
.recibos-nota, #recibos-page-title,
#tam-status-msg, #tam-file-name,
.tam-table, #tam-invoice-meta, #tam-invoice-meta .tam-mi em,
#r-warnings-box .warn-title, #r-warnings-box ul li,
#r-conferir-note,
#adm-dash-greeting,
.adm-mod-card,
#admin-header, #admin-header .logo-text,
#admin-header #admin-time, #admin-header #admin-date,
.logo-text,
small, label, p, span, div, h1, h2, h3, h4, h5, h6 {
  color: #000 !important;
}

#adm-back-btn,
#agenda-overlay-back,
#rotulos-overlay-back,
#processamento-overlay-back,
#recibos-overlay-back,
#etiquetas-overlay-back,
#ventas-overlay-back,
#banco-horas-overlay-back { color: #fff !important; }

#key-submit:hover,
#recibos-link:hover,
#agenda-link:hover,
#rotulos-link:hover,
#processamento-link:hover,
.modal-btn.primary:hover,
.ed-modal-btn.primary:hover,
#r-process-btn:hover,
#r-conferir-btn:hover,
#saft-recibos-btn:hover,
#saft-agenda-btn:hover,
#ed-export-btn:hover,
#tam-export-btn:hover,
#ed-folder-pick-btn:hover,
button:hover:not(#adm-back-btn):not(#agenda-overlay-back):not(#rotulos-overlay-back):not(#processamento-overlay-back):not(#recibos-overlay-back):not(#etiquetas-overlay-back):not(#ventas-overlay-back):not(:disabled):not(#proc-content button):not(#proc-criacao-modal button):not(#proc-guia-modal button):not(.proc-or-modal button) { color: inherit; }
#key-submit:hover { color: #fff !important; }
#ventas-overlay-back:hover { color: #fff !important; }
.modal-btn.primary:hover,
.ed-modal-btn.primary:hover { color: #fff !important; }

#intro-screen #dynamic-text .char { color: #fff !important; }

.tr-active-now td { color: #000 !important; }
.f-card .f-badge.active-now { color: #1a7a1a !important; }
.f-card .f-badge.soon        { color: #a06000 !important; }
.r-status-ok  { color: #2a8a2a !important; }
.r-status-err { color: #c03000 !important; }
#r-warnings-box .warn-title,
#r-warnings-box ul li { color: #b05000 !important; opacity: 1 !important; }
#r-conferir-note { color: #e09000 !important; }
.tam-chk-ok  { color: #2a6a2a !important; }
.tam-chk-err { color: #c00 !important; }
.saft-fat-item.vencida { color: #c62828 !important; }
.saft-fat-item.urgente { color: #c05000 !important; }
#f-today-banner .f-banner-title { color: #2a8a2a !important; }
#f-today-banner .f-banner-names { color: #1a6a1a !important; }
#tam-validation-banner.ok  { color: #2a6a2a !important; }
#tam-validation-banner.err { color: #a00 !important; }
#saft-faturas-count.danger { color: #c62828 !important; }
#saft-faturas-count.warn   { color: #c05000 !important; }

.ed-del-btn { color: #fff !important; }
#ed-edit-native-btn.active { color: #fff !important; }

#wz-minimal-btn::before { color: transparent !important; }

.adm-mod-desc, #adm-dash-greeting .adm-tagline,
#adm-module-bar-title, .f-card .f-dates,
.f-card .f-badge.past, .dash-card .dash-label,
.adm-mod-arrow, #saft-label,
#saft-recibos-label, #saft-recibos-mes,
.wz-active-store, .wz-active-sep {
  opacity: 0.68;
}
.adm-mod-desc { opacity: 0.55; }
#adm-dash-greeting .adm-tagline { opacity: 0.45; letter-spacing: .18em; }
#adm-module-bar-title { opacity: 0.45; }

#proc-content input, #proc-content select, #proc-content textarea,
#proc-criacao-modal input, #proc-guia-modal input, .proc-or-modal input { font-size: unset !important; font-weight: unset !important; }
:not(#proc-content):not(#proc-criacao-modal):not(#proc-guia-modal):not(.proc-or-modal) > input,
:not(#proc-content):not(#proc-criacao-modal):not(#proc-guia-modal):not(.proc-or-modal) > select,
:not(#proc-content):not(#proc-criacao-modal):not(#proc-guia-modal):not(.proc-or-modal) > textarea { font-size: .92rem !important; font-weight: 300 !important; }
:not(#proc-content):not(#proc-criacao-modal):not(#proc-guia-modal):not(.proc-or-modal) > button { font-size: .88rem !important; }

.adm-mod-name        { font-size: .88rem !important; }
.adm-mod-desc        { font-size: .70rem !important; }
#adm-module-bar-title{ font-size: .82rem !important; }
#adm-back-btn        { font-size: .84rem !important; }
.tab-btn             { font-size: .95rem !important; }
.drawer-tab-btn      { font-size: .98rem !important; }
#table-container th, .h-admin-tbl th          { font-size: .78rem !important; }
#table-container td, .h-admin-tbl td          { font-size: .73rem !important; }
.f-card .f-name      { font-size: .94rem !important; }
.f-card .f-dates     { font-size: .78rem !important; }
.f-card .f-badge     { font-size: .75rem !important; }
.f-section-title     { font-size: .78rem !important; }
#s-status-msg, #r-status-msg, #h-status-msg { font-size: .96rem !important; }
.adm-mod-icon        { font-size: 2.6rem !important; }
#adm-dash-greeting .adm-brand {
  font-size: clamp(1.55rem, 3.2vw, 2.15rem) !important;
}

/* ── BLOCO 4 — (index.html linha 3044 original) ── */
/* ── MOSAICO ─────────────────────────────────────────────────── */
#wz-mosaic {
  display: none;
  position: fixed; inset: 0;
  z-index: 6;
  background: #fff;
  opacity: 0;
  transition: opacity 0.6s cubic-bezier(0.22,1,0.36,1);
}
#wz-mosaic.wz-on      { display: block; }
#wz-mosaic.wz-visible { opacity: 1; }

#wz-brand {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
  font-family: 'MontserratLight', sans-serif;
  font-size: clamp(2rem, 5vw, 3.75rem);
  font-weight: 100;
  letter-spacing: 0.22em;
  text-transform: lowercase;
  color: #fff;
  text-shadow: 0 2px 24px rgba(0,0,0,0.38);
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.7s cubic-bezier(0.22,1,0.36,1) 0.25s;
}
#wz-mosaic.wz-visible #wz-brand { opacity: 1; }

#wz-grid {
  display: grid;
  width: 100%; height: 100%;
  grid-template-columns: 1.5fr 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 3px;
  background: #ddd;
}

.wz-cell {
  position: relative; overflow: hidden; cursor: pointer; background: #eee;
}
.wz-cell img {
  width: 100%; height: 100%;
  object-fit: cover; display: block;
  transition: transform 0.42s cubic-bezier(0.22,1,0.36,1), filter 0.38s ease;
}
.wz-cell-overlay {
  position: absolute; inset: 0; pointer-events: none;
  background: transparent; transition: background 0.38s ease;
}
.wz-cell-label {
  position: absolute; left: 0; top: 50%;
  transform: translateY(-50%) translateX(-100%);
  writing-mode: vertical-rl; rotate: 180deg;
  color: #fff;
  font-family: "MontserratLight", sans-serif;
  font-size: clamp(0.6rem, 0.85vw, 0.8rem);
  font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.2em; white-space: nowrap;
  padding: 14px 9px;
  background: rgba(0,0,0,0.52);
  backdrop-filter: blur(4px);
  border-radius: 0 6px 6px 0;
  opacity: 0;
  transition: opacity 0.28s ease, transform 0.3s cubic-bezier(0.22,1,0.36,1);
}
.wz-cell:hover img          { transform: scale(1.12); filter: brightness(0.82); }
.wz-cell:hover .wz-cell-overlay {
  background: linear-gradient(90deg, rgba(0,0,0,0.32) 0%, transparent 55%);
}
.wz-cell:hover .wz-cell-label {
  opacity: 1; transform: translateY(-50%) translateX(0);
}

.wz-cell-horarios  { grid-column: 1; grid-row: 1 / 3; }
.wz-cell-pvp       { grid-column: 2; grid-row: 1; }
.wz-cell-etiquetas { grid-column: 3; grid-row: 1; }
.wz-cell-recibo    { grid-column: 2; grid-row: 2; }
.wz-cell-vendas    { grid-column: 3; grid-row: 2; }

#wz-grid.wz-no-pvp .wz-cell-pvp       { display: none; }
#wz-grid.wz-no-pvp .wz-cell-etiquetas { grid-column: 2; grid-row: 1; }
#wz-grid.wz-no-pvp .wz-cell-recibo    { grid-column: 3; grid-row: 1; }
#wz-grid.wz-no-pvp .wz-cell-vendas    { grid-column: 2 / 4; grid-row: 2; }

/* ── AVISO ────────────────────────────────────────────────────── */
#wz-aviso-btn {
  position: absolute; bottom: 22px; left: 50%;
  transform: translateX(-50%) translateY(12px);
  display: flex; align-items: center; gap: 10px;
  background: rgba(255,255,255,0.95);
  backdrop-filter: blur(10px);
  border: 1.5px solid rgba(0,0,0,0.12);
  border-radius: 40px;
  padding: 10px 22px 10px 14px;
  cursor: pointer;
  font-family: "MontserratLight", sans-serif;
  font-size: 0.8rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.12em; color: #000;
  box-shadow: 0 4px 18px rgba(0,0,0,0.12);
  opacity: 0;
  transition: opacity 0.5s ease 0.5s,
              transform 0.5s cubic-bezier(0.22,1,0.36,1) 0.5s,
              box-shadow 0.2s;
  z-index: 7;
}
#wz-mosaic.wz-visible #wz-aviso-btn {
  opacity: 1; transform: translateX(-50%) translateY(0);
}
#wz-aviso-btn:hover {
  box-shadow: 0 6px 26px rgba(0,0,0,0.18);
  transform: translateX(-50%) translateY(-2px);
}
#wz-aviso-dot {
  width: 9px; height: 9px; border-radius: 50%;
  background: #e05c00; flex-shrink: 0;
  animation: wzDot 2s ease-in-out infinite;
}
@keyframes wzDot {
  0%,100% { transform:scale(1);   box-shadow:0 0 0 0   rgba(224,92,0,0.5); }
  50%      { transform:scale(1.2); box-shadow:0 0 0 5px rgba(224,92,0,0);   }
}

/* ── MODAL HORÁRIOS ───────────────────────────────────────────── */
#wz-hor-modal {
  display: none; position: fixed; inset: 0; z-index: 9000;
  align-items: center; justify-content: center;
}
#wz-hor-modal.wz-on { display: flex; }
#wz-hor-modal-bg {
  position: absolute; inset: 0;
  background: rgba(248,248,248,0.72); backdrop-filter: blur(22px) saturate(1.4);
  -webkit-backdrop-filter: blur(22px) saturate(1.4);
  opacity: 0;
  transition: opacity 0.6s cubic-bezier(0.22,1,0.36,1);
  cursor: pointer;
}
#wz-hor-modal.wz-visible #wz-hor-modal-bg { opacity: 1; }
#wz-hor-modal-box {
  position: relative; z-index: 1; background: #fff;
  border-radius: 20px;
  box-shadow: 0 4px 24px rgba(0,0,0,0.06);
  width: min(95vw, 1080px); max-height: 88vh;
  overflow-y: auto; overflow-x: hidden; -webkit-overflow-scrolling: touch;
  opacity: 0;
  transform: translateY(20px) scale(0.985);
  transition: opacity 0.65s cubic-bezier(0.16,1,0.3,1),
              transform 0.65s cubic-bezier(0.16,1,0.3,1),
              box-shadow 0.65s cubic-bezier(0.16,1,0.3,1);
}
#wz-hor-modal.wz-visible #wz-hor-modal-box {
  opacity: 1;
  transform: translateY(0) scale(1);
  box-shadow: 0 20px 60px rgba(0,0,0,0.11), 0 2px 8px rgba(0,0,0,0.06);
}
#wz-hor-modal-bar {
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px 20px; border-bottom: 1px solid #efefef;
  position: sticky; top: 0; background: #fff; z-index: 2;
  border-radius: 20px 20px 0 0;
}
#wz-hor-modal-bar span {
  font-family: "MontserratLight", sans-serif;
  font-size: 0.78rem; font-weight: 700;
  text-transform: lowercase; letter-spacing: 0.1em; color: #000;
}
#wz-hor-modal-bar button {
  background: none; border: none; cursor: pointer;
  font-size: 1rem; color: #000; padding: 4px 8px;
  border-radius: 8px; transition: background 0.15s;
}
#wz-hor-modal-bar button:hover { background: #f0f0f0; }
#wz-hor-modal-bar {
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px 20px; border-bottom: 1px solid #efefef;
  position: sticky; top: 0; background: #fff; z-index: 2;
  border-radius: 20px 20px 0 0;
}
#wz-hor-modal-bar > span {
  font-family: "MontserratLight", sans-serif;
  font-size: 0.78rem; font-weight: 700;
  text-transform: lowercase; letter-spacing: 0.1em; color: #000;
  flex: 1;
}
#wz-hor-modal-bar button {
  background: none; border: none; cursor: pointer;
  color: #000; padding: 4px 8px;
  border-radius: 8px; transition: background 0.15s;
}
#wz-hor-modal-bar button:hover { background: #f0f0f0; }
#wz-week-nav {
  display: flex; align-items: center; gap: 2px;
  position: absolute; left: 50%; transform: translateX(-50%);
}
#wz-week-prev, #wz-week-next {
  font-size: 1.5rem; padding: 4px 12px; line-height: 1;
}
#wz-week-prev:disabled, #wz-week-next:disabled { opacity: 0.2; cursor: default; pointer-events: none; }
#wz-week-right {
  display: flex; align-items: center; gap: 8px; flex: 1; justify-content: flex-end;
}
#wz-week-label {
  font-family: 'MontserratLight', sans-serif;
  font-size: 0.72rem; font-weight: 700;
  text-transform: lowercase; letter-spacing: 0.06em; color: #555;
}
#wz-hor-close { font-size: 1rem; }
#wz-hor-modal-body { padding: 20px; }

/* ── MODAL AVISO ──────────────────────────────────────────────── */
#wz-aviso-modal {
  display: none; position: fixed; inset: 0; z-index: 9100;
  align-items: center; justify-content: center;
}
#wz-aviso-modal.wz-on { display: flex; }
#wz-aviso-modal-bg {
  position: absolute; inset: 0;
  background: rgba(255,255,255,0.55); backdrop-filter: blur(18px);
  opacity: 0; transition: opacity 0.4s ease; cursor: pointer;
}
#wz-aviso-modal.wz-visible #wz-aviso-modal-bg { opacity: 1; }
#wz-aviso-modal img {
  position: relative; z-index: 1;
  max-width: min(96vw, 1440px); max-height: 92vh;
  width: min(96vw, 1440px);
  border-radius: 16px; box-shadow: 0 24px 80px rgba(0,0,0,0.22);
  opacity: 0; transform: scale(0.96);
  transition: opacity 0.38s cubic-bezier(0.22,1,0.36,1),
              transform 0.38s cubic-bezier(0.22,1,0.36,1);
  object-fit: contain;
}
@media (max-width: 600px) {
  #wz-aviso-modal img {
    max-width: 99vw; width: 99vw;
    max-height: 88vh;
    border-radius: 10px;
  }
}
@media (min-width: 601px) and (max-width: 1024px) {
  #wz-aviso-modal img {
    max-width: 97vw; width: 97vw;
    max-height: 90vh;
    border-radius: 13px;
  }
}
#wz-aviso-modal.wz-visible img { opacity: 1; transform: scale(1); }

/* ── BOTÃO BANCO DE HORAS (topo-esquerda, só visualização por agora) ── */
#wz-banco-btn {
  position: absolute; top: 22px; left: 22px;
  display: flex; align-items: center; gap: 10px;
  background: rgba(255,255,255,0.95);
  backdrop-filter: blur(10px);
  border: 1.5px solid rgba(0,0,0,0.12);
  border-radius: 40px;
  padding: 13px 26px 13px 18px;
  cursor: pointer;
  font-family: "MontserratLight", sans-serif;
  font-size: 0.86rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.12em; color: #000;
  box-shadow: 0 4px 18px rgba(0,0,0,0.12);
  opacity: 0;
  transform: translateY(-12px);
  transition: opacity 0.5s ease 0.5s,
              transform 0.5s cubic-bezier(0.22,1,0.36,1) 0.5s,
              box-shadow 0.2s;
  z-index: 7;
}
#wz-mosaic.wz-visible #wz-banco-btn {
  opacity: 1; transform: translateY(0);
}
#wz-banco-btn:hover {
  box-shadow: 0 6px 26px rgba(0,0,0,0.18);
  transform: translateY(-2px);
}
#wz-banco-btn-icon { font-size: 1rem; line-height: 1; }

/* ── MODAL BANCO DE HORAS ─────────────────────────────────────── */
#wz-banco-modal {
  display: none; position: fixed; inset: 0; z-index: 9000;
  align-items: center; justify-content: center;
}
#wz-banco-modal.wz-on { display: flex; }
#wz-banco-modal-bg {
  position: absolute; inset: 0;
  background: rgba(248,248,248,0.72); backdrop-filter: blur(22px) saturate(1.4);
  -webkit-backdrop-filter: blur(22px) saturate(1.4);
  opacity: 0;
  transition: opacity 0.6s cubic-bezier(0.22,1,0.36,1);
  cursor: pointer;
}
#wz-banco-modal.wz-visible #wz-banco-modal-bg { opacity: 1; }
#wz-banco-modal-box {
  position: relative; z-index: 1; background: #fff;
  border-radius: 20px;
  box-shadow: 0 4px 24px rgba(0,0,0,0.06);
  width: min(94vw, 680px); max-height: 80vh;
  overflow-y: auto; overflow-x: hidden; -webkit-overflow-scrolling: touch;
  opacity: 0;
  transform: translateY(20px) scale(0.985);
  transition: opacity 0.65s cubic-bezier(0.16,1,0.3,1),
              transform 0.65s cubic-bezier(0.16,1,0.3,1),
              box-shadow 0.65s cubic-bezier(0.16,1,0.3,1);
}
#wz-banco-modal.wz-visible #wz-banco-modal-box {
  opacity: 1;
  transform: translateY(0) scale(1);
  box-shadow: 0 20px 60px rgba(0,0,0,0.11), 0 2px 8px rgba(0,0,0,0.06);
}
#wz-banco-modal-bar {
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px 20px; border-bottom: 1px solid #efefef;
  position: sticky; top: 0; background: #fff; z-index: 2;
  border-radius: 20px 20px 0 0;
}
#wz-banco-modal-bar span {
  font-family: "MontserratLight", sans-serif;
  font-size: 0.78rem; font-weight: 700;
  text-transform: lowercase; letter-spacing: 0.1em; color: #000;
}
#wz-banco-modal-bar button {
  background: none; border: none; cursor: pointer;
  font-size: 1rem; color: #000; padding: 4px 8px;
  border-radius: 8px; transition: background 0.15s;
}
#wz-banco-modal-bar button:hover { background: #f0f0f0; }
#wz-banco-modal-body { padding: 20px; }

/* ── BLOCO 5 — (index.html linha 3375 original) ── */
/* ══════════════════════════════════════════════════════════════════
   ESCUDO GLOBAL DE CONTRASTE — WAKZOME
   ---------------------------------------------------------------
   REGLA DE ORO IRREVOCABLE:
     Fondo oscuro  → letras CLARAS  (color: #fff o similar)
     Fondo claro   → letras OSCURAS (color: #000/#111 o similar)

   Este bloque se aplica a TODOS los módulos JS inyectados
   (tam.js, ean-tool.js, y cualquier futuro módulo).
   Usa !important en todo para ganar sobre herencias del body.

   NUNCA ELIMINAR NI MODIFICAR SIN REVISAR EL CONTRASTE.
   Si añades un nuevo módulo con fondo oscuro, NO necesitas
   añadir !important en su CSS — este escudo ya lo cubre.
══════════════════════════════════════════════════════════════════ */

/* ── 1. Fondos oscuros conocidos → texto blanco forzado ──────── */
/* Cubre headers de modales, toasts, overlays oscuros             */
[style*="background:#1a1a1a"],
[style*="background: #1a1a1a"],
[style*="background:#111"],
[style*="background: #111"],
[style*="background:#000"],
[style*="background: #000"],
[style*="background:#222"],
[style*="background: #222"],
[style*="background:#333"],
[style*="background: #333"] {
  color: #fff !important;
}

/* ── 2. Protección de overlays/modales inyectados por JS ─────── */
/* Cualquier elemento con position:fixed y z-index alto           */
/* que tenga fondo oscuro no hereda color:#000 del body           */
[id$="-overlay"],
[id$="-modal"],
[id$="-wrap"],
[id$="-header"],
[id$="-hdr"] {
  color: inherit;
}

/* ── 3. Reglas específicas por ID de módulos conocidos ────────── */
/* ean-tool.js */
#ean-tool-header,
#ean-tool-header *,
#ean-modal-hdr,
#ean-modal-hdr * {
  color: #fff !important;
}
#ean-tool-wrap,
#ean-modal-box {
  color: #111 !important;
}
#ean-drop-zone {
  color: #fff !important;
  background: #111 !important;
}
#ean-copy-toast {
  color: #fff !important;
  background: #222 !important;
}

/* ── 4. Clases de botones con fondo oscuro (tam + ean + futuros)  */
.tam-action-btn,
.tam-session-btn,
.ean-btn-download-excel,
.ean-btn-save-sb {
  /* hereda color del contexto — se sobreescribe por regla específica */
}

/* ── 5. Clase utilitaria reutilizable para futuros módulos ────── */
/* Uso: añade class=wz-dark-surface a cualquier div con bg oscuro */
.wz-dark-surface,
.wz-dark-surface * {
  color: #fff !important;
}
/* Uso: añade class=wz-light-surface a cualquier div con bg claro */
.wz-light-surface,
.wz-light-surface * {
  color: #111 !important;
}

/* ── BLOCO 6 — editor PDF estendido (index.html linha 3460 original) ── */
/* ══ EDITOR PDF EXTENDED ══════════════════════════════════════ */

/* CSS custom props para cor/tamanho de texto (bypass !important global) */
.ed-text-el:not(.ed-native-text) textarea {
  color: var(--ed-txt-color, #000000) !important;
  font-size: var(--ed-font-sz, 14px) !important;
}
.ed-sticky-el textarea {
  color: var(--ed-txt-color, #333333) !important;
  font-size: 12px !important;
}

/* Canvas de desenho livre */
.ed-draw-canvas {
  position: absolute; top: 0; left: 0;
  width: 100%; height: 100%;
  pointer-events: none; z-index: 5;
}
.ed-draw-canvas.ed-draw-active {
  pointer-events: auto;
  cursor: crosshair !important;
}

/* Overlay de anotação */
.ed-annot-overlay {
  position: absolute; top: 0; left: 0;
  width: 100%; height: 100%; z-index: 20;
  pointer-events: none;
  cursor: crosshair !important;
}
.ed-annot-overlay.ed-annot-active { pointer-events: auto; }

/* Formas */
.ed-shape-el {
  position: absolute; box-sizing: border-box;
  cursor: move; overflow: visible; background: transparent;
}

/* Nota adesiva */
.ed-sticky-el {
  position: absolute; box-sizing: border-box;
  background: #fffde7 !important;
  border: 1.5px solid #f9ca24 !important;
  cursor: move; min-width: 120px;
  box-shadow: 2px 3px 10px rgba(0,0,0,0.18);
  z-index: 8;
}
.ed-sticky-header {
  height: 20px; background: #f9ca24 !important;
  cursor: move; display: flex; align-items: center;
  padding: 0 6px; font-size: 10px; font-weight: bold;
  text-transform: uppercase; letter-spacing: .04em;
  color: #7a6010 !important;
  user-select: none;
}
.ed-sticky-el textarea {
  display: block; width: 100%; min-height: 60px;
  padding: 5px 7px; box-sizing: border-box;
  border: none; outline: none; background: transparent;
  resize: none; overflow: hidden; line-height: 1.4;
  font-family: Arial, sans-serif;
  writing-mode: horizontal-tb; direction: ltr;
  pointer-events: none; cursor: move;
}
.ed-sticky-el.editing textarea {
  pointer-events: auto !important; cursor: text !important;
}

/* Carimbo */
.ed-stamp-el {
  position: absolute; cursor: move; box-sizing: border-box;
  user-select: none;
  left: 60px; top: 60px; width: auto; height: auto;
  padding: 4px 12px; border-width: 3px; border-style: solid;
  border-radius: 4px;
  font-family: Arial, sans-serif; font-size: 22px; font-weight: bold;
  text-transform: uppercase; letter-spacing: .1em; white-space: nowrap;
  opacity: .75; transform: rotate(-12deg);
}

/* Anotações */
.ed-annot-el {
  position: absolute; cursor: move;
  pointer-events: auto; box-sizing: border-box;
  min-width: 20px; min-height: 14px;
}
.ed-annot-el.annot-highlight    { background: rgba(255,220,0,0.38) !important; }
.ed-annot-el.annot-strikethrough { background: transparent !important;
  border-bottom: 2.5px solid #cc0000; margin-top: 9px; height: 4px !important; min-height: 4px !important; }
.ed-annot-el.annot-underline-annot { background: transparent !important;
  border-bottom: 2px solid #0000bb; height: 4px !important; min-height: 4px !important; }

/* Botões de formatação ativos */
#ed-bold-btn.ed-fmt-active,
#ed-italic-btn.ed-fmt-active,
#ed-underline-btn.ed-fmt-active,
#ed-draw-btn.active,
#ed-highlight-btn.active,
#ed-sticky-btn.active {
  background: #555 !important; color: #fff !important; border-color: #333 !important;
}
#ed-bold-btn { font-weight: bold !important; }
#ed-italic-btn { font-style: italic !important; }
#ed-underline-btn { text-decoration: underline !important; }

/* Zoom display */
#ed-zoom-display {
  font-size: .78rem !important; font-weight: bold !important;
  min-width: 44px; text-align: center;
  border: 1px solid #ddd; border-radius: 8px;
  padding: 4px 6px; background: #fff; color: #000 !important;
  display: inline-flex; align-items: center; justify-content: center;
}

/* Font family select */
#ed-font-family {
  padding: 4px 6px; font-size: .78rem !important; font-weight: 600 !important;
  font-family: 'MontserratLight', sans-serif;
  border: 1px solid #ddd; border-radius: 8px;
  background: #fff; outline: none; cursor: pointer; color: #000 !important;
}
#ed-font-family:focus { border-color: #555; }

/* Cor e espessura de desenho */
#ed-draw-color {
  width: 28px !important; height: 28px !important;
  border: 1px solid #ddd; border-radius: 8px;
  padding: 2px; cursor: pointer; background: none;
}
#ed-draw-size {
  width: 44px; padding: 4px 5px;
  font-size: .78rem !important; font-weight: 600 !important;
  font-family: 'MontserratLight', sans-serif;
  border: 1px solid #ddd; border-radius: 8px;
  text-align: center; outline: none; color: #000 !important;
}
#ed-draw-size:focus { border-color: #555; }

/* Picker de formas */
#ed-shape-picker {
  display: none; position: fixed; z-index: 1000;
  background: #fff; border: 1px solid #ddd; border-radius: 10px;
  box-shadow: 0 4px 18px rgba(0,0,0,.13);
  padding: 8px; flex-wrap: wrap; gap: 5px; max-width: 190px;
}
#ed-shape-picker.show { display: flex; }
#ed-shape-picker button {
  flex: 1 1 calc(50% - 5px); min-width: 72px;
  padding: 6px 8px; font-size: .74rem !important; font-weight: bold !important;
  font-family: 'MontserratLight', sans-serif;
  cursor: pointer; border: 1px solid #ddd; border-radius: 7px;
  background: #fff; text-align: center; color: #000 !important;
  transition: background .15s, border-color .15s;
}
#ed-shape-picker button:hover { border-color: #555; background: #f5f5f5; }

/* Picker de carimbos */
#ed-stamp-picker {
  display: none; position: fixed; z-index: 1000;
  background: #fff; border: 1px solid #ddd; border-radius: 10px;
  box-shadow: 0 4px 18px rgba(0,0,0,.13);
  padding: 8px; flex-direction: column; gap: 5px; min-width: 165px;
}
#ed-stamp-picker.show { display: flex; }
#ed-stamp-picker button {
  padding: 7px 14px; font-size: .76rem !important; font-weight: bold !important;
  font-family: 'MontserratLight', sans-serif; letter-spacing: .06em;
  cursor: pointer; border: 1.5px solid; border-radius: 7px; background: #fff;
  text-align: center; transition: opacity .15s;
}
#ed-stamp-picker button:hover { opacity: 0.75; }

/* Modal de gestão de páginas */
#ed-pages-modal {
  display: none; position: fixed; inset: 0;
  background: rgba(0,0,0,.38); z-index: 700;
  justify-content: center; align-items: center;
}
#ed-pages-modal.show { display: flex; }
#ed-pages-modal-box {
  background: #fff; border-radius: 16px; padding: 24px;
  width: min(92vw, 740px); max-height: 82vh;
  display: flex; flex-direction: column;
  box-shadow: 0 8px 32px rgba(0,0,0,.18);
  font-family: 'MontserratLight', sans-serif;
}
#ed-pages-modal-title {
  font-size: .78rem !important; font-weight: bold !important;
  text-transform: uppercase; letter-spacing: .07em;
  color: #000 !important; margin-bottom: 16px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: space-between;
}
#ed-pages-modal-close {
  background: none; border: none; cursor: pointer; font-size: 1rem;
  color: #888 !important; padding: 2px 6px; border-radius: 6px; line-height: 1;
}
#ed-pages-modal-close:hover { background: #f0f0f0; color: #000 !important; }
#ed-pages-modal-list {
  display: flex; flex-wrap: wrap; gap: 12px;
  overflow-y: auto; flex: 1; padding-bottom: 4px;
  padding-right: 4px;
}
.ed-pm-thumb {
  display: flex; flex-direction: column; align-items: center; gap: 5px;
  padding: 8px; border-radius: 10px; border: 1.5px solid #e6e6e6;
  background: #fafafa; transition: border-color .15s; user-select: none;
}
.ed-pm-thumb:hover { border-color: #aaa; }
.ed-pm-thumb canvas { border: 1px solid #e0e0e0; display: block; max-width: 100px; }
.ed-pm-label {
  font-size: .7rem !important; font-weight: bold !important; color: #000 !important;
}
.ed-pm-actions { display: flex; gap: 4px; }
.ed-pm-actions button {
  padding: 2px 7px; font-size: .68rem !important; font-weight: bold !important;
  font-family: 'MontserratLight', sans-serif; cursor: pointer;
  border: 1px solid #ddd; border-radius: 5px; background: #fff;
  color: #000 !important; transition: background .15s;
}
.ed-pm-actions button:hover { background: #f0f0f0; border-color: #999; }
.ed-pm-del { color: #c03000 !important; border-color: #f0c0b0 !important; }
.ed-pm-del:hover { background: #fff0ec !important; }


/* ══════════════════════════════════════════════════════════════
   VENTAS DIARIAS — estilos migrados de ventas-empleada.js e
   ventas-admin.js (deixaram de ser injetados em runtime via JS)
   ══════════════════════════════════════════════════════════════ */

/* ── vista empleada: seletor de subtienda + código de emergência ── */
.v-subtienda-btn-wrap{display:flex;flex-direction:column;align-items:stretch;width:100%;max-width:320px;}
.v-emergency-wrap{margin-top:6px;padding:12px 14px;background:#f5f5f5;border:1.5px solid #bbb;border-radius:10px;}
.v-emergency-msg{font-size:.78rem;color:#555;margin-bottom:8px;font-weight:600;text-align:center;}
.v-emergency-row{display:flex;gap:8px;align-items:center;}
.v-emergency-input{flex:1;padding:8px 10px;border:1.5px solid #bbb;border-radius:7px;font-size:.88rem;text-align:center;letter-spacing:.1em;background:#fff;}
.v-emergency-input:focus{border-color:#555;outline:none;box-shadow:0 0 0 2px rgba(0,0,0,.08);}
.v-emergency-confirm{padding:8px 14px;background:#333;color:#fff !important;border:none;border-radius:7px;font-size:.82rem;cursor:pointer;white-space:nowrap;}
.v-emergency-confirm:hover{background:#000;}
.v-emergency-err{font-size:.78rem;color:#555;margin-top:6px;text-align:center;font-weight:600;display:none;}
.v-emergency-err.show{display:block;}

/* ── vista empleada: widget multi-nome com autocompletado ── */
#v-empleada-widget{display:flex;flex-wrap:wrap;gap:5px;align-items:center;min-height:40px;padding:5px 8px;border-radius:8px;cursor:text;border:1.5px solid #d0d0d0;background:#fff;position:relative;}
#v-empleada-widget:focus-within{border-color:#4a7c59;box-shadow:0 0 0 2px rgba(74,124,89,.15);}
.v-emp-tag{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:20px;font-size:.75rem;font-weight:700;background:#1e2a22 !important;color:#b8e8c8 !important;white-space:nowrap;}
.v-emp-tag-x{cursor:pointer;font-size:.85rem;line-height:1;opacity:.7;background:none !important;border:none;color:#b8e8c8 !important;padding:0;margin-left:2px;}
.v-emp-tag-x:hover{opacity:1;}
.v-emp-input{border:none;outline:none;background:transparent;font-size:.82rem;min-width:120px;flex:1;padding:2px 0;text-transform:uppercase;}
#v-emp-dropdown{position:absolute;top:100%;left:0;right:0;z-index:9999;background:#fff;border:1.5px solid #4a7c59;border-top:none;border-radius:0 0 8px 8px;box-shadow:0 4px 12px rgba(0,0,0,.12);max-height:180px;overflow-y:auto;display:none;}
#v-emp-dropdown.show{display:block;}
.v-emp-option{padding:8px 12px;font-size:.8rem;font-weight:600;cursor:pointer;text-transform:uppercase;}
.v-emp-option:hover,.v-emp-option.v-emp-active{background:#f0f7f3;color:#1e2a22;}
.v-emp-option-loading{cursor:default;opacity:.6;}
.v-emp-label-row{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:4px;}
.v-emp-label{margin:0;}
.v-emp-hint{font-size:.72rem;color:#7a9e8a;font-style:italic;font-weight:700;letter-spacing:.01em;line-height:1.3;}

/* ── vista admin: abertura/fecho do módulo (substitui .style.setProperty em
   cascata). #admin-app.module-open.ventas-open (2 classes) em vez de só
   .ventas-open: especificidade estritamente MAIOR do que #admin-app.module-open
   sozinho (incl. a media query max-width:1024px que também mexe em
   overflow/height) — sem depender da ordem no ficheiro.
   #adm-ventas-panel e #adm-ventas-content: as propriedades de scroll ficam
   INCONDICIONAIS, presas só ao próprio ID — não dependem de o elemento estar
   aninhado dentro de #admin-app (o que não se pode confirmar sem o
   index.html). Quando o painel está fechado (display:none, regra base),
   estas propriedades não têm efeito visual nenhum, por isso é seguro
   mantê-las sempre ativas; só o display:flex continua condicional à
   abertura do módulo. #adm-module-bar não tem regra própria aqui: a regra
   genérica #admin-app.module-open #adm-module-bar já trata disto para
   todos os módulos (incl. o comportamento sticky em mobile). ── */
#admin-app.module-open.ventas-open{
  display:flex !important; flex-direction:column !important;
  overflow:hidden !important; height:100vh !important; padding:0 !important;
}
#admin-app.module-open.ventas-open #adm-ventas-panel{
  display:flex !important;
}
#adm-ventas-panel{
  flex:1 !important; flex-direction:column !important; width:100% !important;
  overflow-y:auto !important; overflow-x:hidden !important;
  height:0 !important; min-height:0 !important; -webkit-overflow-scrolling:touch !important;
}
#adm-ventas-content{
  overflow:visible !important; height:auto !important; flex:none !important;
  padding:12px 8px 80px !important; max-width:none !important; width:100% !important;
  box-sizing:border-box !important;
}

/* ── vista admin: mensagens de estado da lista ── */
.vadm-loading-msg{padding:20px;opacity:.6;font-size:.85rem;}
.vadm-error-msg{padding:20px;color:#c03000;font-size:.85rem;}
.vadm-empty{padding:50px 0;text-align:center;opacity:.5;font-size:.85rem;}

/* ── vista admin: alerta "tiendas sin declarar hoy" ── */
.vadm-alert{margin-bottom:14px;padding:10px 14px;border-radius:9px;border-left:4px solid #e05a5a;background:#2a1414 !important;}
.vadm-alert-title{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;margin-bottom:6px;color:#ff8080 !important;}
.vadm-alert-item{font-size:.78rem;font-weight:600;padding:1px 0;color:#ffb3b3 !important;}

/* ── vista admin: total geral ── */
.vadm-grand{border-radius:10px;padding:12px 16px;margin-bottom:16px;overflow-x:auto;background:#111111 !important;}
.vadm-grand-label{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.14em;margin-bottom:4px;color:#ffffff !important;}
.vadm-grand-grid{display:flex;flex-wrap:wrap;gap:16px 24px;align-items:flex-end;}
.vadm-grand-col{display:flex;flex-direction:column;gap:2px;min-width:80px;}
.vadm-grand-val{font-size:1.1rem;font-weight:800;white-space:nowrap;font-variant-numeric:tabular-nums;display:block;color:#ffffff !important;}
.vadm-grand-val.big{font-size:1.4rem;color:#6dcf95 !important;}
.vadm-grand-lbl{font-style:normal;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;display:block;color:rgba(255,255,255,0.75) !important;}

/* ── vista admin: secção por loja ── */
.vadm-store-section{margin-bottom:28px;}
.vadm-store-title-row{display:flex;align-items:center;gap:10px;margin-bottom:6px;padding-bottom:5px;border-bottom:2px solid #555;}
.vadm-store-name{font-size:1rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;flex-shrink:0;}

/* ── vista admin: tabela por loja ── */
.vadm-table-wrap{overflow-x:auto !important;-webkit-overflow-scrolling:touch !important;position:relative;}
.vadm-table-wrap::after{content:"";position:absolute;top:0;right:0;bottom:0;width:18px;background:linear-gradient(to right,transparent,rgba(0,0,0,0.07));pointer-events:none;border-radius:0 10px 10px 0;}
.vadm-table{width:100%;table-layout:auto;border-collapse:separate;border-spacing:0;font-size:.82rem;border-radius:10px;overflow:hidden;border:1px solid #e6e6e6;}
/* Colgroup: (visível) | Data | Num.# | MB | Visa | Voucher | Total | Obs | E* */
.vadm-table colgroup col:nth-child(1){width:30px;}
.vadm-table colgroup col:nth-child(2){width:88px;}
.vadm-table colgroup col:nth-child(3){width:80px;}
.vadm-table colgroup col:nth-child(4){width:80px;}
.vadm-table colgroup col:nth-child(5){width:70px;}
.vadm-table colgroup col:nth-child(6){width:70px;}
.vadm-table colgroup col:nth-child(7){width:82px;}
.vadm-table colgroup col:nth-child(8){width:36px;}
.vadm-table colgroup col:nth-child(9){width:52px;}
.vadm-th{padding:5px 8px;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border-bottom:1.5px solid #e0e0e0;white-space:nowrap;text-align:center;}
.vadm-tr-today{background:rgba(109,207,149,0.10);}
.vadm-td-toggle{padding:5px 4px;text-align:center;vertical-align:middle;}
.vadm-visible-dot{width:14px;height:14px;border-radius:50%;cursor:pointer;padding:0;display:inline-block;border:1.5px solid #888;background:transparent;}
.vadm-visible-dot.is-on{border-color:#4a7c59;background:#4a7c59;}
.vadm-obs-star{color:#c8a832;font-weight:900;font-size:1rem;line-height:1;cursor:help;}
.vadm-obs-star.vadm-obs-star-emp{color:#1a1a1a !important;}
.vadm-cell-dash{opacity:.35;}
.vadm-emp-cell{color:#ffffff !important;}
.vadm-td{padding:5px 8px;border-bottom:1px solid #f0f0f0;vertical-align:middle;white-space:nowrap;text-align:center;font-weight:normal;font-size:.75rem;font-variant-numeric:tabular-nums;}
.vadm-td.bold{font-weight:800 !important;}
.vadm-td.emp{color:#1a1a1a !important;}
.vadm-subtotal-td{padding:4px 8px;font-size:.68rem;font-weight:600;border-top:2px solid #3a5a45;white-space:nowrap;font-variant-numeric:tabular-nums;background:#1e2a22 !important;color:#b8e8c8 !important;}
.vadm-subtotal-td.bold{font-weight:800;}
.vadm-subtotal-td.center{text-align:center;}
.vadm-subtotal-td.left{text-align:left;}

/* ── vista admin: tooltip global (posição fica em JS, é calculada em runtime) ── */
#vadm-tip-global{
  position:fixed !important; z-index:99999 !important;
  background:#1a1a1a !important; color:#f0f0f0 !important;
  padding:8px 12px !important; border-radius:8px !important;
  font-size:.75rem !important; line-height:1.5 !important;
  white-space:pre-wrap !important; max-width:260px !important;
  box-shadow:0 4px 14px rgba(0,0,0,.55) !important;
  pointer-events:none !important; display:none;
}
#vadm-tip-global.show{display:block !important;}

/* ── Reforço final: a regra global button{color:#000!important} (secção
   "BLOCO 3", muito acima neste ficheiro) tem de perder para os botões de
   período/zona do admin de vendas. Colocado no FIM do ficheiro de propósito
   — vence por especificidade (#id + 2 classes) E por ordem de aparição,
   sem qualquer ambiguidade possível em nenhum motor de CSS. ── */
#adm-ventas-panel .vadm-period-btn {
  background: #3d3d3d !important; color: #f0f0f0 !important; border-color: #666 !important;
}
#adm-ventas-panel .vadm-period-btn:hover {
  border-color: #aaa !important; background: #555 !important; color: #fff !important;
}
#adm-ventas-panel .vadm-period-btn.vadm-period-active {
  background: #4a7c59 !important; color: #fff !important; border-color: #4a7c59 !important;
}

/* ══════════════════════════════════════════════════════════════
   HISTÓRICO DE VENDAS — ADMINISTRADOR — estilos migrados de
   historico-admin.js (deixaram de ser injetados em runtime via
   <style id="hadm-styles"> nem via atributo style inline).
   ══════════════════════════════════════════════════════════════ */

/* ── abertura/fecho do módulo (mesmo padrão de #adm-ventas-panel
   acima): #admin-app.module-open.historico-open (2 classes) para
   especificidade garantida sobre #admin-app.module-open sozinho.
   #adm-historico-panel e #hadm-scroll-wrapper: propriedades de
   scroll/flex INCONDICIONAIS, presas só ao próprio ID — não
   dependem de aninhamento confirmado dentro de #admin-app. Só o
   display:flex do painel fica condicional à abertura do módulo;
   quando fechado (display:none, regra base) as restantes
   propriedades não têm efeito visual nenhum. #adm-module-bar não
   tem regra própria: a regra genérica #admin-app.module-open
   #adm-module-bar já trata disto para todos os módulos. ── */
#admin-app.module-open.historico-open{
  display:flex !important; flex-direction:column !important;
  overflow:hidden !important; height:100vh !important; padding:0 !important;
}
#admin-app.module-open.historico-open #adm-historico-panel{
  display:flex !important;
}
#adm-historico-panel{
  flex:1 !important; flex-direction:column !important;
  overflow:hidden !important; width:100% !important; height:0 !important;
}
#hadm-scroll-wrapper{
  flex:1 !important; overflow-y:auto !important; overflow-x:hidden !important;
  -webkit-overflow-scrolling:touch !important; width:100% !important; height:0 !important;
}

/* ── estilos base do módulo (antes injetados via _injectStyles) ── */
#adm-historico-panel{display:none;width:100%;box-sizing:border-box;flex-direction:column;animation:tabFadeIn 0.35s cubic-bezier(0.22,1,0.36,1) forwards;}
.hadm-filter-bar{display:flex;flex-wrap:wrap;flex-direction:column;align-items:flex-start;gap:10px;padding:14px 16px;border-bottom:1.5px solid #e6e6e6;background:#f7f7f7;flex-shrink:0;}
.hadm-tab-bar{display:flex;gap:8px;flex-wrap:wrap;padding:10px 16px;background:#f7f7f7;border-bottom:1.5px solid #e6e6e6;flex-shrink:0;}
.hadm-period-btns{display:flex;gap:8px;width:100%;flex-wrap:wrap;margin-bottom:4px;}
.hadm-filter-dates{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;width:100%;}
.hadm-filter-group{display:flex;flex-direction:column;gap:4px;}
.hadm-filter-group label{font-size:.68rem;font-weight:bold;text-transform:uppercase;letter-spacing:.1em;opacity:.5;}
.hadm-filter-group input[type="date"],.hadm-filter-group select{padding:8px 12px;font-size:.88rem;font-weight:bold;font-family:"MontserratLight",sans-serif;border:1.5px solid #ddd;border-radius:9px;background:#fff;outline:none;cursor:pointer;}
.hadm-buscar-btn{padding:9px 22px;font-size:.88rem;font-weight:bold;font-family:"MontserratLight",sans-serif;background:#000;color:#fff !important;border:none;border-radius:9px;cursor:pointer;align-self:flex-end;}
.hadm-buscar-btn:hover{background:#333;}
#hadm-content{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;width:100%;box-sizing:border-box;}
@media (max-width: 768px){.hadm-row-dates{flex-wrap:wrap !important;gap:8px !important;}.hadm-date-group{flex:1;min-width:120px;}.hadm-date-group input[type="date"]{width:100%;box-sizing:border-box;font-size:.82rem;padding:7px 8px;}.hadm-row-dates .hadm-filter-group:not(.hadm-date-group){flex:1;min-width:140px;}.hadm-row-dates .hadm-buscar-btn{align-self:flex-end;}.hadm-comp-dates{display:none !important;}}
@media (min-width: 769px){.hadm-filter-container{max-width:860px !important;width:calc(100% - 48px) !important;padding:14px 20px !important;gap:10px !important;}.hadm-row:first-child{flex-wrap:nowrap !important;gap:6px !important;}.hadm-row:nth-child(2){flex-wrap:nowrap !important;gap:6px !important;}.hadm-row:nth-child(3){flex-wrap:nowrap !important;gap:6px !important;}.hadm-rows-combined{display:flex !important;flex-wrap:wrap !important;gap:6px !important;justify-content:center !important;width:100% !important;}#adm-historico-panel .hadm-filter-container button{padding:6px 13px !important;font-size:.78rem !important;}.hadm-row-dates{flex-wrap:nowrap !important;flex:1 !important;}.hadm-date-group{min-width:0 !important;}}
#hadm-traza-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.55);z-index:99999;align-items:center;justify-content:center;padding:16px;box-sizing:border-box;}
#hadm-traza-overlay.active{display:flex;}
#hadm-traza-modal{background:#ffffff;border-radius:16px;width:100%;max-width:700px;max-height:88vh;overflow-y:auto;box-shadow:0 24px 80px rgba(0,0,0,0.28);position:relative;padding:28px 28px 24px;box-sizing:border-box;animation:hadmModalIn 0.22s cubic-bezier(0.22,1,0.36,1) forwards;}
@keyframes hadmModalIn{from{opacity:0;transform:scale(0.96) translateY(8px);}to{opacity:1;transform:scale(1) translateY(0);}}
@media (max-width: 768px){#hadm-traza-modal{max-width:100%;max-height:92vh;padding:20px 16px 20px;border-radius:12px;}}
#hadm-traza-close{position:absolute;top:14px;right:16px;font-size:1.3rem;cursor:pointer;color:#888;line-height:1;background:none;border:none;padding:4px 8px;border-radius:6px;}
#hadm-traza-close:hover{background:#f0f0f0;color:#111;}
#adm-historico-panel input[type="number"]::-webkit-outer-spin-button,#adm-historico-panel input[type="number"]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
#adm-historico-panel input[type="number"]{-moz-appearance:textfield;}
#adm-historico-panel select option{background:#ffffff !important;color:#111111 !important;}
.hadm-filter-container{display:flex !important;flex-direction:column !important;align-items:center !important;gap:7px !important;background:#f5f5f5 !important;padding:12px 14px !important;border-radius:15px !important;margin:12px auto !important;width:fit-content !important;max-width:calc(100% - 24px) !important;border:1px solid #e0e0e0 !important;box-sizing:border-box !important;}
.hadm-row{display:flex !important;gap:8px !important;justify-content:center !important;align-items:center !important;flex-wrap:wrap !important;}
.hadm-dot{color:#bbbbbb !important;font-size:.9rem !important;padding:0 2px !important;line-height:1 !important;user-select:none !important;}
.hadm-cv{display:none !important;}
.hadm-zdiv{display:flex !important;align-items:center !important;gap:8px !important;width:100% !important;margin:1px 0 !important;}
.hadm-zdiv-line{flex:1 !important;height:1px !important;background:#dddddd !important;}
.hadm-zdiv span{font-size:.6rem !important;color:#aaaaaa !important;letter-spacing:.08em !important;text-transform:uppercase !important;white-space:nowrap !important;font-family:MontserratLight,sans-serif !important;}
.hadm-zone-roots{display:flex !important;justify-content:center !important;gap:28px !important;flex-wrap:wrap !important;align-items:flex-start !important;width:100% !important;}
.hadm-zbranch{display:flex !important;flex-direction:column !important;align-items:center !important;gap:6px !important;}
.hadm-zleaves{display:flex !important;gap:7px !important;flex-wrap:wrap !important;justify-content:center !important;align-items:flex-start !important;}
.hadm-prima-branch{display:flex !important;flex-direction:column !important;align-items:center !important;gap:6px !important;}
.hadm-prima-children{display:flex !important;flex-direction:column !important;align-items:center !important;gap:6px !important;}
.hadm-prima-top{display:flex !important;gap:7px !important;justify-content:center !important;align-items:flex-start !important;}
.hadm-porto-children{display:flex !important;gap:5px !important;flex-wrap:wrap !important;justify-content:center !important;}
.hadm-connector-wrap{display:none !important;}
@media (max-width:520px){.hadm-zone-roots{flex-direction:column !important;align-items:center !important;gap:14px !important;}.hadm-zleaves{gap:5px !important;}.hadm-porto-children{gap:4px !important;}}

/* ── classes geradas a partir dos estilos inline dispersos pelas
   funções de render (nome = variável original no JS, + sufixo da
   função quando o nome se repete com conteúdo diferente) ── */
.hadm-hdr{border-radius:12px;padding:16px 20px;margin-bottom:20px;border:1px solid #e0e0e0;position:relative;}
.hadm-eq-btn{position:absolute;top:14px;right:14px;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.85rem;font-weight:900;border:1.5px solid;transition:all .2s;user-select:none;}
.hadm-h-lbl{font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.14em;margin-bottom:8px;padding-right:36px;}
.hadm-h-main-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.hadm-h-left{flex:1;min-width:160px;}
.hadm-h-val{font-size:2rem;font-weight:900;letter-spacing:-.02em;margin-bottom:4px;}
.hadm-h-sub{font-size:.72rem;}
.hadm-h-right{flex:0 0 auto;min-width:160px;max-width:220px;border-left:1px solid #333333;padding-left:16px;}
.hadm-p-lbl{font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;margin-bottom:4px;}
.hadm-p-val{font-size:1.55rem;font-weight:900;letter-spacing:-.02em;margin-bottom:3px;}
.hadm-p-sub{font-size:.62rem;line-height:1.5;}
.hadm-p-anos{font-size:.58rem;margin-top:2px;}
.hadm-p-maxx{font-size:.58rem;margin-top:3px;}
.hadm-c-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0;margin-top:12px;padding-top:12px;border-top:2px solid #444444;}
.hadm-c-box{padding:10px 14px;}
.hadm-c-year{font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em;margin-bottom:6px;}
.hadm-c-dates{font-size:.56rem;font-weight:600;letter-spacing:.04em;margin-bottom:4px;}
.hadm-c-line{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;}
.hadm-c-val{font-size:.88rem;font-weight:800;}
.hadm-c-d{font-size:.78rem;font-weight:800;}
.hadm-banner-proy{border-radius:10px;padding:10px 16px;margin-bottom:16px;border:1px solid #c8e6c9;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;}
.hadm-b-lbl{font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;margin-bottom:2px;}
.hadm-b-sub{font-size:.65rem;}
.hadm-b-val{font-size:1.1rem;font-weight:900;}
.hadm-tree-label{font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.14em;margin-bottom:10px;}
.hadm-loja-row{border-radius:10px;padding:13px 16px;margin-bottom:8px;cursor:pointer;border:1px solid #e0e0e0;user-select:none;}
.hadm-loja-hdr{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.hadm-loja-nom{font-size:.95rem;font-weight:800;}
.hadm-loja-right{display:flex;align-items:center;gap:8px;}
.hadm-loja-b{font-size:.68rem;font-weight:700;padding:2px 8px;border-radius:10px;white-space:nowrap;}
.hadm-yr-row{border-radius:8px;padding:9px 16px 9px 28px;margin-bottom:3px;cursor:pointer;border:1px solid #eeeeee;user-select:none;}
.hadm-yr-hdr{display:flex;align-items:center;gap:10px;justify-content:space-between;}
.hadm-yr-lbl{font-size:.85rem;font-weight:700;}
.hadm-yr-right{display:flex;align-items:center;gap:10px;}
.hadm-yr-b{font-size:.68rem;font-weight:700;padding:2px 8px;border-radius:10px;}
.hadm-mo-row{border-radius:7px;padding:7px 16px 7px 44px;margin-bottom:2px;cursor:pointer;border:1px solid #f0f0f0;user-select:none;}
.hadm-mo-hdr{display:flex;align-items:center;gap:8px;justify-content:space-between;}
.hadm-mo-lbl{font-size:.8rem;font-weight:600;}
.hadm-mo-b{font-size:.62rem;font-weight:700;padding:1px 6px;border-radius:8px;}
.hadm-mo-sum{font-size:.8rem;font-weight:700;}
.hadm-day-row{display:flex;align-items:center;justify-content:space-between;padding:5px 16px 5px 60px;border-bottom:1px solid #f5f5f5;}
.hadm-day-d{font-size:.75rem;font-weight:600;width:80px;}
.hadm-day-dow{font-size:.68rem;width:28px;}
.hadm-day-a{font-size:.78rem;font-weight:700;}
.hadm-mo-tr{display:flex;justify-content:space-between;padding:6px 16px 6px 60px;border-top:2px solid #e0e0e0;}
.hadm-mo-tl{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;}
.hadm-yr-tr{display:flex;justify-content:space-between;padding:7px 16px 7px 28px;border-top:2px solid #dddddd;margin-top:2px;}
.hadm-yr-tv{font-size:.8rem;font-weight:800;}
.hadm-hdr--render-domingo-ps{border-radius:12px;padding:16px 20px;margin-bottom:20px;border:1px solid #e0e0e0;}
.hadm-h-lbl--render-domingo-ps{font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.14em;margin-bottom:6px;}
.hadm-c-line--render-domingo-ps{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-top:3px;}
.hadm-mes-card-title{font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.14em;margin-bottom:14px;}
.hadm-sep{height:1px;margin:0 0 0 0;}
.hadm-mo-row--render-domingo-ps{display:flex;align-items:center;justify-content:space-between;padding:11px 8px;cursor:pointer;border-radius:8px;user-select:none;}
.hadm-mo-arrow{font-size:.7rem;width:12px;display:inline-block;}
.hadm-mo-badge{font-size:.62rem;font-weight:700;padding:2px 7px;border-radius:10px;}
.hadm-mo-detail{padding:0 0 6px 22px;display:none !important;}
.hadm-loja-row--render-domingo-ps{display:flex;align-items:center;justify-content:space-between;padding:7px 8px 7px 0;border-bottom:1px solid #f5f5f5;}
.hadm-loja-left{display:flex;flex-direction:column;gap:3px;flex:1;margin-right:12px;}
.hadm-loja-name-line{display:flex;align-items:center;justify-content:space-between;}
.hadm-loja-pct{font-size:.68rem;font-weight:600;}
.hadm-bar-outer{height:3px;border-radius:2px;overflow:hidden;}
.hadm-bar-inner{height:100%;border-radius:2px;}
.hadm-loja-val2{font-size:.78rem;font-weight:700;white-space:nowrap;}
.hadm-total-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 8px 0;margin-top:8px;border-top:2px solid #e8e8e8;}
.hadm-total-lbl{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;}
.hadm-total-val{font-size:.92rem;font-weight:900;}
.hadm-day-row--render-domingo-ps{display:flex;align-items:center;justify-content:space-between;padding:5px 16px 5px 44px;border-bottom:1px solid #f5f5f5;}
.hadm-ctrl-wrap{border-radius:12px;padding:14px 16px;margin-bottom:16px;border:1px solid #e0e0e0;}
.hadm-mes-wrap{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px;}
.hadm-mes-lbl{font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;}
.hadm-mb{padding:4px 10px;border-radius:14px;font-size:.72rem;font-weight:800;cursor:pointer;border:1.5px solid;font-family:MontserratLight,sans-serif;}
.hadm-loja-wrap{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.hadm-hdr--render-proy-domingos{border-radius:12px;padding:16px 20px;margin-bottom:16px;border:1px solid #e0e0e0;}
.hadm-no-data{font-size:.82rem;}
.hadm-h-val--render-proy-domingos{font-size:2rem;font-weight:900;letter-spacing:-.02em;margin-bottom:2px;}
.hadm-h-sub--render-proy-domingos{font-size:.72rem;margin-bottom:10px;}
.hadm-proj-sec{padding-top:10px;border-top:1px solid #333333;}
.hadm-proj-lbl{font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;margin-bottom:6px;}
.hadm-proj-row{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:8px;}
.hadm-proj-val{font-size:1.3rem;font-weight:900;}
.hadm-mes-grid{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px;}
.hadm-m-box{border-radius:8px;padding:6px 10px;min-width:80px;}
.hadm-m-nom{font-size:.58rem;font-weight:800;text-transform:uppercase;}
.hadm-m-hist{font-size:.58rem;}
.hadm-fix-btn{padding:8px 20px;border-radius:10px;font-size:.78rem;font-weight:800;cursor:pointer;text-align:center;border:1.5px solid #4a7c59;margin-bottom:16px;font-family:MontserratLight,sans-serif;display:inline-block;}
.hadm-sub-tabs-wrap{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px;justify-content:center;}
.hadm-btn{padding:8px 18px;border-radius:20px;font-size:.78rem;font-weight:800;cursor:pointer;font-family:MontserratLight,sans-serif;border:1.5px solid;}
.hadm-load-msg{font-size:.78rem;padding:20px;text-align:center;}
.hadm-zona-wrap{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px;justify-content:center;}
.hadm-btn--render-proy-general{padding:5px 14px;border-radius:16px;font-size:.72rem;font-weight:800;cursor:pointer;border:1.5px solid;font-family:MontserratLight,sans-serif;}
.hadm-maxx-panel{border-radius:12px;padding:14px 18px;margin-bottom:16px;border:1.5px solid;}
.hadm-maxx-panel-hdr{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:10px;}
.hadm-maxx-panel-ttl{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;}
.hadm-q-badge{font-size:.62rem;font-weight:700;padding:2px 10px;border-radius:10px;}
.hadm-maxx-input-row{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;}
.hadm-g-inicio{display:flex;flex-direction:column;gap:3px;}
.hadm-l-inicio{font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;}
.hadm-save-btn{padding:6px 16px;border-radius:8px;font-size:.72rem;font-weight:800;cursor:pointer;font-family:MontserratLight,sans-serif;}
.hadm-clear-btn{padding:6px 12px;border-radius:8px;font-size:.72rem;font-weight:800;cursor:pointer;font-family:MontserratLight,sans-serif;display:none !important;}
.hadm-maxx-info{font-size:.65rem;margin-top:8px;}
.hadm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin-bottom:20px;}
.hadm-card{border-radius:12px;padding:14px 16px;border:1.5px solid;}
.hadm-c-lbl{font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;margin-bottom:6px;display:flex;align-items:center;justify-content:space-between;}
.hadm-pct-span{font-size:.58rem;padding:2px 7px;border-radius:10px;}
.hadm-c-val--render-proy-general{font-size:1.4rem;font-weight:900;letter-spacing:-.02em;}
.hadm-proj-line{display:flex;align-items:baseline;gap:8px;margin-top:4px;flex-wrap:wrap;}
.hadm-proj-lbl--render-proy-general{font-size:.62rem;font-weight:700;}
.hadm-proj-sub{font-size:.62rem;}
.hadm-maxx-tag{font-size:.6rem;font-weight:700;margin-top:2px;}
.hadm-diff-line{font-size:.68rem;font-weight:700;margin-top:6px;padding-top:6px;border-top:1px solid #e0e0e0;}
.hadm-btn-row{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap;}
.hadm-fix-btn--render-proy-general{padding:6px 14px;border-radius:8px;font-size:.7rem;font-weight:800;cursor:pointer;text-align:center;border:1.5px solid #4a7c59;font-family:MontserratLight,sans-serif;}
.hadm-calc-btn{padding:6px 14px;border-radius:8px;font-size:.7rem;font-weight:800;cursor:pointer;text-align:center;border:1.5px solid #aaaaaa;font-family:MontserratLight,sans-serif;}
.hadm-ttl{font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.14em;margin-bottom:10px;margin-top:4px;}
.hadm-alertas-wrap{display:flex;flex-direction:column;gap:8px;margin-bottom:20px;}
.hadm-card--render-alertas{border-radius:10px;padding:10px 14px;border:1.5px solid;display:flex;flex-direction:column;gap:6px;}
.hadm-a-loja{font-size:.82rem;font-weight:800;}
.hadm-a-pct{font-size:1rem;font-weight:900;}
.hadm-a-row2{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px;}
.hadm-a-periodo{font-size:.6rem;}
.hadm-a-row3{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;}
.hadm-a-imp-div{display:flex;flex-direction:column;align-items:flex-end;gap:1px;}
.hadm-ok{font-size:.78rem;padding:10px;text-align:center;}
.hadm-m-ttl{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;margin-bottom:16px;padding-right:32px;}
.hadm-b-t{font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px;}
.hadm-b-c{font-size:.78rem;line-height:1.7;}
.hadm-wrap{margin-bottom:20px;}
.hadm-ttl--render-proy-fijadas{font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.14em;margin-bottom:8px;}
.hadm-box{font-size:.75rem;}
.hadm-tw{overflow-x:auto;border-radius:10px;border:1px solid #e0e0e0;}
.hadm-sim-wrap{border-radius:12px;padding:16px;border:1px solid #e0e0e0;margin-bottom:20px;}
.hadm-sim-desc{font-size:.72rem;margin-bottom:14px;}
.hadm-toggle-row{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap;}
.hadm-toggle-btn{padding:7px 20px;border-radius:20px;font-size:.78rem;font-weight:800;cursor:pointer;border:1.5px solid;font-family:MontserratLight,sans-serif;}
.hadm-l-desde{font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;}
.hadm-dom-toggle{padding:5px 12px;border-radius:14px;font-size:.7rem;font-weight:800;cursor:pointer;border:1.5px solid;font-family:MontserratLight,sans-serif;}
.hadm-sim-result{border-radius:10px;padding:12px 16px;border:1.5px solid #e0e0e0;}
.hadm-s-lbl{font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px;}
.hadm-s-row{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:10px;}
.hadm-dttl{font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px;}
.hadm-d-grid{display:flex;gap:6px;flex-wrap:wrap;}
.hadm-d-box{border-radius:8px;padding:6px 10px;min-width:90px;}
.hadm-d-nom{font-size:.58rem;font-weight:800;}
.hadm-d-r{font-size:.55rem;}
.hadm-hint{font-size:.7rem;margin-top:6px;}
.hadm-ttl--render-proy-diagnostico{font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.14em;margin-bottom:16px;}
.hadm-porto-section{border-radius:12px;padding:14px 16px;border:1px solid #e0e0e0;margin-bottom:20px;}
.hadm-ps-ttl{font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;margin-bottom:10px;}
.hadm-tw--render-proy-diagnostico{overflow-x:auto;}
.hadm-sec{border-radius:12px;padding:16px;border:1px solid #e0e0e0;margin-bottom:14px;}
.hadm-sec-hdr{display:flex;align-items:center;justify-content:space-between;cursor:pointer;gap:8px;}
.hadm-sec-body{margin-top:14px;display:none !important;}
.hadm-b-c--render-proy-diagnostico{font-size:.78rem;line-height:1.75;}
.hadm-wrap--render-premio-personas{border-radius:8px;padding:10px 12px;margin-top:6px;border:1px solid #e8e8e8;}
.hadm-falta-el{font-size:.68rem;}
.hadm-sub{font-size:.68rem;margin-bottom:20px;line-height:1.6;}
.hadm-card-hdr{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid #e8e8e8;}
.hadm-tw--render-premios{overflow-x:auto;border-radius:9px;border:1px solid #e8e8e8;margin-bottom:14px;}
.hadm-premios-sec-ttl{font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;margin-bottom:8px;margin-top:4px;}
.hadm-premios-sec-wrap{display:flex;flex-direction:column;gap:8px;}
.hadm-loading-el{font-size:.68rem;padding:8px;}
.hadm-mo-hdr--render-premios{font-size:.65rem;font-weight:800;margin-bottom:4px;}
.hadm-nota{font-size:.62rem;margin-top:4px;padding:12px 16px;border-radius:9px;border:1px solid #e8e8e8;line-height:1.7;}
.hadm-date-wrap{border-radius:12px;padding:16px 20px;margin-bottom:18px;border:1px solid #e0e0e0;display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.hadm-date-lbl{font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;}
.hadm-date-hint{font-size:.7rem;}
.hadm-grid--render-carregar{display:flex;flex-direction:column;gap:10px;margin-bottom:24px;}
.hadm-r-t{font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.14em;margin-bottom:10px;margin-top:8px;}
.hadm-card-hdr--render-loja-cards{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.hadm-status-dot{font-size:.72rem;font-weight:700;padding:3px 10px;border-radius:20px;}
.hadm-row2{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;}
.hadm-f-fat{flex:1;min-width:120px;}
.hadm-l-fat{display:block;font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;margin-bottom:4px;}
.hadm-f-neto{flex:1;min-width:100px;}
.hadm-neto-val{font-size:.95rem;font-weight:900;padding:8px 0;}
.hadm-f-tot{flex:1;min-width:140px;}
.hadm-btn--mk-save-btn{display:inline-block;margin-top:10px;padding:8px 20px;border-radius:8px;font-size:.78rem;font-weight:800;cursor:pointer;font-family:MontserratLight,sans-serif;}
.hadm-e{font-size:.8rem;padding:8px 0;}
.hadm-d-hdr{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;padding:8px 0 4px;border-top:2px solid #e0e0e0;margin-top:8px;}
.hadm-tw--load-recentes{overflow-x:auto;border-radius:10px;border:1px solid #e0e0e0;margin-bottom:4px;}
.hadm-i-s{padding:6px 10px;font-size:.78rem;font-weight:700;border:1.5px solid #cccccc;border-radius:8px;font-family:MontserratLight,sans-serif;outline:none;}
.hadm-i-s--render-simulador{padding:7px 10px;font-size:.78rem;font-weight:700;border:1.5px solid #cccccc;border-radius:8px;font-family:MontserratLight,sans-serif;outline:none;}
.hadm-i-s--render-carregar{padding:9px 14px;font-size:.88rem;font-weight:700;font-family:MontserratLight,sans-serif;border:1.5px solid #cccccc;border-radius:9px;outline:none;box-sizing:border-box;}
.hadm-i-scard{width:100%;box-sizing:border-box;padding:8px 12px;font-size:.88rem;font-weight:700;font-family:MontserratLight,sans-serif;border:1.5px solid #dddddd;border-radius:8px;outline:none;}
.hadm-bloco--render-trazabilidad{margin-bottom:14px;padding:14px 16px;border-radius:10px;border-left-width:3px;border-left-style:solid;background:#f9f9f9;}
.hadm-bloco--render-proy-diagnostico{margin-bottom:12px;padding:12px 14px;border-radius:9px;border-left-width:3px;border-left-style:solid;background:#ffffff;}
.hadm-loading-msg{padding:30px;font-size:.85rem;color:#666 !important;}
.hadm-loading-msg-sm{font-size:.8rem;padding:8px 0;color:#666 !important;}
.hadm-txt-pos{color:#2a6a40 !important;}
.hadm-txt-neg{color:#a03020 !important;}
.hadm-txt-label{color:#555555 !important;}
.hadm-busy{opacity:.6 !important;pointer-events:none !important;}
.hadm-busy-50{opacity:.5 !important;pointer-events:none !important;}
.hadm-locked{pointer-events:none !important;}
.hadm-pencil{cursor:pointer;font-size:.85rem;opacity:.6;}
.hadm-pencil.is-active{opacity:1 !important;}
.hadm-tree-branch{display:none !important;}
.hadm-tree-branch.show{display:block !important;}
.hadm-mo-detail.show{display:block !important;}
.hadm-clear-btn.show{display:block !important;}
.hadm-sec-body.show{display:block !important;}
.hadm-modal-open-lock{overflow:hidden !important;}
.hadm-th-left{text-align:left !important;}
.hadm-hdr-c{background:#1a1a1a !important;}
.hadm-h-lbl-c{color:#d8d8d8 !important;}
.hadm-h-val-c{color:#ffffff !important;}
.hadm-h-sub-c{color:#e8e8e8 !important;}
.hadm-p-lbl-c{color:#4a7c59 !important;}
.hadm-p-val-c{color:#5ecf8a !important;}
.hadm-p-anos-c{color:#c0c0c0 !important;}
.hadm-c-box-c{border-top:2px solid #444444 !important;}
.hadm-c-box-c--render-vendas{border-right:1px solid #3a3a3a !important;}
.hadm-c-dates-c{color:#b0b0b0 !important;}
.hadm-banner-proy-c{background:#f1f8f4 !important;}
.hadm-b-sub-c{color:#888888 !important;}
.hadm-b-val-c{color:#2a6a40 !important;}
.hadm-tree-label-c{color:#999999 !important;}
.hadm-loja-row-c{background:#f5f5f5 !important;}
.hadm-this-c{background:#ebebeb !important;}
.hadm-loja-nom-c{color:#111111 !important;}
.hadm-yr-row-c{background:#ffffff !important;}
.hadm-this-c--render-vendas{background:#f8f8f8 !important;}
.hadm-yr-lbl-c{color:#222222 !important;}
.hadm-mo-row-c{background:#fafafa !important;}
.hadm-this-c--render-vendas-2{background:#f0f0f0 !important;}
.hadm-mo-lbl-c{color:#333333 !important;}
.hadm-mo-tl-c{color:#555555 !important;}
.hadm-yr-tr-c{background:#efefef !important;}
.hadm-mo-row-c--render-domingo-ps{background:transparent !important;}
.hadm-mo-badge-c{background:#f0f0f0 !important;color:#666666 !important;}
.hadm-bar-inner-c{background:#4a7c59 !important;}
.hadm-no-data-c{color:#aaaaaa !important;}
.hadm-proj-val-c{color:#4caf82 !important;}
.hadm-m-box-c{background:#2a2a2a !important;}
.hadm-m-hist-c{color:#666666 !important;}
.hadm-fix-btn-c{background:transparent !important;color:#4a7c59 !important;}
.hadm-fix-btn-c--render-proy-domingos{background:#4a7c59 !important;color:#fff !important;}
.hadm-q-badge-c{background:#e6f4ed !important;color:#2a6a40 !important;}
.hadm-inp-inicio-c{background:#ffffff !important;color:#111111 !important;}
.hadm-save-btn-c{background:#1a1a1a !important;color:#ffffff !important;}
.hadm-clear-btn-c{background:transparent !important;color:#a03020 !important;border:1px solid #e0e0e0 !important;}
.hadm-base-lbl-c{color:#bbbbbb !important;}
.hadm-calc-btn-c{background:transparent !important;color:#666666 !important;}
.hadm-m-ttl-c{color:#1a1a1a !important;}
.hadm-btn-c{background:#4a7c59 !important;color:#ffffff !important;border-color:#4a7c59 !important;}
.hadm-th-c{color:#555555 !important;background:#f5f5f5 !important;}
.hadm-d-box-c{background:#f0f8f4 !important;border:1px solid #c8e6c9 !important;}
.hadm-th-c--render-proy-diagnostico{color:#555555 !important;background:#f0f0f0 !important;}
.hadm-falta-el-c{color:#a03020 !important;}
.hadm-td-diff-c{color:#cccccc !important;}
.hadm-nota-c{background:#fafafa !important;color:#888888 !important;}
.hadm-status-dot-c{background:#fff8e6 !important;color:#8a6000 !important;}
.hadm-status-dot-c--render-loja-cards{background:#fdecea !important;color:#a03020 !important;}
.hadm-status-dot-c--render-loja-cards-2{background:#f0f0f0 !important;color:#888888 !important;}
.hadm-card-c{border-color:#ccaa00 !important;}
.hadm-card-c--mk-save-btn{border-color:#e05a5a !important;background:#fafafa !important;}
.hadm-card-c--mk-save-btn-2{border-color:#4a7c59 !important;background:#f6fbf8 !important;}
.hadm-card-c--mk-save-btn-3{border-color:#e05a5a !important;}
.hadm-status-dot-c--flash-need-date{background:#fff3cd !important;color:#856404 !important;}
.hadm-inp-data-c{border-color:#cccccc !important;}
.hadm-c-c{background:transparent !important;padding:16px 24px 80px !important;width:100% !important;max-width:900px !important;margin-left:auto !important;margin-right:auto !important;box-sizing:border-box !important;}
.hadm-eq-btn-active{background:#4a7c59 !important;color:#ffffff !important;border-color:#4a7c59 !important;}
.hadm-eq-btn-inactive{background:transparent !important;color:#666666 !important;border-color:#444444 !important;}
.hadm-eq-btn.hadm-eq-btn-hover{border-color:#888888 !important;color:#aaaaaa !important;}
.hadm-card-default{border-color:#e0e0e0 !important;background:#fafafa !important;}
.hadm-date-hint-found{color:#4a7c59 !important;}
.hadm-diff-pos-a{color:#4caf82 !important;}
.hadm-diff-neg-a{color:#e05a5a !important;}
.hadm-diff-pos-bg{background:#e6f4ed !important;}
.hadm-diff-neg-bg{background:#fdecea !important;}
.hadm-diff-pos-c{color:#2a6a40 !important;}
.hadm-diff-neg-c{color:#a03020 !important;}
.hadm-dayval-zero{color:#cccccc !important;}
.hadm-dayval-nonzero{color:#111111 !important;}
.hadm-pill-on{background:#4a7c59 !important;border-color:#4a7c59 !important;}
.hadm-pill-off{background:#2a2a2a !important;border-color:#555 !important;}
.hadm-subtab-on{background:#1a1a1a !important;color:#ffffff !important;border-color:#1a1a1a !important;}
.hadm-subtab-off{background:#f0f0f0 !important;color:#444444 !important;border-color:#dddddd !important;}
.hadm-maxx-panel-on{border-color:#4a7c59 !important;background:#f1f8f4 !important;}
.hadm-maxx-panel-off{border-color:#e0e0e0 !important;background:#fafafa !important;}
.hadm-txt-green{color:#4a7c59 !important;}
.hadm-txt-gray888{color:#888888 !important;}
.hadm-card-closed{border-color:#e0e0e0 !important;background:#fafafa !important;}
.hadm-card-active{border-color:#4a7c59 !important;background:#f1f8f4 !important;}
.hadm-card-future{border-color:#555555 !important;background:#f5f5f5 !important;}
.hadm-txt-gray555{color:#555555 !important;}
.hadm-alert-card-neg{border-color:#f5c6c6 !important;background:#fff8f8 !important;}
.hadm-alert-card-pos{border-color:#c8e6c9 !important;background:#f6fbf4 !important;}
.hadm-txt-red-c0392b{color:#c0392b !important;}
.hadm-toggle-on{background:#4a7c59 !important;border-color:#4a7c59 !important;}
.hadm-toggle-off{background:#2a2a2a !important;border-color:#555 !important;}
.hadm-wrap-off{background:#fafafa !important;border-color:#e8e8e8 !important;}
.hadm-row-even{background:#ffffff !important;}
.hadm-row-odd{background:#fafafa !important;}
.hadm-row-odd-green{background:#f5fbf7 !important;}
.hadm-tbadge-up{background:#e6f4ed !important;color:#2a6a40 !important;}
.hadm-tbadge-down{background:#fdecea !important;color:#a03020 !important;}
.hadm-tbadge-flat{background:#f0f0f0 !important;color:#666 !important;}
.hadm-fw800{font-weight:800 !important;}
.hadm-tfoot-total{font-size:.7rem !important;text-transform:uppercase !important;letter-spacing:.06em !important;}
.hadm-tfoot-diff{font-weight:900 !important;font-size:.88rem !important;}
.hadm-t-sa{width:100%;border-collapse:collapse;font-size:.72rem;}
.hadm-th-sa{padding:6px 10px;font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;text-align:left;border-bottom:1.5px solid #e0e0e0;white-space:nowrap;}
.hadm-td-sa{padding:6px 10px;border-bottom:1px solid #eeeeee;white-space:nowrap;}
.hadm-th-sa--render-proy-diagnostico{padding:5px 8px;font-size:.58rem;font-weight:800;text-transform:uppercase;text-align:right;border-bottom:1.5px solid #e0e0e0;white-space:nowrap;}
.hadm-td-l-sa{padding:5px 8px;border-bottom:1px solid #eeeeee;font-weight:700;white-space:nowrap;}
.hadm-td-sa--render-proy-diagnostico{padding:5px 8px;border-bottom:1px solid #eeeeee;text-align:right;font-weight:700;}
.hadm-pt-sa{width:100%;border-collapse:collapse;font-size:.75rem;}
.hadm-td-nom-sa{padding:5px 8px;border-bottom:1px solid #e8f0eb;font-weight:700;}
.hadm-td-dias-sa{padding:5px 8px;border-bottom:1px solid #e8f0eb;text-align:right;font-size:.68rem;font-weight:700;}
.hadm-t-sa--render-premios{width:100%;border-collapse:collapse;font-size:.78rem;}
.hadm-th-sa--render-premios{padding:7px 10px;font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;border-bottom:1.5px solid #e0e0e0;white-space:nowrap;}
.hadm-td-mes-sa{padding:7px 10px;border-bottom:1px solid #f0f0f0;font-weight:700;white-space:nowrap;text-align:left;}
.hadm-td25-sa{padding:7px 10px;border-bottom:1px solid #f0f0f0;text-align:right;font-weight:700;white-space:nowrap;}
.hadm-td-dom-sa{padding:7px 10px;border-bottom:1px solid #f0f0f0;text-align:right;white-space:nowrap;font-size:.7rem;}
.hadm-td-diff-sa{padding:7px 10px;border-bottom:1px solid #f0f0f0;text-align:right;font-weight:800;white-space:nowrap;}
.hadm-td-noct-sa{padding:5px 8px;border-bottom:1px solid #f0f0f0;text-align:right;white-space:nowrap;}
.hadm-inp-noct-sa{width:86px;padding:4px 7px;font-size:.75rem;font-weight:700;border:1.5px solid #e0e0e0;border-radius:6px;outline:none;text-align:right;font-family:MontserratLight,sans-serif;}
.hadm-td-sa--render-premios{padding:8px 10px;border-top:2px solid #ddd;white-space:nowrap;}
.hadm-th-sa--load-recentes{padding:6px 10px;font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;text-align:left;border-bottom:1.5px solid #e0e0e0;}
.hadm-td-m-sa{padding:6px 10px;border-bottom:1px solid #eeeeee;white-space:nowrap;font-weight:800;text-align:right;}
.hadm-td-act-sa{padding:6px 10px;border-bottom:1px solid #eeeeee;text-align:center;width:36px;}
.hadm-inp-sa{width:90px;padding:4px 6px;font-size:.82rem;font-weight:700;border:1.5px solid #4a7c59;border-radius:6px;outline:none;font-family:MontserratLight,sans-serif;text-align:right;}
.hadm-ok-sa{cursor:pointer;color:#2a6a40;font-weight:900;font-size:1rem;margin-left:4px;}
.hadm-cancel-sa{cursor:pointer;color:#a03020;font-weight:900;font-size:1rem;margin-left:4px;}
.hadm-pill{background:#2a2a2a !important;color:#f0f0f0 !important;border:1.5px solid #555 !important;border-radius:20px !important;padding:7px 18px !important;font-size:.82rem !important;font-weight:bold !important;cursor:pointer !important;white-space:nowrap !important;font-family:MontserratLight,sans-serif !important;}
.hadm-pill.hadm-pill-active{background:#4a7c59 !important;color:#ffffff !important;border-color:#4a7c59 !important;}
.hadm-tab{background:#f0f0f0 !important;color:#444444 !important;border:1.5px solid #dddddd !important;border-radius:10px !important;padding:9px 22px !important;font-size:.82rem !important;font-weight:bold !important;cursor:pointer !important;white-space:nowrap !important;font-family:MontserratLight,sans-serif !important;}
.hadm-tab.hadm-tab-active{background:#1a1a1a !important;color:#ffffff !important;border-color:#1a1a1a !important;}


/* ══════════════════════════════════════════════════════════════
   ORDENADOS — SALÁRIOS + RECIBOS (extraído de ordenados.js)
   ══════════════════════════════════════════════════════════════ */

/* ── Salários: base (zona de upload, tabela, modal, alertas) ── */
#tab-pagamentos.active.s-loaded { flex: none; overflow: visible; }
#admin-app.s-loaded { overflow-y: auto; overflow-x: hidden; }
#s-upload-zone { display:flex; flex-direction:column; align-items:center; gap:14px; margin-bottom:28px; width:100%; max-width:480px; }
#s-upload-label { display:flex; flex-direction:column; align-items:center; justify-content:center; width:100%; min-height:130px; border:2px dashed #ccc; border-radius:16px; cursor:pointer; transition:border-color .2s, background .2s, min-height .3s, padding .3s; padding:20px; text-align:center; color:#000; font-size:.95rem; font-weight:600; }
#s-upload-label.loaded { min-height:0; padding:10px 20px; }
#s-upload-label:hover, #s-upload-label.drag-over { border-color:#555; background:#f9f9f9; color:#000; }
#s-upload-label .upload-icon { font-size:2.2rem; margin-bottom:8px; }
#s-file-input { display:none; }
#s-file-name { font-size:.85rem; color:#000; font-weight:600; min-height:18px; }
#s-status-msg { font-size:.77rem; font-weight:600; color:#000; min-height:20px; text-align:center; }
#s-salary-table { width:100%; border-collapse:separate; border-spacing:0; border-radius:15px; overflow:hidden; font-family:"MontserratLight", sans-serif; }
#s-salary-table th { background:#e0e0e0; padding:7px 14px; text-align:left; font-size:.73rem; font-weight:bold; text-transform:uppercase; letter-spacing:.04em; border:1px solid #e6e6e6; }
#s-salary-table th:last-child { text-align:right; }
#s-salary-table td { padding:6px 14px; border:1px solid #efefef; font-size:.79rem; font-weight:bold; vertical-align:middle; }
#s-salary-table td:last-child { text-align:right; font-variant-numeric:tabular-nums; }
#s-salary-table tbody tr:hover td { background:#f5f5f5; }
#s-salary-table tfoot td { background:#f2f2f2; font-weight:bold; border-top:2px solid #ccc; padding:7px 14px; }
#s-salary-table tfoot td:last-child { text-align:right; }
#s-salary-table th:last-child, #s-salary-table td:last-child { width:1%; white-space:nowrap; }
#s-salary-table tbody td:last-child { cursor:pointer; user-select:none; transition:background .15s, color .15s; }
#s-salary-table tbody td:last-child:hover { background:#f0f0f0 !important; color:#000000 !important; }
.s-liq-cell { display:inline-flex; align-items:center; gap:5px; width:100%; justify-content:flex-end; color:inherit; }
.s-liq-check { display:none; flex-shrink:0; }
#s-view-btn { display:none; margin:0 auto 0 auto; padding:8px 22px; border-radius:20px; border:1.5px solid #555; background:#fff; cursor:pointer; color:#555; font-size:.82rem; font-weight:600; font-family:"MontserratLight",sans-serif; letter-spacing:.04em; transition:background .18s, color .18s, border-color .18s; }
#s-view-btn:hover { background:#555; color:#fff; border-color:#555; }
#s-view-btn.visible { display:inline-block; }
#s-reset-btn { display:none; margin:0 auto 24px auto; width:48px; height:48px; border-radius:50%; border:2px solid #d0d0d0; background:#fff; cursor:pointer; color:#888; font-size:22px; align-items:center; justify-content:center; transition:all .2s; }
#s-reset-btn:hover { border-color:#555; color:#222; transform:rotate(-30deg); }
#s-reset-btn.visible { display:flex; }
#s-salary-table tbody tr.s-row-copied td { background:#1a1a1a !important; color:#ffffff !important; font-size:1.04em; letter-spacing:0.01em; transition:background .2s, color .2s; }
#s-salary-table tbody tr.s-row-copied td * { color:#ffffff !important; }
#s-salary-table tbody tr.s-row-copied:hover td { background:#2e2e2e !important; }
#s-salary-table tbody tr.s-row-copied .s-liq-check { display:inline-block !important; color:#7ecfc0 !important; }
.s-err-badge { display:inline-flex; align-items:center; gap:4px; margin-left:7px; padding:1px 7px 1px 5px; border-radius:20px; font-size:0.7em; font-weight:700; letter-spacing:0.03em; vertical-align:middle; white-space:nowrap; cursor:default; transition:opacity .15s; }
.s-err-badge svg { flex-shrink:0; }
.s-err-red  { background:#fff0f0; color:#c0392b; border:1px solid #f5c6c6; }
.s-err-yellow { background:#fffbf0; color:#b07d00; border:1px solid #f0dfa0; }
#s-salary-table tbody tr.s-row-copied .s-err-red    { background:#5a1a1a; color:#f5a0a0; border-color:#7a2020; }
#s-salary-table tbody tr.s-row-copied .s-err-yellow { background:#4a3a00; color:#f0d060; border-color:#7a6000; }
#s-errors-summary { display:flex; align-items:flex-start; gap:10px; margin:0 0 18px 0; padding:14px 18px; border-radius:10px; background:#fff8f8; border:1px solid #f0d0d0; font-size:0.88em; line-height:1.55; }
#s-errors-summary.has-yellow { background:#fffcf2; border-color:#f0e4a0; }
#s-errors-summary-icon { font-size:1.5em; flex-shrink:0; margin-top:1px; }
#s-errors-summary ul { margin:4px 0 0 0; padding:0 0 0 16px; }
#s-errors-summary li { margin-bottom:2px; }
#s-errors-summary strong { font-weight:700; }
#pag-split { display:grid; grid-template-columns:1fr 1px 1fr; gap:0; width:100%; min-height:100%; align-items:start; }
#pag-divider { background:#e8e8e8; align-self:stretch; min-height:300px; }
#pag-col-salarios { display:flex; flex-direction:column; align-items:center; padding:32px 24px 40px; box-sizing:border-box; }
#pag-col-recibos { display:flex; flex-direction:column; align-items:center; padding:32px 24px 40px; box-sizing:border-box; }
#pag-col-recibos #tab-recibos { width:100%; display:flex; flex-direction:column; align-items:center; }
#s-modal-overlay { display:none; position:fixed; inset:0; background:rgba(0,0,0,0.45); z-index:600; justify-content:center; align-items:flex-start; padding:40px 16px 40px; box-sizing:border-box; overflow-y:auto; }
#s-modal-overlay.show { display:flex; }
#s-modal-box { background:#fff; border-radius:18px; width:100%; max-width:760px; padding:28px 28px 32px; box-shadow:0 12px 48px rgba(0,0,0,0.18); font-family:"MontserratLight",sans-serif; position:relative; margin:auto; }
#s-modal-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; }
#s-modal-title { font-size:.70rem; font-weight:bold; text-transform:uppercase; letter-spacing:.06em; color:#000; }
#s-modal-close { background:transparent; border:none; font-size:1.2rem; cursor:pointer; color:#888; padding:4px 8px; border-radius:6px; line-height:1; transition:color .15s, background .15s; }
#s-modal-close:hover { background:#f0f0f0; color:#000; }
#s-modal-body { width:100%; }
@media (max-width: 768px) {
  #tab-pagamentos.active { overflow:visible !important; width:100%; max-width:100%; }
  #pag-split { grid-template-columns:1fr; grid-template-rows:auto auto auto; }
  #pag-divider { min-height:1px; height:1px; align-self:auto; }
  #pag-col-salarios, #pag-col-recibos { padding:24px 16px 32px; }
  #s-upload-zone { max-width:100%; }
  #s-upload-label { min-height:100px; }
  #admin-app.module-open.s-loaded { overflow-y:auto !important; height:100vh !important; }
  #admin-app.module-open #tab-pagamentos.active.s-loaded { flex:none !important; overflow:visible !important; }
}

/* ── Recibos: base (upload, botões, tabela, modal, gestão) ── */
#r-upload-outer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;width:100%;max-width:700px;margin-bottom:14px;}
#r-hint-pdf{grid-column:1;display:flex;justify-content:flex-end;}
#r-upload-grid{grid-column:2;display:grid;grid-template-columns:220px;gap:14px;}
#r-hint-csv{grid-column:3;display:flex;justify-content:flex-start;}
@media(max-width:700px){#r-upload-outer{grid-template-columns:1fr;}#r-hint-pdf,#r-hint-csv{display:none;}#r-upload-grid{grid-column:1;grid-template-columns:1fr;}}
@media(max-width:400px){#r-upload-grid{grid-template-columns:1fr;}.upload-box{min-height:90px;}}
.upload-box{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:110px;border:2px dashed #ccc;border-radius:16px;cursor:pointer;padding:14px;text-align:center;color:#000;font-size:.88rem;font-weight:600;transition:border-color .2s,background .2s;position:relative;}
.upload-box:hover,.upload-box.drag-over{border-color:#555;background:#f9f9f9;color:#000;}
.upload-box .upload-icon{font-size:1.7rem;margin-bottom:6px;}
.upload-box input[type="file"]{display:none;}
.upload-box .file-loaded{position:absolute;bottom:6px;left:0;right:0;font-size:.72rem;color:#000;text-align:center;padding:0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.r-inline-hint{display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(0.78) translateY(10px);transition:opacity .5s cubic-bezier(.22,1,.36,1),transform .5s cubic-bezier(.22,1,.36,1);pointer-events:none;}
.r-inline-hint.show{opacity:1;transform:scale(1) translateY(0);}
#r-hint-pdf{justify-content:flex-end;}
#r-hint-pdf .hint-shape{position:relative;width:160px;height:160px;display:flex;align-items:center;justify-content:center;}
#r-hint-pdf .hint-shape svg.shape-bg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;}
#r-hint-csv{justify-content:flex-start;}
#r-hint-csv .hint-shape{position:relative;width:150px;height:150px;display:flex;align-items:center;justify-content:center;}
#r-hint-csv .hint-shape svg.shape-bg{position:absolute;inset:0;width:100%;height:100%;}
.hint-svg-text{font-family:"MontserratLight",sans-serif;font-weight:bold;font-size:11px;text-anchor:middle;dominant-baseline:middle;}
#r-process-btn{padding:9px 36px;font-size:.95rem;font-weight:600;cursor:pointer;border:1px solid #555;border-radius:12px;background:#fff;transition:background .2s,color .2s,transform .18s cubic-bezier(.22,1,.36,1),box-shadow .18s cubic-bezier(.22,1,.36,1)!important;margin-bottom:12px;display:none;will-change:transform;}
#r-process-btn.show{display:inline-block;}
#r-process-btn:hover{background:#555;color:#fff;transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,0,0,.07);}
#r-process-btn:disabled{opacity:.4;cursor:not-allowed;}
#r-process-btn:active{transform:translateY(1px) scale(.97)!important;box-shadow:none!important;}
@media(max-width:768px){#r-process-btn{width:100%;max-width:100%;box-sizing:border-box;}}
#r-status-area{width:100%;max-width:700px;margin-bottom:8px;}
#r-status-msg{font-size:.9rem;font-weight:600;color:#000;text-align:center;min-height:18px;margin-bottom:6px;}
#r-warnings-box{display:none;background:#fff8f0;border:1px solid #f0c080;border-radius:12px;padding:12px 16px;}
#r-warnings-box .warn-title{font-size:.83rem;font-weight:bold;color:#b05000;margin-bottom:6px;}
#r-warnings-box ul{list-style:none;padding:0;}
#r-warnings-box ul li{font-size:.83rem;font-weight:600;color:#b05000;padding:2px 0;}
#r-warnings-box ul li::before{content:"⚠️ ";}
@media(max-width:768px){#r-status-area{max-width:100%;}}
#r-upload-progress{display:none;width:100%;max-width:700px;background:#f2f2f2;border-radius:10px;overflow:hidden;height:6px;margin-bottom:6px;}
#r-upload-progress-bar{height:100%;background:#555;width:0%;transition:width .3s;}
#r-progress-detail{font-size:.82rem;font-weight:bold;color:#000;text-align:center;min-height:18px;margin-bottom:6px;width:100%;max-width:700px;}
@media(max-width:768px){#r-upload-progress,#r-progress-detail{max-width:100%;}}
#r-conferir-fixed{position:fixed;top:50%;right:20px;transform:translateY(-50%);display:none;flex-direction:column;align-items:flex-end;gap:8px;z-index:51;max-width:160px;text-align:right;}
#r-conferir-fixed.show{display:flex;}
#r-conferir-btn{padding:9px 18px;font-size:.88rem;font-weight:bold;font-family:"MontserratLight",sans-serif;text-transform:lowercase;cursor:pointer;border:1.5px solid #555;border-radius:12px;background:#fff;transition:background .2s,color .2s,transform .18s cubic-bezier(.22,1,.36,1),box-shadow .18s cubic-bezier(.22,1,.36,1)!important;pointer-events:auto;will-change:transform;}
#r-conferir-btn:hover{background:#555;color:#fff;transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,0,0,.07);}
#r-conferir-btn:active{transform:translateY(1px) scale(.97)!important;box-shadow:none!important;}
#r-conferir-note{font-size:.76rem;font-weight:bold;color:#e09000;margin:0;line-height:1.5;}
@media(max-width:1024px){#r-conferir-fixed{display:none!important;}}
#r-recibos-table{width:100%;border-collapse:separate;border-spacing:0;border-radius:15px;overflow:hidden;}
#r-recibos-table th{background:#e0e0e0;padding:10px 14px;text-align:left;font-size:.85rem;font-weight:bold;text-transform:uppercase;letter-spacing:.04em;border:1px solid #e6e6e6;}
#r-recibos-table td{padding:9px 14px;border:1px solid #efefef;font-size:.88rem;font-weight:bold;vertical-align:middle;}
#r-recibos-table tbody tr:hover td{background:#f5f5f5;}
.r-status-ok{color:#2a8a2a;font-size:.8rem;}
.r-status-err{color:#c03000;font-size:.8rem;}
#r-modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:500;justify-content:center;align-items:center;}
#r-modal-overlay.show{display:flex;}
#r-modal-box{background:#fff;border-radius:18px;padding:28px 30px;max-width:420px;width:90%;font-family:"MontserratLight",sans-serif;box-shadow:0 8px 32px rgba(0,0,0,.12);}
#r-modal-box .modal-title{font-size:.8rem;font-weight:bold;text-transform:uppercase;letter-spacing:.05em;color:#000;margin-bottom:6px;}
#r-modal-box .modal-name{font-size:1.05rem;font-weight:bold;color:#000;margin-bottom:18px;word-break:break-word;}
#r-modal-box .modal-counter{font-size:.75rem;color:#000;font-weight:600;margin-bottom:16px;}
#r-modal-pwd-row{display:none;flex-direction:column;gap:6px;margin-bottom:16px;}
#r-modal-pwd-row label{font-size:.78rem;font-weight:bold;color:#000;text-transform:uppercase;}
#r-modal-pwd-input{padding:8px 12px;border:1px solid #ccc;border-radius:8px;font-size:.9rem;outline:none;font-family:"MontserratLight",sans-serif;font-weight:600;transition:border-color .25s,box-shadow .25s!important;}
#r-modal-pwd-input:focus{border-color:#555;box-shadow:0 2px 14px rgba(0,0,0,.06)!important;}
.modal-btns{display:flex;flex-direction:column;gap:8px;}
.modal-btn{padding:10px 16px;font-size:.88rem;font-weight:600;cursor:pointer;border-radius:10px;border:1px solid #ccc;background:#fff;text-align:left;transition:background .15s,transform .18s cubic-bezier(.22,1,.36,1),box-shadow .18s cubic-bezier(.22,1,.36,1)!important;font-family:"MontserratLight",sans-serif;will-change:transform;}
.modal-btn:hover{background:#f5f5f5;transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,0,0,.07);}
.modal-btn:active{transform:translateY(1px) scale(.97)!important;box-shadow:none!important;}
.modal-btn.primary{border-color:#555;}
.modal-btn.primary:hover{background:#555;color:#fff;}
#r-mes-badge{display:inline-flex;align-items:center;gap:8px;margin-bottom:18px;padding:8px 18px;background:#f4f4f4;border:1px solid #e0e0e0;border-radius:10px;font-size:.93rem;font-weight:600;color:#333;}
#r-gestao-admin-btn{display:none;padding:6px 16px;font-size:.75rem;font-weight:600;cursor:pointer;border:1px solid #e0e0e0;border-radius:20px;background:#fafafa;font-family:"MontserratLight",sans-serif;margin-bottom:14px;color:#555;transition:background .15s,color .15s,border-color .15s;}
#r-gestao-admin-btn:hover{background:#111!important;color:#fff!important;border-color:#111!important;}
#r-gestao-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:600;justify-content:center;align-items:center;}
#r-gestao-overlay.show{display:flex;}
#r-gestao-box{background:#fff;border-radius:18px;padding:28px;max-width:580px;width:93%;max-height:85vh;overflow:hidden;display:flex;flex-direction:column;font-family:"MontserratLight",sans-serif;box-shadow:0 12px 48px rgba(0,0,0,.15);}
#r-gestao-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-shrink:0;}
#r-gestao-title{font-size:.95rem;font-weight:bold;text-transform:uppercase;letter-spacing:.06em;color:#000;}
#r-gestao-close{background:transparent;border:none;font-size:1.2rem;cursor:pointer;color:#000;padding:4px 8px;border-radius:6px;line-height:1;}
#r-gestao-close:hover{background:#f0f0f0;}
#r-gestao-list{flex:1;overflow-y:auto;margin-bottom:16px;display:flex;flex-direction:column;gap:8px;}
.r-gestao-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:10px 14px;border:1px solid #e0e0e0;border-radius:10px;background:#fafafa;}
.r-gestao-nome{font-size:.82rem;font-weight:bold;color:#000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.r-gestao-senha-wrap{display:flex;align-items:center;gap:6px;margin-top:3px;}
.r-gestao-senha{font-size:.85rem;font-family:"Courier New",monospace;color:#555;letter-spacing:.05em;}
.r-gestao-toggle-pwd{background:transparent;border:none;font-size:.75rem;cursor:pointer;color:#aaa;padding:0 2px;line-height:1;}
.r-gestao-toggle-pwd:hover{color:#000;}
.r-gestao-actions{display:flex;gap:6px;flex-shrink:0;}
.r-gestao-btn{padding:5px 10px;font-size:.73rem;font-weight:600;cursor:pointer;border:1px solid #ccc;border-radius:7px;background:#fff;font-family:"MontserratLight",sans-serif;transition:background .15s,border-color .15s;}
.r-gestao-btn:hover{background:#f0f0f0;border-color:#999;}
.r-gestao-btn.del:hover{background:#fff0f0;border-color:#e00;color:#c00;}
#r-gestao-add-form{border-top:1px solid #e0e0e0;padding-top:16px;flex-shrink:0;}
#r-gestao-add-title{font-size:.78rem;font-weight:bold;text-transform:uppercase;letter-spacing:.05em;color:#000;margin-bottom:10px;}
#r-gestao-aviso{font-size:.74rem;color:#555;margin-bottom:12px;line-height:1.55;padding:8px 12px;background:#fffbe6;border:1px solid #f0d060;border-radius:8px;}
.r-gestao-field{margin-bottom:10px;}
.r-gestao-field label{display:block;font-size:.73rem;font-weight:bold;color:#000;text-transform:uppercase;margin-bottom:4px;letter-spacing:.04em;}
.r-gestao-field input{width:100%;padding:8px 12px;border:1px solid #ccc;border-radius:8px;font-size:.86rem;font-family:"MontserratLight",sans-serif;font-weight:600;outline:none;box-sizing:border-box;}
.r-gestao-field input:focus{border-color:#555;}
#r-gestao-pwd-row{display:flex;gap:8px;align-items:flex-end;margin-bottom:10px;}
#r-gestao-pwd-row .r-gestao-field{flex:1;margin-bottom:0;}
#r-gestao-gen-btn{padding:8px 14px;font-size:.76rem;font-weight:600;cursor:pointer;border:1px solid #ccc;border-radius:8px;background:#f5f5f5;font-family:"MontserratLight",sans-serif;white-space:nowrap;flex-shrink:0;transition:background .15s;}
#r-gestao-gen-btn:hover{background:#e0e0e0;}
#r-gestao-save-btn{width:100%;padding:10px;font-size:.88rem;font-weight:600;cursor:pointer;border:1.5px solid #555;border-radius:10px;background:#fff;font-family:"MontserratLight",sans-serif;transition:background .15s,color .15s;}
#r-gestao-save-btn:hover{background:#555;color:#fff;}

/* ── Recibos: motor de fiscalização (caixa de alertas) ── */
#r-fisc-box{display:none;width:100%;max-width:700px;margin-top:8px;background:#fff5f5;border:1.5px solid #e8a0a0;border-radius:12px;padding:12px 16px;box-sizing:border-box;}
@media(max-width:768px){#r-fisc-box{max-width:100%;}}
#r-fisc-box .fisc-title{font-size:.83rem;font-weight:bold;color:#9a0000;margin-bottom:8px;}
#r-fisc-box ul{list-style:none;padding:0;margin:0;}
#r-fisc-box ul li{font-size:.82rem;font-weight:600;color:#9a0000;padding:3px 0;border-bottom:1px solid rgba(220,150,150,.35);line-height:1.5;}
#r-fisc-box ul li:last-child{border-bottom:none;}
#r-fisc-box ul li::before{content:"🔴 ";}

/* ── Ordenados: classes extraídas de estilos inline pontuais ── */
.s-upload-hint{font-size:.78rem;opacity:.6;}
.s-filename-strong{font-size:1.18em;letter-spacing:0.01em;}
.s-filename-span{font-size:1.05em;}
.s-empty-msg{text-align:center;color:#888;font-weight:600;margin-top:20px;}
.s-clip-helper{position:fixed;top:-9999px;opacity:0;}
.r-upload-hint{font-size:.75rem;opacity:.6;}
.r-badge-label{color:#888;font-weight:400;font-size:.82rem;}
.r-badge-value{font-size:1.05em;}
.r-gestao-placeholder{text-align:center;padding:24px;color:#aaa;font-size:.85rem;}
.r-gestao-error{color:#c00;text-align:center;padding:24px;font-size:.85rem;}
.r-gestao-inativo-tag{font-size:.68rem;color:#e00;font-weight:bold;}


/* ══════════════════════════════════════════════════════════════
   UTILITARIO — AGENDA + RÓTULOS (extraído de utilitario.js)
   Nota: as regras globais de cursor (crosshair) da agenda continuam
   injetadas via JS em window.openAgendaOverlay — não vivem aqui,
   propositadamente, para preservar o comportamento exato atual.
   ══════════════════════════════════════════════════════════════ */

/* ── Agenda: base (delimitado a #ag-/.ag-, já era assim) ── */
#ag-app{position:relative;z-index:1;max-width:920px;margin:0 auto;padding:28px 20px 60px}
#ag-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:24px;flex-wrap:wrap;gap:10px}
#ag-title{font-size:2.4rem;font-weight:300;text-transform:lowercase;letter-spacing:.1em;color:#000;line-height:1}
#ag-today{font-size:.88rem;font-weight:bold;text-transform:lowercase;letter-spacing:.05em;color:#000}
#ag-hero{margin-bottom:20px;padding-bottom:18px;border-bottom:1px solid #e6e6e6}
#ag-hero-row{display:flex;align-items:flex-end;gap:28px;flex-wrap:wrap;margin-bottom:10px}
#ag-hero-main{display:flex;flex-direction:column;gap:2px}
#ag-hero-label{font-size:.8rem;font-weight:bold;text-transform:uppercase;letter-spacing:.1em;color:#000}
#ag-hero-value{font-size:3.5rem;font-weight:300;color:#000;letter-spacing:-.02em;line-height:1;transition:color .4s}
#ag-hero-value.danger{color:#c62828}
#ag-hero-sub{font-size:.88rem;font-weight:bold;color:#000;margin-top:2px}
#ag-hero-sub.alert{color:#c62828;opacity:1}
#ag-hero-stats{display:flex;gap:22px;flex-wrap:wrap}
.ag-hs{display:flex;flex-direction:column;gap:1px}
.ag-hs-l{font-size:.72rem;font-weight:bold;text-transform:uppercase;letter-spacing:.08em;color:#000}
.ag-hs-v{font-size:1.15rem;font-weight:bold;color:#000}
.ag-hs-v.r{color:#c62828}.ag-hs-v.a{color:#e65100}.ag-hs-v.g{color:#2e7d32}
#ag-insights{display:flex;flex-direction:column;gap:4px;margin-top:10px}
.ag-insight{font-size:.88rem;font-weight:bold;color:#000;display:flex;align-items:center;gap:6px}
.ag-insight.warn{color:#e65100}.ag-insight.danger{color:#c62828}.ag-insight.ok{color:#2e7d32}
#ag-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px}
.ag-card{background:#fff;border:1px solid #e6e6e6;border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:5px;position:relative;overflow:hidden;transition:border-color .2s,transform .2s cubic-bezier(0.22,1,0.36,1)}
.ag-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:#e6e6e6}
.ag-card.cr::before{background:#c62828}.ag-card.ca::before{background:#e65100}.ag-card.cg::before{background:#2e7d32}.ag-card.cb::before{background:#000}
.ag-card:hover{border-color:#bbb;transform:translateY(-2px)}
.ag-card-label{font-size:.75rem;font-weight:bold;text-transform:uppercase;letter-spacing:.09em;color:#000}
.ag-card-value{font-size:1.45rem;font-weight:300;color:#000;letter-spacing:-.01em}
.ag-card-value.vr{color:#c62828;font-weight:bold}.ag-card-value.vg{color:#2e7d32}.ag-card-value.va{color:#e65100}
#ag-alerts{margin-bottom:14px;display:flex;flex-direction:column;gap:6px}
.ag-alert{padding:10px 16px;border-radius:10px;font-size:.9rem;font-weight:bold;display:flex;align-items:center;gap:7px;animation:slideIn .22s ease}
@keyframes slideIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.ag-av{background:#fff5f5;color:#c62828;border:1px solid #ffd7d7}
.ag-au{background:#fff8f0;color:#e65100;border:1px solid #ffd7b0}
#ag-chart-wrap{display:flex;gap:16px;margin-bottom:18px;flex-wrap:wrap}
.ag-cb{flex:1;min-width:180px;background:#fff;border:1px solid #e6e6e6;border-radius:14px;padding:14px 16px}
.ag-ct{font-size:.75rem;font-weight:bold;text-transform:uppercase;letter-spacing:.09em;color:#000;margin-bottom:10px}
#ag-donut-wrap{display:flex;align-items:center;gap:12px}
#ag-donut-legend{display:flex;flex-direction:column;gap:4px}
.ag-dl{display:flex;align-items:center;gap:7px;font-size:.82rem;font-weight:bold}
.ag-dl-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.ag-dl-label{color:#000;flex:1}.ag-dl-pct{color:#000}
#ag-bar-chart{display:flex;align-items:flex-end;gap:4px;height:50px}
.ag-bar{flex:1;border-radius:3px 3px 0 0;position:relative;cursor:crosshair!important;min-width:8px;transition:opacity .15s}
.ag-bar:hover{opacity:.7!important}
.ag-bar-tip{position:absolute;bottom:calc(100% + 3px);left:50%;transform:translateX(-50%);font-size:.6rem;font-weight:bold;color:#000;background:#fff;border:1px solid #e6e6e6;border-radius:5px;padding:2px 6px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .12s}
.ag-bar:hover .ag-bar-tip{opacity:1}
#ag-bar-labels{display:flex;gap:4px;margin-top:3px}
.ag-bar-label{flex:1;font-size:.55rem;font-weight:bold;color:#000;text-align:center;min-width:8px}
#ag-toolbar{display:flex;gap:7px;margin-bottom:12px;flex-wrap:wrap;align-items:center}
.ag-btn{padding:9px 20px;font-size:.88rem;font-weight:bold;font-family:'MontserratLight',sans-serif;text-transform:lowercase;letter-spacing:.04em;cursor:crosshair!important;border:1px solid #ccc;border-radius:20px;background:#fff;color:#000;transition:background .15s,border-color .15s,color .15s,transform .12s;white-space:nowrap;position:relative;overflow:hidden}
.ag-btn:hover{background:#000;color:#fff!important;border-color:#000}
.ag-btn:active{transform:scale(0.97)}
.ag-btn-p{background:#000!important;color:#fff!important;border-color:#000!important}
.ag-btn-p:hover{background:#333!important;border-color:#333!important;color:#fff!important}
.ag-ripple{position:absolute;border-radius:50%;background:rgba(255,255,255,.3);transform:scale(0);animation:ripple .42s linear;pointer-events:none}
@keyframes ripple{to{transform:scale(4);opacity:0}}
#ag-forn-btns{display:flex;gap:5px;flex-wrap:wrap}
.ag-fb{padding:7px 14px;font-size:.8rem;font-weight:bold;font-family:'MontserratLight',sans-serif;text-transform:uppercase;letter-spacing:.06em;cursor:crosshair!important;border:1px solid #e6e6e6;border-radius:20px;background:#fff;color:#000;transition:all .18s cubic-bezier(0.22,1,0.36,1);white-space:nowrap}
.ag-fb:hover{border-color:#aaa}
.ag-fb.active{background:#000;color:#fff!important;border-color:#000}
.ag-fb[data-forn="TAM"].active{background:#1565c0;border-color:#1565c0;color:#fff!important}
.ag-fb[data-forn="GIT"].active{background:#6a1b9a;border-color:#6a1b9a;color:#fff!important}
.ag-fb[data-forn="BESTSELLER"].active{background:#880e4f;border-color:#880e4f;color:#fff!important}
.ag-fb[data-forn="CHLAMYS"].active{background:#2e7d32;border-color:#2e7d32;color:#fff!important}
.ag-fbadge{display:inline-flex;align-items:center;justify-content:center;min-width:14px;height:14px;border-radius:7px;font-size:.55rem;font-weight:bold;margin-left:3px;padding:0 2px;background:rgba(0,0,0,.08);color:#000;vertical-align:middle}
.ag-fb.active .ag-fbadge{background:rgba(255,255,255,.25);color:#fff}
#ag-filter-wrap{display:flex;gap:5px;margin-left:auto;flex-wrap:wrap}
.ag-filter-btn{padding:7px 14px;font-size:.8rem;font-weight:bold;font-family:'MontserratLight',sans-serif;text-transform:uppercase;letter-spacing:.06em;cursor:crosshair!important;border:1px solid #e6e6e6;border-radius:20px;background:transparent;color:#000;transition:all .15s}
.ag-filter-btn.active{border-color:#000;background:#000;color:#fff!important}
.ag-filter-btn.ag-fp.active{background:#e65100;border-color:#e65100;color:#fff!important}
.ag-filter-btn.ag-fv.active{background:#c62828;border-color:#c62828;color:#fff!important}
.ag-filter-btn.ag-fg.active{background:#2e7d32;border-color:#2e7d32;color:#fff!important}
#ag-forn-banner{display:none;align-items:center;gap:16px;padding:9px 15px;margin-bottom:11px;border-radius:12px;border:1px solid #e6e6e6;background:#fafafa;animation:slideIn .2s ease;flex-wrap:wrap}
#ag-forn-banner.show{display:flex}
#ag-fb-name{font-size:.95rem;font-weight:bold;text-transform:uppercase;letter-spacing:.08em}
#ag-fb-stats{display:flex;gap:14px}
.ag-fbs{display:flex;flex-direction:column;gap:1px}
.ag-fbs-l{font-size:.72rem;font-weight:bold;text-transform:uppercase;letter-spacing:.07em;color:#000}
.ag-fbs-v{font-size:1rem;font-weight:bold;color:#000}
.ag-fbs-v.r{color:#c62828}.ag-fbs-v.a{color:#e65100}
#ag-table-outer{text-align:center;margin-bottom:0;overflow-x:auto;-webkit-overflow-scrolling:touch;width:100%}
#ag-table-wrap{background:#fff;border:1px solid #e6e6e6;border-radius:14px;overflow:hidden;display:block;width:max-content;min-width:100%;text-align:left}
#ag-table{width:auto;border-collapse:collapse;font-family:'MontserratLight',sans-serif;font-size:.95rem;white-space:nowrap}
@media(min-width:1024px) and (hover:hover){#ag-app{max-width:1280px}#ag-table-outer{overflow-x:visible}#ag-table-wrap{width:100%;min-width:unset}#ag-table{width:100%}}
#ag-table thead th{background:#f0f0f0;padding:11px 14px;text-align:left;font-size:.75rem;font-weight:bold;text-transform:uppercase;letter-spacing:.08em;color:#000;border-bottom:1px solid #e6e6e6;position:sticky;top:0;z-index:2}
#ag-table thead th[data-sort]{cursor:crosshair!important}
.ag-thr{text-align:right}.ag-thc{text-align:center}
#ag-table tbody tr{border-bottom:1px solid #f0f0f0;transition:background .1s;animation:rowIn .28s cubic-bezier(0.22,1,0.36,1) both}
@keyframes rowIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
#ag-table tbody tr:last-child{border-bottom:none}
#ag-table tbody tr:hover{background:#fafafa}
.ag-tr-v{background:#fff8f5!important}.ag-tr-v:hover{background:#fff0e8!important}
.ag-tr-p{opacity:.5}.ag-tr-p:hover{opacity:1!important;background:#f5faf5!important}
@keyframes paidOut{0%{background:rgba(46,125,50,.1)}60%{opacity:.5;transform:translateX(4px)}100%{opacity:.4;transform:none}}
.ag-tr-paying{animation:paidOut .48s cubic-bezier(0.22,1,0.36,1) forwards!important}
#ag-table td{padding:5px 14px;color:#000;vertical-align:middle;font-weight:bold}
.ag-tdc{text-align:center}.ag-tdr{text-align:right;font-variant-numeric:tabular-nums}.ag-tdn{font-size:.88rem;color:#000;font-weight:bold}
.ag-sec-tr td{padding:7px 12px!important;font-size:.75rem!important;font-weight:bold!important;text-transform:uppercase!important;letter-spacing:.09em!important;border:none!important;border-bottom:1px solid #e6e6e6!important}
.ag-sec-v td{color:#c62828!important;background:#fff5f5!important}
.ag-sec-u td{color:#e65100!important;background:#fff8f0!important}
.ag-sec-x td{color:#1565c0!important;background:#f0f7ff!important}
.ag-sec-d td{color:#000!important;background:#fafafa!important}
.ag-sub-tr td{padding:7px 12px!important;font-size:.82rem!important;font-weight:bold!important;border-bottom:1px solid #e6e6e6!important;color:#000!important;background:#fafafa!important}
.ag-chip{display:inline-block;padding:2px 9px;border-radius:5px;font-size:.78rem;font-weight:bold;text-transform:uppercase;letter-spacing:.04em}
.ag-chip-TAM{background:#e3f2fd;color:#1565c0}
.ag-chip-GIT{background:#f3e5f5;color:#6a1b9a}
.ag-chip-BESTSELLER{background:#fce4ec;color:#880e4f}
.ag-chip-CHLAMYS{background:#e8f5e9;color:#2e7d32}
.ag-est{display:inline-flex;align-items:center;gap:3px;padding:3px 10px;border-radius:20px;font-size:.75rem;font-weight:bold;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
.ag-est-p{background:#e8f5e9;color:#2e7d32}
.ag-est-e{background:#fff3e0;color:#e65100}
.ag-est-v{background:#ffebee;color:#c62828}
.ag-est-n{background:#ede7f6;color:#4527a0}
.ag-dias{display:inline-block;padding:3px 9px;border-radius:10px;font-size:.75rem;font-weight:bold;white-space:nowrap}
.ag-du{background:#ffebee;color:#c62828}
.ag-dp{background:#fff3e0;color:#e65100}
.ag-do{background:#e8f5e9;color:#2e7d32}
.ag-dd{color:#000;font-size:.6rem}
.ag-neg{color:#4527a0!important}
.ag-sa::after{content:' ↑'}.ag-sd::after{content:' ↓'}
#ag-empty{padding:38px 0;text-align:center;color:#000;font-size:.82rem;font-weight:bold;text-transform:lowercase;display:none}
.ag-ib{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;cursor:crosshair!important;border:1px solid #e6e6e6;border-radius:6px;background:#fff;color:#000;transition:all .12s;padding:0;font-family:inherit;line-height:1}
.ag-ib:hover{opacity:1;border-color:#ccc;background:#f5f5f5}
.ag-tp:hover{border-color:#2e7d32;color:#2e7d32}
.ag-del:hover{border-color:#c62828;color:#c62828}
#ag-by-forn{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;transition:all .3s cubic-bezier(0.22,1,0.36,1)}
.ag-fb-block{background:#fff;border:1px solid #e6e6e6;border-radius:14px;overflow:hidden;transition:border-color .2s,transform .2s cubic-bezier(0.22,1,0.36,1)}
.ag-fb-block:hover{border-color:#bbb;transform:translateY(-2px)}
#ag-by-forn.solo{grid-template-columns:1fr;max-width:460px}
#ag-by-forn.solo .ag-fb-block{border-width:2px}
.ag-fb-hdr{padding:10px 14px;font-size:.78rem;font-weight:bold;text-transform:uppercase;letter-spacing:.07em;color:#000;border-bottom:1px solid #e6e6e6;display:flex;align-items:center;justify-content:space-between}
.ag-fb-TAM .ag-fb-hdr{color:#1565c0;background:#e3f2fd}
.ag-fb-GIT .ag-fb-hdr{color:#6a1b9a;background:#f3e5f5}
.ag-fb-BESTSELLER .ag-fb-hdr{color:#880e4f;background:#fce4ec}
.ag-fb-CHLAMYS .ag-fb-hdr{color:#2e7d32;background:#e8f5e9}
.ag-fb-row{display:flex;justify-content:space-between;align-items:center;padding:8px 14px;border-top:1px solid #f5f5f5;font-size:.72rem}
.ag-fb-rl{color:#000;font-size:.72rem;font-weight:bold;text-transform:uppercase;letter-spacing:.04em}
.ag-fb-rv{font-weight:bold;font-variant-numeric:tabular-nums;color:#000;font-size:.88rem}
.ag-fb-rv.g{color:#2e7d32}.ag-fb-rv.r{color:#c62828}
.ag-sl{font-size:.75rem;font-weight:bold;text-transform:uppercase;letter-spacing:.1em;color:#000;padding:18px 0 8px}
#ag-mo{display:none;position:fixed;inset:0;background:rgba(255,255,255,.8);backdrop-filter:blur(6px);z-index:500;justify-content:center;align-items:center;padding:20px}
#ag-mo.open{display:flex}
#ag-mo.open #ag-mb{animation:modalIn .26s cubic-bezier(0.22,1,0.36,1)}
@keyframes modalIn{from{opacity:0;transform:scale(.96) translateY(10px)}to{opacity:1;transform:none}}
#ag-mb{background:#fff;border:1px solid #e6e6e6;border-radius:18px;padding:26px;width:100%;max-width:440px;box-shadow:0 20px 60px rgba(0,0,0,.1);display:flex;flex-direction:column;gap:15px}
#ag-mt{font-size:.82rem;font-weight:bold;text-transform:uppercase;letter-spacing:.1em;color:#000}
.ag-fr{display:flex;flex-direction:column;gap:4px}
.ag-fr label{font-size:.75rem;font-weight:bold;text-transform:uppercase;letter-spacing:.08em;color:#000}
.ag-in{padding:10px 14px;font-size:.95rem;font-weight:600;font-family:'MontserratLight',sans-serif;background:#fff;border:1px solid #ddd;border-radius:10px;color:#000;outline:none;transition:border-color .15s;width:100%}
.ag-in:focus{border-color:#555}
.ag-fg2{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.ag-mbtns{display:flex;gap:8px;justify-content:flex-end;margin-top:3px}
#ag-snack{position:fixed;bottom:22px;right:22px;z-index:800;display:flex;align-items:center;gap:7px;padding:8px 16px;border-radius:20px;background:#000;color:#fff;font-size:.88rem;font-weight:bold;font-family:'MontserratLight',sans-serif;box-shadow:0 8px 24px rgba(0,0,0,.16);opacity:0;transform:translateY(8px);transition:opacity .2s,transform .2s cubic-bezier(0.22,1,0.36,1);pointer-events:none}
#ag-snack.show{opacity:1;transform:none}
#ag-year-nav{position:fixed;top:24px;right:24px;z-index:300;display:none;flex-direction:column;gap:6px;align-items:flex-end}
#ag-year-nav.ag-visible{display:flex}
#ag-close-year-wrap{margin-top:2px;display:none}
#ag-close-year-wrap.show{display:block}
.ag-year-btn{padding:6px 14px;font-size:.78rem;font-weight:bold;font-family:'MontserratLight',sans-serif;text-transform:lowercase;letter-spacing:.06em;cursor:crosshair!important;border:1px solid #ccc;border-radius:20px;background:#fff;color:#000;transition:background .15s,color .15s,border-color .15s;white-space:nowrap}
.ag-year-btn:hover{background:#000;color:#fff!important;border-color:#000}
.ag-year-btn.active-year{background:#000;color:#fff!important;border-color:#000}
.ag-year-btn.locked{border-style:solid;border-color:#000}
.ag-year-btn.locked::after{content:' ⊘';font-size:.65rem}
#ag-btn-close-year{padding:5px 12px;font-size:.7rem;font-weight:bold;font-family:'MontserratLight',sans-serif;text-transform:lowercase;letter-spacing:.05em;cursor:crosshair!important;border:1px solid #c62828;border-radius:20px;background:#fff;color:#c62828;transition:background .15s,color .15s;white-space:nowrap}
#ag-btn-close-year:hover{background:#c62828;color:#fff}
#ag-readonly-banner{display:none;align-items:center;justify-content:space-between;gap:12px;padding:10px 18px;margin-bottom:16px;border-radius:12px;border:1px solid #000;background:#fafafa;font-size:.82rem;font-weight:bold;animation:slideIn .22s ease}
#ag-readonly-banner.show{display:flex}
#ag-readonly-banner span{color:#000}
#ag-readonly-badge{padding:3px 10px;border-radius:20px;border:1px solid #000;font-size:.68rem;font-weight:bold;text-transform:uppercase;letter-spacing:.08em;color:#000}
#ag-edit-once-wrap{display:none;margin-bottom:12px}
#ag-edit-once-wrap.show{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
#ag-btn-edit-once{padding:7px 18px;font-size:.82rem;font-weight:bold;font-family:'MontserratLight',sans-serif;text-transform:lowercase;letter-spacing:.04em;cursor:crosshair!important;border:1.5px solid #000;border-radius:20px;background:#fff;color:#000;transition:background .15s,color .15s}
#ag-btn-edit-once:hover{background:#000;color:#fff}
#ag-btn-confirm-once{padding:7px 18px;font-size:.82rem;font-weight:bold;font-family:'MontserratLight',sans-serif;text-transform:lowercase;letter-spacing:.04em;cursor:crosshair!important;border:1.5px solid #c62828;border-radius:20px;background:#fff;color:#c62828;display:none;transition:background .15s,color .15s}
#ag-btn-confirm-once:hover{background:#c62828;color:#fff}
#ag-btn-confirm-once.show{display:inline-block}
.ag-edit-once-msg{font-size:.78rem;font-weight:bold;color:#000;display:none}
.ag-edit-once-msg.show{display:block}
@media(max-width:768px){#ag-summary{grid-template-columns:repeat(2,1fr)}#ag-by-forn{grid-template-columns:repeat(2,1fr)}#ag-filter-wrap{margin-left:0}#ag-chart-wrap{flex-direction:column}.ag-fg2{grid-template-columns:1fr}#ag-hero-value{font-size:2.2rem}
  /* Cards por fornecedor — layout limpo em mobile */
  #ag-by-forn{grid-template-columns:1fr!important;gap:10px}
  .ag-fb-block{width:100%}
  .ag-fb-hdr{font-size:.88rem;padding:12px 16px;letter-spacing:.08em}
  .ag-fb-row{padding:9px 16px}
  .ag-fb-rl{font-size:.76rem}
  .ag-fb-rv{font-size:.95rem}
  /* Borde izquierdo de color en mobile para identificar proveedor */
  .ag-fb-TAM .ag-fb-hdr{border-left:4px solid #1565c0;padding-left:12px}
  .ag-fb-GIT .ag-fb-hdr{border-left:4px solid #6a1b9a;padding-left:12px}
  .ag-fb-BESTSELLER .ag-fb-hdr{border-left:4px solid #880e4f;padding-left:12px}
  .ag-fb-CHLAMYS .ag-fb-hdr{border-left:4px solid #2e7d32;padding-left:12px}
}
@media(max-width:480px){#ag-summary{grid-template-columns:1fr 1fr}#ag-by-forn{grid-template-columns:1fr!important}}
@media(max-width:600px){
  #ag-year-nav{
    position:relative!important;
    top:auto!important;
    right:auto!important;
    flex-direction:row!important;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:6px;
    margin-bottom:8px;
  }
  .ag-year-btn{font-size:.75rem;padding:5px 12px}
}

/* ── Rótulos: base (delimitado a #rt-/.rt-) ── */
#rt-app { max-width: 1040px; margin: 0 auto; padding: 28px 20px 60px; font-weight: 500; color: #000; }
#rt-hd { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 28px; flex-wrap: wrap; gap: 10px; }
#rt-hd-title { font-size: 2rem; font-weight: 700; text-transform: lowercase; letter-spacing: .1em; color: #000; }
#rt-hd-date { font-size: .82rem; font-weight: 700; text-transform: lowercase; color: #000; }
.rt-slabel { font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; margin-bottom: 10px; color: #000; }
#rt-sum-section { margin-bottom: 28px; }
#rt-sum-wrap { border: 1px solid #e6e6e6; border-radius: 14px; overflow: hidden; overflow-x: auto; }
#rt-sum-table { width: 100%; border-collapse: collapse; font-size: .82rem; white-space: nowrap; color: #000; font-weight: 600; }
#rt-sum-table thead th { background: #f5f5f5; padding: 5px 10px; text-align: center; font-size: .65rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; border-bottom: 1px solid #e6e6e6; border-right: 1px solid #e6e6e6; color: #000; }
#rt-sum-table thead th:first-child { text-align: left; }
#rt-sum-table thead th:last-child { border-right: none; }
#rt-sum-table tbody td { padding: 3px 10px; border-bottom: 1px solid #f0f0f0; border-right: 1px solid #f0f0f0; text-align: center; color: #000; font-weight: 600; font-size: .78rem; }
#rt-sum-table tbody td:first-child { text-align: left; }
#rt-sum-table tbody td:last-child { border-right: none; }
#rt-sum-table tbody tr:last-child td { border-bottom: none; }
#rt-sum-table tbody tr:nth-child(even) td { background: #f7f7f7; }
#rt-sum-table tbody tr:nth-child(odd) td { background: #ffffff; }
#rt-sum-table tbody tr:hover td { background: #efefef !important; }
/* FNC column = medium grey, PXO column = light grey */
#rt-sum-table thead th.rt-col-fnc { background: #c8c8c8; }
#rt-sum-table thead th.rt-col-pxo { background: #e0e0e0; }
#rt-sum-table tbody td.rt-col-fnc { background: #d4d4d4 !important; }
#rt-sum-table tbody td.rt-col-pxo { background: #ebebeb !important; }
#rt-sum-table tfoot td.rt-col-fnc { background: #c0c0c0 !important; }
#rt-sum-table tfoot td.rt-col-pxo { background: #d8d8d8 !important; }
#rt-sum-table tfoot td { padding: 4px 10px; background: #f5f5f5; font-weight: 800; border-top: 2px solid #e6e6e6; border-right: 1px solid #e6e6e6; text-align: center; color: #000; font-size: .78rem; }
#rt-sum-table tfoot td:first-child { text-align: left; }
#rt-sum-table tfoot td:last-child { border-right: none; }
/* Pending totals panel */
#rt-sum-pending { display: flex; flex-direction: column; gap: 8px; min-width: 140px; flex-shrink: 0; }
.rt-pend-card { border-radius: 10px; padding: 10px 14px; display: flex; flex-direction: column; gap: 3px; }
.rt-pend-card.fnc { background: #d4d4d4; border: 1px solid #bbb; }
.rt-pend-card.pxo { background: #ebebeb; border: 1px solid #d0d0d0; }
.rt-pend-lbl { font-size: .62rem; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; color: #555; }
.rt-pend-val { font-size: 1.5rem; font-weight: 900; color: #000; line-height: 1; }
.rt-pend-sub { font-size: .66rem; font-weight: 700; color: #666; }
#rt-sum-inner { display: flex; gap: 14px; align-items: flex-start; }
.rt-num { font-weight: 800; color: #000; }
#rt-tabs { display: flex; border-bottom: 1px solid #e6e6e6; margin-bottom: 24px; }
.rt-tab-btn { padding: 10px 22px; font-size: .82rem; font-weight: 700; text-transform: lowercase; border: none; background: transparent; color: #000; cursor: pointer; border-bottom: 2px solid transparent; margin-bottom: -1px; transition: border-color .15s; font-family: inherit; }
.rt-tab-btn.active { border-bottom-color: #000; }
.rt-tab-panel { display: none; }
.rt-tab-panel.active { display: block; }
#rt-gen-layout { display: grid; grid-template-columns: 320px 1fr; gap: 20px; align-items: start; }
.rt-card { background: #fff; border: 1px solid #e6e6e6; border-radius: 14px; padding: 20px; }
.rt-card-title { font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; margin-bottom: 16px; padding-bottom: 12px; border-bottom: 1px solid #e6e6e6; color: #000; }
.rt-dest-sec { margin-bottom: 14px; }
.rt-dest-lbl { font-size: .68rem; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; margin-bottom: 9px; display: flex; align-items: center; gap: 7px; color: #000; }
.rt-ddot { width: 6px; height: 6px; border-radius: 50%; background: #000; }
.rt-store-row { display: flex; align-items: center; gap: 8px; margin-bottom: 7px; }
.rt-store-row label { flex: 1; font-size: .84rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #000; font-weight: 600; }
.rt-acc-n { font-size: .7rem; font-weight: 800; min-width: 36px; text-align: right; font-family: monospace; color: #000; }
.rt-qty-inp { width: 60px; border: 1px solid #e6e6e6; border-radius: 20px; padding: 5px 8px; font-size: .88rem; font-weight: 700; text-align: center; outline: none; transition: border-color .15s; background: #fff; color: #000; }
.rt-qty-inp:focus { border-color: #000; }
.rt-qty-inp::-webkit-outer-spin-button,.rt-qty-inp::-webkit-inner-spin-button { -webkit-appearance: none; }
.rt-add-st-btn { width: 100%; padding: 7px; background: #fff; border: 1px dashed #ccc; border-radius: 20px; color: #000; font-size: .76rem; font-weight: 700; cursor: pointer; transition: border-color .15s; margin-top: 2px; font-family: inherit; }
.rt-add-st-btn:hover { border-color: #000; }
.rt-divider { height: 1px; background: #e6e6e6; margin: 14px 0; }
.rt-btn-prim { width: 100%; padding: 11px; background: #000; color: #fff !important; border: none; border-radius: 20px; font-size: .88rem; font-weight: 800; text-transform: lowercase; cursor: pointer; transition: background .15s; font-family: inherit; }
.rt-btn-prim:hover { background: #333; color: #fff !important; }
.rt-acc-row { display: flex; justify-content: space-between; padding: 4px 0; font-size: .8rem; border-bottom: 1px solid #f5f5f5; color: #000; font-weight: 600; }
.rt-acc-row:last-child { border-bottom: none; }
.rt-acc-val { font-weight: 800; font-family: monospace; color: #000; }
#rt-prev-empty { border: 1px dashed #e6e6e6; border-radius: 14px; padding: 60px 20px; display: flex; flex-direction: column; align-items: center; gap: 10px; font-size: .85rem; text-align: center; }
.rt-prev-hd { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.rt-prev-hd h3 { font-size: .75rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; color: #000; }
.rt-prev-actions { display: flex; gap: 8px; }
.rt-btn-sm { padding: 6px 15px; border-radius: 20px; font-size: .76rem; font-weight: 700; cursor: pointer; border: 1px solid #e6e6e6; background: #fff; color: #000; text-transform: lowercase; display: inline-flex; align-items: center; gap: 5px; transition: all .15s; font-family: inherit; }
.rt-btn-sm:hover { border-color: #000; }
.rt-btn-sm.bk { background: #000; color: #fff !important; border-color: #000; }
.rt-lbl-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 10px; max-height: 560px; overflow-y: auto; }
.rt-lp { border: 1px solid #e6e6e6; border-radius: 10px; padding: 14px; font-family: Arial,sans-serif; }
.rt-lp-send { font-size: 8px; text-transform: uppercase; letter-spacing: 1.5px; margin-bottom: 5px; color: #000; font-weight: 700; }
.rt-lp-st { font-size: 14px; font-weight: 900; text-transform: uppercase; padding-bottom: 7px; margin-bottom: 7px; border-bottom: 2px solid #000; color: #000; }
.rt-lp-ad,.rt-lp-cp { font-size: 10px; color: #000; font-weight: 600; }
.rt-lp-cp { margin-bottom: 9px; }
.rt-lp-cd { font-size: 10px; font-weight: 800; font-family: 'Courier New',monospace; background: #e8e8e8; padding: 6px 8px; border-radius: 3px; border-left: 3px solid #000; word-break: break-all; color: #000; }
.rt-filters { display: flex; gap: 6px; margin-bottom: 18px; flex-wrap: wrap; align-items: center; }
.rt-fl { font-size: .7rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; margin-right: 4px; color: #000; }
.rt-fb { padding: 6px 14px; border-radius: 20px; font-size: .76rem; font-weight: 700; cursor: pointer; border: 1px solid #e6e6e6; background: #fff; color: #000; text-transform: lowercase; transition: all .15s; font-family: inherit; }
.rt-fb.active { background: #000; color: #fff !important; border-color: #000; }
.rt-sl { display: flex; flex-direction: column; gap: 12px; }
.rt-sg { border: 1px solid #e6e6e6; border-radius: 14px; overflow: hidden; }
.rt-sg-hd { display: flex; align-items: center; justify-content: space-between; padding: 12px 18px; background: #fafafa; border-bottom: 1px solid #e6e6e6; }
.rt-sg-t-wrap { display: flex; align-items: center; gap: 10px; flex: 1; cursor: pointer; }
.rt-sg-t { font-size: .9rem; font-weight: 800; color: #000; }
.rt-sg-m { display: flex; gap: 10px; align-items: center; }
.rt-sg-b { padding: 2px 9px; border-radius: 20px; font-size: .7rem; font-weight: 800; background: #000; color: #fff !important; }
.rt-sg-pr,.rt-sg-ok { font-size: .76rem; font-weight: 700; color: #000; }
.rt-sg-ch { font-size: 11px; transition: transform .2s; }
.rt-sg.col .rt-sg-ch { transform: rotate(-90deg); }
.rt-sg-bx { padding: 6px 16px 10px; display: flex; flex-direction: column; gap: 4px; }
.rt-sg.col .rt-sg-bx { display: none; }
.rt-bx { display: flex; align-items: center; gap: 9px; padding: 7px 10px; border: 1px solid #f0f0f0; border-radius: 8px; }
.rt-bx.done { opacity: .4; }
.rt-bx-chk { width: 15px; height: 15px; border-radius: 3px; border: 2px solid #e6e6e6; background: #fff; cursor: pointer; appearance: none; -webkit-appearance: none; flex-shrink: 0; position: relative; transition: all .15s; }
.rt-bx-chk:checked { background: #000; border-color: #000; }
.rt-bx-chk:checked::after { content: '✓'; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-52%); color: #fff !important; font-size: 8px; font-weight: bold; }
.rt-bx-dot { width: 6px; height: 6px; border-radius: 50%; background: #000; flex-shrink: 0; }
.rt-bx-cd { font-family: monospace; font-size: .9rem; flex: 1; color: #000; font-weight: 700; }
.rt-bx-st { font-size: .88rem; font-weight: 800; white-space: nowrap; color: #000; }
.rt-bx.done .rt-bx-cd { text-decoration: line-through; opacity: .5; }
.rt-reprint-btn { display: inline-flex; align-items: center; gap: 5px; padding: 5px 12px; border: 1px solid #000; border-radius: 20px; background: #fff; color: #000; font-size: .74rem; font-weight: 700; text-transform: lowercase; cursor: pointer; flex-shrink: 0; transition: all .15s; white-space: nowrap; font-family: inherit; }
.rt-reprint-btn:hover { background: #000; color: #fff !important; }
.rt-mm { position: fixed; inset: 0; background: rgba(0,0,0,.35); z-index: 900; display: none; align-items: center; justify-content: center; }
.rt-mm.open { display: flex; }
.rt-mm-b { background: #fff; border: 1px solid #e6e6e6; border-radius: 14px; padding: 28px; width: 340px; box-shadow: 0 20px 60px rgba(0,0,0,.12); }
.rt-mm-b h3 { font-size: .95rem; font-weight: 800; margin-bottom: 20px; text-transform: lowercase; color: #000; }
.rt-fld { margin-bottom: 12px; }
.rt-fld label { display: block; font-size: .68rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; margin-bottom: 5px; color: #000; }
.rt-fld input { width: 100%; padding: 8px 12px; border: 1px solid #e6e6e6; border-radius: 20px; font-size: .88rem; font-weight: 600; outline: none; transition: border-color .15s; font-family: inherit; color: #000; }
.rt-fld input:focus { border-color: #000; }
.rt-mm-act { display: flex; gap: 8px; margin-top: 20px; }
.rt-btn-cnc { flex: 1; padding: 9px; background: #fff; border: 1px solid #e6e6e6; border-radius: 20px; cursor: pointer; font-size: .84rem; font-weight: 700; text-transform: lowercase; transition: border-color .15s; font-family: inherit; color: #000; }
.rt-btn-cnc:hover { border-color: #000; }
.rt-btn-cnf { flex: 1; padding: 9px; background: #000; border: none; border-radius: 20px; color: #fff !important; cursor: pointer; font-size: .84rem; font-weight: 800; text-transform: lowercase; font-family: inherit; }
#rt-modal-print { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0,0,0,.5); z-index: 9999; display: none; align-items: center; justify-content: center; }
#rt-modal-print .rt-mp-box { background: #fff; border-radius: 14px; width: 92vw; max-width: 900px; max-height: 90vh; display: flex; flex-direction: column; overflow: hidden; box-shadow: 0 24px 80px rgba(0,0,0,.25); }
.rt-mp-hd { display: flex; align-items: center; justify-content: space-between; padding: 14px 22px; border-bottom: 1px solid #e6e6e6; flex-shrink: 0; }
.rt-mp-hd h2 { font-size: .84rem; font-weight: 800; text-transform: lowercase; color: #000; }
.rt-mp-actions { display: flex; gap: 8px; align-items: center; }
.rt-mp-body { overflow-y: auto; padding: 20px; flex: 1; }
.rt-mp-close { width: 28px; height: 28px; border: 1px solid #e6e6e6; border-radius: 50%; background: #fff; cursor: pointer; font-size: 14px; display: flex; align-items: center; justify-content: center; transition: all .15s; }
.rt-mp-close:hover { border-color: #c00; color: #c00; }
.rt-pg-lbl { font-size: .68rem; font-weight: bold; text-transform: uppercase; letter-spacing: .08em; margin-bottom: 8px; }
.rt-psheet { display: flex; flex-direction: column; border: 1px solid #ccc; border-radius: 8px; overflow: hidden; margin-bottom: 20px; }
.rt-rot { padding: 10px 20px; border-bottom: 1px solid #ccc; font-family: Arial,sans-serif; background: #fff; }
.rt-rot:last-child { border-bottom: none; }
.rt-rot.empty { background: #fafafa; min-height: 50px; }
.rt-rot .rs { font-size: 8px; text-transform: uppercase; letter-spacing: 1.5px; margin-bottom: 3px; color: #000; font-weight: 700; }
.rt-rot .rn { font-size: 15px; font-weight: 900; text-transform: uppercase; margin-bottom: 4px; color: #000; }
.rt-rot .ra,.rt-rot .rc { font-size: 10px; color: #000; font-weight: 600; }
.rt-rot .rc { margin-bottom: 6px; }
.rt-rot .rk { font-size: 10px; font-weight: 800; font-family: 'Courier New',monospace; background: #e8e8e8; padding: 5px 8px; border-radius: 3px; border-left: 3px solid #000; display: inline-block; word-break: break-all; color: #000; }
#rt-print-area { display: none; }
@media print {
  @page { size: A4 portrait; margin: 0; }
}
.rt-toast { position: fixed; bottom: 24px; right: 24px; background: #000; color: #fff !important; border-radius: 20px; padding: 9px 18px; font-size: .8rem; font-weight: 700; z-index: 99999; opacity: 0; transform: translateY(20px); transition: all .25s; pointer-events: none; font-family: inherit; }
.rt-toast.show { opacity: 1; transform: translateY(0); }
.rt-toast.ok { background: #2e7d32; }
.rt-es { text-align: center; padding: 50px 20px; font-size: .84rem; }
@media (max-width: 900px) { #rt-gen-layout { grid-template-columns: 1fr; } .rt-lbl-grid { grid-template-columns: 1fr; } }

/* ── Date picker row ── */
.rt-date-row { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; padding-bottom: 14px; border-bottom: 1px solid #e6e6e6; }
.rt-date-lbl { font-size: .68rem; font-weight: bold; text-transform: uppercase; letter-spacing: .1em; white-space: nowrap; }
.rt-date-inp { flex: 1; border: 1px solid #e6e6e6; border-radius: 20px; padding: 5px 12px; font-size: .82rem; font-weight: bold; outline: none; transition: border-color .15s; font-family: inherit; font-weight: 700; background: #fff; color: #000; }
.rt-date-inp:focus { border-color: #000; }
.rt-past-badge { font-size: .66rem; font-weight: bold; background: #fff3e0; color: #e65100; border: 1px solid #ffcc80; border-radius: 20px; padding: 2px 8px; white-space: nowrap; display: none; }
.rt-past-badge.show { display: inline-block; }

/* ── Historical shipment modal ── */
#rt-hist-modal { position: fixed; inset: 0; background: rgba(0,0,0,.45); z-index: 950; display: none; align-items: center; justify-content: center; }
#rt-hist-modal.open { display: flex; }
#rt-hist-box { background: #fff; border-radius: 16px; padding: 28px; width: min(480px, 94vw); max-height: 85vh; overflow-y: auto; box-shadow: 0 24px 80px rgba(0,0,0,.2); }
#rt-hist-box h3 { font-size: .95rem; font-weight: bold; text-transform: lowercase; margin-bottom: 6px; }
.rt-hist-sub { font-size: .75rem; color: #888; font-weight: bold; margin-bottom: 20px; }
.rt-hist-date-row { display: flex; align-items: center; gap: 10px; margin-bottom: 20px; }
.rt-hist-date-row label { font-size: .68rem; font-weight: bold; text-transform: uppercase; letter-spacing: .08em; white-space: nowrap; }
#rt-hist-date { flex: 1; border: 1px solid #e6e6e6; border-radius: 20px; padding: 7px 14px; font-size: .88rem; font-weight: bold; outline: none; font-family: inherit; transition: border-color .15s; color: #000; }
#rt-hist-date:focus { border-color: #000; }
.rt-hist-sec-lbl { font-size: .66rem; font-weight: bold; text-transform: uppercase; letter-spacing: .1em; margin-bottom: 8px; display: flex; align-items: center; gap: 6px; }
.rt-hist-stores { margin-bottom: 16px; }
.rt-hist-row { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }
.rt-hist-row label { flex: 1; font-size: .84rem; }
.rt-hist-row .rt-acc-n { font-size: .7rem; font-weight: bold; min-width: 36px; text-align: right; font-family: monospace; }
.rt-hist-act { display: flex; gap: 8px; margin-top: 20px; }
.rt-btn-hist { padding: 5px 14px; font-size: .76rem; font-weight: bold; cursor: pointer; border: 1px solid #e6e6e6; border-radius: 20px; background: #fff; color: #000; text-transform: lowercase; transition: all .15s; font-family: inherit; margin-left: auto; }
.rt-btn-hist:hover { border-color: #000; background: #000; color: #fff !important; }

/* ── Sync indicator ── */
#rt-sync-dot { width: 7px; height: 7px; border-radius: 50%; background: #ccc; display: inline-block; margin-left: 8px; transition: background .3s; }
#rt-sync-dot.syncing { background: #e65100; }
#rt-sync-dot.ok { background: #2e7d32; }

/* ── Monthly group rows in summary table ── */
.rt-month-row td { background: #f0f0f0 !important; cursor: pointer; user-select: none; }
.rt-month-row:hover td { background: #e8e8e8 !important; }
.rt-month-tri { display: inline-block; font-size: .65rem; margin-right: 6px; transition: transform .18s; color: #555; }
.rt-month-row.open .rt-month-tri { transform: rotate(90deg); }
.rt-month-detail { display: none; }
.rt-month-detail.open { display: table-row; }

/* ── Delete shipment button ── */
.rt-del-btn { width: 26px; height: 26px; border-radius: 50%; border: 1px solid #e6e6e6; background: #fff; color: #bbb; font-size: 13px; cursor: pointer; display: flex; align-items: center; justify-content: center; flex-shrink: 0; transition: all .15s; margin-left: 6px; }
.rt-del-btn:hover { border-color: #c00; color: #c00; background: #fff5f5; }

/* ── Delete confirmation modal ── */
#rt-del-modal { position: fixed; inset: 0; background: rgba(0,0,0,.45); z-index: 960; display: none; align-items: center; justify-content: center; }
#rt-del-modal.open { display: flex; }
#rt-del-box { background: #fff; border-radius: 16px; padding: 28px; width: min(360px, 92vw); box-shadow: 0 24px 80px rgba(0,0,0,.2); }
#rt-del-box h3 { font-size: .92rem; font-weight: bold; text-transform: lowercase; margin-bottom: 8px; }
#rt-del-box p { font-size: .82rem; color: #666; font-weight: bold; margin-bottom: 22px; line-height: 1.5; }
.rt-del-act { display: flex; gap: 8px; }
.rt-del-confirm { flex: 1; padding: 10px; background: #c00; border: none; border-radius: 20px; color: #fff !important; cursor: pointer; font-size: .84rem; font-weight: 800; text-transform: lowercase; font-family: inherit; transition: background .15s; }
.rt-del-confirm:hover { background: #a00; color: #fff !important; }

/* ── Agenda: classes extraídas de estilos inline pontuais ── */
.ag-cb-wide{flex:2}
.ag-th-num{width:30px}
.ag-th-actions{width:68px}
#ag-sync-status{position:fixed;bottom:22px;left:22px;z-index:800;display:flex;align-items:center;gap:6px;padding:6px 14px;border-radius:20px;background:#fff;border:1px solid #e6e6e6;font-size:.75rem;font-weight:bold;font-family:"MontserratLight",sans-serif;color:#000;opacity:0;transition:opacity .3s;pointer-events:none;box-shadow:0 4px 14px rgba(0,0,0,.07)}
.ag-sync-icon{font-size:.85rem}
.ag-fw-bold{font-weight:bold}
.ag-sub-right{text-align:right}
.ag-fb-divider{border-top:1px solid #e6e6e6}

/* ── Rótulos: classes extraídas de estilos inline pontuais ── */
.rt-flex1-noshrink{flex:1;min-width:0}
.rt-th-left{text-align:left}
.rt-empty-row{text-align:center;padding:16px;font-size:.82rem}
.rt-card-top{margin-top:12px;padding:14px 16px}
.rt-card-title-sep{margin-bottom:10px;padding-bottom:8px}
.rt-muted{color:#aaa}
.rt-uppercase{text-transform:uppercase}
.rt-mt10{margin-top:10px}
.rt-flex1{flex:1}
.rt-pend-days{font-size:.6rem;font-weight:700;color:#888;}
.rt-hist-mark{font-size:.64rem;color:#e65100;font-weight:bold}
.rt-indent28{padding-left:28px}
.rt-fw-bold{font-weight:bold}
.rt-hist-badge{font-size:.64rem;color:#e65100;border:1px solid #ffcc80;border-radius:10px;padding:1px 6px;background:#fff3e0}

/* ══════════════════════════════════════════════════════════════
   TAM — estilos migrados de tamEnsureStyles() (tam.js)
   Fusão ean-tool.js → tam.js. Antes injetado via <style> em JS,
   removido de tam.js e movido para cá — TAM já não precisa de
   ser tocado para alterar aparência (só este ficheiro).
══════════════════════════════════════════════════════════════ */
.tam-freight-alert { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-top:8px; padding:8px 12px; background:#fff8e1; border:1.5px solid #ffc107; border-radius:9px; font-size:.8rem; color:#6d4c00; }
.tam-freight-icon { font-size:1.1rem; }
.tam-freight-msg { flex:1; min-width:180px; }
.tam-freight-btn { display:inline-flex; align-items:center; gap:5px; padding:6px 14px; background:linear-gradient(135deg,#e65100,#ff8f00); color:#fff; border:none; border-radius:8px; font-size:.78rem; font-weight:700; font-family:MontserratLight,sans-serif; cursor:pointer; white-space:nowrap; transition:background .14s,box-shadow .14s; box-shadow:0 2px 8px rgba(230,81,0,.35); letter-spacing:.02em; }
.tam-freight-btn:hover { background:linear-gradient(135deg,#bf360c,#e65100); box-shadow:0 4px 14px rgba(230,81,0,.45); }
.tam-freight-applied { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-top:8px; padding:7px 12px; background:#e8f5e9; border:1.5px solid #81c784; border-radius:9px; font-size:.78rem; color:#1b5e20; }
.tam-freight-remove-btn { margin-left:auto; padding:3px 9px; background:transparent; border:1.5px solid #a5d6a7; border-radius:6px; font-size:.72rem; color:#388e3c; cursor:pointer; font-family:MontserratLight,sans-serif; transition:background .12s,color .12s; }
.tam-freight-remove-btn:hover { background:#c8e6c9; color:#1b5e20; }
.tam-tr-ship-ext td { color:#e65100!important; font-style:italic; }
#tam-upload-label.loaded, #upload-label.loaded { min-height:0!important; padding:7px 16px!important; }
#tam-upload-label.loaded .upload-icon, #upload-label.loaded .upload-icon { display:none!important; }
#tam-session-dialog { position:fixed; inset:0; background:rgba(0,0,0,.45); z-index:800; display:flex; align-items:center; justify-content:center; }
#tam-session-dialog-box { background:#fff; border-radius:16px; padding:24px 28px 22px; width:min(420px,92vw); font-family:'MontserratLight',sans-serif; box-shadow:0 16px 64px rgba(0,0,0,.18); }
.tam-dialog-title { font-size:.6rem; font-weight:700; text-transform:uppercase; letter-spacing:.12em; color:#000; opacity:.5; margin-bottom:12px; }
.tam-dialog-body { font-size:.88rem; font-weight:600; color:#000; line-height:1.6; margin-bottom:22px; }
.tam-dialog-btns { display:flex; flex-direction:column; gap:8px; }
.tam-dialog-btn { padding:12px 18px; font-size:.82rem; font-weight:700; font-family:'MontserratLight',sans-serif; cursor:pointer; border-radius:10px; border:1px solid #e0e0e0; background:transparent; text-align:left; transition:all 0.14s; color:#000; text-transform:lowercase; }
.tam-dialog-btn:hover { background:#f5f5f5; border-color:#ccc; }
.tam-dialog-btn-new { border-color:#555; background:#fff; color:#000; }
.tam-dialog-btn-new:hover { background:#f0f0f0; border-color:#555; }
#tam-session-status { font-size:.62rem; font-weight:700; color:#4A7C6F; white-space:nowrap; flex-basis:100%; text-align:center; min-height:14px; order:10; }
#tam-status-msg { font-weight:700!important; font-size:.82rem!important; color:#000; }
#tam-dn-count { color:#000!important; font-weight:700!important; font-size:.75rem; }
#tam-session-status.saved { color:#4A7C6F!important; }
#tam-save-btn { display:none; }
#tam-save-btn.visible { display:inline-flex!important; }
#tam-guia-bar-btn { display:none; }
#tam-close-session-btn { display:none; padding:7px 12px; font-size:.92rem; font-weight:700; font-family:'MontserratLight',sans-serif; cursor:pointer; border:1px solid #ccc; border-radius:8px; background:transparent; color:#000; transition:all 0.15s; white-space:nowrap; line-height:1; }
#tam-close-session-btn:hover { border-color:#9B4D4D; color:#9B4D4D; background:rgba(155,77,77,.08); }
#tam-sessions-inline { display:none; width:100%; max-width:520px; margin:16px auto 0; font-family:'MontserratLight',sans-serif; }
#tab-tam:not(.tam-loaded) #tam-sessions-inline { display:block; }
.tam-sessions-inline-title { font-size:.62rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#000!important; opacity:.4; background:transparent!important; padding:0; margin-bottom:8px; }
#tam-sessions-dropdown { width:100%; max-height:420px; overflow-y:auto; }
#tam-sessions-btn { display:none; }
#tab-tam.tam-loaded #tam-sessions-btn { display:inline-flex; }
#tam-sessions-switch-modal { position:fixed; inset:0; background:rgba(0,0,0,.45); z-index:900; display:flex; align-items:center; justify-content:center; padding:16px; }
#tam-sessions-switch-box { width:min(480px,100%); max-height:80vh; display:flex; flex-direction:column; background:#fff; border-radius:14px; overflow:hidden; box-shadow:0 8px 40px rgba(0,0,0,.25); font-family:'MontserratLight',sans-serif; }
.tam-sessions-switch-hdr { display:flex; align-items:center; justify-content:space-between; background:#000!important; flex-shrink:0; }
.tam-sessions-switch-hdr .tam-sessions-inline-title { flex:1; opacity:1; color:#fff!important; padding:10px 18px; margin-bottom:0; background:#000!important; }
#tam-sessions-switch-close { background:none; border:none; color:#fff!important; font-size:.85rem; cursor:pointer; padding:10px 18px; line-height:1; }
#tam-sessions-switch-close:hover { opacity:.65; }
#tam-sessions-switch-dropdown { overflow-y:auto; }
.tam-dd-item { display:flex; align-items:center; gap:8px; padding:10px 14px; margin-bottom:6px; background:rgba(255,255,255,0.5); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); border:1px solid rgba(255,255,255,0.65); border-radius:12px; box-shadow:0 2px 10px rgba(0,0,0,0.05); transition:background .15s ease, box-shadow .15s ease; }
.tam-dd-dot { width:8px; height:8px; border-radius:50%; flex-shrink:0; }
.tam-dd-dot-green { background:#4A7C6F; }
.tam-dd-dot-red   { background:#9B4D4D; }
.tam-dd-dot-grey  { background:#ccc; }
.tam-dd-item:last-child { margin-bottom:0; }
.tam-dd-item:hover { background:rgba(255,255,255,0.72); box-shadow:0 4px 16px rgba(0,0,0,0.08); }
.tam-dd-item-info { flex:1; min-width:0; }
.tam-dd-item-name { font-size:.84rem; font-weight:700; color:#000; white-space:normal; word-break:break-word; }
.tam-dd-item-meta { font-size:.7rem; color:#888; font-weight:600; margin-top:2px; }
.tam-dd-load-btn { padding:3px 10px; border:1px solid #ccc; border-radius:6px; background:transparent; color:#000; font-size:.7rem; font-weight:700; cursor:pointer; font-family:'MontserratLight',sans-serif; transition:all 0.14s; white-space:nowrap; }
.tam-dd-load-btn:hover { background:#f0f0f0; border-color:#555; }
.tam-dd-del-btn { background:none; border:1px solid #ddd; cursor:pointer; font-size:.7rem; font-weight:700; color:#000; padding:3px 8px; border-radius:6px; flex-shrink:0; font-family:'MontserratLight',sans-serif; transition:all .14s; }
.tam-dd-del-btn:hover { color:#9B4D4D; border-color:#9B4D4D; background:#F5EAEA; }
.tam-sessions-empty { color:#000; opacity:.4; text-align:center; padding:28px 0; font-size:.82rem; font-weight:700; }
#tam-results-wrap { width:100%; max-width:960px; overflow-x:auto; }
.tam-table { width:100%; border-collapse:collapse; font-family:'MontserratLight',sans-serif; }
.tam-th { background:#fafafa; padding:8px 12px; text-align:center; font-size:.68rem; font-weight:700; text-transform:uppercase; letter-spacing:.10em; border:none; border-bottom:1px solid #e0e0e0; white-space:nowrap; color:#000; }
.tam-th-funchal { background:#f0f0f0!important; color:#000!important; letter-spacing:.10em; font-weight:700!important; border-bottom:2px solid #e0e0e0!important; }
.tam-th-porto   { background:#e8e8e8!important; color:#000!important; letter-spacing:.10em; font-weight:700!important; border-bottom:2px solid #e0e0e0!important; }
.tam-th-actions { background:transparent!important; border-bottom:2px solid #e0e0e0!important; width:58px; }
.tam-cell-actions { padding:3px 4px!important; }
.tam-row-action-cell { display:flex; gap:3px; align-items:center; justify-content:center; }
.tam-row-action-btn { border:1px solid #ccc; background:transparent; border-radius:4px; font-size:.58rem; font-weight:700; padding:2px 5px; cursor:pointer; color:#000; transition:background .12s,border-color .12s; line-height:1; font-family:'MontserratLight',sans-serif; white-space:nowrap; }
.tam-row-action-btn:hover { background:#111; border-color:#111; color:#fff!important; }
.tam-row-action-active { background:#111!important; border-color:#111!important; color:#fff!important; }
.tam-th-empty { background:transparent!important; border:none!important; padding:0!important; }
.tam-quick-header-row th, .tam-quick-split-row th { border-bottom:none!important; padding:4px 6px!important; text-align:center; vertical-align:middle; }
.tam-th-split-cell { text-align:center!important; background:#ececec!important; }
.tam-td { padding:5px 12px; border:none; border-bottom:1px solid #f0f0f0; font-size:.88rem; font-weight:800; vertical-align:middle; text-align:center; white-space:nowrap; color:#000; }
.tam-td-num { font-variant-numeric:tabular-nums; }
.tam-cell-funchal { color:#000; font-weight:800; }
.tam-cell-porto   { color:#000; font-weight:800; }
.tam-table tbody tr:hover td { background:#f5f5f5; }
.tam-ref-complete td { color:#bbb!important; }
.tam-ref-complete td strong { color:#bbb!important; }
.tam-ref-complete .tam-rec-ref-col { background-color:#fafafa!important; background:#fafafa!important; color:#bbb!important; }
.tam-ref-complete .tam-rec-total-col { background-color:#fafafa!important; background:#fafafa!important; }
.tam-ref-complete .tam-rec-cell-f { background-color:#fafafa!important; background:#fafafa!important; }
.tam-ref-complete .tam-rec-cell-p { background-color:#fafafa!important; background:#fafafa!important; }
.tam-ref-complete .tam-rec-input { color:#ccc!important; border-color:#eee!important; }
.tam-box-sub-complete { background:#f5f5f5!important; }
.tam-box-cell-complete.tam-rec-cell-f { background-color:#f5f5f5!important; background:#f5f5f5!important; }
.tam-box-cell-complete.tam-rec-cell-p { background-color:#f5f5f5!important; background:#f5f5f5!important; }
.tam-table tfoot td { background:#fff; font-weight:800; border-top:2px solid #e0e0e0; padding:5px 12px; text-align:center; white-space:nowrap; }
.tam-table tfoot tr.tam-tr-ship td { background:#fff; font-weight:700; font-size:.82rem; color:#000; opacity:.55; border-top:1px solid #f0f0f0; padding:3px 12px; }
.tam-table tfoot tr.tam-tr-grand td { background:#fff; font-size:.92rem; border-top:2px solid #e0e0e0; }
.tam-row-conflict td { background:#FFFBF5!important; }
.tam-badge { display:inline-block; margin-left:5px; font-size:.6rem; padding:1px 5px; border-radius:4px; vertical-align:middle; font-weight:700; color:#fff; }
.tam-badge-conflict { background:#E8A44A; color:#fff; }
.tam-badge-discount { background:#4A7C6F; color:#fff; cursor:help; }
.tam-badge-credit { background:#9B4D4D; color:#fff; cursor:help; }
.tam-conflict-ref { font-weight:800; color:#9B4D4D; }
.tam-credit-block { display:flex; flex-direction:column; gap:4px; margin:6px 14px 0; }
.tam-credit-row { display:flex; align-items:center; gap:8px; flex-wrap:wrap; padding:6px 12px; background:#FBF3F3; border:1.5px solid #E3C9C9; border-radius:9px; font-size:.78rem; color:#7A3B3B; }
.tam-credit-icon { font-size:.9rem; }
.tam-credit-num { font-weight:800; }
.tam-credit-date { opacity:.7; }
.tam-credit-amt { margin-left:auto; font-weight:700; }
.tam-credit-warn { cursor:help; }
.tam-credit-remove-btn { padding:2px 9px; background:transparent; border:1.5px solid #D8AFAF; border-radius:6px; font-size:.72rem; color:#9B4D4D; cursor:pointer; font-family:'MontserratLight',sans-serif; transition:background .12s,color .12s; }
.tam-credit-remove-btn:hover { background:#E3C9C9; color:#5A2626; }
.tam-session-btn { position:relative; background:#f0f0f0; border:1px solid #e0e0e0; border-radius:20px; color:#000; font-size:.72rem!important; font-weight:700; font-family:'MontserratLight',sans-serif; letter-spacing:.10em; text-transform:uppercase; cursor:pointer; padding:5px 14px; display:inline-flex; align-items:center; justify-content:center; white-space:nowrap; flex-shrink:0; transition:background .18s ease,color .18s ease,border-color .18s ease,transform .2s ease!important; transform-origin:center; overflow:visible; }
.tam-session-btn:hover { background:#111!important; border-color:#111!important; color:#fff!important; transform:scale(1.1)!important; }
#tam-dn-load-bar-btn, #tam-dn-cam-bar-btn { font-size:.72rem!important; letter-spacing:.10em!important; font-weight:700!important; }
.tam-inv-toggle-btn { background:none; border:none; cursor:pointer!important; font-size:1.15rem; color:#000; padding:0 8px 0 0; line-height:1; transition:color .15s; flex-shrink:0; user-select:none; }
.tam-inv-toggle-btn:hover { color:#000; }
#tam-rec-toggle-btn { font-size:1.6rem; color:#999; }
@media (pointer:coarse) and (min-width:768px) {
  .tam-inv-toggle-btn { font-size:1.4rem; padding:4px 10px 4px 0; color:#000; min-width:36px; min-height:36px; display:inline-flex; align-items:center; justify-content:center; }
  #tam-rec-toggle-btn { font-size:1.6rem; padding:6px 12px; color:#333; min-width:44px; min-height:44px; }
}
.tam-inv-collapsed .tam-inv-banner { display:none!important; }
.tam-inv-collapsed .tam-inv-table-wrap thead { display:none!important; }
.tam-inv-collapsed .tam-inv-table-wrap tbody { display:none!important; }
.tam-inv-collapsed .tam-inv-table-wrap tfoot tr:first-child td { border-top:1px solid #e6e6e6; }
.tam-inv-collapsed .tam-inv-table-wrap tfoot { display:none!important; }
.tam-inv-collapsed .tam-inv-remove-btn,.tam-inv-collapsed .tam-inv-meta-rest,.tam-inv-collapsed .tam-inv-edit-btn,.tam-inv-collapsed .tam-inv-stock-btn,.tam-inv-collapsed .tam-inv-guia-btn,.tam-inv-collapsed .tam-inv-export-btn,.tam-inv-collapsed .tam-inv-credit-btn { display:none!important; }
.tam-invoice-block.tam-inv-collapsed .tam-credit-block { display:none!important; }
.tam-single-inv-collapsed thead { display:none!important; }
.tam-single-inv-collapsed tbody { display:none!important; }
.tam-single-inv-collapsed tfoot tr:first-child td { border-top:1px solid #e6e6e6; }
.tam-rec-area-title { display:flex; align-items:center; }
.tam-rec-collapsed .tam-rec-collapsible { display:none!important; }
.tam-invoice-block { width:100%; max-width:960px; margin-bottom:0; border:none; border-bottom:3px solid #000; padding-bottom:40px; overflow:visible; }
.tam-invoice-block:last-of-type { border-bottom:none; padding-bottom:0; }
.tam-invoice-block-header { display:flex; flex-direction:column; align-items:center; gap:4px; padding:18px 24px; background:transparent; border-radius:12px 12px 0 0; }
.tam-inv-hdr-row1 { display:flex; align-items:center; width:100%; justify-content:center; position:relative; }
.tam-inv-hdr-row1 .tam-inv-toggle-btn { position:absolute; left:0; }
.tam-inv-hdr-row1 .tam-inv-remove-btn { position:absolute; right:0; }
.tam-inv-hdr-row2 { text-align:center; }
.tam-inv-hdr-row3 { text-align:center; margin-bottom:4px; }
.tam-inv-hdr-btns { display:flex; align-items:center; gap:8px; flex-wrap:wrap; justify-content:center; }
.tam-th-quick-col-btn { display:block; width:100%; background:transparent; border:none; color:#000; font-size:.72rem; font-weight:700; font-family:'MontserratLight',sans-serif; letter-spacing:.10em; text-transform:uppercase; cursor:pointer; padding:7px 4px; box-shadow:inset 0 -2px 0 rgba(0,0,0,.18); transition:background .15s,box-shadow .15s,transform .1s; }
.tam-th-quick-col-btn:hover { background:rgba(0,0,0,.07); box-shadow:inset 0 -3px 0 rgba(0,0,0,.28); }
.tam-th-quick-col-btn:active { transform:translateY(1px); box-shadow:inset 0 2px 0 rgba(0,0,0,.15); }
.tam-inv-color-0,.tam-inv-color-1,.tam-inv-color-2,.tam-inv-color-3,.tam-inv-color-4,.tam-inv-color-5 { background:transparent!important; border-bottom:none!important; }
.tam-inv-color-0 .tam-inv-num,.tam-inv-color-1 .tam-inv-num,.tam-inv-color-2 .tam-inv-num,.tam-inv-color-3 .tam-inv-num,.tam-inv-color-4 .tam-inv-num,.tam-inv-color-5 .tam-inv-num { color:#000!important; text-shadow:none; }
.tam-inv-color-0 .tam-inv-meta,.tam-inv-color-1 .tam-inv-meta,.tam-inv-color-2 .tam-inv-meta,.tam-inv-color-3 .tam-inv-meta,.tam-inv-color-4 .tam-inv-meta,.tam-inv-color-5 .tam-inv-meta { color:#000!important; text-shadow:none; opacity:.5; }
.tam-inv-color-0 .tam-inv-total,.tam-inv-color-1 .tam-inv-total,.tam-inv-color-2 .tam-inv-total,.tam-inv-color-3 .tam-inv-total,.tam-inv-color-4 .tam-inv-total,.tam-inv-color-5 .tam-inv-total { color:#000!important; text-shadow:none; }
.tam-inv-color-0 .tam-inv-toggle-btn,.tam-inv-color-1 .tam-inv-toggle-btn,.tam-inv-color-2 .tam-inv-toggle-btn,.tam-inv-color-3 .tam-inv-toggle-btn,.tam-inv-color-4 .tam-inv-toggle-btn,.tam-inv-color-5 .tam-inv-toggle-btn { color:#000!important; }
.tam-invoice-block-header button:not(.tam-inv-toggle-btn):not(.tam-inv-edit-btn):not(.tam-inv-stock-btn):not(.tam-inv-guia-btn):not(.tam-inv-export-btn):not(.tam-inv-remove-btn) { padding:3px 11px!important; border:1px solid #ccc!important; border-radius:6px!important; background:transparent!important; color:#000!important; font-size:.72rem!important; font-weight:700!important; cursor:pointer; font-family:'MontserratLight',sans-serif; transition:all 0.14s!important; text-shadow:none!important; text-transform:lowercase; }
.tam-invoice-block-header button:not(.tam-inv-toggle-btn):not(.tam-inv-edit-btn):not(.tam-inv-stock-btn):not(.tam-inv-guia-btn):not(.tam-inv-export-btn):not(.tam-inv-remove-btn):hover { background:#f0f0f0!important; border-color:#555!important; }
.tam-inv-color-0 .tam-inv-quick-active,.tam-inv-color-1 .tam-inv-quick-active,.tam-inv-color-2 .tam-inv-quick-active,.tam-inv-color-3 .tam-inv-quick-active,.tam-inv-color-4 .tam-inv-quick-active,.tam-inv-color-5 .tam-inv-quick-active { color:#000!important; font-weight:700!important; text-shadow:none!important; border:1px solid #e0e0e0!important; background:#f5f5f5!important; border-radius:6px; padding:3px 8px; }
.tam-invoice-block-header .tam-inv-quick-undo { border-color:#ccc!important; color:#000!important; background:transparent!important; }
.tam-invoice-block-header .tam-inv-quick-undo:hover { border-color:#9B4D4D!important; color:#9B4D4D!important; background:rgba(155,77,77,.12)!important; }
.tam-inv-num { font-size:1.5rem; font-weight:800; color:#000!important; letter-spacing:.02em; }
.tam-inv-meta { font-size:.78rem; font-weight:400; text-transform:uppercase; letter-spacing:.18em; color:#000; opacity:.5; }
.tam-inv-total { font-size:1.4rem; font-weight:300; color:#000; letter-spacing:-.02em; }
.tam-inv-table-wrap { overflow-x:auto; border-radius:0 0 12px 12px; }
.tam-inv-separator { height:auto; padding-top:80px; background:#ececec; border-bottom:3px solid #000; margin:0 auto 40px; width:calc(100% - 48px); max-width:912px; box-sizing:border-box; }
.tam-inv-banner { display:flex; flex-wrap:wrap; gap:4px 20px; padding:10px 20px; font-size:.75rem; font-weight:700; font-family:'MontserratLight',sans-serif; border-bottom:1px solid #e0e0e0; border-left:1px solid #e0e0e0; border-right:1px solid #e0e0e0; }
.tam-inv-banner.ok  { background:transparent; color:#4A7C6F; }
.tam-inv-banner.err { background:transparent; color:#9B4D4D; }
.tam-inv-banner .tam-vi { display:flex; align-items:center; gap:6px; }
.tam-inv-banner .tam-vi em { font-style:normal; font-size:.6rem; color:#000; text-transform:uppercase; letter-spacing:.12em; opacity:.5; }
.tam-inv-banner .tam-engine-sel-wrap { width:100%; margin-top:2px; }
.tam-inv-banner .tam-engine-btns { display:flex; gap:6px; flex-wrap:wrap; margin-top:4px; }
#tam-invoice-meta { display:none; width:100%; max-width:960px; background:transparent; border:none; padding:10px 0; margin-bottom:12px; font-size:.85rem; font-weight:700; color:#000; flex-wrap:wrap; gap:10px 20px; align-items:center; }
#tam-invoice-meta.show { display:flex; }
#tam-invoice-meta .tam-mi { display:flex; flex-direction:column; gap:1px; align-items:center; text-align:center; }
#tam-invoice-meta .tam-mi em { font-style:normal; font-size:.6rem; color:#000; text-transform:uppercase; letter-spacing:.12em; opacity:.5; }
#tam-validation-banner { display:none; width:100%; max-width:960px; border:none; padding:8px 0 12px; margin-bottom:0; font-size:.75rem; font-weight:700; flex-wrap:wrap; gap:6px 24px; }
#tam-validation-banner.ok  { display:flex; color:#4A7C6F; }
#tam-validation-banner.err { display:flex; color:#9B4D4D; }
#tam-validation-banner .tam-vi { display:flex; flex-direction:column; gap:0; align-items:center; text-align:center; }
#tam-validation-banner .tam-vi em { font-style:normal; font-size:.6rem; color:#000; text-transform:uppercase; letter-spacing:.12em; opacity:.5; }
.tam-engine-sel-wrap { grid-column:1/-1; width:100%; margin-top:4px; }
.tam-engine-btns { display:flex; gap:8px; margin-top:6px; justify-content:flex-start; flex-wrap:wrap; }
.tam-ebtn { border:1px solid #ccc; background:transparent; padding:7px 16px; border-radius:8px; cursor:pointer; font-family:'MontserratLight',sans-serif; font-size:.78rem; line-height:1.45; text-align:center; transition:all 0.15s; min-width:110px; color:#000; font-weight:700; text-transform:lowercase; }
.tam-ebtn:hover { background:#f0f0f0; border-color:#555; }
.tam-ebtn-active { background:#f0f0f0!important; border-color:#555!important; }
.tam-ebtn-label { display:block; font-weight:700; font-size:.82rem; }
.tam-ebtn-detail { display:block; font-size:.68rem; color:#000; opacity:.45; margin-top:2px; }
.tam-ebtn-active .tam-ebtn-detail { color:#fff; opacity:.6; }
.tam-chk-ok { color:#4A7C6F; }
.tam-chk-err { color:#9B4D4D; }
#tam-reception-area { width:100%; max-width:1600px; margin-top:20px; }
.tam-rec-boxes-scroll { overflow-x:auto; -webkit-overflow-scrolling:touch; width:100%; }
.tam-rec-area { border:1px solid #e0e0e0; border-radius:14px; overflow:visible; background:#fff; width:-moz-fit-content; width:fit-content; max-width:100%; margin-left:auto; margin-right:auto; }
.tam-rec-flex { display:flex; align-items:flex-start; gap:16px; }
.tam-rec-main-col { flex:0 1 auto; min-width:0; max-width:100%; }
.tam-boxlist-panel { flex:0 0 165px; display:flex; flex-direction:column; gap:10px; border-left:1px solid #e0e0e0; padding:8px 0 8px 12px; }
.tam-boxlist-hdr { font-size:.6rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:#000; opacity:.5; margin-bottom:6px; }
.tam-boxlist-section { display:flex; flex-direction:column; gap:6px; }
.tam-boxlist-item { display:flex; align-items:center; gap:2px; width:100%; padding:1px 6px 1px 8px; border:1px solid #e0e0e0; border-radius:7px; background:#fff; transition:all .15s; }
.tam-boxlist-item:hover { border-color:#555; background:#fafafa; }
.tam-boxlist-item-active { border-color:#000; background:rgba(0,0,0,.05); }
.tam-boxlist-item-incomplete { border-color:#E8A44A; }
.tam-boxlist-item-over { border-color:#9B4D4D; }
.tam-boxlist-item-main { flex:1 1 auto; min-width:0; display:flex; align-items:center; justify-content:space-between; gap:6px; padding:5px 3px; border:none; background:transparent; cursor:pointer; font-family:'MontserratLight',sans-serif; font-size:.74rem; font-weight:700; color:#000!important; text-align:left; }
.tam-boxlist-label { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0; flex:1 1 auto; }
.tam-boxlist-pct { font-size:.68rem; opacity:.5; white-space:nowrap; }
.tam-boxlist-warn { font-size:.72rem; }
.tam-boxlist-empty { font-size:.75rem; opacity:.4; padding:4px 2px; }
.tam-boxlist-pending-dn { margin-bottom:4px; }
.tam-boxlist-pending-dn-btn { width:100%; text-align:left; padding:5px 7px; font-size:.7rem; font-weight:700; font-family:'MontserratLight',sans-serif; border:1px solid #333!important; border-radius:7px; background:#333!important; color:#fff!important; cursor:pointer; transition:all .15s; }
.tam-boxlist-pending-dn-btn:hover { background:#111!important; color:#fff!important; }
.tam-boxlist-pending-dn-list { display:flex; flex-direction:column; gap:6px; padding:6px 2px 2px; }
.tam-boxlist-pending-dn-group { font-size:.68rem; }
.tam-boxlist-pending-dn-inv { font-weight:700; color:#000; }
.tam-boxlist-pending-dn-codes { color:#888; font-family:'Courier New',monospace; word-break:break-word; }
.tam-boxlist-link-btn, .tam-boxlist-unlink-btn { flex:0 0 auto; background:transparent; border:1px solid #e0e0e0; border-radius:6px; cursor:pointer; font-size:.7rem; padding:2px 6px; transition:all .15s; }
.tam-boxlist-link-btn:hover { background:#f0f0f0; border-color:#555; }
.tam-boxlist-unlink-btn:hover { background:#fdeaea; border-color:#c00; color:#c00!important; }
@media (max-width:768px) {
  .tam-rec-flex { flex-direction:column; }
  .tam-boxlist-panel { flex:0 0 auto; width:100%; border-left:none; border-top:1px solid #e0e0e0; padding:14px 0 0 0; flex-direction:row; flex-wrap:wrap; }
  .tam-boxlist-section { flex:1 1 45%; min-width:140px; }
}
.tam-rec-area-title { padding:20px 30px; font-size:.95rem; font-weight:700; text-transform:uppercase; letter-spacing:.12em; border-bottom:1px solid #e0e0e0; border-radius:14px 14px 0 0; background:#000!important; color:#fff!important; opacity:1!important; }
.tam-rec-area-title .tam-inv-toggle-btn { color:#fff!important; }
.tam-rec-area-title .tam-inv-toggle-btn:hover { color:#ccc!important; }
.tam-rec-quick-btns { display:flex; align-items:center; gap:8px; padding:10px 18px; border-bottom:1px solid #e0e0e0; background:#fafafa!important; flex-wrap:wrap; border-radius:0; }
.tam-quick-label { font-size:.6rem; font-weight:700; text-transform:uppercase; letter-spacing:.12em; color:#000!important; white-space:nowrap; opacity:.5; }
.tam-quick-btn { padding:7px 16px; font-size:.78rem; font-weight:700; font-family:'MontserratLight',sans-serif; text-transform:lowercase; cursor:pointer; border:1px solid #ccc!important; border-radius:8px; background:transparent!important; color:#000!important; transition:all 0.15s; white-space:nowrap; }
.tam-quick-btn:hover { background:#f0f0f0!important; border-color:#555!important; }
.tam-quick-btn-split { border-color:#5F7B94!important; color:#5F7B94!important; background:transparent!important; }
.tam-quick-btn-split:hover { background:#5F7B94!important; color:#fff!important; border-color:#5F7B94!important; }
.tam-rec-boxes-table { border-collapse:collapse; font-family:'MontserratLight',sans-serif; font-size:.85rem; white-space:nowrap; color:#000!important; }
.tam-rec-boxes-table th, .tam-rec-boxes-table td { border:1px solid #f0f0f0; text-align:center; vertical-align:middle; color:#000!important; }
.tam-rec-input { width:48px; padding:3px 4px; font-size:.85rem; font-weight:800; font-family:'MontserratLight',sans-serif; border:1px solid transparent; border-radius:6px; text-align:center; outline:none; background:transparent; transition:border-color .15s; color:#000!important; -moz-appearance:textfield; appearance:textfield; }
.tam-rec-input::-webkit-outer-spin-button, .tam-rec-input::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
.tam-rec-input-f { color:#000!important; }
.tam-rec-input-p { color:#000!important; }
.tam-rec-input:focus { border-color:#000; background:#fff; }
.tam-rec-input:disabled { background:#f5f5f5; color:#bbb!important; border-color:transparent; }
.tam-rec-quick-col { min-width:100px; padding:2px 6px!important; background:#fafafa!important; border-left:2px solid #e0e0e0!important; }
.tam-boxes-hdr-row .tam-rec-quick-col { font-size:.6rem; font-weight:700; text-transform:uppercase; letter-spacing:.12em; color:#000; opacity:.5; background:#fafafa!important; }
.tam-row-quick { display:flex; gap:3px; justify-content:center; }
.tam-row-quick-btn { padding:3px 8px; font-size:.68rem; font-weight:700; font-family:'MontserratLight',sans-serif; cursor:pointer; border:1px solid #ddd; border-radius:6px; background:transparent; color:#000; transition:all 0.12s; white-space:nowrap; line-height:1.4; }
.tam-row-quick-btn:hover { background:#f0f0f0; border-color:#555; }
.tam-row-quick-split { border-color:#5F7B94!important; color:#5F7B94!important; }
.tam-row-quick-split:hover { background:#5F7B94!important; color:#fff!important; border-color:#5F7B94!important; }
.tam-rec-divider { display:flex; align-items:center; gap:0; margin-bottom:0; width:100%; max-width:1600px; }
.tam-rec-divider::before { content:""; flex:1; height:1px; background:#e0e0e0; }
.tam-rec-divider::after  { content:""; flex:1; height:1px; background:#e0e0e0; }
.tam-rec-divider span { font-family:'MontserratLight',sans-serif; font-size:1rem; font-weight:700; text-transform:uppercase; letter-spacing:.22em; color:#000; padding:9px 36px; white-space:nowrap; }
#tam-session-bar { display:flex!important; align-items:center; justify-content:center; gap:10px; width:100%; max-width:1400px; padding:8px 24px; flex-wrap:wrap; box-sizing:border-box; }
@media (max-width:600px) {
  #tam-session-bar { gap:8px; padding:8px 12px; }
  .tam-session-btn { font-size:.62rem!important; padding:4px 10px!important; }
}
.tam-box-header:nth-of-type(odd)  { background:#fafafa!important; color:#000!important; border-top:3px solid #000!important; }
.tam-box-header:nth-of-type(even) { background:#fff!important; color:#000!important; border-top:3px solid #e0e0e0!important; }
.tam-box-header.tam-box-col-complete { background:#f0f0f0!important; color:#000!important; opacity:.6; }
.tam-box-sub-th:nth-of-type(odd)  { background:#fafafa!important; border-top:2px solid #e0e0e0!important; }
.tam-box-sub-th:nth-of-type(even) { background:#fff!important; border-top:2px solid #f0f0f0!important; }
.tam-rec-cell-f.tam-col-odd  { background:#fafafa!important; }
.tam-rec-cell-p.tam-col-odd  { background:#f5f5f5!important; border-right:2px solid #e0e0e0!important; }
.tam-rec-cell-f.tam-col-even { background:#fff!important; }
.tam-rec-cell-p.tam-col-even { background:#fafafa!important; border-right:2px solid #f0f0f0!important; }
.tam-rec-cell-quick.tam-col-odd  { background:#f5f5f5!important; border-left:1px dashed #e0e0e0!important; }
.tam-rec-cell-quick.tam-col-even { background:#fafafa!important; border-left:1px dashed #f0f0f0!important; }
.tam-box-col-active { background:rgba(0,0,0,.04)!important; border-bottom:2px solid #000!important; color:#000!important; }
.tam-box-header.tam-box-col-grey-odd  { background:#efefef!important; color:#888!important; border-top:3px solid #ccc!important; }
.tam-box-sub-th.tam-box-col-grey-odd  { background:#f2f2f2!important; border-top:2px solid #ccc!important; }
.tam-rec-cell-f.tam-box-col-grey-odd  { background:#f2f2f2!important; }
.tam-rec-cell-p.tam-box-col-grey-odd  { background:#eeeeee!important; border-right:2px solid #ccc!important; }
.tam-rec-cell-quick.tam-col-odd.tam-box-col-grey-odd  { background:#efefef!important; border-left:1px solid #ccc!important; }
.tam-box-header.tam-box-col-grey-even { background:#e8e8e8!important; color:#777!important; border-top:3px solid #bbb!important; }
.tam-box-sub-th.tam-box-col-grey-even { background:#ebebeb!important; border-top:2px solid #bbb!important; }
.tam-rec-cell-f.tam-box-col-grey-even { background:#ebebeb!important; }
.tam-rec-cell-p.tam-box-col-grey-even { background:#e8e8e8!important; border-right:2px solid #bbb!important; }
.tam-rec-cell-quick.tam-col-even.tam-box-col-grey-even { background:#e5e5e5!important; border-left:1px solid #bbb!important; }
.tam-box-sub-th.tam-box-sub-complete { background:#f0f0f0!important; border-top:2px solid #ccc!important; }
.tam-box-col-grey-odd .tam-rec-input:disabled, .tam-box-col-grey-even .tam-rec-input:disabled { background:transparent!important; border-color:transparent!important; color:#aaa!important; }
.tam-box-col-inactive { background:#fafafa!important; color:#bbb!important; border-top:3px solid #e0e0e0!important; }
.tam-box-compact { width:1px!important; min-width:0!important; padding:2px 3px!important; }
.tam-box-compact .tam-rec-input { width:34px!important; }
.tam-rec-cell-quick.tam-col-odd, .tam-rec-cell-quick.tam-col-even { background:#f5f5f5!important; border-left:1px solid #e0e0e0!important; }
.tam-rec-cell-quick.tam-col-odd .tam-row-quick-btn, .tam-rec-cell-quick.tam-col-even .tam-row-quick-btn { background:transparent!important; border-color:#ccc!important; color:#000!important; }
.tam-rec-cell-quick.tam-col-odd .tam-row-quick-btn:hover, .tam-rec-cell-quick.tam-col-even .tam-row-quick-btn:hover { background:#f0f0f0!important; border-color:#555!important; }
.tam-rec-cell-quick.tam-col-odd .tam-row-quick-split, .tam-rec-cell-quick.tam-col-even .tam-row-quick-split { border-color:#5F7B94!important; color:#5F7B94!important; }
.tam-rec-cell-quick.tam-col-odd .tam-row-quick-split:hover, .tam-rec-cell-quick.tam-col-even .tam-row-quick-split:hover { background:#5F7B94!important; color:#fff!important; border-color:#5F7B94!important; }
.tam-sub-q { font-size:.6rem; font-weight:700; color:#000; opacity:.4; letter-spacing:.03em; }
.tam-row-quick-btn:disabled { opacity:0.3; cursor:not-allowed; }
.tam-quick-nototals { opacity:0.5; }
.tam-rec-scroll-sync-wrap { display:flex; flex-direction:column; width:100%; }
.tam-rec-scroll-top-bar { overflow-x:auto; overflow-y:hidden; height:12px; background:#e8e8e8; border-radius:6px 6px 0 0; border-bottom:1px solid #ccc; scrollbar-width:thin; }
.tam-rec-scroll-top-bar::-webkit-scrollbar { height:8px; }
.tam-rec-scroll-top-bar::-webkit-scrollbar-thumb { background:#aaa; border-radius:4px; }
.tam-rec-scroll-top-inner { height:1px; }
.tam-boxes-hdr-row th { padding:6px 8px; background:#fafafa; font-size:.6rem; font-weight:700; text-transform:uppercase; letter-spacing:.12em; color:#000; opacity:.5; white-space:nowrap; }
.tam-box-header { min-width:120px; background:#fafafa!important; }
.tam-box-header.tam-box-col-complete { background:#f0f0f0!important; color:#000!important; opacity:.6; }
.tam-box-lock { font-size:.75rem; }
.tam-boxes-sub-hdr th { padding:4px 6px; background:#fafafa; }
.tam-box-sub-th { min-width:120px; padding:4px 6px!important; }
.tam-box-sub-inner { display:flex; align-items:center; gap:4px; justify-content:center; margin-bottom:3px; }
.tam-box-total-input { width:68px; padding:3px 6px; font-size:.78rem; font-weight:700; font-family:'MontserratLight',sans-serif; border:1px solid #e0e0e0; border-radius:7px; text-align:center; outline:none; background:#fff; transition:border-color .2s; -moz-appearance:textfield; }
.tam-box-total-input:focus { border-color:#000; }
.tam-box-total-input.tam-box-declared { border-color:#4A7C6F; color:#4A7C6F; }
.tam-box-total-input:disabled { background:#fafafa; color:#bbb; border-color:#e0e0e0; }
.tam-box-pct { font-size:.68rem; font-weight:700; color:#000; opacity:.4; white-space:nowrap; }
.tam-box-edit-btn { background:none; border:1px solid #e0e0e0; border-radius:6px; cursor:pointer; font-size:.75rem; padding:1px 5px; transition:background .15s; }
.tam-box-filter-btn { background:transparent; border:1px solid #e0e0e0; border-radius:6px; cursor:pointer; font-size:.7rem; padding:1px 5px; transition:all .15s; margin-left:2px; }
.tam-box-filter-btn:hover { background:#f0f0f0; border-color:#555; }
.tam-box-edit-btn:hover { background:#f0f0f0; border-color:#000; }
.tam-box-confirm-btn { background:#4A7C6F; border:1px solid #4A7C6F; color:#fff!important; border-radius:6px; cursor:pointer; font-size:.7rem; font-weight:700; padding:2px 8px; margin-left:4px; transition:background .15s; white-space:nowrap; }
.tam-box-confirm-btn:hover { background:#3a6459; }
.tam-box-close-btn { background:transparent; border:1px solid #e0e0e0; color:#888!important; border-radius:6px; cursor:pointer; font-size:.75rem; padding:1px 7px; margin-left:2px; transition:all .15s; }
.tam-box-close-btn:hover { background:#fdeaea; border-color:#c00; color:#c00!important; }
.tam-box-sub-labels { display:flex; justify-content:space-around; }
.tam-sub-f { font-size:.65rem; font-weight:700; color:#000; opacity:.5; letter-spacing:.03em; }
.tam-sub-p { font-size:.65rem; font-weight:700; color:#000; opacity:.5; letter-spacing:.03em; }
.tam-rec-ref-col { min-width:130px; padding:4px 10px!important; background-color:#fff!important; background:#fff!important; border-right:2px solid #e0e0e0!important; text-align:left!important; position:sticky; left:0; z-index:2; box-shadow:2px 0 5px rgba(0,0,0,.08); will-change:transform; }
.tam-rec-total-col { min-width:46px; padding:4px 8px!important; background-color:#fff!important; background:#fff!important; border-right:1px solid #e0e0e0!important; font-variant-numeric:tabular-nums; }
.tam-boxes-hdr-row .tam-rec-ref-col { position:sticky; left:0; z-index:4; background-color:#fafafa!important; background:#fafafa!important; box-shadow:2px 0 5px rgba(0,0,0,.08); }
.tam-boxes-sub-hdr .tam-rec-ref-col { position:sticky; left:0; z-index:4; background-color:#fafafa!important; background:#fafafa!important; box-shadow:2px 0 5px rgba(0,0,0,.07); padding:4px 6px!important; }
@media (max-width:768px) {
  .tam-rec-boxes-scroll { overflow-x:auto!important; -webkit-overflow-scrolling:touch!important; }
  .tam-rec-ref-col { position:sticky!important; left:0!important; z-index:10!important; min-width:110px!important; background-color:#fff!important; background:#fff!important; box-shadow:3px 0 10px rgba(0,0,0,.1)!important; }
  .tam-boxes-hdr-row .tam-rec-ref-col,
  .tam-boxes-sub-hdr .tam-rec-ref-col { position:sticky!important; left:0!important; z-index:12!important; background-color:#fafafa!important; background:#fafafa!important; }
  .tam-ref-over .tam-rec-ref-col { background-color:#fdf0f0!important; background:#fdf0f0!important; }
  .tam-ref-complete .tam-rec-ref-col { background-color:#fafafa!important; background:#fafafa!important; }
}
#tam-modify-tip { position:absolute; z-index:9999; display:flex; align-items:center; gap:8px; padding:8px 14px; background:#fff; border:1px solid #000; border-radius:10px; box-shadow:0 4px 20px rgba(0,0,0,.18); font-family:'MontserratLight',sans-serif; font-size:.78rem; white-space:nowrap; opacity:0; pointer-events:none; transform:translateX(-4px); transition:opacity .15s ease, transform .15s ease; }
#tam-modify-tip.tam-tip-visible { opacity:1; pointer-events:auto; transform:translateX(0); }
.tam-tip-msg { color:#000; font-weight:700; }
.tam-tip-btn { padding:3px 14px; font-size:.74rem; font-weight:700; font-family:'MontserratLight',sans-serif; cursor:pointer; border:1px solid #555; border-radius:7px; background:#fff; color:#000; transition:background .12s; text-transform:lowercase; }
.tam-tip-btn:hover { background:#f0f0f0; border-color:#555; }
.tam-tip-cancel { padding:3px 10px; font-size:.74rem; font-family:'MontserratLight',sans-serif; cursor:pointer; border:1px solid #ccc; border-radius:7px; background:transparent; color:#000; transition:all .12s; text-transform:lowercase; }
.tam-tip-cancel:hover { background:#f0f0f0; border-color:#555; }
.tam-ref-complete .tam-rec-ref-col, .tam-ref-over .tam-rec-ref-col { cursor:pointer; }
.tam-ref-complete .tam-rec-ref-col:hover, .tam-ref-over .tam-rec-ref-col:hover { background:#f5f5f5!important; }
.tam-col-unlocked { background:#fff!important; box-shadow:inset 0 0 0 1px rgba(0,0,0,.08); }
.tam-col-unlocked-hdr { background:#fafafa!important; border-top:3px solid #000!important; }
.tam-cell-ref-edit { background:#f0f0f0!important; box-shadow:inset 0 1px 4px rgba(0,0,0,.14)!important; }
.tam-cell-ref-edit .tam-rec-input { background:#f0f0f0!important; font-weight:700!important; color:#000!important; }
@keyframes tam-edit-flash { 0%{background:#f5f5f5!important;outline:2px solid #000!important;} 50%{background:#ececec!important;outline:2px solid #000!important;} 100%{background:inherit;outline:none;} }
.tam-cell-edit-flash { animation:tam-edit-flash 2s ease forwards!important; }
.tam-hdr-action-col { padding:2px 4px!important; text-align:center!important; vertical-align:middle!important; }
.tam-action-btn { display:inline-flex; align-items:center; justify-content:center; width:28px; height:26px; font-size:.9rem; cursor:pointer; border:1px solid #ccc; border-radius:7px; background:transparent; color:#000; transition:all .12s; line-height:1; padding:0; }
.tam-action-btn:hover:not(:disabled) { background:#f0f0f0; border-color:#555; }
.tam-action-btn:disabled { opacity:.25; cursor:not-allowed; }
.tam-undo-btn:hover:not(:disabled) { background:#5F7B94!important; border-color:#5F7B94!important; color:#fff!important; }
.tam-redo-btn:hover:not(:disabled) { background:#5F7B94!important; border-color:#5F7B94!important; color:#fff!important; }
.tam-clear-btn:hover:not(:disabled) { background:#9B4D4D!important; border-color:#9B4D4D!important; color:#fff!important; }
.tam-ref-filter-input { width:100%; box-sizing:border-box; padding:4px 8px; font-size:.78rem; font-family:'MontserratLight',sans-serif; border:1px solid #e0e0e0; border-radius:7px; outline:none; background:#fafafa; color:#000; transition:border-color .15s; }
.tam-ref-filter-input:focus { border-color:#000; background:#fff; }
.tam-ref-filter-input::placeholder { color:#bbb; font-style:italic; }
.tam-ref-over .tam-rec-ref-col { background-color:#fdf0f0!important; background:#fdf0f0!important; }
.tam-ref-complete .tam-rec-ref-col { background-color:#fff!important; background:#fff!important; }
.tam-rec-boxes-table tbody tr:hover .tam-rec-ref-col { background-color:#f5f5f5!important; background:#f5f5f5!important; }
.tam-rec-cell-f { background:#fafafa; padding:2px 4px!important; min-width:52px; }
.tam-rec-cell-p { background:#f5f5f5; padding:2px 4px!important; min-width:52px; border-right:2px solid #e0e0e0!important; }
.tam-rec-input-f { color:#000!important; }
.tam-rec-input-p { color:#000!important; }
.tam-rec-input:focus { border-color:#000; background:#fff; }
.tam-rec-input:disabled { background:#f5f5f5; color:#bbb; border-color:transparent; }
.tam-rec-boxes-table tbody tr:hover td { background:#f9f9f9; }
.tam-rec-boxes-table tbody tr:hover .tam-rec-cell-f { background:#f0f0f0; }
.tam-rec-boxes-table tbody tr:hover .tam-rec-cell-p { background:#ececec; }
.tam-rec-boxes-table .tam-ref-complete td { color:#bbb!important; }
.tam-rec-boxes-table .tam-ref-complete td strong { color:#bbb!important; }
.tam-ref-over td { background:#fdf0f0!important; }
.tam-ref-over .tam-rec-ref-col { background:#fdf0f0!important; }
.tam-ref-over .tam-rec-total-col { background:#fdf0f0!important; }
.tam-ref-over td strong { color:#9B4D4D!important; }
.tam-inv-quick-wrap { display:flex; align-items:center; gap:4px; flex-shrink:0; }
.tam-inv-quick-btn { padding:3px 10px; font-size:.7rem; font-weight:700; font-family:'MontserratLight',sans-serif; cursor:pointer; border:1px solid #ccc; border-radius:6px; background:transparent; color:#000; transition:all 0.14s; white-space:nowrap; text-transform:lowercase; }
.tam-inv-quick-btn:hover { background:#f0f0f0; border-color:#555; }
.tam-inv-quick-split { border-color:#5F7B94!important; color:#5F7B94!important; background:transparent!important; }
.tam-inv-quick-split:hover { background:#5F7B94!important; color:#fff!important; border-color:#5F7B94!important; }
.tam-inv-quick-active { font-size:.7rem; font-weight:700; color:#4A7C6F; border:1px solid #4A7C6F; border-radius:6px; padding:3px 8px; white-space:nowrap; letter-spacing:.02em; background:transparent; }
.tam-inv-quick-undo { border-color:#ccc!important; color:#000!important; background:transparent!important; }
.tam-inv-quick-undo:hover { border-color:#9B4D4D!important; color:#9B4D4D!important; background:rgba(155,77,77,.08)!important; }
.tam-inv-stock-btn, .tam-inv-guia-btn, .tam-inv-export-btn, .tam-inv-credit-btn { position:relative; background:#f0f0f0; border:1px solid #e0e0e0; border-radius:20px; color:#000; font-size:.72rem; font-weight:700; font-family:'MontserratLight',sans-serif; letter-spacing:.10em; text-transform:uppercase; cursor:pointer; padding:5px 14px; display:inline-flex; align-items:center; justify-content:center; white-space:nowrap; flex-shrink:0; transition:background .18s ease,color .18s ease,border-color .18s ease,transform .2s ease!important; transform-origin:center; overflow:visible; }
.tam-inv-stock-btn:hover, .tam-inv-guia-btn:hover, .tam-inv-export-btn:hover, .tam-inv-credit-btn:hover { background:#111!important; border-color:#111!important; color:#fff!important; transform:scale(1.1)!important; }
.tam-inv-edit-btn { position:relative; background:#f0f0f0; border:1px solid #e0e0e0; border-radius:20px; color:#000; font-size:.72rem; font-weight:700; font-family:'MontserratLight',sans-serif; letter-spacing:.10em; text-transform:uppercase; cursor:pointer; padding:5px 14px; display:inline-flex; align-items:center; justify-content:center; white-space:nowrap; flex-shrink:0; transition:background .18s ease,color .18s ease,border-color .18s ease,transform .2s ease!important; transform-origin:center; overflow:visible; }
.tam-inv-edit-btn:hover { background:#111!important; border-color:#111!important; color:#fff!important; transform:scale(1.1)!important; }
.tam-inv-edit-btn.active { background:#4A7C6F!important; border-color:#4A7C6F!important; color:#fff!important; }
.tam-edit-notice { padding:7px 16px; font-size:.72rem; font-weight:700; color:#000; background:#fafafa; border-bottom:1px solid #e0e0e0; font-family:'MontserratLight',sans-serif; letter-spacing:.02em; opacity:.6; }
.tam-table-edit tbody tr:hover td { background:#f5f5f5!important; }
.tam-edit-input { font-family:'MontserratLight',sans-serif; font-size:.84rem; font-weight:700; padding:3px 6px; border:1px solid #e0e0e0; border-radius:6px; outline:none; background:#fafafa; width:100%; box-sizing:border-box; transition:border-color .15s; color:#000; }
.tam-edit-input:focus { border-color:#000; background:#fff; }
.tam-edit-wide { min-width:160px; }
.tam-edit-num { width:70px; text-align:center; }
.tam-edit-del-row { background:none; border:1px solid #e0e0e0; border-radius:6px; cursor:pointer; font-size:.8rem; color:#ccc; padding:2px 7px; transition:all .15s; }
.tam-edit-del-row:hover { color:#9B4D4D; border-color:#9B4D4D; background:rgba(155,77,77,.08); }
.tam-edit-actions { display:flex; gap:8px; padding:10px 14px; background:#fafafa; border-top:1px solid #e0e0e0; flex-wrap:wrap; }
.tam-edit-add-row { padding:6px 14px; font-size:.78rem; font-weight:700; font-family:'MontserratLight',sans-serif; text-transform:lowercase; cursor:pointer; border:1px solid #ccc; border-radius:8px; background:transparent; color:#000; transition:all .15s; }
.tam-edit-add-row:hover { background:#f0f0f0; border-color:#555; }
.tam-edit-save { padding:6px 16px; font-size:.78rem; font-weight:700; font-family:'MontserratLight',sans-serif; text-transform:lowercase; cursor:pointer; border:1px solid #ccc; border-radius:8px; background:transparent; color:#000; transition:all .15s; }
.tam-edit-save:hover { background:#f0f0f0; border-color:#555; }
.tam-edit-cancel { padding:6px 14px; font-size:.78rem; font-weight:700; font-family:'MontserratLight',sans-serif; text-transform:lowercase; cursor:pointer; border:1px solid #e0e0e0; border-radius:8px; background:transparent; color:#000; opacity:.5; transition:all .15s; }
.tam-edit-cancel:hover { background:#f5f5f5; opacity:1; }
.tam-inv-remove-btn { padding:3px 10px; font-size:.72rem; font-weight:700; font-family:'MontserratLight',sans-serif; text-transform:lowercase; cursor:pointer; border:1px solid #ccc; border-radius:6px; background:transparent; color:#000; transition:all 0.15s; white-space:nowrap; flex-shrink:0; }
.tam-inv-remove-btn:hover { border-color:#9B4D4D; color:#9B4D4D; background:rgba(155,77,77,.08); }
.tam-inv-guia-erp-wrap { display:flex; align-items:center; gap:6px; }
.tam-inv-guia-erp-label { font-size:.62rem; font-weight:700; letter-spacing:.10em; text-transform:uppercase; color:#000; opacity:.45; white-space:nowrap; }
.tam-inv-guia-erp-input { padding:4px 9px; border:1px solid #e0e0e0; border-radius:7px; background:#fafafa; font-family:'MontserratLight',sans-serif; font-size:.82rem; font-weight:700; color:#000; text-align:center; outline:none; transition:border-color .15s,background .15s,width .15s; }
.tam-inv-guia-erp-input:focus { border-color:#000; background:#fff; }
.tam-inv-guia-erp-input.tam-inv-guia-erp-done { border-color:#000!important; background:#000!important; color:#fff!important; }
#tam-stock-modal { position:fixed; inset:0; z-index:10000; display:flex; align-items:center; justify-content:center; opacity:0; transition:opacity .22s ease; pointer-events:none; }
#tam-stock-modal.tam-stock-visible { opacity:1; pointer-events:auto; }
#tam-stock-backdrop { position:absolute; inset:0; background:rgba(0,0,0,.45); }
#tam-stock-panel { position:relative; z-index:1; width:min(660px,90vw); max-height:65vh; display:flex; flex-direction:column; background:#fff; border-radius:16px; box-shadow:0 20px 60px rgba(0,0,0,.18); overflow:hidden; transform:translateY(14px); transition:transform .22s ease; font-family:'MontserratLight',sans-serif; }
#tam-stock-modal.tam-stock-visible #tam-stock-panel { transform:translateY(0); }
#tam-stock-header { display:flex; align-items:center; justify-content:space-between; padding:14px 20px 12px; border-bottom:1px solid #e0e0e0; background:#fafafa; flex-shrink:0; }
#tam-stock-title { display:flex; flex-direction:column; gap:2px; }
#tam-stock-inv-label { font-size:1rem; font-weight:700; color:#000!important; font-family:'MontserratLight',sans-serif; }
#tam-stock-sub-label { font-size:.65rem; letter-spacing:.1em; text-transform:uppercase; color:#000!important; font-family:'MontserratLight',sans-serif; opacity:.55; }
#tam-stock-actions { display:flex; gap:8px; align-items:center; }
.tam-stock-action-btn { background:#fff; border:1px solid #ccc; border-radius:8px; color:#000; font-size:.75rem; font-weight:700; text-transform:lowercase; padding:5px 13px; cursor:pointer; font-family:'MontserratLight',sans-serif; transition:all 0.14s; white-space:nowrap; }
.tam-stock-action-btn:hover { background:#f0f0f0; border-color:#555; }
.tam-stock-close-btn { background:transparent; border:1.5px solid #ddd; border-radius:8px; color:#000; font-size:.85rem; padding:4px 10px; cursor:pointer; font-family:'MontserratLight',sans-serif; font-weight:700; transition:all 0.14s; }
.tam-stock-close-btn:hover { border-color:#9B4D4D; color:#9B4D4D; background:#F5EAEA; }
.tam-stock-copy-bar { display:grid; grid-template-columns:repeat(5,1fr); gap:6px; padding:10px 16px; border-bottom:2px solid #e0e0e0; background:#fff; flex-shrink:0; position:relative; z-index:1; }
.tam-stock-copy-btn { background:#fff; border:1.5px solid #ddd; border-radius:8px; color:#000; font-size:.72rem; font-weight:700; padding:7px 6px; cursor:pointer; font-family:'MontserratLight',sans-serif; transition:all 0.14s; text-align:center; display:flex; align-items:center; justify-content:center; gap:4px; white-space:nowrap; }
.tam-stock-copy-btn:hover { background:#f0f0f0; border-color:#555; }
.tam-stock-copy-btn.tam-stock-copy-active { border-color:#555!important; color:#000!important; background:#f0f0f0!important; }
#tam-stock-scroll { overflow:auto; flex:1; -webkit-overflow-scrolling:touch; }
#tam-stock-table { border-collapse:collapse; font-family:'MontserratLight',sans-serif; white-space:nowrap; width:100%; }
#tam-stock-table thead { position:sticky; top:0; z-index:2; background:#fff; }
#tam-stock-table thead tr { background:#fff; border-bottom:1px solid #e0e0e0; }
.tam-stock-th { padding:8px 12px; text-align:left; font-size:.65rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#000; white-space:nowrap; border:none; background:#fff; border-bottom:2px solid #e0e0e0; }
.tam-stock-th.tam-stock-city,.tam-stock-th.tam-stock-iva,.tam-stock-th.tam-stock-price,.tam-stock-th.tam-stock-qty { text-align:center; }
.tam-stock-td { padding:7px 12px; font-size:.84rem; font-weight:700; border:none; border-bottom:1px solid #f0f0f0; color:#000; vertical-align:middle; }
.tam-stock-td.tam-stock-city,.tam-stock-td.tam-stock-iva,.tam-stock-td.tam-stock-qty { text-align:center; }
.tam-stock-td.tam-stock-price { text-align:right; font-variant-numeric:tabular-nums; }
.tam-stock-td.tam-stock-ref { font-weight:700; color:#000; }
.tam-stock-row-even { background:#fff; }
.tam-stock-row-odd  { background:#fafafa; }
#tam-stock-table tr:nth-child(even) td { background:#fafafa; }
#tam-stock-table tbody tr:hover td { background:#f0f0f0!important; }
#tam-stock-footer { padding:10px 20px; border-top:1px solid #e0e0e0; background:#fafafa; font-size:.72rem; font-weight:700; color:#000; flex-shrink:0; font-family:'MontserratLight',sans-serif; }
#tam-guia-modal { position:fixed; inset:0; z-index:10000; display:flex; align-items:center; justify-content:center; opacity:0; transition:opacity .22s ease; pointer-events:none; }
#tam-guia-modal.tam-guia-visible { opacity:1; pointer-events:auto; }
#tam-guia-backdrop { position:absolute; inset:0; background:rgba(0,0,0,.45); }
#tam-guia-panel { position:relative; z-index:1; width:min(640px,90vw); max-height:65vh; display:flex; flex-direction:column; background:#fff; border-radius:16px; box-shadow:0 20px 60px rgba(0,0,0,.18); overflow:hidden; transform:translateY(14px); transition:transform .22s ease; font-family:'MontserratLight',sans-serif; }
#tam-guia-modal.tam-guia-visible #tam-guia-panel { transform:translateY(0); }
#tam-guia-header { display:flex; align-items:center; justify-content:space-between; padding:14px 20px 12px; border-bottom:1px solid #e0e0e0; background:#fafafa; flex-shrink:0; flex-wrap:wrap; gap:8px; }
#tam-guia-title { display:flex; flex-direction:column; gap:2px; }
#tam-guia-title-main { font-size:1rem; font-weight:700; color:#000!important; font-family:'MontserratLight',sans-serif; }
#tam-guia-title-sub { font-size:.65rem; letter-spacing:.1em; text-transform:uppercase; color:#000!important; font-family:'MontserratLight',sans-serif; opacity:.55; }
#tam-guia-header-right { display:flex; flex-direction:column; align-items:flex-end; gap:6px; }
#tam-guia-header-btns { display:flex; align-items:center; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.tam-guia-other-banner { display:flex; align-items:center; gap:7px; border-radius:8px; padding:5px 10px; font-size:.72rem; font-weight:700; font-family:'MontserratLight',sans-serif; max-width:340px; transition:all .3s; }
.tam-guia-other-loading { background:#f5f5f5; color:#000; opacity:.55; }
.tam-guia-other-none    { background:transparent; color:#4A7C6F; border:1px solid #c8e6c9; }
.tam-guia-other-found   { background:#FFFBF5; border:1px solid #E8A44A; color:#000; flex-wrap:wrap; max-width:none; }
.tam-guia-other-icon    { font-size:1rem; flex-shrink:0; }
.tam-guia-other-text    { display:flex; flex-direction:column; gap:1px; }
.tam-guia-other-text strong { color:#000!important; }
.tam-guia-other-sessions { font-size:.65rem; color:#000; opacity:.55; margin-top:1px; display:block; font-weight:600; }
.tam-guia-action-btn { background:#fff; border:1px solid #ccc; border-radius:8px; color:#000!important; font-size:.75rem; font-weight:700; text-transform:lowercase; padding:5px 13px; cursor:pointer; font-family:'MontserratLight',sans-serif; transition:all 0.14s; white-space:nowrap; }
.tam-guia-action-btn:hover:not(:disabled) { background:#f0f0f0; border-color:#555; }
.tam-guia-action-btn:disabled { opacity:.4; cursor:not-allowed; }
.tam-guia-confirm { border-color:#000!important; color:#000!important; background:transparent!important; }
.tam-guia-confirm:hover:not(:disabled) { background:#f0f0f0!important; border-color:#555!important; }
.tam-guia-close-btn { background:transparent; border:1.5px solid #ddd; border-radius:8px; color:#000; font-size:.85rem; padding:4px 10px; cursor:pointer; font-family:'MontserratLight',sans-serif; font-weight:700; transition:all 0.14s; }
.tam-guia-close-btn:hover { border-color:#9B4D4D; color:#9B4D4D; background:#F5EAEA; }
.tam-guia-addr-bar-4 { display:grid; grid-template-columns:repeat(4,1fr); gap:6px; padding:10px 16px; border-bottom:2px solid #e0e0e0; background:#fff; flex-shrink:0; position:relative; z-index:1; }
.tam-guia-addr-btn { background:#fff; border:1.5px solid #ddd; border-radius:8px; color:#000; font-size:.72rem; font-weight:700; padding:7px 6px; cursor:pointer; font-family:'MontserratLight',sans-serif; transition:all 0.14s; text-align:center; display:flex; align-items:center; justify-content:center; gap:4px; width:100%; white-space:nowrap; }
.tam-guia-addr-btn:hover { background:#f0f0f0; border-color:#555; }
.tam-guia-addr-copied { background:#e8e8e8!important; border-color:#555!important; }
.tam-guia-copy-label { display:none; }
.tam-guia-copy-btn { background:transparent; border:1px solid #ccc; border-radius:5px; color:#888; font-size:.58rem; font-weight:700; padding:2px 6px; cursor:pointer; font-family:'MontserratLight',sans-serif; transition:all .12s; flex-shrink:0; display:inline-flex; align-items:center; }
.tam-guia-copy-btn:hover { background:#f0f0f0; border-color:#555; }
.tam-guia-copy-active { background:#f0f0f0!important; border-color:#555!important; }
.tam-guia-copy-msg { font-size:.75rem; font-weight:700; font-family:'MontserratLight',sans-serif; color:#4A7C6F; }
.tam-guia-hdr-copy { padding:2px 6px; font-size:.58rem; border:1px solid #ccc; border-radius:5px; background:transparent; cursor:pointer; color:#888; font-family:'MontserratLight',sans-serif; font-weight:700; transition:all .12s; flex-shrink:0; }
.tam-guia-hdr-copy:hover { background:#f0f0f0; border-color:#555; }
.tam-guia-hdr-copy.tam-guia-copy-active { background:#f0f0f0!important; border-color:#555!important; }
#tam-guia-scroll { overflow:auto; flex:1; -webkit-overflow-scrolling:touch; }
#tam-guia-table { border-collapse:collapse; font-family:'MontserratLight',sans-serif; white-space:nowrap; width:100%; }
#tam-guia-table thead { position:sticky; top:0; z-index:2; background:#fff; }
.tam-guia-th { padding:8px 14px; font-size:.72rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:#000; border-bottom:2px solid #e0e0e0; text-align:center; white-space:normal; line-height:1.3; }
.tam-guia-th-f { background:#f5f5f5; color:#000; }
.tam-guia-th-p { background:#eeeeee; color:#000; }
.tam-guia-th-sep { width:16px; background:#fff; border-bottom:2px solid #e0e0e0; }
.tam-guia-th2 { padding:7px 10px; background:#fff; font-size:.68rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:#000; border-bottom:2px solid #e0e0e0; text-align:left; white-space:nowrap; }
.tam-guia-th2-inner { display:flex; align-items:center; gap:5px; }
.tam-guia-th2-qty { text-align:center; }
.tam-guia-td { padding:7px 12px; font-size:.84rem; font-weight:700; border-bottom:1px solid #f0f0f0; vertical-align:middle; color:#000; }
.tam-guia-ref-f { font-weight:700; color:#000; min-width:120px; }
.tam-guia-qty-f { text-align:center; font-weight:700; color:#000; font-variant-numeric:tabular-nums; }
.tam-guia-sep { width:16px; background:#fafafa; border-bottom:1px solid #f0f0f0; }
.tam-guia-ref-p { font-weight:700; color:#000; min-width:120px; }
.tam-guia-qty-p { text-align:center; font-weight:700; color:#000; font-variant-numeric:tabular-nums; }
.tam-guia-row-even td { background:#fff; }
.tam-guia-row-odd td { background:#F7F4F3; }
.tam-guia-row-sent td { background:#f5f5f5; color:#bbb; }
.tam-guia-row-sent .tam-guia-ref-f,.tam-guia-row-sent .tam-guia-ref-p { color:#bbb; }
.tam-guia-row-sent .tam-guia-qty-f,.tam-guia-row-sent .tam-guia-qty-p { color:#bbb; }
#tam-guia-table tbody tr:hover td { background:#f0f0f0!important; }
.tam-guia-sent-hdr td { padding:6px 14px; background:transparent; font-size:.65rem; font-weight:700; color:#000; text-transform:uppercase; letter-spacing:.08em; border-top:2px solid #e0e0e0; border-bottom:1px solid #e0e0e0; opacity:.5; }
.tam-guia-empty { padding:24px; color:#000; font-style:italic; text-align:center; opacity:.4; }
#tam-guia-footer { padding:10px 20px; font-size:.72rem; font-weight:700; color:#000!important; border-top:1px solid #e0e0e0; background:#fafafa; font-family:'MontserratLight',sans-serif; flex-shrink:0; display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.tam-guia-session-dot { font-size:.55rem; vertical-align:middle; margin-right:3px; line-height:1; }
#tam-guia-session-legend { display:flex; flex-wrap:wrap; gap:10px; padding:7px 14px 4px; font-size:.68rem; color:#000; font-family:'MontserratLight',sans-serif; border-top:1px dashed #e0e0e0; opacity:.6; font-weight:700; }
.tam-guia-legend-item { display:flex; align-items:center; gap:4px; }
#tam-guia-confirm-overlay { position:absolute; inset:0; z-index:10; display:flex; align-items:center; justify-content:center; background:rgba(255,255,255,.9); border-radius:16px; }
#tam-guia-confirm-box { background:#fff; border-radius:14px; box-shadow:0 8px 40px rgba(0,0,0,.18); padding:24px 28px; width:min(380px,90%); font-family:'MontserratLight',sans-serif; }
.tam-gc-title { font-size:.9rem; font-weight:700; color:#000; margin-bottom:12px; }
.tam-gc-body { font-size:.82rem; color:#000; line-height:1.6; margin-bottom:18px; }
.tam-gc-btns { display:flex; gap:8px; }
.tam-gc-btn { padding:8px 18px; font-size:.82rem; font-weight:700; font-family:'MontserratLight',sans-serif; cursor:pointer; border-radius:8px; border:1.5px solid #ccc; background:#fff; color:#000; transition:all .12s; text-transform:lowercase; }
.tam-gc-ok { border-color:#000!important; color:#000!important; background:#f0f0f0!important; }
.tam-gc-ok:hover { background:#e8e8e8!important; border-color:#555!important; }
.tam-gc-cancel:hover { background:#f0f0f0; border-color:#000; }
.tam-th-anomaly { background:transparent!important; color:#000!important; opacity:.5; font-size:.65rem!important; min-width:54px; }
.tam-cell-anomaly-ok   { color:#4A7C6F!important; font-size:.75rem; font-weight:700; text-align:center; }
.tam-cell-anomaly-low  { color:#9B4D4D; font-weight:700; text-align:center; }
.tam-cell-anomaly-high { color:#5F7B94; font-weight:700; text-align:center; }
.tam-cell-anomaly-empty { }
#tam-dn-modal { position:fixed; inset:0; z-index:10001; display:flex; align-items:center; justify-content:center; opacity:0; transition:opacity .22s ease; pointer-events:none; }
#tam-dn-modal.tam-dn-visible { opacity:1; pointer-events:auto; }
#tam-dn-backdrop { position:absolute; inset:0; background:rgba(0,0,0,.45); }
#tam-dn-panel { position:relative; z-index:1; width:min(700px,96vw); max-width:96vw; max-height:88vh; display:flex; flex-direction:column; background:#fff; border-radius:16px; box-shadow:0 16px 64px rgba(0,0,0,.32); overflow:hidden; transform:translateY(12px); transition:transform .22s ease; }
#tam-dn-modal.tam-dn-visible #tam-dn-panel { transform:translateY(0); }
#tam-dn-header { display:flex; align-items:center; justify-content:space-between; padding:14px 20px 12px; border-bottom:1px solid #e8e8e8; background:#fafafa; flex-shrink:0; }
#tam-dn-title { display:flex; flex-direction:column; gap:2px; }
#tam-dn-zy { font-size:1rem; font-weight:bold; color:#111; font-family:MontserratLight,sans-serif; display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
#tam-dn-sub { font-size:.68rem; color:#888; font-family:MontserratLight,sans-serif; text-transform:uppercase; letter-spacing:.06em; }
.tam-dn-total-ok      { font-size:.78rem; font-weight:bold; color:#2e7d32; background:#f0faf0; border:1px solid #2e7d32; border-radius:6px; padding:2px 8px; white-space:nowrap; }
.tam-dn-total-err     { font-size:.78rem; font-weight:bold; color:#c62828; background:#fff0f0; border:1px solid #c62828; border-radius:6px; padding:2px 8px; white-space:nowrap; }
.tam-dn-total-neutral { font-size:.78rem; font-weight:bold; color:#555;    background:#f5f5f5;  border:1px solid #ccc;    border-radius:6px; padding:2px 8px; white-space:nowrap; }
.tam-dn-close { width:30px; height:30px; display:flex; align-items:center; justify-content:center; font-size:1.1rem; cursor:pointer; border:1.5px solid #ddd; border-radius:8px; background:#f5f5f5; color:#555; transition:background .12s; }
.tam-dn-close:hover { background:#c62828; color:#fff; border-color:#c62828; }
#tam-dn-scroll { overflow:auto; flex:1; -webkit-overflow-scrolling:touch; }
#tam-dn-table { width:auto; min-width:100%; border-collapse:collapse; font-family:MontserratLight,sans-serif; font-size:.84rem; table-layout:auto; }
.tam-dn-th-t { width:1px; white-space:nowrap; text-align:center!important; color:#666!important; }
.tam-dn-th-f { width:1px; white-space:nowrap; text-align:center!important; color:#111!important; background:#e8e8e8; padding:0!important; }
.tam-dn-th-p { width:1px; white-space:nowrap; text-align:center!important; color:#111!important; background:#e8e8e8; padding:0!important; }
.tam-conf-badge { display:inline-block; padding:2px 8px; border-radius:5px; font-weight:700; }
.tam-conf-ok   { background:#e8f5e9; color:#2e7d32; border:1px solid #a5d6a7; }
.tam-conf-warn { background:#fff8e1; color:#e65100; border:1px solid #ffcc80; }
.tam-conf-err  { background:#ffebee; color:#c62828; border:1px solid #ef9a9a; }
#tam-dn-table thead { position:sticky; top:0; z-index:2; }
.tam-dn-th { padding:8px 12px; background:#f0f0f0; font-size:.68rem; font-weight:bold; text-transform:uppercase; letter-spacing:.05em; color:#666!important; border-bottom:2px solid #ddd; text-align:left; }
.tam-dn-th-f { color:#111!important; background:#e8e8e8; padding:0!important; }
.tam-dn-th-p { color:#111!important; background:#e8e8e8; padding:0!important; }
.tam-dn-col-btn { display:block; width:100%; height:100%; padding:8px 12px; font-size:.68rem; font-weight:700; font-family:'MontserratLight',sans-serif; text-transform:uppercase; letter-spacing:.05em; cursor:pointer; border-radius:0; border:none; background:transparent; transition:background .13s; text-align:center; color:#111!important; }
.tam-dn-col-btn-f { color:#111!important; }
.tam-dn-col-btn-f:hover { background:rgba(0,0,0,.1)!important; }
.tam-dn-col-btn-p { color:#111!important; }
.tam-dn-col-btn-p:hover { background:rgba(0,0,0,.1)!important; }
.tam-dn-row td { padding:7px 12px; border-bottom:1px solid #f2f2f2; vertical-align:middle; }
.tam-dn-ref { font-weight:bold; color:#222; white-space:nowrap; width:1%; }
.tam-dn-total { text-align:center; color:#555; font-weight:bold; white-space:nowrap; width:1%; }
.tam-dn-cell { text-align:center; white-space:nowrap; width:1%; }
.tam-dn-inp { width:58px; min-width:44px; padding:5px 4px; font-size:.84rem; font-family:MontserratLight,sans-serif; border:1.5px solid #ddd; border-radius:7px; text-align:center; outline:none; transition:border-color .12s; -moz-appearance:textfield; appearance:textfield; color:#000!important; }
.tam-dn-inp::-webkit-inner-spin-button,.tam-dn-inp::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
.tam-dn-inp-f:focus { border-color:#000; }
.tam-dn-inp-p:focus { border-color:#000; }
.tam-dn-btns { display:flex; gap:4px; align-items:center; white-space:nowrap; }
.tam-dn-btns-cell { width:1%; white-space:nowrap; }
.tam-dn-qbtn { padding:4px 8px; font-size:.72rem; font-weight:700; font-family:'MontserratLight',sans-serif; cursor:pointer; border-radius:8px; border:1px solid #ccc; background:transparent; color:#000; transition:all .12s; white-space:nowrap; }
.tam-dn-f100 { border-color:#ccc!important; color:#000!important; background:transparent!important; }
.tam-dn-f100:hover { background:#f0f0f0!important; border-color:#555!important; }
.tam-dn-p100 { border-color:#ccc!important; color:#000!important; background:transparent!important; }
.tam-dn-p100:hover { background:#f0f0f0!important; border-color:#555!important; }
.tam-dn-split:hover { background:#5F7B94!important; color:#fff!important; border-color:#5F7B94!important; }
.tam-dn-row-filled { background:#f5f5f5!important; transition:background .4s; }
.tam-dn-odd-td { padding:0!important; border-bottom:1px solid #e0e0e0!important; }
.tam-dn-odd-dlg { padding:10px 16px; background:#fafafa; border-top:1px solid #e0e0e0; display:flex; align-items:center; gap:12px; flex-wrap:wrap; font-family:'MontserratLight',sans-serif; }
.tam-dn-odd-body { font-size:.82rem; font-weight:700; color:#000; }
.tam-dn-odd-btns { display:flex; gap:6px; flex-wrap:wrap; }
.tam-dn-odd-btn { padding:5px 12px; font-size:.76rem; font-weight:700; font-family:'MontserratLight',sans-serif; cursor:pointer; border-radius:8px; border:1px solid #ccc; background:transparent; color:#000; transition:all .12s; white-space:nowrap; text-transform:lowercase; }
.tam-dn-odd-f { border-color:#ccc!important; color:#000!important; }
.tam-dn-odd-f:hover { background:#f0f0f0!important; border-color:#555!important; }
.tam-dn-odd-p { border-color:#ccc!important; color:#000!important; }
.tam-dn-odd-p:hover { background:#f0f0f0!important; border-color:#555!important; }
.tam-dn-odd-skip:hover { background:#f5f5f5!important; }
#tam-dn-footer { display:flex; align-items:center; gap:10px; padding:12px 20px; border-top:1px solid #e0e0e0; background:#fafafa; flex-shrink:0; }
.tam-dn-action-btn { padding:7px 22px; font-size:.82rem; font-weight:700; font-family:'MontserratLight',sans-serif; cursor:pointer; border:1px solid #ccc; border-radius:8px; background:transparent; color:#000; transition:all .13s; text-transform:lowercase; }
.tam-dn-action-btn:hover { background:#f0f0f0; border-color:#555; }
.tam-dn-cancel-btn { padding:7px 16px; font-size:.82rem; font-weight:700; font-family:'MontserratLight',sans-serif; cursor:pointer; border:1px solid #e0e0e0; border-radius:8px; background:transparent; color:#000; opacity:.5; transition:all .13s; text-transform:lowercase; }
.tam-dn-cancel-btn:hover { background:#f5f5f5; opacity:1; }
#tam-dn-toast { position:fixed; bottom:24px; left:50%; transform:translateX(-50%) translateY(20px); background:#fff; color:#000; border:1.5px solid #000; padding:10px 20px; border-radius:10px; font-size:.84rem; font-family:'MontserratLight',sans-serif; opacity:0; transition:opacity .3s,transform .3s; z-index:20000; pointer-events:none; font-weight:700; box-shadow:0 4px 20px rgba(0,0,0,.15); }
#tam-dn-toast.tam-dn-toast-show { opacity:1; transform:translateX(-50%) translateY(0); }
.tam-dn-loading { opacity:.7; }
#tam-dn-warn-banner { display:flex; align-items:center; gap:12px; padding:11px 20px; background:#FEF6EC; border-top:2px solid #E8A44A; border-bottom:1px solid #F0D9B5; flex-shrink:0; opacity:0; transform:translateY(6px); transition:opacity .25s ease,transform .25s ease; font-family:'MontserratLight',sans-serif; }
#tam-dn-warn-banner.tam-dn-wb-visible { opacity:1; transform:translateY(0); }
.tam-dn-wb-icon { font-size:1.2rem; color:#C47A1E; flex-shrink:0; line-height:1; }
.tam-dn-wb-msg { flex:1; display:flex; flex-direction:column; gap:2px; min-width:0; }
.tam-dn-wb-nums { font-size:.92rem; font-weight:700; color:#9B4D4D; letter-spacing:.01em; }
.tam-dn-wb-text { font-size:.7rem; color:#7A5530; font-weight:600; }
.tam-dn-wb-btns { display:flex; gap:8px; flex-shrink:0; }
.tam-dn-wb-fix { padding:5px 13px; border-radius:7px; border:1.5px solid #ccc; background:transparent; color:#555; font-size:.74rem; font-weight:700; cursor:pointer; font-family:'MontserratLight',sans-serif; transition:background .12s,border-color .12s; text-transform:lowercase; }
.tam-dn-wb-fix:hover { background:#f0f0f0; border-color:#999; }
.tam-dn-wb-go { padding:5px 13px; border-radius:7px; border:1.5px solid #C47A1E; background:transparent; color:#C47A1E; font-size:.74rem; font-weight:700; cursor:pointer; font-family:'MontserratLight',sans-serif; transition:background .12s,color .12s; text-transform:lowercase; white-space:nowrap; }
.tam-dn-wb-go:hover { background:rgba(196,122,30,.12); }
#tam-motord-spin { position:fixed; bottom:76px; left:50%; transform:translateX(-50%) translateY(16px); background:#fff; color:#000; border:1.5px solid #000; padding:9px 20px; border-radius:12px; font-size:.82rem; font-family:'MontserratLight',sans-serif; font-weight:700; opacity:0; pointer-events:none; transition:opacity .25s,transform .25s; z-index:20001; white-space:nowrap; box-shadow:0 4px 24px rgba(0,0,0,.15); }
.tam-motord-update-badge { display:inline-flex; align-items:center; gap:5px; padding:4px 10px; font-size:.7rem; font-weight:700; font-family:'MontserratLight',sans-serif; cursor:pointer; border:1px solid #E8A44A; border-radius:8px; background:transparent; color:#C47A1E; transition:all .13s; white-space:nowrap; text-transform:lowercase; }
.tam-motord-update-badge:hover { background:#E8A44A; color:#fff; }
#tam-motord-update-modal { position:fixed; inset:0; z-index:10100; display:flex; align-items:center; justify-content:center; opacity:0; transition:opacity .22s ease; pointer-events:none; }
#tam-motord-update-modal.tam-motord-update-visible { opacity:1; pointer-events:auto; }
#tam-motord-update-backdrop { position:absolute; inset:0; background:rgba(0,0,0,.45); }
#tam-motord-update-panel { position:relative; z-index:1; width:min(480px,94vw); background:#fff; border-radius:16px; box-shadow:0 16px 60px rgba(0,0,0,.28); overflow:hidden; transform:translateY(10px); transition:transform .22s ease; font-family:'MontserratLight',sans-serif; }
#tam-motord-update-modal.tam-motord-update-visible #tam-motord-update-panel { transform:translateY(0); }
#tam-motord-update-hdr { display:flex; align-items:center; justify-content:space-between; padding:14px 18px; background:#fafafa; border-bottom:1px solid #e0e0e0; font-size:.84rem; font-weight:700; color:#000; }
#tam-motord-update-close { width:28px; height:28px; display:flex; align-items:center; justify-content:center; font-size:1rem; background:none; border:1px solid #ddd; border-radius:7px; cursor:pointer; color:#000; transition:all .12s; }
#tam-motord-update-close:hover { background:#9B4D4D; color:#fff; border-color:#9B4D4D; }
#tam-motord-update-body { padding:20px 22px; font-size:.85rem; font-weight:600; color:#000; line-height:1.7; }
#tam-motord-update-body p { margin:0 0 10px; }
#tam-motord-update-body ol { margin:0 0 0 18px; padding:0; }
#tam-motord-update-body li { margin-bottom:8px; }
#tam-motord-update-body code { background:#f5f5f5; border:1px solid #e0e0e0; border-radius:5px; padding:2px 7px; font-family:monospace; font-size:.82rem; color:#000; }
#tam-motord-update-body a { color:#000; font-weight:700; text-decoration:underline; }
#tam-motord-spin.tam-motord-spin-on { opacity:1; transform:translateX(-50%) translateY(0); }
.tam-badge-motord { background:#fff; color:#000; border:1px solid #000; }
.tam-dn-inp-prefilled { border-color:#E8A44A!important; background:#FFFBF5!important; }
.tam-dn-inp-unclear   { border-color:#9B4D4D!important; background:#F5EAEA!important; }
.tam-dn-row-prefilled td { background:#FFFBF5!important; }
.tam-dn-md-high { font-size:.7rem; font-weight:700; color:#4A7C6F; }
.tam-dn-md-med  { font-size:.7rem; font-weight:700; color:#E8A44A; }
.tam-dn-md-low  { font-size:.7rem; font-weight:700; color:#9B4D4D; }
.tam-dnv-btn-motord { border-color:#000!important; color:#000!important; }
.tam-dnv-btn-motord:hover { background:#f0f0f0!important; border-color:#555!important; }
#tam-dn-verify-area { width:100%; max-width:760px; margin-top:16px; }
#tam-progress-area { display:none; }
.tam-inv-stock-btn.tam-inv-stock-active { background:#111!important; border-color:#111!important; color:#fff!important; }
.tam-dnv-area { display:flex; flex-direction:column; gap:8px; font-family:'MontserratLight',sans-serif; }
.tam-dnv-missing-block { padding:10px 14px; border:1px solid #e0e0e0; border-radius:8px; background:#fafafa; }
.tam-dnv-missing-hdr { font-size:.78rem; font-weight:700; color:#000; font-family:'MontserratLight',sans-serif; }
.tam-dnv-missing-list { margin-top:5px; display:flex; flex-direction:column; gap:2px; padding-left:10px; }
.tam-dnv-missing-item { font-size:.72rem; color:#000; font-family:'Courier New',monospace; }
.tam-dnv-block { border:1px solid #E8A44A; border-radius:14px; overflow:hidden; background:#fff; }
.tam-dnv-block-hdr { padding:10px 16px; background:#FFFBF5; font-size:.6rem; font-weight:700; text-transform:uppercase; letter-spacing:.12em; color:#C47A1E; border-bottom:1px solid #E8A44A; }
.tam-dnv-hint { padding:8px 16px; font-size:.78rem; color:#000; opacity:.5; font-weight:700; border-bottom:1px solid #f0f0f0; background:#fafafa; }
.tam-dnv-scroll { overflow-x:auto; }
.tam-dnv-table { width:auto; min-width:640px; border-collapse:collapse; font-size:.83rem; }
.tam-dnv-table thead th { padding:7px 12px; background:#fff; font-size:.68rem; font-weight:700; text-transform:uppercase; letter-spacing:.10em; color:#000; opacity:.5; border-bottom:1px solid #e0e0e0; white-space:nowrap; }
.tam-dnv-row td { padding:8px 12px; border-bottom:1px solid #f0f0f0; vertical-align:middle; }
.tam-dnv-row:last-child td { border-bottom:none; }
.tam-dnv-ref { font-weight:800; color:#000; white-space:nowrap; min-width:130px; }
.tam-dnv-num { text-align:center; font-variant-numeric:tabular-nums; font-weight:700; color:#000; white-space:nowrap; }
.tam-dnv-diff-low  { color:#9B4D4D!important; }
.tam-dnv-diff-high { color:#5F7B94!important; }
.tam-dnv-action-cell { padding:6px 12px!important; }
.tam-dnv-actions { display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.tam-dnv-btn { padding:3px 10px; font-size:.73rem; font-weight:700; font-family:'MontserratLight',sans-serif; cursor:pointer; border-radius:6px; border:1px solid #ccc; background:transparent; color:#000; transition:all .12s; white-space:nowrap; text-transform:lowercase; }
.tam-dnv-btn:hover { background:#f0f0f0; border-color:#555; }
.tam-dnv-btn-edit { border-color:#5F7B94!important; color:#5F7B94!important; }
.tam-dnv-btn-edit:hover { background:#5F7B94!important; color:#fff!important; }
.tam-dnv-btn-confirm-dn { border-color:#4A7C6F!important; color:#4A7C6F!important; }
.tam-dnv-btn-confirm-dn:hover { background:#4A7C6F!important; color:#fff!important; }
.tam-dnv-btn-reopen { border-color:#ccc!important; color:#000!important; opacity:.5; font-size:.68rem!important; }
.tam-dnv-btn-reopen:hover { background:#f5f5f5!important; color:#000!important; border-color:#ccc!important; opacity:1; }
.tam-dnv-invoice-alert { display:flex; align-items:center; gap:10px; flex-wrap:wrap; padding:6px 10px; background:#F5EAEA; border:1px solid #c47a7a; border-radius:8px; font-size:.78rem; font-weight:700; color:#9B4D4D; }
.tam-dne-row-mismatch td { background:#FFFBF5!important; }
.tam-dn-edit-modal { position:fixed; inset:0; z-index:10002; display:flex; align-items:center; justify-content:center; opacity:0; transition:opacity .22s ease; pointer-events:none; }
.tam-dn-edit-modal.tam-dn-visible { opacity:1; pointer-events:auto; }
#tam-dn-edit-backdrop { position:absolute; inset:0; background:rgba(0,0,0,.45); }
#tam-dn-edit-panel { position:relative; z-index:1; width:min(520px,96vw); max-height:85vh; display:flex; flex-direction:column; background:#fff; border-radius:16px; box-shadow:0 16px 64px rgba(0,0,0,.28); overflow:hidden; transform:translateY(14px); transition:transform .22s ease; font-family:'MontserratLight',sans-serif; }
.tam-dn-edit-modal.tam-dn-visible #tam-dn-edit-panel { transform:translateY(0); }
#tam-dne-header { display:flex; align-items:center; justify-content:space-between; padding:14px 20px 12px; border-bottom:1px solid #e0e0e0; background:#fafafa; flex-shrink:0; }
#tam-dne-title { display:flex; flex-direction:column; gap:2px; }
#tam-dne-zy { font-size:.95rem; font-weight:700; color:#000; font-family:'MontserratLight',sans-serif; }
#tam-dne-sub { display:block; font-size:.6rem; font-weight:700; color:#000; font-family:'MontserratLight',sans-serif; text-transform:uppercase; letter-spacing:.12em; opacity:.5; }
.tam-dne-hint { padding:8px 16px; font-size:.78rem; color:#000; opacity:.5; font-weight:700; background:#fafafa; border-bottom:1px solid #f0f0f0; flex-shrink:0; }
#tam-dne-scroll { overflow:auto; flex:1; }
#tam-dne-table { width:100%; border-collapse:collapse; font-family:'MontserratLight',sans-serif; font-size:.84rem; }
#tam-dne-table thead { position:sticky; top:0; z-index:2; }
.tam-dne-ref { font-weight:800; color:#000; white-space:nowrap; padding:7px 12px; border-bottom:1px solid #f0f0f0; }
.tam-dne-inv { text-align:center; color:#000; font-weight:700; opacity:.5; padding:7px 12px; border-bottom:1px solid #f0f0f0; }
.tam-dne-qty { text-align:center; padding:5px 10px; border-bottom:1px solid #f0f0f0; }
.tam-dne-inp { width:68px; padding:5px 6px; font-size:.84rem; font-family:'MontserratLight',sans-serif; border:1px solid #e0e0e0; border-radius:7px; text-align:center; outline:none; background:#fafafa; transition:border-color .12s; font-weight:700; color:#000; -moz-appearance:textfield; appearance:textfield; }
.tam-dne-inp::-webkit-inner-spin-button,.tam-dne-inp::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
.tam-dne-inp:focus { border-color:#000; background:#fff; }
#tam-dne-footer { display:flex; align-items:center; gap:10px; padding:12px 20px; border-top:1px solid #e0e0e0; background:#fafafa; flex-shrink:0; }
@media (max-width:768px) {
  #tam-sessions-inline { max-width:none; margin:12px 0 0; }
  .tam-invoice-block-header { gap:4px; padding:14px 14px; }
  .tam-inv-num { font-size:1.1rem!important; }
  .tam-inv-total { font-size:1rem!important; }
  .tam-inv-meta { font-size:.7rem!important; opacity:.5; }
  .tam-invoice-block-header button:not(.tam-inv-toggle-btn) { font-size:.68rem!important; padding:3px 8px!important; }
  .tam-inv-quick-wrap { flex-wrap:wrap; gap:3px; }
  #tam-invoice-meta { flex-wrap:wrap; gap:6px; }
  #tam-invoice-meta button { font-size:.7rem!important; padding:5px 10px!important; }
  #tam-session-bar { gap:8px; padding:8px 12px; }
  .tam-session-btn { font-size:.62rem!important; padding:4px 10px!important; }
  .tam-rec-quick-btns { padding:8px 12px; gap:6px; }
  .tam-quick-btn { font-size:.72rem!important; padding:5px 10px!important; }
  #tam-reception-area { margin-top:12px; }
  .tam-stock-copy-bar { grid-template-columns:repeat(3,1fr)!important; }
  .tam-guia-copy-bar { grid-template-columns:repeat(2,1fr)!important; }
  #tam-stock-header, #tam-guia-header { flex-wrap:wrap; gap:6px; padding:12px 14px 10px; }
  #tam-stock-actions, #tam-guia-header-btns { flex-wrap:wrap; gap:6px; }
  .tam-stock-action-btn, .tam-guia-action-btn { font-size:.72rem!important; padding:5px 10px!important; }
}
.tam-box-dn-link-btn { background:none; border:none; padding:0; margin:0; font:inherit; color:inherit; cursor:pointer; display:inline-flex; align-items:center; gap:4px; }
.tam-box-dn-link-btn:hover { text-decoration:underline; }
.tam-box-dn-link-icon { font-size:.75em; opacity:.6; }
.tam-box-dn-unlink-btn { background:none; border:1px solid #e0e0e0; border-radius:6px; cursor:pointer; font-size:.65rem; padding:0 4px; margin-left:4px; color:#9B4D4D; vertical-align:middle; }
.tam-box-dn-unlink-btn:hover { background:#F5EAEA; border-color:#9B4D4D; }
#tam-dn-link-popover { position:absolute; z-index:9999; min-width:220px; max-width:280px; max-height:320px; overflow-y:auto; background:#fff; border:1px solid #000; border-radius:10px; box-shadow:0 4px 20px rgba(0,0,0,.18); font-family:'MontserratLight',sans-serif; padding:10px; opacity:0; transition:opacity .12s ease; }
#tam-dn-link-popover.tam-dnlink-visible { opacity:1; }
.tam-dnlink-title { font-size:.74rem; font-weight:700; color:#000; margin-bottom:8px; }
.tam-dnlink-filter { width:100%; box-sizing:border-box; padding:5px 8px; margin-bottom:8px; font-size:.76rem; font-family:'MontserratLight',sans-serif; border:1px solid #e0e0e0; border-radius:7px; outline:none; background:#fafafa; color:#000; transition:border-color .15s; }
.tam-dnlink-filter:focus { border-color:#000; background:#fff; }
.tam-dnlink-filter::placeholder { color:#bbb; font-style:italic; }
.tam-dnlink-list { display:flex; flex-direction:column; gap:8px; }
.tam-dnlink-group-hdr { font-size:.68rem; font-weight:700; color:#888; text-transform:uppercase; letter-spacing:.03em; margin-bottom:3px; }
.tam-dnlink-opt { display:block; width:100%; text-align:left; padding:5px 8px; margin-bottom:3px; font-size:.76rem; font-family:'MontserratLight',sans-serif; font-weight:700; border:1px solid #e0e0e0; border-radius:7px; background:#fff; color:#000; cursor:pointer; transition:all .12s; }
.tam-dnlink-opt:hover { background:#f0f0f0; border-color:#000; }
.tam-dnlink-empty { font-size:.74rem; color:#888; padding:6px 0; }
.tam-dnlink-cancel { display:block; width:100%; margin-top:8px; padding:4px 0; font-size:.72rem; font-family:'MontserratLight',sans-serif; text-align:center; border:1px solid #ccc; border-radius:7px; background:transparent; color:#000; cursor:pointer; transition:all .12s; text-transform:lowercase; }
.tam-dnlink-cancel:hover { background:#f0f0f0; border-color:#555; }

/* ══════════════════════════════════════════════════════════════
   EAN TOOL — estilos migrados de ean-tool.js (agora dentro de tam.js
   como tamLoadEanToolModule). Antes injetado via <style> em JS,
   removido do módulo e movido para cá.
══════════════════════════════════════════════════════════════ */
#ean-tool-overlay { display:none; position:fixed; inset:0; z-index:10000; background:rgba(0,0,0,.55) !important; align-items:center; justify-content:center; padding:16px; }
#ean-tool-overlay.ean-open { display:flex; }
#ean-tool-wrap { background:#fff !important; color:#111 !important; border-radius:12px; width:min(480px,96vw); max-height:92vh; display:flex; flex-direction:column; overflow:hidden; box-shadow:0 24px 64px rgba(0,0,0,.22); font-family:'MontserratLight',sans-serif; }
#ean-tool-header { background:#1a1a1a !important; color:#fff !important; padding:12px 18px; display:flex; align-items:center; gap:10px; flex-shrink:0; }
#ean-tool-header-title { font-size:.9rem; font-weight:700; letter-spacing:.04em; flex:1; color:#fff !important; }
#ean-tool-close { width:28px; height:28px; border-radius:6px; border:1px solid #444 !important; background:none !important; color:#aaa !important; cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:.85rem; transition:color .12s,border-color .12s; flex-shrink:0; font-family:'MontserratLight',sans-serif; }
#ean-tool-close:hover { color:#fff !important; border-color:#888 !important; }
#ean-action-row { display:flex; align-items:center; justify-content:center; gap:10px; padding:14px 18px 0; flex-shrink:0; }
#ean-drop-zone { width:46px; height:46px; border-radius:50%; border:2px solid #111; background:#111 !important; color:#fff !important; font-size:.62rem; font-weight:800; letter-spacing:.06em; cursor:pointer; flex-shrink:0; display:flex; align-items:center; justify-content:center; align-self:center; transition:background .14s,color .14s; user-select:none; text-transform:uppercase; line-height:1; font-family:'MontserratLight',sans-serif; }
#ean-drop-zone:hover, #ean-drop-zone.ean-drag-over { background:#333 !important; border-color:#333 !important; }
#ean-file-count { font-size:.7rem; color:#111 !important; letter-spacing:0; display:none; white-space:nowrap; font-family:'MontserratLight',sans-serif; }
#ean-file-count.ean-visible { display:inline-block; }
#ean-btn-open-modal { width:46px; height:46px; border-radius:50%; border:2px solid #111; background:#fff !important; color:#111 !important; font-size:1.3rem; cursor:pointer; flex-shrink:0; display:flex; align-items:center; justify-content:center; align-self:center; transition:background .14s,color .14s; line-height:1; }
#ean-btn-open-modal:hover:not(:disabled) { background:#111 !important; color:#fff !important; }
#ean-btn-open-modal:disabled { border-color:#ccc !important; color:#ccc !important; cursor:not-allowed; }
#ean-btn-open-modal.ean-has-results { border-color:#111 !important; color:#111 !important; }
#ean-progress-wrap { padding:8px 18px 0; display:none; flex-shrink:0; }
#ean-progress-wrap.ean-visible { display:block; }
#ean-progress-track { height:2px; background:#ddd !important; border-radius:99px; overflow:hidden; }
#ean-progress-fill { height:100%; background:#111 !important; width:0%; transition:width .25s; }
#ean-progress-lbl { font-size:.68rem; color:#999 !important; margin-top:5px; font-family:'MontserratLight',sans-serif; }
#ean-error-wrap { padding:8px 18px 0; display:none; flex-shrink:0; }
#ean-error-wrap.ean-visible { display:block; }
#ean-error-box { background:#fff0f0 !important; border:1px solid #f5c0c0; border-radius:7px; padding:10px 14px; font-size:.74rem; color:#c00 !important; font-family:'MontserratLight',sans-serif; }
#ean-found-wrap { padding:8px 18px 0; display:none; flex-shrink:0; }
#ean-found-wrap.ean-visible { display:block; }
#ean-found-box { background:#fdf6e8 !important; border:1px solid #e6d5a3; border-radius:7px; padding:10px 14px; font-family:'MontserratLight',sans-serif; }
#ean-found-title { font-weight:700; font-size:.76rem; color:#111 !important; margin-bottom:2px; }
#ean-found-hint { font-size:.7rem; color:#8a7238 !important; }
#ean-dn-wrap { padding:8px 18px 14px; display:none; flex-shrink:0; }
#ean-dn-wrap.ean-visible { display:block; }
#ean-dn-box { background:#f0f7f4 !important; border:1px solid #bcd9cc; border-radius:7px; padding:10px 14px; font-family:'MontserratLight',sans-serif; }
#ean-dn-title { font-weight:700; font-size:.76rem; margin-bottom:6px; color:#111 !important; }
#ean-dn-list { display:flex; flex-direction:column; gap:2px; margin-bottom:8px; max-height:110px; overflow-y:auto; }
.ean-dn-item { font-family:'Courier New',monospace; font-size:.72rem; color:#333 !important; }
#ean-dn-unresolved { font-size:.7rem; color:#9B4D4D !important; margin-bottom:8px; }
#ean-dn-apply-btn { width:100%; padding:8px; border-radius:7px; border:1px solid #111 !important; background:#111 !important; color:#fff !important; cursor:pointer; font-family:'MontserratLight',sans-serif; font-size:.76rem; font-weight:700; transition:background .12s; }
#ean-dn-apply-btn:hover { background:#333 !important; }
#ean-dn-apply-btn:disabled { background:#ccc !important; border-color:#ccc !important; cursor:not-allowed; }
#ean-modal-overlay { display:none; position:fixed; inset:0; z-index:10001; background:rgba(0,0,0,.5) !important; align-items:center; justify-content:center; padding:16px; }
#ean-modal-overlay.ean-open { display:flex; }
#ean-modal-box { background:#fff !important; color:#111 !important; border-radius:12px; width:100%; max-width:520px; max-height:90vh; display:flex; flex-direction:column; overflow:hidden; box-shadow:0 24px 64px rgba(0,0,0,.22); font-family:'MontserratLight',sans-serif; }
#ean-modal-hdr { background:#1a1a1a !important; color:#fff !important; padding:14px 18px; display:flex; align-items:center; gap:10px; flex-shrink:0; }
#ean-modal-hdr-texts { flex:1; }
#ean-modal-hdr-title { font-size:.92rem; font-weight:700; color:#fff !important; }
#ean-modal-hdr-actions { display:flex; align-items:center; gap:8px; }
#ean-modal-close { width:28px; height:28px; border-radius:6px; border:1px solid #444 !important; background:none !important; color:#aaa !important; cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:.85rem; transition:color .12s,border-color .12s; flex-shrink:0; font-family:'MontserratLight',sans-serif; }
#ean-modal-close:hover { color:#fff !important; border-color:#888 !important; }
.ean-btn-download-excel { display:flex; align-items:center; gap:5px; padding:5px 11px; border-radius:5px; border:1px solid #444 !important; background:none !important; color:#aaa !important; font-size:.65rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; cursor:pointer; transition:color .12s,border-color .12s; white-space:nowrap; font-family:'MontserratLight',sans-serif; }
.ean-btn-download-excel:hover { color:#fff !important; border-color:#aaa !important; }
.ean-btn-save-sb { display:flex; align-items:center; gap:5px; padding:5px 11px; border-radius:5px; border:1px solid #3a6a3a !important; background:none !important; color:#5caa5c !important; font-size:.65rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; cursor:pointer; transition:color .12s,border-color .12s,opacity .12s; white-space:nowrap; font-family:'MontserratLight',sans-serif; }
.ean-btn-save-sb:hover { color:#7fd17f !important; border-color:#7fd17f !important; }
.ean-btn-save-sb:disabled { opacity:.4; cursor:default; }
#ean-modal-stats { padding:9px 18px; background:#f8f8f8 !important; border-bottom:1px solid #eee; display:flex; gap:20px; flex-shrink:0; align-items:center; }
.ean-stat-item { display:flex; flex-direction:column; gap:1px; }
.ean-stat-val { font-size:.88rem; font-weight:700; color:#111 !important; }
.ean-stat-lbl { font-size:.58rem; text-transform:uppercase; letter-spacing:.09em; color:#aaa !important; }
#ean-audit-summary { font-size:.62rem; color:#aaa !important; margin-left:auto; display:flex; align-items:center; gap:5px; display:none; }
.ean-audit-dot { width:7px; height:7px; border-radius:50%; flex-shrink:0; }
.ean-audit-dot.ean-clean { background:#4caf50 !important; }
.ean-audit-dot.ean-issues { background:#f59e0b !important; }
.ean-audit-dot.ean-errors { background:#ef4444 !important; }
#ean-modal-search-wrap { padding:10px 20px; border-bottom:1px solid #eee; flex-shrink:0; }
#ean-modal-search { width:100%; border:1px solid #ddd; border-radius:6px; padding:7px 11px; font-size:.78rem; color:#111 !important; outline:none; transition:border-color .14s; font-family:'MontserratLight',sans-serif; }
#ean-modal-search:focus { border-color:#555 !important; }
#ean-modal-search::placeholder { color:#ccc !important; }
#ean-modal-body { overflow-y:auto; flex:1; padding:0; }
#ean-modal-body::-webkit-scrollbar { width:4px; }
#ean-modal-body::-webkit-scrollbar-thumb { background:#ddd !important; border-radius:99px; }
.ean-ref-block { padding:14px 20px 12px; border-bottom:1px solid #f0f0f0; }
.ean-ref-block:last-child { border-bottom:none; }
.ean-ref-block:hover { background:#fafafa !important; }
.ean-ref-top-line { display:flex; align-items:baseline; gap:10px; }
.ean-ref-code { font-size:.9rem; font-weight:800; color:#111 !important; cursor:pointer; padding:1px 5px; border-radius:4px; border:1px solid transparent; transition:background .12s,border-color .12s; white-space:nowrap; user-select:none; flex-shrink:0; font-family:'MontserratLight',sans-serif; }
.ean-ref-code:hover { background:#f0f0f0 !important; border-color:#ddd !important; }
.ean-ref-code.ean-copied { background:#f0f0f0 !important; border-color:#111 !important; color:#000 !important; }
.ean-ref-name { font-size:.82rem; color:#111 !important; flex:0 1 auto; cursor:pointer; padding:1px 5px; border-radius:4px; border:1px solid transparent; transition:background .12s; user-select:none; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-family:'MontserratLight',sans-serif; }
.ean-ref-name:hover { background:#f0f0f0 !important; border-color:#ddd !important; color:#555 !important; }
.ean-ref-name.ean-copied { background:#f0f0f0 !important; border-color:#111 !important; color:#000 !important; }
.ean-ref-name.ean-empty { color:#ccc !important; font-style:italic; }
.ean-ref-pvp { font-size:.82rem; font-weight:700; color:#111 !important; cursor:pointer; padding:1px 5px; border-radius:4px; border:1px solid transparent; transition:background .12s; white-space:nowrap; flex-shrink:0; user-select:none; font-family:'MontserratLight',sans-serif; }
.ean-ref-pvp:hover { background:#f0f0f0 !important; border-color:#ddd !important; }
.ean-ref-pvp.ean-copied { background:#f0f0f0 !important; border-color:#111 !important; color:#000 !important; }
.ean-ref-pvp.ean-empty { color:#ccc !important; }
.ean-list { margin-top:6px; display:flex; flex-direction:column; gap:4px; }
.ean-chip { display:block; width:100%; background:#f5f5f5 !important; border:1px solid #e8e8e8; border-radius:6px; padding:7px 12px; font-family:'Courier New',Courier,monospace; font-size:.82rem; color:#333 !important; cursor:pointer; transition:background .12s,border-color .12s; user-select:none; }
.ean-chip:hover { background:#eee !important; border-color:#ccc !important; color:#111 !important; }
.ean-chip.ean-copied { background:#eee !important; border-color:#111 !important; color:#111 !important; }
.ean-ref-code.ean-done, .ean-ref-name.ean-done, .ean-ref-pvp.ean-done { border-color:#111 !important; }
.ean-ref-code.ean-done::after, .ean-ref-name.ean-done::after, .ean-ref-pvp.ean-done::after { content:" ✓"; font-size:.72em; font-weight:700; color:#111; }
.ean-chip.ean-done { border-color:#111 !important; }
.ean-chip.ean-invalid { border-color:#f0a0a0 !important; background:#fde8e8 !important; color:#9b1c1c !important; }
.ean-empty-state { text-align:center; padding:48px 20px; display:none; }
.ean-empty-state.ean-visible { display:block; }
.ean-empty-icon { font-size:1.6rem; margin-bottom:8px; }
.ean-empty-title { font-size:.85rem; font-weight:600; color:#888 !important; font-family:'MontserratLight',sans-serif; }
.ean-empty-sub { font-size:.7rem; color:#bbb !important; margin-top:3px; font-family:'MontserratLight',sans-serif; }
.ean-audit-bar { display:flex; flex-wrap:wrap; gap:4px; margin-top:5px; padding-left:2px; }
.ean-audit-flag { font-size:.58rem; font-weight:700; letter-spacing:.04em; padding:2px 7px; border-radius:4px; white-space:nowrap; font-family:'MontserratLight',sans-serif; }
.ean-audit-flag.ean-warn { background:#fff8e1 !important; color:#7a5800 !important; border:1px solid #f0d080; }
.ean-audit-flag.ean-error { background:#fde8e8 !important; color:#9b1c1c !important; border:1px solid #f0a0a0; }
.ean-dn-footer { margin-top:8px; padding-top:7px; border-top:1px dashed #ebebeb; display:flex; flex-wrap:wrap; gap:5px; align-items:center; }
.ean-dn-label { font-size:.62rem; text-transform:uppercase; letter-spacing:.1em; color:#111 !important; margin-right:2px; flex-shrink:0; font-family:'MontserratLight',sans-serif; }
.ean-dn-chip { font-family:'Courier New',monospace; font-size:.72rem; color:#111 !important; background:#f0f0f0 !important; border:1px solid #ddd; border-radius:4px; padding:2px 8px; cursor:pointer; transition:color .12s,border-color .12s,background .12s; user-select:none; white-space:nowrap; }
.ean-dn-chip:hover { color:#000 !important; border-color:#111 !important; background:#e8e8e8 !important; }
.ean-dn-chip.ean-copied { color:#000 !important; border-color:#111 !important; background:#eee !important; }
.ean-dn-chip.ean-done { border-color:#111 !important; }
.ean-dn-chip.ean-done::after { content:" ✓"; font-size:.72em; font-weight:700; color:#111; }
#ean-copy-toast { position:fixed; bottom:20px; left:50%; transform:translateX(-50%) translateY(8px); background:#222 !important; color:#fff !important; font-size:.7rem; padding:7px 16px; border-radius:100px; pointer-events:none; opacity:0; transition:opacity .18s,transform .18s; z-index:10002; white-space:nowrap; font-family:'MontserratLight',sans-serif; }
#ean-copy-toast.ean-show { opacity:1; transform:translateX(-50%) translateY(0); }

/* ══════════════════════════════════════════════════════════════
   EDITOR PDF — estilos migrados de editor-pdf.js (fusão utilitario)
══════════════════════════════════════════════════════════════ */
.adm-mod-card[data-module="editor"] { animation-delay: 0.30s; }
.ed-shape-el > svg { position:absolute; top:0; left:0; width:100%; height:100%; overflow:visible; pointer-events:none; }
#ed-mobile-msg { display:none; }
.ed-hidden-input { display:none; }
.ed-loading-msg { padding:40px; text-align:center; color:#aaa; font-weight:bold; font-size:.85rem; }
.ed-error-msg { padding:40px; text-align:center; color:#c03000; font-weight:bold; font-size:.85rem; }
.ed-loading-msg-sm { padding:20px; text-align:center; color:#aaa; font-size:.82rem; }


/* ══════════════════════════════════════════════════════════════
   BANCO DE HORAS — estilos migrados de bhInjectStyles() (banco-horas.js)
══════════════════════════════════════════════════════════════ */
#tab-banco-horas.active{overflow-y:auto;}
#bh-admin-wrap,#bh-loja-wrap{width:100%;max-width:900px;margin:0 auto;padding:0 4px 60px;box-sizing:border-box;font-family:"MontserratLight",sans-serif;}
.bh-section{margin-bottom:34px;}
.bh-section-title{font-size:.78rem;font-weight:bold;text-transform:uppercase;letter-spacing:.1em;opacity:.55;margin-bottom:14px;}
.bh-filter-row{margin-bottom:14px;display:flex;gap:10px;flex-wrap:wrap;}
.bh-filter-row select{padding:8px 12px;font-size:.85rem;font-weight:600;font-family:"MontserratLight",sans-serif;border:1.5px solid #ddd;border-radius:9px;background:#fff;outline:none;cursor:pointer;}
.bh-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border:1px solid #e6e6e6;border-radius:10px;background:#fafafa;margin-bottom:8px;flex-wrap:wrap;}
.bh-row-main{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.bh-row-nome{font-size:.86rem;font-weight:bold;color:#000;}
.bh-row-loja{font-size:.72rem;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.04em;}
.bh-row-meta{font-size:.72rem;font-weight:600;color:#888;}
.bh-row-actions{display:flex;gap:6px;flex-shrink:0;}
.bh-empty{text-align:center;padding:24px;color:#aaa;font-size:.85rem;font-weight:600;}
.bh-error{text-align:center;padding:16px;color:#c03000;font-size:.85rem;font-weight:600;}
.bh-btn{padding:6px 14px;font-size:.76rem;font-weight:600;cursor:pointer;border:1px solid #ccc;border-radius:8px;background:#fff;font-family:"MontserratLight",sans-serif;transition:background .15s,color .15s,border-color .15s;}
.bh-btn:hover{background:#f0f0f0;border-color:#999;}
.bh-btn:disabled{opacity:.45;cursor:not-allowed;}
.bh-btn.bh-btn-del:hover{background:#fff0f0;border-color:#e00;color:#c00;}
.bh-btn.bh-btn-aceitar{border-color:#2a8a2a;color:#2a8a2a;}
.bh-btn.bh-btn-aceitar:hover{background:#2a8a2a;color:#fff;}
.bh-btn.bh-btn-rejeitar:hover{background:#c03000;border-color:#c03000;color:#fff;}
.bh-btn.primary{background:#000;color:#fff !important;border-color:#000;}
.bh-btn.primary:hover{background:#333;border-color:#333;}
.bh-badge{display:inline-block;padding:2px 9px;font-size:.66rem;font-weight:bold;text-transform:uppercase;letter-spacing:.04em;border-radius:12px;}
.bh-badge-inativo{background:#fff0f0;color:#c00;}
.bh-badge-pendente{background:#fff8e6;color:#a06a00;}
.bh-badge-aceite{background:#eafaea;color:#2a8a2a;}
.bh-badge-rejeitado{background:#fdeaea;color:#c03000;}
.bh-badge-credito{background:#eafaea;color:#2a8a2a;}
.bh-badge-debito{background:#fff2e0;color:#b05000;}
.bh-field{display:flex;flex-direction:column;gap:5px;margin-bottom:12px;flex:1;min-width:130px;}
.bh-field label{font-size:.68rem;font-weight:bold;text-transform:uppercase;letter-spacing:.07em;opacity:.55;}
.bh-field input,.bh-field select{padding:9px 12px;font-size:.9rem;font-weight:600;font-family:"MontserratLight",sans-serif;border:1.5px solid #ddd;border-radius:10px;outline:none;background:#fff;box-sizing:border-box;transition:border-color .2s;}
.bh-field input:focus,.bh-field select:focus{border-color:#555;}
.bh-field-row{display:flex;gap:12px;flex-wrap:wrap;}
.bh-preview span{display:inline-block;padding:9px 0;font-size:.9rem;font-weight:bold;color:#000;}
#bh-lancar-status,#bh-loja-submit-status{font-size:.82rem;font-weight:600;min-height:18px;margin-top:8px;}
.bh-status-ok{color:#2a8a2a;}
.bh-status-error{color:#c03000;}
.bh-saldo-card{padding:18px 22px;border-radius:14px;background:#f7f7f7;border:1.5px solid #e6e6e6;margin-bottom:20px;}
.bh-saldo-card .bh-saldo-nome{font-size:.78rem;font-weight:bold;text-transform:uppercase;letter-spacing:.06em;opacity:.55;margin-bottom:6px;}
.bh-saldo-card .bh-saldo-valor{font-size:1.3rem;font-weight:bold;}
.bh-saldo-positivo{color:#2a8a2a !important;}
.bh-saldo-negativo{color:#c03000 !important;}
.bh-saldo-zero{color:#666 !important;}
#bh-loja-picker{display:flex;flex-direction:column;gap:8px;max-width:360px;margin:20px auto 30px;text-align:center;}
#bh-loja-picker label{font-size:.72rem;font-weight:bold;text-transform:uppercase;letter-spacing:.08em;opacity:.55;}
#bh-loja-picker select{padding:10px 14px;font-size:.95rem;font-weight:600;font-family:"MontserratLight",sans-serif;border:1.5px solid #ddd;border-radius:12px;background:#fff;outline:none;cursor:pointer;}
.bh-loja-group-title{font-size:.72rem;font-weight:bold;text-transform:uppercase;letter-spacing:.08em;opacity:.6;margin:18px 0 8px;}
.bh-loja-group-title:first-child{margin-top:0;}
.bh-row-clickable{cursor:pointer;transition:background .12s;}
.bh-row-clickable:hover{background:#f0f0f0;}
#bh-lancar-modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:600;justify-content:center;align-items:center;}
#bh-lancar-modal-overlay.show{display:flex;}
#bh-lancar-modal-box{background:#fff;border-radius:18px;padding:26px;max-width:480px;width:92%;max-height:85vh;overflow-y:auto;font-family:"MontserratLight",sans-serif;box-shadow:0 12px 48px rgba(0,0,0,.15);}
#bh-lancar-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;}
#bh-lancar-modal-title{font-size:.88rem;font-weight:bold;text-transform:uppercase;letter-spacing:.05em;color:#000;}
#bh-lancar-modal-close{background:transparent;border:none;font-size:1.2rem;cursor:pointer;color:#000;padding:4px 8px;border-radius:6px;line-height:1;}
#bh-lancar-modal-close:hover{background:#f0f0f0;}
#bh-lancar-modal-nome{font-size:.95rem;font-weight:bold;color:#000;margin-bottom:2px;}
#bh-lancar-modal-loja{font-size:.72rem;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px;}
#bh-gerir-lojas-modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:601;justify-content:center;align-items:center;}
#bh-gerir-lojas-modal-overlay.show{display:flex;}
#bh-gerir-lojas-modal-box{background:#fff;border-radius:18px;padding:26px;max-width:420px;width:90%;font-family:"MontserratLight",sans-serif;box-shadow:0 12px 48px rgba(0,0,0,.15);}
#bh-gerir-lojas-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;}
#bh-gerir-lojas-modal-title{font-size:.88rem;font-weight:bold;text-transform:uppercase;letter-spacing:.05em;color:#000;}
#bh-gerir-lojas-modal-close{background:transparent;border:none;font-size:1.2rem;cursor:pointer;color:#000;padding:4px 8px;border-radius:6px;line-height:1;}
#bh-gerir-lojas-modal-close:hover{background:#f0f0f0;}
#bh-gerir-lojas-modal-nome{font-size:.95rem;font-weight:bold;color:#000;margin-bottom:14px;}
.bh-gerir-loja-row{display:flex;align-items:center;gap:10px;padding:10px 4px;border-bottom:1px solid #f0f0f0;}
.bh-gerir-loja-row:last-child{border-bottom:none;}
.bh-gerir-loja-row input[type="checkbox"]{width:18px;height:18px;cursor:pointer;flex-shrink:0;}
.bh-gerir-loja-row label{font-size:.86rem;font-weight:600;cursor:pointer;}

/* ══════════════════════════════════════════════════════════════
   GERADOR DE HORÁRIOS — estilos migrados de gh-styles (gerador-horarios.js)
══════════════════════════════════════════════════════════════ */
        /* ── LAYOUT — isolation from admin dark theme ── */
        #tab-gerador { background:#fff !important; color:#111 !important; }

        /* ── WIZARD ── */
        @keyframes gh-up { from{opacity:0;transform:translateY(12px)} to{opacity:1;transform:translateY(0)} }
        #tab-gerador .gh-wiz-box { width:100%; max-width:520px; margin:0 auto; padding:48px 24px; animation:gh-up .3s ease; box-sizing:border-box; }
        #tab-gerador .gh-wiz-label { font-size:.65rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:#bbb; margin-bottom:12px; }
        #tab-gerador .gh-wiz-title { font-size:1.6rem; font-weight:400; margin-bottom:8px; line-height:1.3; color:#111; }
        #tab-gerador .gh-wiz-sub   { font-size:.82rem; color:#888; margin-bottom:32px; line-height:1.6; }
        #tab-gerador .gh-field { width:100%; border:1px solid #ddd; border-radius:6px; padding:11px 13px; font-size:.9rem; font-family:inherit; font-weight:400; outline:none; transition:border-color .15s; background:#fff; margin-bottom:28px; color:#111; box-sizing:border-box; }
        #tab-gerador .gh-field:focus { border-color:#000; }
        #tab-gerador .gh-wiz-nav { display:flex; gap:12px; align-items:center; margin-top:4px; }

        /* ── BUTTONS ── */
        #tab-gerador .gh-btn { padding:9px 20px; font-size:.72rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; border-radius:6px; font-family:inherit; transition:all .15s; }
        #tab-gerador .gh-btn-solid { background:#111 !important; color:#fff !important; border:1px solid #111 !important; }
        #tab-gerador .gh-btn-solid:hover { background:#333 !important; border-color:#333 !important; }
        #tab-gerador .gh-btn-ghost { background:#fff !important; color:#111 !important; border:1px solid #999 !important; }
        #tab-gerador .gh-btn-ghost:hover { border-color:#111 !important; }
        #tab-gerador .gh-btn-sm { padding:6px 14px; font-size:.65rem; }
        #tab-gerador .gh-wiz-back { background:none !important; border:none !important; font-size:.68rem; color:#bbb !important; cursor:pointer; font-family:inherit; letter-spacing:.06em; text-transform:uppercase; padding:6px 4px; }
        #tab-gerador .gh-wiz-back:hover { color:#111 !important; }

        /* ── ABSENCES ── */
        #tab-gerador .gh-ab-list { margin-bottom:14px; }
        #tab-gerador .gh-ab-row { display:grid; grid-template-columns:1fr 110px 90px 28px; gap:8px; align-items:center; padding:8px 0; border-bottom:1px solid #f0f0f0; }
        #tab-gerador .gh-ab-sel { border:1px solid #ddd; border-radius:5px; padding:7px 9px; font-size:.78rem; font-family:inherit; font-weight:300; outline:none; background:#fff; width:100%; color:#111; }
        #tab-gerador .gh-ab-x { background:none; border:none; cursor:pointer; color:#ccc; font-size:1rem; line-height:1; }
        #tab-gerador .gh-ab-x:hover { color:#c00; }
        #tab-gerador .gh-add-btn { display:flex; align-items:center; gap:8px; font-size:.75rem; color:#aaa; cursor:pointer; border:1px dashed #ddd; border-radius:5px; padding:9px 14px; background:none; font-family:inherit; width:100%; margin-bottom:24px; }
        #tab-gerador .gh-add-btn:hover { border-color:#111; color:#111; }

        /* ── STORE CONFIG ── */
        #tab-gerador .gh-store-cfg { margin-bottom:28px; display:flex; flex-direction:column; gap:0; }
        #tab-gerador .gh-sc-row { padding:14px 0 10px; border-bottom:1px solid #f0f0f0; display:flex; flex-direction:column; gap:8px; }
        #tab-gerador .gh-sc-row:last-child { border-bottom:none; }
        #tab-gerador .gh-sc-top { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
        #tab-gerador .gh-sc-name { font-size:.88rem; cursor:pointer; color:#111; font-weight:600; flex:1; min-width:80px; }
        #tab-gerador .gh-sc-top input[type=checkbox] { width:16px; height:16px; cursor:pointer; accent-color:#000; flex-shrink:0; }
        #tab-gerador .gh-sc-minmax { display:flex; align-items:center; gap:4px; background:#f5f5f5; border:1px solid #e8e8e8; border-radius:6px; padding:3px 8px; margin-left:auto; }
        #tab-gerador .gh-sc-mm-field { display:flex; align-items:center; gap:3px; }
        #tab-gerador .gh-sc-mm-label { font-size:.58rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#aaa; }
        #tab-gerador .gh-sc-mm-inp { width:32px; font-size:.78rem; font-weight:700; text-align:center; border:1px solid #ddd; border-radius:3px; padding:2px 3px; color:#111; background:#fff; font-family:inherit; }
        #tab-gerador .gh-sc-mm-inp:focus { outline:none; border-color:#111; }
        #tab-gerador .gh-sc-mm-inp::placeholder { color:#ccc; font-weight:400; }
        #tab-gerador .gh-sc-mm-sep { font-size:.7rem; color:#ccc; padding:0 1px; }
        #tab-gerador .gh-sc-fixed-cap { font-size:.62rem; font-weight:700; color:#888; background:#f0f0f0; border:1px solid #e0e0e0; border-radius:5px; padding:3px 9px; margin-left:auto; white-space:nowrap; }
        #tab-gerador .gh-sc-days { display:flex; gap:5px; flex-wrap:wrap; padding-left:26px; }
        #tab-gerador .gh-sc-mode-row { display:flex; align-items:center; gap:8px; padding-left:26px; flex-wrap:wrap; }
        #tab-gerador .gh-sc-mode-label { font-size:.58rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#aaa; white-space:nowrap; }
        #tab-gerador .gh-sc-mode-sel { font-size:.72rem; border:1px solid #ddd; border-radius:5px; padding:4px 8px; font-family:inherit; color:#111; background:#fff; cursor:pointer; flex:1; min-width:180px; max-width:340px; }
        #tab-gerador .gh-sc-mode-sel:focus { outline:none; border-color:#111; }
        #tab-gerador .gh-sc-mode-hint { font-size:.62rem; color:#888; white-space:nowrap; flex-shrink:0; }
        /* Disabled state */
        #tab-gerador .gh-sc-row.closed .gh-sc-minmax,
        #tab-gerador .gh-sc-row.closed .gh-sc-mode-row { opacity:.3; pointer-events:none; }
        #tab-gerador .gh-sc-row.closed .gh-sc-name { color:#bbb; }
        #tab-gerador .gh-sc-row.closed .gh-sc-days { opacity:.2; pointer-events:none; }
        /* Day toggles */
        #tab-gerador .gh-dtog { padding:5px 9px; border:1px solid #ddd; border-radius:4px; font-size:.65rem; font-weight:600; letter-spacing:.04em; cursor:pointer; user-select:none; color:#555; background:#fff; transition:all .12s; }
        #tab-gerador .gh-dtog:hover { border-color:#555; }
        #tab-gerador .gh-dtog.on { background:#111; color:#fff !important; border-color:#111; }
        #tab-gerador .gh-dtog-dom { border-style:dashed; }
        #tab-gerador .gh-dtog-dom.on { background:#1a5c9e; border-color:#1a5c9e; border-style:solid; }
        /* Season banner */
        #tab-gerador .gh-season-banner { display:flex; align-items:flex-start; gap:10px; background:#f5f8ff; border:1px solid #d0ddf5; border-radius:8px; padding:10px 14px; margin-bottom:18px; }
        #tab-gerador .gh-season-icon { font-size:1.1rem; flex-shrink:0; margin-top:1px; }
        #tab-gerador .gh-season-name { font-size:.78rem; font-weight:700; color:#1a3a6c; margin-bottom:2px; }
        #tab-gerador .gh-season-hint { font-size:.7rem; color:#4a6a9c; line-height:1.4; }

        /* ── COMBINAÇÃO BAR ── */
        #tab-gerador .gh-comb-bar { display:flex; align-items:center; flex-wrap:wrap; gap:6px; padding:6px 20px; background:#f9f9f7; border-bottom:1px solid #efefeb; font-size:.62rem; }
        #tab-gerador .gh-comb-label { font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#bbb; margin-right:2px; }
        #tab-gerador .gh-comb-codes { font-family:monospace; color:#888; font-size:.68rem; }
        #tab-gerador .gh-comb-sep { color:#ddd; }
        #tab-gerador .gh-comb-person { display:inline-flex; align-items:center; gap:3px; background:#f0f0eb; border-radius:4px; padding:1px 6px; color:#555; }
        #tab-gerador .gh-comb-num { font-weight:700; color:#1a3a6c; background:#e8f0fe; border-radius:3px; padding:0 4px; font-size:.65rem; margin-left:2px; }

        /* ── SCHEDULE BAR ── */
        #tab-gerador .gh-sched-bar { position:sticky; top:0; background:#fff; border-bottom:1px solid #e8e8e8; padding:12px 20px; display:flex; align-items:center; justify-content:space-between; z-index:10; box-sizing:border-box; }
        #tab-gerador .gh-sb-week  { font-size:.68rem; font-weight:600; letter-spacing:.15em; text-transform:uppercase; color:#888; }
        #tab-gerador .gh-sb-dates { font-size:.88rem; font-weight:500; margin-top:2px; color:#111; }
        #tab-gerador .gh-alert-bar { padding:8px 20px; background:#fafafa; border-bottom:1px solid #ebebeb; box-sizing:border-box; }
        #tab-gerador .gh-dec-bar   { padding:7px 20px; border-bottom:1px solid #f0f0f0; box-sizing:border-box; }
        #tab-gerador .gh-al-inner  { display:flex; flex-wrap:wrap; gap:6px; }
        #tab-gerador .gh-dec-inner { display:flex; flex-wrap:wrap; gap:5px; }
        #tab-gerador .gh-al-chip { font-size:.72rem; font-weight:600; padding:5px 13px; border-radius:20px; }
        #tab-gerador .gh-al-chip.red   { background:#fff0f0; color:#a93226; border:1px solid rgba(169,50,38,.25); }
        #tab-gerador .gh-al-chip.amber { background:#fff8e8; color:#9a6f00; border:1px solid rgba(154,111,0,.25); }
        #tab-gerador .gh-al-chip.info  { background:#edf3ff; color:#1a4a7a; border:1px solid rgba(26,74,122,.25); }
        #tab-gerador .gh-dec-chip { font-size:.68rem; font-weight:500; color:#555; padding:4px 10px; background:#efefef; border-radius:4px; }

        /* ── COVERAGE BLOCKER ── */
        #tab-gerador .gh-cov-list { margin:24px 0; display:flex; flex-direction:column; gap:8px; }
        #tab-gerador .gh-cov-row { display:grid; grid-template-columns:60px 1fr auto; gap:12px; align-items:center; padding:10px 14px; background:#fff5f5; border:1px solid rgba(169,50,38,.2); border-radius:7px; }
        #tab-gerador .gh-cov-day { font-size:.72rem; font-weight:700; letter-spacing:.1em; color:#a93226; }
        #tab-gerador .gh-cov-store { font-size:.82rem; font-weight:500; color:#111; }
        #tab-gerador .gh-cov-count { font-size:.72rem; font-weight:600; color:#a93226; white-space:nowrap; }

        /* ── TABLE LAYOUT ── */
        #tab-gerador .gh-sched-body { padding:20px 20px 0; width:100%; box-sizing:border-box; display:flex; flex-direction:column; align-items:stretch; overflow:visible; }

        /* ── COVERAGE PANEL ── */
        #tab-gerador .gh-sched-wrap { display:flex; flex-direction:row; align-items:flex-start; gap:0; width:100%; box-sizing:border-box; }
        #tab-gerador .gh-sched-wrap > .gh-sched-body { flex:1 1 auto; min-width:0; }
        #tab-gerador .gh-cov-panel { flex:0 0 auto; width:340px; max-width:42vw; margin:20px 20px 0 0; border:1px solid #e2e2e2; border-radius:10px; background:#fafafa; box-sizing:border-box; align-self:flex-start; position:sticky; top:64px; max-height:calc(100vh - 84px); overflow-y:auto; display:none; }
        #tab-gerador .gh-cov-header { display:flex; align-items:center; justify-content:space-between; padding:12px 14px; border-bottom:1px solid #e8e8e8; position:sticky; top:0; background:#fafafa; }
        #tab-gerador .gh-cov-title { font-size:.7rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#555; }
        #tab-gerador .gh-cov-close { background:none !important; border:none !important; font-size:.9rem; color:#999 !important; cursor:pointer; padding:2px 6px; line-height:1; }
        #tab-gerador .gh-cov-close:hover { color:#111 !important; }
        #tab-gerador .gh-cov-body { padding:12px 14px; }
        #tab-gerador .gh-cov-store { margin-bottom:18px; }
        #tab-gerador .gh-cov-store:last-child { margin-bottom:0; }
        #tab-gerador .gh-cov-store-name { font-size:.7rem; font-weight:700; color:#333; margin-bottom:6px; letter-spacing:.04em; }
        #tab-gerador .gh-cov-empty { font-size:.7rem; color:#aaa; font-style:italic; padding:6px 0; }
        #tab-gerador .gh-cov-table { width:100%; border-collapse:collapse; font-size:.62rem; }
        #tab-gerador .gh-cov-th { padding:4px 2px; font-weight:700; color:#888; text-align:center; border-bottom:1px solid #e0e0e0; font-size:.58rem; letter-spacing:.03em; }
        #tab-gerador .gh-cov-th-hour { text-align:left; color:#bbb; }
        #tab-gerador .gh-cov-hour { padding:3px 4px; color:#999; font-weight:600; text-align:left; white-space:nowrap; font-size:.6rem; }
        #tab-gerador .gh-cov-td { padding:3px 2px; text-align:center; font-weight:700; border-radius:3px; }
        #tab-gerador .gh-cov-zero { color:#ddd; }
        #tab-gerador .gh-cov-one  { color:#c08a00; background:#fff7e6; }
        #tab-gerador .gh-cov-many { color:#1a6c1a; background:#eaf7ea; }

        /* 1. CONTENEDOR: bloque desplazable */
        #tab-gerador .gh-store-block {
          overflow-x: auto !important;
          -webkit-overflow-scrolling: touch !important;
          width: 100% !important;
          display: block !important;
          margin-bottom: 48px;
          padding-bottom: 15px !important;
          box-sizing: border-box;
        }

        /* 2. TABLA: obligada a NO encogerse */
        #tab-gerador .gh-sched-tbl {
          width: auto !important;
          min-width: unset !important;
          border-collapse: collapse !important;
          table-layout: auto !important;
          margin: 0 auto !important;
        }

        /* 3. CELDAS: sin saltos de linea, fondo solido */
        #tab-gerador .gh-sched-tbl th,
        #tab-gerador .gh-sched-tbl td {
          white-space: nowrap !important;
          background-color: #ffffff !important;
        }

        #tab-gerador .gh-tbl-store-hdr { background:#efefef; }
        #tab-gerador .gh-tbl-store-hdr td { background-color:#efefef !important; padding:9px 8px; font-size:.75rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; border:1px solid #ddd; text-align:center; color:#111; white-space:nowrap; }
        #tab-gerador .gh-tbl-store-hdr td:first-child { text-align:center; white-space:nowrap; }
        #tab-gerador .gh-sched-tbl td:first-child { white-space:nowrap; }
        #tab-gerador .gh-store-name-btn { background:none; border:none; cursor:pointer; font-size:.75rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#111; font-family:inherit; padding:4px 8px; border-radius:5px; transition:background .15s; line-height:1.4; }
        #tab-gerador .gh-store-name-btn:hover { background:#e0e0e0; }
        #tab-gerador .gh-store-actions { display:flex; gap:4px; justify-content:center; margin-top:4px; }
        #tab-gerador .gh-store-act-btn { width:26px; height:26px; border-radius:50%; border:1px solid #ccc; background:#fff; cursor:pointer; font-size:1rem; font-weight:700; display:flex; align-items:center; justify-content:center; transition:all .15s; line-height:1; }
        #tab-gerador .gh-store-add:hover { background:#e8f5e9; border-color:#4caf50; color:#2e7d32; }
        #tab-gerador .gh-tbl-date { font-weight:500; font-size:.72rem; color:#555; }
        #tab-gerador .gh-sched-tbl td { border:1px solid #e8e8e8; padding:0; vertical-align:middle; }
        #tab-gerador .gh-sched-tbl td:first-child { padding:0; white-space:nowrap; box-sizing:border-box; }
        #tab-gerador .gh-sh-td { white-space:nowrap; text-align:center; cursor:pointer; }
        #tab-gerador .gh-sh-td:hover { background:#f4f4f4 !important; }
        #tab-gerador .gh-no-click { cursor:default; }
        #tab-gerador .gh-no-click:hover { background:transparent !important; }

        /* ── PERSON CELL ── */
        #tab-gerador .gh-p-cell { padding:8px 12px; white-space:nowrap; text-align:center; overflow:hidden; }
        #tab-gerador .gh-p-name { font-size:.85rem; font-weight:600; display:flex; align-items:center; justify-content:center; gap:5px; color:#111; }
        #tab-gerador .gh-p-dot  { color:#e74c3c; font-size:.7rem; flex-shrink:0; }
        #tab-gerador .gh-p-remove-btn { background:none; border:none; cursor:pointer; font-size:.85rem; font-weight:600; color:#111; font-family:inherit; display:inline-flex; align-items:center; justify-content:center; gap:5px; padding:0; text-align:center; }
        #tab-gerador .gh-p-remove-btn:hover .gh-p-remove-x { opacity:1; }
        #tab-gerador .gh-p-remove-x { font-size:.65rem; color:#ccc; margin-left:auto; opacity:0; transition:opacity .15s; padding-left:4px; }
        #tab-gerador .gh-p-hrs-tag { font-weight:500; color:#999; font-size:.72rem; flex-shrink:0; }
        #tab-gerador .gh-p-hrs  { font-size:.68rem; padding-left:0; margin-top:3px; font-weight:600; text-align:center; display:flex; flex-direction:row; align-items:center; justify-content:center; gap:5px; flex-wrap:nowrap; }
        #tab-gerador .gh-p-hrs.ok  { color:#2d6a4f; }
        #tab-gerador .gh-p-hrs.bad { color:#c0392b; }
        #tab-gerador .gh-banco-badge { font-size:.62rem; font-weight:700; padding:2px 6px; border-radius:4px; border:none; font-family:inherit; line-height:1.4; display:inline-block; }
        #tab-gerador .gh-banco-zero { background:#f5f5f5; color:#aaa; }
        #tab-gerador .gh-banco-pos { background:#e8f5e9; color:#2e7d32; }
        #tab-gerador .gh-banco-neg { background:#ffebee; color:#c62828; }
        #tab-gerador .gh-banco-badge:hover { opacity:.8; }
        #tab-gerador .gh-sh-time-inp { width:44px; font-size:.72rem; font-weight:700; text-align:center; border:1px solid #bbb; border-radius:3px; padding:2px; color:#111; background:#fff; font-family:inherit; outline:none; }
        #tab-gerador .gh-sh-time-inp:focus { border-color:#111; }
        #tab-gerador tr.gh-editing td.gh-sh-td { background:#fffde7 !important; }

        /* ── SHIFT CELLS ── */
        #tab-gerador .gh-sh-inner { padding:7px 4px; min-height:48px; display:flex; flex-direction:column; align-items:center; justify-content:center; }
        #tab-gerador .gh-sh-line { display:block; font-size:.82rem; font-weight:600; line-height:1.65; color:#111; white-space:nowrap; }
        #tab-gerador .gh-sh-loc  { display:block; font-size:.78rem; font-weight:700; letter-spacing:.03em; text-transform:uppercase; color:#111; line-height:1.4; }
        #tab-gerador .c-empty  { background:#fff; min-height:48px; }
        #tab-gerador .gh-sh-td.c-empty-td { cursor:default; }
        #tab-gerador .c-folga  { background:#f9f9f9; }
        #tab-gerador .c-folga .gh-sh-line  { color:#ccc; font-style:italic; }
        #tab-gerador .c-ferias { background:#f9f9f9; }
        #tab-gerador .c-ferias .gh-sh-line { color:#ccc; font-style:italic; }
        #tab-gerador .c-na .gh-sh-line     { color:#e0e0e0; }
        #tab-gerador .c-baixa-med { background:#eef2fb; }
        #tab-gerador .c-baixa-med .gh-sh-line { color:#3a4a8c; font-style:italic; }
        #tab-gerador .c-fora-contrato { background:#f4f0fa; }
        #tab-gerador .c-fora-contrato .gh-sh-line { color:#5b4b8a; font-style:italic; }
        #tab-gerador .c-elsewhere { background:#f5f5f5; }
        #tab-gerador .c-soft { background:#fffbf0; }
        #tab-gerador .c-soft .gh-sh-line { color:#b8860b; }
        /* Shift-specific cell colors — A B C D E F */
        #tab-gerador .c-shift-a { background:#fdf6e3; }
        #tab-gerador .c-shift-a .gh-sh-line { color:#8a6000; }
        #tab-gerador .c-shift-b { background:#e8f5e9; }
        #tab-gerador .c-shift-b .gh-sh-line { color:#1b5e20; }
        #tab-gerador .c-shift-c { background:#e3f2fd; }
        #tab-gerador .c-shift-c .gh-sh-line { color:#0d47a1; }
        #tab-gerador .c-shift-d { background:#fce4ec; }
        #tab-gerador .c-shift-d .gh-sh-line { color:#880e4f; }
        #tab-gerador .c-shift-e { background:#f3e5f5; }
        #tab-gerador .c-shift-e .gh-sh-line { color:#4a148c; }
        #tab-gerador .c-shift-f { background:#e8eaf6; }
        #tab-gerador .c-shift-f .gh-sh-line { color:#1a237e; }
        #tab-gerador .c-fim-contrato { background:#fff5f5; cursor:default; }
        #tab-gerador .gh-fim-txt { color:#e57373; font-size:.58rem; font-style:italic; font-weight:600; letter-spacing:.01em; text-transform:lowercase; line-height:1.3; }

        /* ── Hide legacy selects — always hidden, pills are used instead ── */
        #gh-modal #gh-me-type,
        #gh-modal #gh-me-shift,
        #gh-modal #gh-me-store { display:none !important; }

        /* ── MODAL — position:fixed floats over whole page; always start hidden ── */
        #gh-modal { display:none; position:fixed; inset:0; background:rgba(0,0,0,.35); backdrop-filter:blur(4px); z-index:9000; align-items:center; justify-content:center; opacity:0; pointer-events:none; transition:opacity .2s; }
        #gh-modal.open { display:flex; opacity:1; pointer-events:all; }
        #gh-modal .gh-modal { background:#fff; border:1px solid #e0e0e0; border-radius:16px; width:560px; max-width:96vw; overflow:hidden; transform:translateY(10px); transition:transform .22s cubic-bezier(.25,.8,.25,1); box-shadow:0 20px 60px rgba(0,0,0,.18); color:#111; }
        #gh-modal.open .gh-modal { transform:translateY(0); }
        #gh-modal .gh-modal-hdr { padding:16px 20px 14px; border-bottom:1px solid #f0f0f0; display:flex; justify-content:space-between; align-items:center; }
        #gh-modal .gh-modal-ttl { font-size:.75rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#333; }
        #gh-modal .gh-modal-x   { background:none; border:none; cursor:pointer; color:#aaa; font-size:1.1rem; line-height:1; padding:2px 4px; border-radius:4px; transition:color .15s; }
        #gh-modal .gh-modal-x:hover { color:#555; }
        #gh-modal .gh-modal-bdy { padding:18px 18px 20px; }
        #gh-modal .gh-form-grp  { margin-bottom:14px; }
        #gh-modal .gh-form-grp-last { margin-bottom:2px; }
        #gh-modal .gh-form-lbl  { display:block; font-size:.6rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#ccc; margin-bottom:8px; }
        #gh-modal .gh-conf-note { padding:9px 12px; border-radius:7px; font-size:.74rem; margin-top:10px; line-height:1.5; }
        #gh-modal .gh-conf-note.hard { background:#fff5f5; border:1px solid rgba(192,57,43,.2); color:#c0392b; }
        #gh-modal .gh-conf-note.soft { background:#fffbf0; border:1px solid rgba(184,134,11,.2); color:#b8860b; }
        /* ── pill base ── */
        #gh-modal .gh-btn-group { display:flex; flex-wrap:wrap; gap:8px; justify-content:center; }
        #gh-modal .gh-pill { background:#f7f7f7; border:1.5px solid #e5e5e5; border-radius:50px; padding:9px 20px; font-size:.82rem; font-weight:600; cursor:pointer; color:#444; transition:all .15s; white-space:nowrap; font-family:inherit; line-height:1.2; }
        #gh-modal .gh-pill:hover { background:#f0f0f0; border-color:#ccc; color:#111; transform:translateY(-1px); box-shadow:0 3px 10px rgba(0,0,0,.08); }
        #gh-modal .gh-pill.active:hover { background:#111; border-color:#111; color:#fff !important; transform:translateY(-1px); }
        /* TIPO active — black, white text */
        #gh-modal .gh-pill-tipo.active { background:#111; border-color:#111; color:#fff !important; box-shadow:0 4px 14px rgba(0,0,0,.22); }
        /* SHIFT active — black, white text */
        #gh-modal .gh-pill-shift.active { background:#111; border-color:#111; color:#fff !important; box-shadow:0 4px 14px rgba(0,0,0,.2); }
        /* STORE active — black, white text */
        #gh-modal .gh-pill-store.active { background:#111; border-color:#111; color:#fff !important; box-shadow:0 4px 14px rgba(0,0,0,.2); }
        /* ── Shift pills base ── */
        #gh-modal .gh-btn-group-shifts { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
        #gh-modal .gh-apoio-section-label { font-size:.6rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#e67e22; margin:12px 0 8px; padding:6px 10px; background:#fff3e0; border-radius:6px; border-left:3px solid #e67e22; }
        #gh-modal .gh-btn-group-apoio { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
        #gh-modal .gh-apoio-lbl { font-size:.68rem; color:#e67e22; font-weight:700; }
        #gh-modal .gh-pill-shift { border-radius:10px; padding:12px 8px; font-size:.82rem; font-weight:600; text-align:center; line-height:1.55; white-space:normal; color:#333; }
        #gh-modal .gh-pill-shift:hover { color:#111; }
        /* Subtle color tones per shift — matches table cell colors */
        #gh-modal .gh-pill-shift[data-val="10:00-13:00|14:00-19:00"] { background:#fdf6e3; border-color:#f0d080; }
        #gh-modal .gh-pill-shift[data-val="10:00-14:00|15:00-19:00"] { background:#e8f5e9; border-color:#a5d6a7; }
        #gh-modal .gh-pill-shift[data-val="10:00-15:00|16:00-19:00"] { background:#e3f2fd; border-color:#90caf9; }
        #gh-modal .gh-pill-shift[data-val="09:00-12:00|13:00-18:00"] { background:#fce4ec; border-color:#f48fb1; }
        #gh-modal .gh-pill-shift[data-val="11:00-15:00|16:00-20:00"] { background:#f3e5f5; border-color:#ce93d8; }
        #gh-modal .gh-pill-shift[data-val="09:00-13:00|19:00-23:00"] { background:#e8eaf6; border-color:#9fa8da; }
        #gh-modal .gh-pill-shift.gh-pill-apoio { background:#fff3e0; border-color:#e67e22; }
        #gh-modal .gh-pill-shift.gh-pill-apoio.active { background:#e67e22 !important; border-color:#e67e22 !important; color:#fff !important; }
        /* Active state must override per-shift backgrounds */
        #gh-modal .gh-pill-shift.active,
        #gh-modal .gh-pill-shift[data-val].active { background:#111 !important; border-color:#111 !important; color:#fff !important; box-shadow:0 4px 14px rgba(0,0,0,.2); }
        #gh-modal .gh-pill-shift.active:hover,
        #gh-modal .gh-pill-shift[data-val].active:hover { background:#111 !important; border-color:#111 !important; color:#fff !important; }
        /* store pills — wrap row */
        #gh-modal .gh-btn-group-stores { display:flex; flex-wrap:wrap; gap:8px; justify-content:center; }
        #gh-modal .gh-pill-store { border-radius:50px; padding:9px 20px; font-size:.82rem; }

        /* ── CONFIRM MODAL ── */
        #gh-confirm-modal { display:none; position:fixed; inset:0; background:rgba(0,0,0,.35); backdrop-filter:blur(3px); z-index:9100; align-items:center; justify-content:center; }
        #gh-confirm-modal.open { display:flex; }
        #gh-confirm-modal .gh-cm-box { background:#fff; border-radius:10px; box-shadow:0 12px 40px rgba(0,0,0,.18); padding:28px 28px 20px; max-width:340px; width:90vw; text-align:center; }
        #gh-confirm-modal .gh-cm-msg { font-size:.88rem; font-weight:500; color:#222; margin-bottom:22px; line-height:1.5; }
        #gh-confirm-modal .gh-cm-btns { display:flex; gap:10px; justify-content:center; }
        #gh-confirm-modal .gh-cm-cancel { padding:8px 22px; border:1px solid #ddd; background:#fff; border-radius:6px; font-size:.78rem; font-weight:600; cursor:pointer; color:#666; font-family:inherit; }
        #gh-confirm-modal .gh-cm-cancel:hover { background:#f5f5f5; }
        #gh-confirm-modal .gh-cm-ok { padding:8px 22px; border:none; background:#c0392b; border-radius:6px; font-size:.78rem; font-weight:700; cursor:pointer; color:#fff; font-family:inherit; }
        #gh-confirm-modal .gh-cm-ok:hover { background:#a93226; }
        /* ── LICENÇA MODAL (recuperável / não recuperável) ── */
        #gh-lic-modal { display:none; position:fixed; inset:0; background:rgba(0,0,0,.35); backdrop-filter:blur(3px); z-index:9200; align-items:center; justify-content:center; }
        #gh-lic-modal.open { display:flex; }
        #gh-lic-modal .gh-lm-box { background:#fff; border-radius:12px; box-shadow:0 12px 40px rgba(0,0,0,.2); padding:24px 24px 16px; max-width:380px; width:90vw; text-align:center; }
        #gh-lic-modal .gh-lm-ttl { font-size:.68rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#333; margin-bottom:8px; }
        #gh-lic-modal .gh-lm-msg { font-size:.86rem; font-weight:500; color:#444; margin-bottom:18px; line-height:1.5; }
        #gh-lic-modal .gh-lm-btns { display:flex; gap:10px; justify-content:center; margin-bottom:12px; }
        #gh-lic-modal .gh-lm-btn { flex:1; display:flex; flex-direction:column; gap:3px; align-items:center; padding:12px 12px; border-radius:9px; font-size:.82rem; font-weight:700; cursor:pointer; font-family:inherit; border:1.5px solid; transition:all .15s; }
        #gh-lic-modal .gh-lm-sub { font-size:.62rem; font-weight:600; opacity:.75; }
        #gh-lic-modal .gh-lm-rec { background:#e8f5e9; border-color:#a5d6a7; color:#1b5e20; }
        #gh-lic-modal .gh-lm-rec:hover { background:#c8e6c9; }
        #gh-lic-modal .gh-lm-nrec { background:#e3f2fd; border-color:#90caf9; color:#0d47a1; }
        #gh-lic-modal .gh-lm-nrec:hover { background:#bbdefb; }
        #gh-lic-modal .gh-lm-cancel { background:none; border:none; color:#999; font-size:.76rem; font-weight:600; cursor:pointer; font-family:inherit; padding:4px 10px; }
        #gh-lic-modal .gh-lm-cancel:hover { color:#555; text-decoration:underline; }
        /* ── FERIAS BANNER (injected separately, also scope it) ── */
        #tab-gerador .gh-ferias-banner { display:flex; align-items:center; gap:9px; background:#f0f9f0; border:1px solid #b7ddb7; border-radius:7px; padding:9px 13px; font-size:.8rem; color:#1a5c1a; margin-bottom:12px; font-weight:500; line-height:1.4; }
        #tab-gerador .gh-ferias-banner-icon { font-size:1rem; flex-shrink:0; }
        #tab-gerador .gh-ab-row-ferias { display:flex; align-items:center; gap:8px; padding:6px 10px; background:#f6fdf6; border:1px solid #c8e6c8; border-radius:7px; margin-bottom:6px; font-size:.82rem; color:#1a5c1a; font-weight:600; }
        #tab-gerador .gh-ab-row-ferias .gh-ferias-tag { background:#e0f5e0; color:#1a5c1a; border-radius:4px; font-size:.68rem; padding:2px 8px; font-weight:700; letter-spacing:.04em; flex-shrink:0; }
        #tab-gerador .gh-ab-row-ferias .gh-ferias-from { font-size:.74rem; color:#4a8a4a; font-weight:500; margin-left:auto; }

        /* ── STAFF MANAGEMENT PANEL ── */
        /* ── STEP 2 LAYOUT ── */
        #tab-gerador .gh-step2-wrap { width:100%; max-width:780px; margin:0 auto; padding:12px 8px 40px; box-sizing:border-box; }
        #tab-gerador .gh-step2-header { margin-bottom:14px; }
        #tab-gerador .gh-step2-header-top { margin-bottom:10px; }
        #tab-gerador .gh-step2-title-row { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:4px; }
        #tab-gerador .gh-step2-badge { background:#111 !important; color:#fff !important; -webkit-text-fill-color:#fff !important; border-radius:20px; padding:4px 14px; font-size:.75rem; font-weight:700; letter-spacing:.04em; white-space:nowrap; flex-shrink:0; }
        #tab-gerador .gh-step2-actions { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-top:10px; }
        #tab-gerador .gh-wiz-box--wide { max-width:680px; }
        #tab-gerador .gh-staff-list { display:flex; flex-direction:column; gap:6px; margin-top:12px; }
        #tab-gerador .gh-staff-row { display:flex; justify-content:space-between; align-items:center; padding:8px 12px; border:1px solid #e8e8e8; border-radius:7px; background:#fafafa; }
        #tab-gerador .gh-staff-row.gh-staff-ferias { background:#f0fdf0; border-color:#b7ddb7; }
        #tab-gerador .gh-staff-info { display:flex; flex-direction:column; gap:2px; }
        #tab-gerador .gh-staff-name-row { display:flex; align-items:center; gap:8px; }
        #tab-gerador .gh-staff-name { font-size:.85rem; font-weight:700; color:#111; }
        #tab-gerador .gh-staff-meta { font-size:.72rem; color:#777; }
        #tab-gerador .gh-staff-weight { font-size:.70rem; color:#555; font-weight:600; }
        #tab-gerador .gh-staff-knows { font-size:.68rem; color:#999; }
        #tab-gerador .gh-staff-actions { flex-shrink:0; margin-left:10px; }
        #tab-gerador .gh-btn-xs { font-size:.62rem; padding:2px 6px; }

        /* ── PERSON FORM ── */
        #tab-gerador .gh-person-form { border:1px solid #e0e0e0; border-radius:8px; padding:14px; margin-bottom:12px; background:#fff; display:none; }
        #tab-gerador .gh-pf-title { font-size:.78rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:#555; margin-bottom:12px; }
        #tab-gerador .gh-pf-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
        #tab-gerador .gh-pf-field { display:flex; flex-direction:column; gap:4px; }
        #tab-gerador .gh-pf-field label { font-size:.65rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:#999; }
        #tab-gerador .gh-pf-stores { display:flex; flex-wrap:wrap; gap:8px; margin-top:4px; }
        #tab-gerador .gh-pf-check { display:flex; align-items:center; gap:5px; font-size:.78rem; color:#333; cursor:pointer; }
        #tab-gerador .gh-pf-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:12px; }

        /* ── STAFF ROW colapsável ── */
        #tab-gerador .gh-staff-list { display:flex; flex-direction:column; gap:5px; margin-top:12px; }
        #tab-gerador .gh-sr { border:1px solid #e8e8e8; border-radius:8px; background:#fff; box-sizing:border-box; width:100%; }
        #tab-gerador .gh-sr-ferias { background:#f0fdf0; border-color:#b7ddb7; }
        #tab-gerador .gh-sr-header { display:flex; align-items:center; justify-content:space-between; padding:8px 12px; gap:8px; }
        #tab-gerador .gh-sr-header-left { display:flex; align-items:center; gap:7px; flex:1; min-width:0; }
        #tab-gerador .gh-toggle-btn { background:none; border:none; cursor:pointer; font-size:.65rem; color:#bbb; padding:0; width:14px; flex-shrink:0; }
        #tab-gerador .gh-toggle-btn:hover { color:#555; }
        #tab-gerador .gh-sr-nameblock { display:flex; flex-direction:column; gap:1px; min-width:0; }
        #tab-gerador .gh-sr-name { font-size:.82rem; font-weight:700; color:#111; white-space:nowrap; display:flex; align-items:baseline; gap:3px; }
        #tab-gerador .gh-sr-meta { font-size:.62rem; color:#999; white-space:nowrap; }
        #tab-gerador .gh-auto-badge { font-size:.58rem; font-weight:700; padding:1px 5px; border-radius:3px; letter-spacing:.03em; }
        #tab-gerador .gh-auto-efectiva   { background:#e8f5e9; color:#2e7d32; }
        #tab-gerador .gh-auto-autonoma   { background:#e3f2fd; color:#1565c0; }
        #tab-gerador .gh-auto-autonoma_h { background:#fff3e0; color:#e65100; }
        #tab-gerador .gh-auto-nao_autonoma { background:#fce4ec; color:#c62828; }
        #tab-gerador .gh-sr-btns { display:flex; flex-direction:row; gap:4px; flex-shrink:0; }
        #tab-gerador .gh-icon-btn { width:24px; height:24px; border:1px solid #e0e0e0; border-radius:5px; background:#fafafa; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; color:#555; font-size:.78rem; font-weight:600; line-height:1; transition:background .15s; flex-shrink:0; }
        #tab-gerador .gh-icon-btn:hover { background:#efefef; border-color:#bbb; }
        #tab-gerador .gh-sr-body { border-top:1px solid #f0f0f0; display:none; }
        #tab-gerador .gh-sr-cols { display:flex; flex-direction:row; overflow-x:auto; -webkit-overflow-scrolling:touch; }
        #tab-gerador .gh-sr-col { padding:10px 12px; border-right:1px solid #f0f0f0; display:flex; flex-direction:column; gap:3px; min-width:160px; flex-shrink:0; }
        #tab-gerador .gh-sr-col:last-child { border-right:none; }
        #tab-gerador .gh-sr-col-title { font-size:.62rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:#888; display:flex; align-items:center; gap:4px; white-space:nowrap; margin-bottom:3px; }
        #tab-gerador .gh-saldo-sup { font-size:.58rem; font-weight:700; padding:1px 4px; border-radius:3px; vertical-align:super; margin-left:2px; }
        #tab-gerador .gh-saldo-sup-neg { background:#fff0f0; color:#c0392b !important; -webkit-text-fill-color:#c0392b !important; }
        #tab-gerador .gh-saldo-sup-pos { background:#f0fff0; color:#1a6c1a !important; -webkit-text-fill-color:#1a6c1a !important; }
        #tab-gerador .gh-day-btns { display:flex; flex-direction:row; gap:2px; flex-wrap:nowrap; }
        #tab-gerador .gh-day-btn { border:1px solid #ddd; background:#fff; color:#555; border-radius:3px; width:22px; height:22px; font-size:.62rem; font-weight:700; cursor:pointer; display:flex; align-items:center; justify-content:center; padding:0; flex-shrink:0; }
        #tab-gerador .gh-day-btn-on { background:#111 !important; color:#fff !important; -webkit-text-fill-color:#fff !important; border-color:#111 !important; }
        #tab-gerador .gh-date-row { display:flex; flex-direction:row; gap:3px; }
        #tab-gerador .gh-date-txt { width:68px !important; font-size:.65rem !important; padding:2px 3px !important; }
        #tab-gerador .gh-sel-mini { width:auto !important; max-width:80px; font-size:.65rem !important; padding:2px 3px !important; }
        #tab-gerador .gh-num-mini { width:40px !important; font-size:.65rem !important; padding:2px 3px !important; }
        #tab-gerador .gh-inc-saldo { font-size:.74rem; font-weight:700; padding:2px 6px; border-radius:4px; display:inline-block; margin-bottom:3px; }
        #tab-gerador .gh-inc-saldo-neg { background:#fff0f0; color:#c0392b !important; -webkit-text-fill-color:#c0392b !important; }
        #tab-gerador .gh-inc-saldo-pos { background:#f0fff0; color:#1a6c1a !important; -webkit-text-fill-color:#1a6c1a !important; }
        #tab-gerador .gh-banco-add-row { display:flex; flex-direction:row; gap:3px; align-items:center; }
        #tab-gerador .gh-inc-tag { font-size:.6rem; font-weight:700; padding:1px 4px; border-radius:3px; }

        #tab-gerador.active { display:flex !important; flex-direction:column !important; flex:1 !important; overflow:hidden !important; width:100% !important; padding:0 !important; }
        #tab-gerador #gh-container { flex:1; display:flex; flex-direction:column; overflow-x:auto; overflow-y:auto; -webkit-overflow-scrolling:touch; min-height:0; width:100%; }

/* ══════════════════════════════════════════════════════════════
   FÉRIAS — estilos migrados de ferias.js (fusão horarios)
══════════════════════════════════════════════════════════════ */
.adm-mod-card[data-horarios-module="ferias"] { animation-delay: 0.15s; }

.f-loading-toast { position:fixed;bottom:28px;right:20px;background:#111;color:#fff;padding:8px 16px;border-radius:10px;font-size:.78rem;font-weight:600;z-index:99999;opacity:.85; }

.f-toast { position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:#222;color:#fff;padding:10px 22px;border-radius:10px;font-size:.84rem;font-weight:600;z-index:99999;box-shadow:0 4px 16px rgba(0,0,0,.4);pointer-events:none;opacity:0;transition:opacity .2s; }
.f-toast.show { opacity:1; }

#f-modal-overlay { position:fixed;inset:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:9999;padding:16px; }

.f-btn { background:#fff;color:#111;border:1px solid #ccc;border-radius:8px;padding:7px 18px;font-size:.82rem;font-weight:700;cursor:pointer;letter-spacing:.02em; }
.f-btn.block { margin-top:16px;width:100%; }
.f-btn-active { background:#111;color:#fff;border:1px solid #111;border-radius:8px;padding:7px 18px;font-size:.82rem;font-weight:700;cursor:pointer;letter-spacing:.02em; }

.f-modal-label { display:block;font-size:.72rem;font-weight:600;color:#555;text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px; }

.f-modal-input { width:100%;background:#fff;color:#111;border:1px solid #ccc;border-radius:8px;padding:9px 12px;font-size:.88rem;box-sizing:border-box;outline:none; }
.f-modal-input.mb { margin-bottom:14px; }
.f-modal-input.upper { text-transform:uppercase; }
.f-pessoa-nome-input { width:100%;background:#fff;color:#111;border:1px solid #ccc;border-radius:8px;padding:10px 12px;font-size:.9rem;box-sizing:border-box;outline:none;text-transform:uppercase;margin-bottom:20px; }

.f-modal-box { background:#fff;border-radius:14px;padding:28px 24px;width:100%;box-shadow:0 8px 32px rgba(0,0,0,.15);font-family:inherit; }
.f-modal-box.w420 { max-width:420px; }
.f-modal-box.w380 { max-width:380px; }
.f-modal-box.w400 { max-width:400px;max-height:80vh;overflow-y:auto; }

.f-modal-head { display:flex;align-items:center;justify-content:space-between;margin-bottom:20px; }
.f-modal-head.tight { margin-bottom:18px; }

.f-modal-title { font-size:1rem;font-weight:700;color:#111; }
.f-modal-title.sm { font-size:.95rem; }

.f-modal-close { background:none;border:none;color:#888;font-size:1.3rem;cursor:pointer; }

.f-modal-subwrap { display:none;margin-bottom:14px; }

.f-modal-grid2 { display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px; }
.f-modal-grid2b { display:grid;grid-template-columns:1fr 1fr;gap:10px; }

.f-modal-error { display:none;color:#c00;font-size:.78rem;margin-bottom:10px;font-weight:600; }

.f-modal-btnrow { display:flex;gap:10px; }
.f-modal-btn-del { flex:0 0 auto;background:#fff;color:#c00;border:1px solid #ccc;border-radius:9px;padding:11px 16px;font-size:.85rem;font-weight:700;cursor:pointer; }
.f-modal-btn-save { flex:1;background:#fff;color:#111;border:1px solid #ccc;border-radius:9px;padding:11px;font-size:.9rem;font-weight:700;cursor:pointer; }

.f-year-block { margin-bottom:16px; }
.f-year-title { font-size:.75rem;font-weight:700;color:#555;text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px; }

.f-entry-row { display:flex;justify-content:space-between;align-items:center;padding:7px 0;border-bottom:1px solid #eee; }
.f-entry-date { font-size:.82rem;color:#111; }
.f-entry-meta { display:flex;align-items:center;gap:10px; }
.f-entry-sub { font-size:.75rem;color:#666; }
.f-entry-edit-btn { background:none;border:none;color:#888;cursor:pointer;font-size:.8rem;padding:2px 6px; }

.f-view-empty { color:#888;font-size:.85rem;text-align:center;padding:20px 0; }

.f-year-header-title { font-size:1.05rem;font-weight:800;color:#fff;letter-spacing:.03em; }
.f-year-nav { display:flex;gap:8px;align-items:center; }
#f-year-header { display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding:0 2px; }
#f-actions { display:flex;gap:14px;margin-bottom:12px;flex-wrap:wrap;align-items:center; }

.f-filter-select { background:#fff;color:#111;border:1px solid #ccc;border-radius:8px;padding:7px 12px;font-size:.82rem;font-weight:600;cursor:pointer;outline:none; }

.f-alert-box { background:#fff;border:1px solid #ccc;border-radius:10px;padding:10px 14px;font-size:.78rem;color:#111;font-weight:600; }
.f-alert-sub { font-weight:400;color:#444; }
.f-highlight-box { background:#fff;border:1px solid #ccc;border-radius:10px;padding:10px 14px;font-size:.82rem;color:#111;font-weight:600; }

.f-card-loja-tag { font-size:.65rem;font-weight:600;color:#bbb;margin-left:6px;text-transform:lowercase;letter-spacing:.04em; }
.f-card-dias-tag { font-size:.68rem;color:#777;margin-left:4px; }
.f-card-edit-btn { margin-left:auto;background:none;border:none;color:#555;cursor:pointer;font-size:.78rem;padding:0 4px;flex-shrink:0; }
.f-card-name-btn { background:none;border:none;color:inherit;cursor:pointer;font-size:inherit;font-weight:inherit;font-family:inherit;padding:0;text-align:left; }

.f-card .f-dot.active-now { background:#2a8a2a; }
.f-card .f-dot.soon       { background:#e09000; }
.f-card .f-dot.past       { background:#555; }

.f-section-title.mb8 { margin-bottom:8px; }
.f-resumo-grid { display:flex;flex-wrap:wrap;gap:8px; }
.f-resumo-btn { background:#fff;border:1px solid #ccc;border-radius:8px;padding:6px 12px;cursor:pointer;text-align:left; }
.f-resumo-name { display:block;font-size:.75rem;font-weight:700;color:#111; }
.f-resumo-dias { font-size:.68rem;color:#555; }

.f-empty-state { text-align:center;color:#aaa;font-size:.85rem;font-weight:600;padding:40px 0; }

/* ══════════════════════════════════════════════════════════════
   BANCO DE HORAS — novas classes (fusão horarios)
══════════════════════════════════════════════════════════════ */
.adm-mod-card[data-horarios-module="banco-horas"] { animation-delay: 0.20s; }
#bh-loja-root { width:100%; }
#bh-loja-content { display:none; }
.bh-saldo-inline { font-size:.85rem;font-weight:bold; }
.bh-saldo-inline-row { font-size:.85rem;font-weight:bold;white-space:nowrap;flex-shrink:0;margin-left:14px; }
.bh-row-meta.warn { color:#a06a00; }
.bh-row-meta.mb { margin-bottom:10px; }
.bh-section-title.mt { margin-top:22px; }
.bh-row.nowrap { flex-wrap:nowrap; }
.bh-row-main.nowrap { flex-wrap:nowrap;min-width:0; }
.bh-row-nome.ellipsis { white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }

/* ══════════════════════════════════════════════════════════════
   GERADOR DE HORÁRIOS — novas classes (fusão horarios)
══════════════════════════════════════════════════════════════ */
.adm-mod-card[data-horarios-module="gerador"] { animation-delay: 0.10s; }
.adm-mod-card[data-faturas-module="processamento"] { animation-delay: 0.05s; }
.gh-mt48 { margin-top:48px; }
.gh-m0 { margin:0; }
.gh-wiz-title.mb0 { margin-bottom:0; }
.gh-ferias-banner.tight { margin-top:6px; margin-bottom:6px; }
.gh-pf-field.full { grid-column:1/-1; }
.gh-pf-field.mt { margin-top:10px; }
.gh-folga-tag { display:inline-flex; align-items:center; gap:5px; margin-top:3px; padding:3px 9px 3px 7px; background:#fff3cd; border:1.5px solid #e6a817; border-radius:5px; font-size:.7rem; font-weight:800; color:#7a4800; letter-spacing:.02em; white-space:nowrap; }
.gh-contract-end-tag { font-size:.58rem; color:#e57373; font-weight:700; }
.gh-mt2 { margin-top:2px; }
.gh-icon-btn.warn { color:#b8860b; }
.gh-icon-btn.danger { color:#c0392b; }
.gh-sr-col-title.mt { margin-top:8px; }
.gh-btn-guardar-inline { margin-left:auto; font-size:.6rem; padding:1px 6px; width:auto; color:#1a5c1a; border-color:#b7ddb7; background:#f0fdf0; }
.gh-date-row.mt { margin-top:3px; }
.gh-muted-note { font-size:.72rem; color:#bbb; }
.gh-loading-msg { padding:40px; text-align:center; color:#aaa; font-size:.85rem; }
.gh-error-msg { padding:40px; text-align:center; color:#c0392b; font-size:.85rem; }
.gh-borradores-title { font-size:.58rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:#ccc; margin-bottom:16px; text-align:center; }
.gh-borrador-week-label { font-size:.85rem; font-weight:600; color:#111; }
.gh-borrador-saved-date { font-size:.63rem; color:#bbb; margin-top:2px; }
.gh-borrador-actions { display:flex; gap:8px; flex-shrink:0; }
.gh-btn-delete-danger { color:#c0392b !important; -webkit-text-fill-color:#c0392b !important; border-color:#e0b0b0 !important; }
.gh-flex-row-8 { display:flex; gap:8px; align-items:center; }
.gh-sh-line.apoio { color:#e67e22; font-weight:700; }
.gh-day-col { width:108px; min-width:108px; max-width:108px; box-sizing:border-box; }
.gh-empty-row { padding:18px 12px; text-align:center; color:#bbb; font-size:.8rem; font-style:italic; }
.gh-inline-center { display:flex; align-items:center; gap:1px; justify-content:center; }
.gh-dash-muted { font-size:.65rem; color:#999; }
.gh-assist-note { font-size:.7rem; color:#888; margin-bottom:10px; }
.gh-assist-list { display:flex; flex-direction:column; gap:5px; max-height:220px; overflow-y:auto; }
.gh-badge-tag { font-size:.68rem; font-weight:700; color:#7a4800; background:#fff3cd; border:1px solid #e6a817; border-radius:4px; padding:1px 6px; white-space:nowrap; }
.gh-icon-only { font-size:.82rem; }
.gh-add-person-pick { text-align:left; padding:8px 12px; border:1px solid #e0e0e0; border-radius:6px; background:#fff; cursor:pointer; font-size:.82rem; font-family:inherit; display:flex; justify-content:space-between; align-items:center; gap:8px; }
.gh-add-person-pick.has-badge { background:#fffbf0; }
.gh-assist-empty { color:#bbb; font-size:.75rem; padding:8px; }
.gh-apoio-title { font-size:.7rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#e67e22; margin-bottom:8px; }
.gh-btn-retry { margin-left:8px; color:#b8860b; border-color:#b8860b; }
.gh-toast { position:fixed; top:50%; left:50%; transform:translate(-50%,-50%) scale(0.95); background:#111; color:#fff !important; -webkit-text-fill-color:#fff !important; padding:20px 36px; border-radius:14px; font-size:.95rem; font-weight:600; font-family:inherit; letter-spacing:.02em; opacity:0; transition:all .25s ease; z-index:99999; pointer-events:none; white-space:nowrap; box-shadow:0 16px 48px rgba(0,0,0,.35); }
.gh-toast.show { opacity:1; transform:translate(-50%,-50%) scale(1); }
.gh-borrador-row { display:flex; align-items:center; justify-content:space-between; padding:12px 16px; border:1px solid #efefef; border-radius:8px; margin-bottom:8px; background:#fafafa; gap:12px; }
.gh-inline-ok { margin-top:6px; background:#111 !important; color:#fff !important; -webkit-text-fill-color:#fff !important; border-radius:5px; padding:3px 10px; font-size:.7rem; font-weight:700; cursor:pointer; font-family:inherit; display:block; width:100%; text-align:center; box-sizing:border-box; }
.gh-btn-guardar-inc.pending { background:#fff8e8; border-color:#f0d080; color:#9a6f00; }
.gh-btn-guardar-inc.saving { opacity:.6; }
.gh-btn-guardar-inc.saved { background:#f0fdf0; border-color:#b7ddb7; color:#1a5c1a; opacity:1; }

/* ── Os 6 overlays legacy de módulo (agenda/rótulos/faturas-lisboa/
   banco-horas/recibos/etiquetas) são elementos à parte, fora de
   #admin-app — por isso nunca herdavam a textura de papel que #admin-app
   aplica a si próprio. Reaplica-se aqui a MESMA textura (mesma cor base,
   mesma imagem, mesmo tamanho) só na propriedade background, para ficarem
   visualmente idênticos ao dashboard e aos restantes módulos — sem tocar
   em display/position/z-index/opacity/transition, já corretos nos blocos
   originais destes 6 seletores. ── */
#agenda-overlay, #rotulos-overlay, #processamento-overlay,
#banco-horas-overlay, #recibos-overlay, #etiquetas-overlay {
  background-color: #fafafa;
  background-image: url("data:image/png;base64,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");
  background-size: 100px 100px;
}

/* ══════════════════════════════════════════════════════════════
   TEXTURA DE PAPEL — aplicada DIRETAMENTE nos painéis dos módulos
   admin, em vez de contar com que ela transpareça a partir de
   #admin-app. Motivo: qualquer camada opaca intermédia (própria ou
   futura) fazia o fundo desaparecer no módulo — foi exatamente o que
   aconteceu no Histórico de Vendas (zona Parfois) e a meio das
   Faturas. Assim o painel traz a sua própria textura e é impossível
   ficar sem ela, seja qual for o que esteja por baixo. É a mesma
   imagem e o mesmo background-size de #admin-app, por isso o
   resultado é visualmente contínuo. ══════════════════════════ */
#adm-historico-panel,
#adm-ventas-panel,
#proc-content {
  background-color: #fafafa !important;
  background-image: url("data:image/png;base64,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") !important;
  background-size: 100px 100px !important;
  background-repeat: repeat !important;
}

/* ══════════════════════════════════════════════════════════════
   TEXTURA DE PAPEL — módulo PARFOIS (parfois.js). Aplicada aqui,
   em estilo.css, e NÃO dentro de parfois.js: os 3 overlays de página
   completa do módulo (#pf-overlay, #pf-sess-overlay,
   #pf-pvp-emp-overlay) injetam o seu próprio background:#fff em
   tempo de execução via <style> dinâmico; sobrepomos essa regra
   por fora, sem tocar no ficheiro .js, com a MESMA imagem, MESMA
   cor base e MESMO tamanho usados em #admin-app e nos restantes
   painéis — fundo idêntico em toda a aplicação. Os modais do módulo
   (#pf-bc-overlay, #pf-st-modal, #pf-pvp-modal) ficam de fora de
   propósito: são diálogos centrados, não páginas de módulo. ══════ */
#pf-overlay,
#pf-sess-overlay,
#pf-pvp-emp-overlay {
  background-color: #fafafa !important;
  background-image: url("data:image/png;base64,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") !important;
  background-size: 100px 100px !important;
  background-repeat: repeat !important;
}
