/* ═══════════════════════════════════════════════════════════
   VNDX Produção — style.css
   Design System completo do app de controle de produção
═══════════════════════════════════════════════════════════ */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  /* Paleta VNDX */
  --vndx-primary: #FF6B00;
  --vndx-dark:    #1A1A1A;
  --vndx-bg:      #F5F5F5;
  --vndx-success: #00C853;
  --vndx-warn:    #FFA000;
  --vndx-error:   #D32F2F;

  /* Aliases legados (mapeados pra VNDX) */
  --brand:      #FF6B00;
  --brand2:     #FF8A33;
  --dark:       #1A1A1A;
  --dark2:      #2A2A2A;
  --card:       #ffffff;
  --bg:         #F5F5F5;
  --border:     #e2e6f0;
  --text:       #1A1A1A;
  --text2:      #6b7280;
  --radius:     16px;
  --radius-sm:  10px;
  --shadow:     0 4px 24px rgba(0,0,0,.10);
  --shadow-md:  0 8px 32px rgba(0,0,0,.15);
}

/* Força sempre o modo claro — evita dark mode do Android/Samsung */
:root { color-scheme: light only; }
html { font-size: 16px; color-scheme: light; }
body {
  font-family: 'Nunito', 'Segoe UI', sans-serif;
  background: var(--bg);
  color: var(--text);
  min-height: 100vh;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

.screen { min-height: 100vh; display: flex; flex-direction: column; animation: fadeIn .25s ease; }
.screen.hidden { display: none !important; }

@keyframes fadeIn  { from { opacity:0; transform:translateY(6px);  } to { opacity:1; transform:translateY(0); } }
@keyframes spin    { to { transform:rotate(360deg); } }
@keyframes shake   { 0%,100%{transform:translateX(0)} 20%,60%{transform:translateX(-8px)} 40%,80%{transform:translateX(8px)} }
@keyframes bounce  { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-12px)} }
@keyframes slideUp { from { transform:translateY(40px); opacity:.6; } to { transform:translateY(0); opacity:1; } }
.shake { animation: shake .4s ease; }

/* ── LOADING ── */
.loading-overlay {
  position:fixed; inset:0; background:rgba(26, 26, 26,.85);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  z-index:9999; gap:14px;
}
.loading-overlay.hidden { display:none !important; }
.loading-spinner { font-size:44px; animation:spin 1s linear infinite; }
.loading-overlay p { color:#fff; font-size:15px; font-weight:700; }

/* ── TOAST ── */
.toast {
  position:fixed; bottom:24px; left:50%;
  transform:translateX(-50%) translateY(80px);
  background:var(--dark); color:#fff;
  padding:12px 22px; border-radius:30px;
  font-size:14px; font-weight:700;
  opacity:0; transition:all .3s ease;
  z-index:9998; pointer-events:none;
  white-space:nowrap; max-width:92vw;
  box-shadow:0 8px 32px rgba(0,0,0,.3);
}
.toast.show { opacity:1; transform:translateX(-50%) translateY(0); }

/* ══ TELA LOGIN ══ */
.login-wrap {
  min-height:100vh;
  background:linear-gradient(135deg,var(--dark) 0%,var(--dark2) 100%);
  display:flex; align-items:center; justify-content:center; padding:24px;
  flex-direction:column;
}
.login-brand { text-align:center; margin-bottom:28px; color:#fff; }
.login-logo  { font-size:56px; margin-bottom:8px; }
.login-brand h1 { font-size:28px; font-weight:900; }
.login-brand p  { font-size:13px; opacity:.7; margin-top:4px; }
.login-card {
  background:#fff; border-radius:24px;
  padding:32px 28px; box-shadow:var(--shadow-md);
  max-width:360px; width:100%; text-align:center;
}
.login-icon  { font-size:40px; margin-bottom:12px; }
.login-card h2  { font-size:20px; font-weight:900; margin-bottom:6px; }
.login-sub   { font-size:13px; color:var(--text2); margin-bottom:20px; }
.pass-input-wrap { position:relative; margin-bottom:12px; }
.pass-input-wrap input {
  width:100%; padding:13px 44px 13px 16px;
  border:2px solid var(--border); border-radius:var(--radius-sm);
  font-size:15px; font-family:inherit; outline:none; transition:border-color .2s;
}
.pass-input-wrap input:focus { border-color:var(--brand); }
.pass-toggle {
  position:absolute; right:12px; top:50%;
  transform:translateY(-50%);
  background:none; border:none; cursor:pointer;
  font-size:16px; color:var(--text2); padding:4px;
}
.login-error { color:#dc2626; font-size:13px; font-weight:700; margin:0 0 10px; min-height:18px; }
.login-error.hidden { display:none; }
.btn-enter {
  width:100%;
  background:linear-gradient(135deg,var(--brand),var(--brand2));
  color:#fff; border:none; padding:14px; border-radius:var(--radius-sm);
  font-size:15px; font-weight:800; font-family:inherit;
  cursor:pointer; transition:opacity .2s; margin-bottom:12px;
}
.btn-enter:hover { opacity:.9; }
.btn-back-ghost {
  background:none; border:none; color:var(--text2);
  font-size:13px; font-weight:700; cursor:pointer;
  font-family:inherit; text-decoration:underline;
}

/* ══ HEADER NAV ══ */
.nav-header {
  background:linear-gradient(135deg,var(--dark) 0%,var(--dark2) 100%);
  padding:14px 16px; display:flex; align-items:center; gap:10px;
  position:sticky; top:0; z-index:100;
  box-shadow:0 2px 16px rgba(0,0,0,.3); flex-wrap:wrap;
}
.btn-back-circle {
  width:38px; height:38px;
  background:rgba(255,255,255,.15); border:none; color:#fff;
  border-radius:50%; font-size:16px; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  transition:background .2s; flex-shrink:0;
}
.btn-back-circle:hover { background:rgba(255,255,255,.25); }
.nav-chips { display:flex; gap:6px; flex-wrap:wrap; flex:1; }
.nav-chip {
  background:rgba(255,255,255,.15); color:#fff;
  padding:5px 11px; border-radius:20px; font-size:12px; font-weight:700;
}
.chip-day  { background:rgba(255, 107, 0,.4); }
.chip-user { background:rgba(79,142,247,.4); }
.btn-print-header {
  background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.2);
  color:#fff; padding:7px 12px; border-radius:8px; font-size:13px;
  cursor:pointer; display:flex; align-items:center; gap:5px;
  transition:background .2s; font-family:inherit; font-weight:700;
}
.btn-print-header:hover { background:rgba(255,255,255,.22); }
.btn-print-header.hidden { display:none !important; }

/* ══ BOAS-VINDAS ══ */
/* welcome-header foi removido da home — logo agora fica no body */
.welcome-header {
  display:none;
}
.welcome-brand { display:flex; align-items:center; gap:14px; }
.welcome-emoji { font-size:40px; }
.welcome-brand h1 { font-size:24px; font-weight:900; }
.welcome-brand p  { font-size:12px; opacity:.75; margin-top:2px; }
.welcome-body  {
  flex:1; padding:20px 16px;
  display:flex; flex-direction:column;
  justify-content:center;
  align-items:center;
  max-width:480px; margin:0 auto; width:100%;
  gap:0;
}
.welcome-hero  { text-align:center; padding:16px 0 14px; }
.hero-emoji    { font-size:44px; margin-bottom:8px; }
.welcome-hero h2 { font-size:20px; font-weight:900; margin-bottom:6px; }
.welcome-hero p  { font-size:13px; color:var(--text2); }

/* ── DATA SELECTOR HOME — caixa compacta e centralizada ── */
.home-date-wrap {
  display:flex; flex-direction:column; align-items:center;
  gap:6px; margin-bottom:22px;
}
.home-date-box {
  position:relative; cursor:pointer;
  display:inline-flex; align-items:center; gap:10px;
  background:#FFFBE6; border:2px solid #EAB308;
  border-radius:14px; padding:12px 20px;
  box-shadow:0 2px 10px rgba(234,179,8,.18);
  transition:border-color .2s, box-shadow .2s;
  user-select:none;
}
.home-date-box:hover, .home-date-box:active {
  border-color:#ca8a04; box-shadow:0 4px 18px rgba(234,179,8,.32);
}
.home-date-icon {
  font-size:18px; color:#ca8a04; flex-shrink:0;
}
.home-date-val {
  font-size:17px; font-weight:900; color:#1A1A1A;
  letter-spacing:.3px; white-space:nowrap;
}
.home-date-weekday {
  font-size:13px; font-weight:800; color:#6b7280;
  text-align:center; letter-spacing:.4px;
}
/* legacy */
.date-selector-label { display:flex; align-items:center; justify-content:center; gap:10px; font-size:16px; font-weight:900; color:var(--dark); }
.date-selector-row { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.work-date-input { border:2px solid var(--border); border-radius:var(--radius-sm); padding:10px 14px; font-family:inherit; font-size:14px; font-weight:700; outline:none; transition:border-color .2s; background:var(--bg); flex-shrink:0; }
.work-date-input:focus { border-color:var(--brand); }
.work-date-display { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.wdd-weekday { font-size:15px; font-weight:900; color:var(--dark); }
.wdd-date    { font-size:13px; color:var(--text2); font-weight:700; }
.wdd-today-tag { background:#22c55e; color:#fff; font-size:10px; font-weight:800; padding:3px 8px; border-radius:20px; letter-spacing:.5px; }

/* ── SHIFT CARDS (home) ── */
.shift-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px; width:100%; }
.shift-btn {
  border:none;
  border-radius:20px; padding:28px 16px 22px;
  cursor:pointer; transition:all .22s;
  display:flex; flex-direction:column; align-items:center;
  gap:8px; font-family:inherit;
}
.shift-btn:active  { transform:scale(.97); }
/* Turno Dia — amarelo pastel */
.shift-day {
  background:#FDE68A;
  box-shadow:0 4px 18px rgba(234,179,8,.25);
}
.shift-day:hover { background:#fcd34d; box-shadow:0 8px 28px rgba(234,179,8,.35); transform:translateY(-3px); }
.shift-day .shift-name  { color:#111111; }
.shift-day .shift-sub   { color:#555555; }
.shift-day .shift-arrow { color:#111111; }
/* Turno Noite — navy escuro */
.shift-night {
  background:#1E2235;
  box-shadow:0 4px 18px rgba(30,34,53,.35);
}
.shift-night:hover { background:#252a40; box-shadow:0 8px 28px rgba(30,34,53,.5); transform:translateY(-3px); }
.shift-night .shift-name  { color:#FFFFFF; }
.shift-night .shift-sub   { color:rgba(255,255,255,.65); }
.shift-night .shift-arrow { color:rgba(255,255,255,.8); }
.shift-badge { font-size:34px; }
.shift-name  { font-size:16px; font-weight:900; }
.shift-sub   { font-size:12px; }
.shift-arrow { font-size:18px; font-weight:900; }

/* ══ BOTTOM NAV GLOBAL (fixa, mobile-safe) ══ */
.global-bottom-nav {
  position:fixed; bottom:0; left:0; right:0; z-index:200;
  background:#fff; border-top:1px solid var(--border);
  padding:8px 12px;
  padding-bottom: max(8px, env(safe-area-inset-bottom, 8px));
  box-shadow:0 -4px 20px rgba(0,0,0,.10);
}
.global-bottom-nav .footer-links-row {
  max-width:600px; margin:0 auto;
}
/* Padding body para n\u00e3o sobrepor conte\u00fado */
body.has-bottom-nav { padding-bottom:72px; }
/* Quando rodapé global oculto (colaborador restrito): tasks-footer desce ao fundo */
body:not(.has-bottom-nav) .tasks-footer { bottom:0; }

.welcome-footer {
  padding:14px 16px; background:#fff; border-top:1px solid var(--border);
}
.footer-links-row { display:flex; gap:8px; flex-wrap:nowrap; justify-content:center; }
.footer-link-btn {
  flex:1; min-width:0; max-width:90px;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px;
  padding:10px 6px; border-radius:14px;
  font-size:10px; font-weight:800; font-family:inherit;
  cursor:pointer; text-decoration:none; border:none;
  transition:all .2s; position:relative;
}
.footer-link-btn i { font-size:18px; }
.footer-link-btn:hover { opacity:.88; transform:translateY(-2px); }
.footer-link-blue   { background:#dbeafe; color:#1d4ed8; }
.footer-link-green  { background:#dcfce7; color:#16a34a; }
.footer-link-export { background:#fef3c7; color:#d97706; }
.footer-link-dash   { background:#ede9fe; color:#7c3aed; }
.footer-link-media  { background:#fce7f3; color:#be185d; }
.footer-link-insumos{ background:#ecfdf5; color:#065f46; }
.footer-links-row2  { margin-top:8px; }
.notif-badge {
  position:absolute; top:-5px; right:-5px;
  background:#dc2626; color:#fff;
  font-size:10px; font-weight:900;
  min-width:18px; height:18px;
  border-radius:20px; display:flex;
  align-items:center; justify-content:center; padding:0 4px;
}

/* ══ MINI NAV (header de telas internas) ══ */
.header-mini-nav {
  display:flex; gap:5px; margin-left:auto;
}
.mini-nav-btn {
  width:32px; height:32px; border-radius:8px;
  background:rgba(255,255,255,.13); border:1px solid rgba(255,255,255,.2);
  color:#fff; font-size:13px; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  text-decoration:none; transition:background .2s; font-family:inherit;
}
.mini-nav-btn:hover { background:rgba(255,255,255,.25); }

/* ══ DIA DA SEMANA ══ */
.screen-body  { flex:1; padding:20px 16px; overflow-y:auto; max-width:640px; margin:0 auto; width:100%; }
.screen-intro { text-align:center; padding:24px 0 20px; }
.screen-intro-emoji { font-size:48px; margin-bottom:10px; }
.screen-intro h2 { font-size:22px; font-weight:900; margin-bottom:6px; }
.screen-intro p  { font-size:14px; color:var(--text2); }

.day-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.day-btn {
  background:#fff; border:2px solid var(--border);
  border-radius:20px; padding:18px 12px;
  display:flex; flex-direction:column; align-items:center;
  gap:5px; cursor:pointer; transition:all .2s;
  font-family:inherit; font-size:14px; font-weight:800;
  box-shadow:var(--shadow); position:relative;
}
.day-btn:hover  { border-color:var(--brand); transform:translateY(-2px); }
.day-btn:active { transform:scale(.97); }
.day-btn.today  { border-color:var(--brand); background:#fff7ed; }
.day-icon { font-size:24px; }
.day-today-tag {
  position:absolute; top:6px; right:8px;
  background:var(--brand); color:#fff;
  font-size:9px; font-weight:900;
  padding:2px 7px; border-radius:20px; letter-spacing:.5px;
}

/* ══ DEPARTAMENTO ══ */
.dept-btn-grid { display:flex; flex-direction:column; gap:14px; }
.dept-btn {
  background:#fff; border:3px solid var(--border);
  border-radius:20px; padding:22px 20px;
  display:flex; align-items:center; gap:16px;
  cursor:pointer; transition:all .22s; font-family:inherit;
  box-shadow:0 4px 20px rgba(0,0,0,.10); position:relative;
}
.dept-btn:hover  { transform:translateY(-3px); box-shadow:0 8px 32px rgba(0,0,0,.18); }
.dept-btn:active { transform:scale(.97); }
/* Cores sólidas por departamento — conforme prints */
.dept-btn-producao   { border-color:#FF6B00; }
.dept-btn-producao .dept-btn-emoji-bg { background:#fff7ed; border-radius:12px; padding:10px; }
.dept-btn-producao:hover    { border-color:#FF6B00; background:#fff7ed; }
.dept-btn-operacao   { border-color:#22c55e; }
.dept-btn-operacao:hover    { border-color:#16a34a; background:#f0fdf4; }
.dept-btn-atendimento{ border-color:#60a5fa; }
.dept-btn-atendimento:hover { border-color:#2563eb; background:#eff6ff; }
.dept-btn-custom      { border-color:#0891b2; }
.dept-btn-custom:hover{ border-color:#0e7490; background:#ecfeff; }
.dept-btn-emoji { font-size:36px; }
.dept-btn-nome  { font-size:18px; font-weight:900; flex:1; text-align:left; }
.dept-btn-sub   { font-size:12px; color:var(--text2); font-weight:600; margin-top:2px; }
.dept-btn-lock  { font-size:18px; opacity:.55; }
/* Wrap do botão extra + botão excluir lado a lado */
[data-custom-area-wrap] { display:flex; align-items:stretch; gap:0; border-radius:20px; overflow:hidden; box-shadow:0 4px 20px rgba(0,0,0,.10); }
[data-custom-area-wrap] .dept-btn { box-shadow:none; border-right:none; border-radius:0; flex:1; }
[data-custom-area-wrap] .dept-btn { border-radius:18px 0 0 18px; }
.dept-btn-del-area { border-radius:0 18px 18px 0 !important; }

/* ══ COLLAB GRID ══ */
.collab-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
/* status badge aparece ABAIXO do card — collab-card-wrap é a coluna flex */
.collab-card-wrap { display:flex; flex-direction:column; gap:0; position:relative; }
.collab-card {
  background:#fff; border:2px solid var(--border); border-bottom:none;
  border-radius:20px 20px 0 0;
  padding:20px 14px 16px;
  display:flex; flex-direction:column; align-items:center;
  gap:7px; cursor:pointer; transition:all .22s;
  font-family:inherit; box-shadow:0 4px 16px rgba(0,0,0,.09);
  width:100%; position:relative; overflow:visible;
}
/* quando não tem badge, cantos completamente arredondados */
.collab-card-wrap:not(:has(.collab-status-badge)) .collab-card {
  border-radius:20px; border:2px solid var(--border);
}
.collab-card:hover   { transform:translateY(-3px); box-shadow:0 8px 28px rgba(0,0,0,.14); }
.collab-card:active  { transform:scale(.96); }
.collab-card.collab-done     { opacity:.78; }
.collab-card.collab-andamento { border:2px solid #FF6B00; border-bottom:none; box-shadow:0 4px 16px rgba(255, 107, 0,.22); }
.collab-card-wrap:not(:has(.collab-status-badge)) .collab-card.collab-andamento { border:2px solid #FF6B00; }
.collab-card.collab-falta    { opacity:.55; filter:grayscale(.45); }
.collab-status-badge {
  display:flex; align-items:center; justify-content:center;
  padding:6px 10px; border-radius:0 0 18px 18px;
  font-size:11px; font-weight:800; gap:4px;
  border-top:none; margin-top:0;
}
.csb-100      { background:#dcfce7; color:#15803d; border:2px solid #86efac; border-top:none; }
.csb-parcial  { background:#fff7ed; color:#c2410c; border:2px solid #fdba74; border-top:none; }
.csb-andamento{ background:#dbeafe; color:#1d4ed8; border:2px solid #93c5fd; border-top:none; }
.csb-falta-nj { background:#fee2e2; color:#dc2626; border:2px solid #fca5a5; border-top:none; }
.csb-falta-j  { background:#fef3c7; color:#d97706; border:2px solid #fde68a; border-top:none; }
/* Cards com falta ficam com opacidade reduzida via classe no wrap */
.collab-card-wrap.wrap-falta .collab-card  { opacity:.6; filter:grayscale(.45); }
.collab-card-wrap.wrap-falta .collab-status-badge { opacity:.75; }

.collab-done-overlay {
  display:none; /* overlay absoluto desativado — status fica no badge externo */
}
.done-100       { display:none; }
.done-parcial   { display:none; }
.done-andamento { display:none; }
.done-falta-nj  { display:none; }
.done-falta-j   { display:none; }
.done-etapa1    { display:none; }
.collab-etapa1  { border:2px solid #3b82f6 !important; }
.collab-emoji { font-size:34px; line-height:1; }
.collab-name  { font-size:12px; font-weight:900; text-align:center; line-height:1.3; word-break:break-word; max-width:100%; }
.collab-setor { font-size:10px; color:var(--text2); text-align:center; line-height:1.3; }
.collab-count { font-size:11px; color:var(--text2); font-weight:700; text-align:center; }
.cc-0  { border-top:4px solid #FF6B00 !important; }
.cc-1  { border-top:4px solid #3b82f6 !important; }
.cc-2  { border-top:4px solid #22c55e !important; }
.cc-3  { border-top:4px solid #a855f7 !important; }
.cc-4  { border-top:4px solid #ef4444 !important; }
.cc-5  { border-top:4px solid #14b8a6 !important; }
.cc-6  { border-top:4px solid #f59e0b !important; }
.cc-7  { border-top:4px solid #6366f1 !important; }
.cc-8  { border-top:4px solid #10b981 !important; }
.cc-9  { border-top:4px solid #ec4899 !important; }
.cc-10 { border-top:4px solid #0ea5e9 !important; }
.cc-11 { border-top:4px solid #84cc16 !important; }
.collab-falta-row {
  display:flex; justify-content:center; padding:4px 0;
}
.btn-falta-card {
  background:#fee2e2; color:#dc2626;
  border:2px solid #fca5a5; border-radius:8px;
  font-size:10px; font-weight:800; padding:4px 12px;
  cursor:pointer; font-family:inherit; z-index:2;
  transition:background .15s;
}
.btn-falta-card:hover { background:#dc2626; color:#fff; }

/* ══ PRODUÇÃO ══ */
.progress-bar-wrap {
  background:var(--dark2); padding:10px 16px;
  display:flex; align-items:center; gap:12px;
}
.progress-bar-track { flex:1; height:8px; background:rgba(255,255,255,.15); border-radius:20px; overflow:hidden; }
.progress-bar-fill  { height:100%; border-radius:20px; transition:width .4s ease; }
.prog-yellow { background:linear-gradient(90deg,#f59e0b,#fbbf24); }
.prog-green  { background:linear-gradient(90deg,#22c55e,#4ade80); }
.progress-bar-text { color:#fff; font-size:12px; font-weight:700; white-space:nowrap; }

.step-banner {
  display:flex; align-items:center; gap:12px;
  padding:14px 16px; border-left:4px solid var(--brand);
}
.step-banner-1 { background:#fff7ed; }
.step-banner-2 { background:#f0fdf4; border-left-color:#22c55e; }
.step-banner.hidden { display:none !important; }
.step-banner-icon { font-size:26px; }
.step-banner strong { font-size:14px; font-weight:900; display:block; }
.step-banner small  { font-size:12px; color:var(--text2); }

.tasks-scroll {
  flex:1; overflow-y:auto; padding:12px 12px 230px;
  display:grid; grid-template-columns:repeat(2,1fr);
  gap:10px; align-content:start;
}
.task-card {
  background:#fff; border-radius:var(--radius-sm);
  box-shadow:var(--shadow); overflow:hidden;
  cursor:pointer; transition:all .2s; border:2px solid transparent;
}
.task-card:hover  { transform:translateY(-2px); box-shadow:var(--shadow-md); }
.task-card:active { transform:scale(.97); }
.task-card.task-confirmed { border-color:#22c55e; }
.task-card.s2-total   { border-color:#22c55e; }
.task-card.s2-parcial { border-color:#FF6B00; }
.task-card.s2-nao     { border-color:#ef4444; }
.task-card-header {
  padding:8px 10px; display:flex; align-items:center;
  justify-content:space-between; min-height:34px;
}
.cat-label        { font-size:11px; font-weight:800; color:#fff; }
.task-check-badge { font-size:14px; }
.task-card-body   { padding:10px; }
.task-name        { font-size:13px; font-weight:800; line-height:1.3; margin-bottom:5px; }
.task-qty-display { font-size:12px; color:var(--text2); font-weight:700; }

.tasks-footer {
  position:fixed;
  bottom: calc(72px + env(safe-area-inset-bottom, 0px));
  left:0; right:0;
  background:#fff; padding:10px 14px 12px;
  border-top:2px solid var(--border);
  display:flex; flex-direction:column; gap:6px;
  box-shadow:0 -4px 20px rgba(0,0,0,.1); z-index:150;
}
.btn-pending-info {
  display:flex; align-items:center; gap:8px;
  background:#fef3c7; border-radius:var(--radius-sm);
  padding:8px 12px; color:#d97706;
  font-size:12px; font-weight:700;
}

/* ── Linha de ações do footer ── */
.s1-action-row { display:flex; flex-direction:column; gap:6px; }
.s1-done-footer { display:flex; gap:8px; justify-content:center; }
.s1-done-footer.hidden { display:none !important; }
.s1-bottom-row { display:flex; gap:8px; justify-content:center; }

/* ── Nova linha única: Iniciar + Imprimir + Voltar ── */
.s1-btns-row {
  display:flex; gap:8px; justify-content:center; align-items:center; flex-wrap:wrap;
}
.s1-btns-row.hidden { display:none !important; }

/* Botões de ação do footer — tamanho padrão concluir turno */
.btn-footer-action {
  padding:10px 18px; border-radius:10px;
  font-size:12px; font-weight:900; cursor:pointer;
  font-family:inherit; display:inline-flex; align-items:center;
  gap:6px; transition:all .2s; white-space:nowrap;
  border:none; letter-spacing:.3px;
}
.btn-footer-action:active { transform:scale(.96); }
.btn-footer-start {
  background:linear-gradient(135deg,#FF6B00,#E55F00);
  color:#fff; box-shadow:0 3px 10px rgba(255, 107, 0,.35);
}
.btn-footer-start:hover { opacity:.9; }
.btn-footer-print {
  background:#f9fafb; border:2px solid var(--border)!important; color:var(--text);
}
.btn-footer-print:hover { background:var(--border); }
.btn-footer-back {
  background:none; border:2px solid var(--border)!important; color:var(--text2);
}
.btn-footer-back:hover { background:var(--bg); }

/* Display de data clicável no painel líder */
.date-clickable-display {
  background:#f9fafb; border:2px solid var(--border); border-radius:8px;
  padding:8px 12px; font-size:13px; font-weight:800; color:var(--text);
  font-family:inherit; cursor:pointer; user-select:none;
  display:flex; align-items:center; gap:6px; min-height:38px;
  transition:border-color .2s;
}
.date-clickable-display:hover { border-color:#FF6B00; }

/* Botões pequenos e centralizados */
.btn-sm-print, .btn-sm-start, .btn-sm-conclude, .btn-sm-imprimir, .btn-sm-voltar {
  padding:9px 18px; border-radius:var(--radius-sm);
  font-size:12px; font-weight:800; cursor:pointer;
  font-family:inherit; display:flex; align-items:center;
  gap:5px; transition:all .2s; white-space:nowrap;
}
.btn-sm-print {
  background:#f9fafb; border:2px solid var(--border); color:var(--text);
}
.btn-sm-print:hover { background:var(--border); }
.btn-sm-start {
  background:linear-gradient(135deg,#FF6B00,#E55F00);
  color:#fff; border:none;
}
.btn-sm-start:hover { opacity:.9; }
/* ── Botões de turno (Iniciar / Finalizar) ── */
.btn-turno-action {
  display:inline-flex; align-items:center; justify-content:center;
  gap:8px; padding:11px 28px; border-radius:12px;
  font-size:13px; font-weight:900; cursor:pointer; font-family:inherit;
  border:none; transition:all .2s;
}
.btn-turno-iniciar {
  background:linear-gradient(135deg,#FF6B00,#E55F00);
  color:#fff; box-shadow:0 4px 14px rgba(255, 107, 0,.35);
}
.btn-turno-iniciar:hover { opacity:.9; transform:translateY(-1px); }
.btn-turno-finalizar {
  background:linear-gradient(135deg,#22c55e,#16a34a);
  color:#fff; box-shadow:0 4px 14px rgba(34,197,94,.35);
}
.btn-turno-finalizar:hover { opacity:.9; transform:translateY(-1px); }
.btn-turno-action.hidden { display:none !important; }

/* legado */
.btn-sm-conclude {
  background:linear-gradient(135deg,#22c55e,#16a34a);
  color:#fff; border:none; align-self:center;
  width:100%; justify-content:center;
  padding:13px 20px; font-size:14px; font-weight:900;
  border-radius:12px; box-shadow:0 4px 14px rgba(34,197,94,.35);
}
.btn-sm-conclude:hover { opacity:.9; transform:translateY(-1px); }
.btn-sm-conclude.hidden { display:none !important; }
.btn-sm-imprimir {
  background:#f9fafb; border:2px solid var(--border); color:var(--text);
}
.btn-sm-imprimir:hover { background:var(--border); }
.btn-sm-imprimir.hidden { display:none !important; }
.btn-sm-voltar {
  background:none; border:2px solid var(--border); color:var(--text2);
}
.btn-sm-voltar:hover { background:var(--bg); }

/* ── Botão Voltar centralizado no rodapé de telas ── */
.screen-bottom-back {
  display:flex; justify-content:center; align-items:center;
  padding:20px 16px 80px; /* 80px para não ficar atrás da nav */
}
.btn-bottom-back {
  background:none; border:2px solid var(--border); color:var(--text2);
  padding:11px 32px; border-radius:20px; font-size:13px; font-weight:800;
  cursor:pointer; font-family:inherit; transition:all .2s;
  display:inline-flex; align-items:center; gap:6px;
}
.btn-bottom-back:hover { background:var(--bg); border-color:var(--text2); }
.btn-bottom-back:active { transform:scale(.97); }

/* Manter compatibilidade com estilos antigos */
.btn-print-s1 {
  background:#f9fafb; border:2px solid var(--border);
  color:var(--text); padding:9px 14px; border-radius:var(--radius-sm);
  font-size:12px; font-weight:800; cursor:pointer; font-family:inherit;
  display:flex; align-items:center; gap:6px; transition:background .2s;
}
.btn-print-s1:hover { background:var(--border); }
.btn-start-prod {
  background:linear-gradient(135deg,#FF6B00,#E55F00);
  color:#fff; border:none; padding:9px 16px; border-radius:var(--radius-sm);
  font-size:12px; font-weight:800; cursor:pointer;
  font-family:inherit; transition:opacity .2s;
}
.btn-start-prod:hover { opacity:.9; }
.btn-conclude {
  background:linear-gradient(135deg,#22c55e,#16a34a);
  color:#fff; border:none; padding:10px 20px; border-radius:var(--radius-sm);
  font-size:13px; font-weight:900; cursor:pointer;
  font-family:inherit; transition:opacity .2s; align-self:center;
}
.btn-conclude:hover  { opacity:.9; }
.btn-conclude.hidden { display:none !important; }
.btn-voltar-s1 {
  background:none; border:2px solid var(--border); color:var(--text2);
  padding:9px 14px; border-radius:var(--radius-sm); font-size:12px;
  font-weight:800; cursor:pointer; font-family:inherit;
  text-align:center; transition:background .2s;
}
.btn-voltar-s1:hover { background:var(--bg); }

/* ══ AGRADECIMENTO ══ */
.thanks-wrap {
  min-height:100vh;
  background:linear-gradient(135deg,var(--dark),var(--dark2));
  display:flex; flex-direction:column;
  align-items:center; justify-content:center;
  padding:40px 24px; color:#fff; text-align:center;
}
.thanks-emoji { font-size:72px; margin-bottom:20px; animation:bounce 1s ease infinite; }
.thanks-wrap h2 { font-size:26px; font-weight:900; margin-bottom:20px; }
.thanks-stats {
  background:rgba(255,255,255,.1); border-radius:var(--radius);
  padding:20px; width:100%; max-width:320px; margin-bottom:24px;
}
.thanks-redirect-msg { font-size:13px; opacity:.75; margin-bottom:20px; }
.btn-home-thanks {
  background:rgba(255,255,255,.15);
  border:2px solid rgba(255,255,255,.3);
  color:#fff; padding:14px 28px; border-radius:var(--radius-sm);
  font-size:14px; font-weight:800; cursor:pointer; font-family:inherit;
  display:flex; align-items:center; gap:8px; transition:background .2s;
}
.btn-home-thanks:hover { background:rgba(255,255,255,.25); }

/* ══ PAINEL LÍDER ══ */
.leader-nav { gap:8px; }
.leader-tabs {
  display:flex; overflow-x:auto;
  background:var(--dark2); padding:0 12px;
  border-bottom:2px solid rgba(255,255,255,.08);
  gap:2px; scrollbar-width:none;
}
.leader-tabs::-webkit-scrollbar { display:none; }
.leader-tab {
  background:none; border:none; color:rgba(255,255,255,.55);
  padding:12px 14px; font-size:12px; font-weight:800;
  cursor:pointer; font-family:inherit; white-space:nowrap;
  border-bottom:3px solid transparent; transition:all .2s;
}
.leader-tab.active { color:#fff; border-bottom-color:var(--brand); }
.leader-tab:hover  { color:rgba(255,255,255,.85); }
.leader-body  { flex:1; padding:16px; overflow-y:auto; }
.leader-panel { }
.leader-panel.hidden { display:none !important; }

.filter-card { background:#fff; border-radius:var(--radius); padding:16px; box-shadow:var(--shadow); margin-bottom:16px; }
.filter-row  { display:flex; gap:10px; flex-wrap:wrap; align-items:flex-end; }
.filter-group { display:flex; flex-direction:column; gap:4px; min-width:100px; }
.filter-group label { font-size:11px; font-weight:800; color:var(--text2); text-transform:uppercase; }
.filter-group input[type="date"],
.filter-group select {
  border:2px solid var(--border); border-radius:var(--radius-sm);
  padding:8px 10px; font-family:inherit;
  font-size:13px; font-weight:700; color:var(--text);
  background:var(--bg); outline:none;
  transition:border-color .2s; cursor:pointer;
}
.filter-group input:focus, .filter-group select:focus { border-color:var(--brand); }
.btn-filter {
  background:linear-gradient(135deg,var(--brand),var(--brand2));
  color:#fff; border:none; padding:10px 18px;
  border-radius:var(--radius-sm); font-size:13px; font-weight:800;
  cursor:pointer; font-family:inherit; display:flex; align-items:center;
  gap:6px; transition:opacity .2s; align-self:flex-end;
}
.btn-filter:hover { opacity:.9; }

.summary-row { display:flex; gap:8px; margin-bottom:16px; flex-wrap:wrap; }
.summ-card {
  flex:1; min-width:60px;
  background:#fff; border-radius:var(--radius-sm);
  padding:12px 10px; text-align:center;
  box-shadow:var(--shadow); border-top:3px solid transparent;
}
.summ-total { border-top-color:#3b82f6; }
.summ-ok    { border-top-color:#22c55e; }
.summ-warn  { border-top-color:#FF6B00; }
.summ-err   { border-top-color:#ef4444; }
.summ-taxa  { border-top-color:#8b5cf6; }
.summ-emoji { font-size:18px; display:block; margin-bottom:4px; }
.summ-num   { font-size:20px; font-weight:900; display:block; }
.summ-lbl   { font-size:10px; color:var(--text2); font-weight:700; }

.leader-actions { display:flex; gap:8px; margin-bottom:14px; flex-wrap:wrap; }
.btn-print-pending, .btn-print-all-collab {
  background:#fff; border:2px solid var(--border); color:var(--text);
  padding:9px 14px; border-radius:var(--radius-sm);
  font-size:12px; font-weight:800; cursor:pointer; font-family:inherit;
  display:flex; align-items:center; gap:6px; transition:background .2s;
}
.btn-print-pending:hover, .btn-print-all-collab:hover { background:var(--bg); }
.btn-danger-sm {
  background:#fee2e2; border:2px solid #fca5a5;
  color:#dc2626; padding:9px 14px; border-radius:var(--radius-sm);
  font-size:12px; font-weight:800; cursor:pointer; font-family:inherit;
  display:flex; align-items:center; gap:6px;
}
.pendentes-hint { font-size:12px; color:var(--text2); }

.table-card { background:#fff; border-radius:var(--radius); box-shadow:var(--shadow); overflow:hidden; }
.table-header-row { padding:14px 16px; border-bottom:1px solid var(--border); }
.table-header-row h3 { font-size:15px; font-weight:900; }
.table-scroll { overflow-x:auto; }
.data-table { width:100%; border-collapse:collapse; }
.data-table th, .data-table td { padding:10px 12px; text-align:left; border-bottom:1px solid #f0f4ff; font-size:13px; }
.data-table th { background:#f8faff; font-weight:800; font-size:11px; text-transform:uppercase; color:var(--text2); }
.data-table tr:hover td { background:#fafbff; }
.empty-row { text-align:center; color:var(--text2); padding:30px !important; }
.badge { display:inline-flex; align-items:center; padding:3px 8px; border-radius:20px; font-size:11px; font-weight:800; }
.badge-total   { background:#dcfce7; color:#16a34a; }
.badge-parcial { background:#fff7ed; color:#c2410c; }
.badge-nao     { background:#fee2e2; color:#dc2626; }
.badge-pend    { background:#f1f5f9; color:#64748b; }

.pendentes-list { display:flex; flex-direction:column; gap:12px; }
.pend-group { background:#fff; border-radius:var(--radius); box-shadow:var(--shadow); overflow:hidden; }
.pend-group-header {
  padding:12px 16px; background:#f8faff; border-bottom:1px solid var(--border);
  display:flex; align-items:center; justify-content:space-between; font-size:13px; font-weight:700;
}
.pend-count { background:#fee2e2; color:#dc2626; font-size:11px; font-weight:800; padding:3px 10px; border-radius:20px; }
.pend-item {
  display:flex; align-items:center; gap:12px;
  padding:12px 16px; border-bottom:1px solid #f0f4ff;
  transition:background .2s, opacity .3s;
}
.pend-item:last-child { border-bottom:none; }
.pend-item-info { flex:1; }
.pend-item-name { font-size:13px; font-weight:800; display:block; }
.pend-item-meta { font-size:11px; color:var(--text2); margin-top:2px; display:block; }
.pend-check-btn {
  background:#dcfce7; border:2px solid #86efac; color:#16a34a;
  width:34px; height:34px; border-radius:50%; font-size:14px;
  cursor:pointer; display:flex; align-items:center; justify-content:center;
  flex-shrink:0; transition:background .2s;
}
.pend-check-btn:hover { background:#bbf7d0; }

.espelho-list { display:flex; flex-direction:column; gap:16px; }
.espelho-date-group { background:#fff; border-radius:var(--radius); box-shadow:var(--shadow); overflow:hidden; }
.espelho-date-header { padding:12px 16px; background:var(--dark2); color:#fff; font-size:13px; font-weight:800; }
.espelho-collab { padding:12px 16px; border-top:1px solid var(--border); }
.espelho-collab-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:8px; font-size:14px; }
.espelho-table { width:100%; border-collapse:collapse; font-size:12px; }
.espelho-table th, .espelho-table td { padding:6px 8px; border-bottom:1px solid #f0f4ff; text-align:left; }
.espelho-table th { font-weight:800; color:var(--text2); font-size:11px; }
.espelho-collab-footer { font-size:12px; color:var(--text2); padding-top:6px; }

.rel-filters    { background:#fff; border-radius:var(--radius); padding:16px; box-shadow:var(--shadow); margin-bottom:14px; }
.rel-causas-wrap{ background:#fff; border-radius:var(--radius); padding:16px; box-shadow:var(--shadow); margin-bottom:14px; }
.rel-collab-block { background:#fff; border-radius:var(--radius); box-shadow:var(--shadow); padding:14px 16px; margin-bottom:12px; }
.rel-collab-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:8px; font-size:14px; }
.rel-stats-row { display:flex; gap:8px; margin-bottom:8px; }
.rel-stat { padding:3px 10px; border-radius:20px; font-size:12px; font-weight:800; }
.rel-stat-ok   { background:#dcfce7; color:#16a34a; }
.rel-stat-parc { background:#fff7ed; color:#c2410c; }
.rel-stat-nao  { background:#fee2e2; color:#dc2626; }

.tar-filter-bar {
  background:#fff; border-radius:var(--radius); padding:14px 16px;
  box-shadow:var(--shadow); margin-bottom:14px;
  display:flex; gap:12px; flex-wrap:wrap; align-items:flex-end;
}
.tar-filter-group { display:flex; flex-direction:column; gap:4px; }
.tar-filter-group label { font-size:11px; font-weight:800; color:var(--text2); text-transform:uppercase; }
.tar-toggle-group { display:flex; gap:5px; }
.tar-toggle {
  padding:7px 13px; border-radius:20px;
  border:2px solid var(--border); background:var(--bg);
  font-family:inherit; font-size:12px; font-weight:800;
  cursor:pointer; color:var(--text2); transition:all .2s;
}
.tar-toggle.active { background:var(--brand); border-color:var(--brand); color:#fff; }
.tar-dias-group { display:flex; gap:4px; flex-wrap:wrap; }
.tar-dia-btn {
  padding:6px 10px; border-radius:16px;
  border:2px solid var(--border); background:var(--bg);
  font-family:inherit; font-size:11px; font-weight:800;
  cursor:pointer; color:var(--text2); transition:all .2s;
}
.tar-dia-btn.active { background:var(--dark); border-color:var(--dark); color:#fff; }
.tar-select {
  border:2px solid var(--border); border-radius:var(--radius-sm);
  padding:7px 10px; font-family:inherit;
  font-size:13px; font-weight:700; outline:none;
  background:var(--bg); cursor:pointer;
}
.btn-new-task {
  background:linear-gradient(135deg,var(--brand),var(--brand2));
  color:#fff; border:none; padding:9px 16px;
  border-radius:var(--radius-sm); font-size:13px; font-weight:800;
  cursor:pointer; font-family:inherit;
  display:flex; align-items:center; gap:6px; align-self:flex-end;
}
.btn-new-colab {
  background:linear-gradient(135deg,#6366f1,#8b5cf6);
  color:#fff; border:none; padding:9px 16px;
  border-radius:var(--radius-sm); font-size:13px; font-weight:800;
  cursor:pointer; font-family:inherit;
  display:flex; align-items:center; gap:6px; align-self:flex-end;
}
.btn-new-colab:hover { opacity:.9; }
/* Checkboxes de dias — modal novo colaborador */
.nc-dia-lbl {
  display:flex; flex-direction:column; align-items:center; gap:4px;
  background:#f9fafb; border:2px solid #e2e6f0; border-radius:10px;
  padding:8px 4px; cursor:pointer; font-size:12px; font-weight:800;
  color:#374151; transition:all .15s; user-select:none;
}
.nc-dia-lbl input { display:none; }
.nc-dia-lbl:has(input:checked) {
  background:#ede9fe; border-color:#7c3aed; color:#7c3aed;
}
.nc-dia-lbl span { font-size:11px; font-weight:900; letter-spacing:.5px; }
.tar-count-bar { font-size:12px; color:var(--text2); font-weight:700; margin-bottom:10px; }
.tar-collab-block { background:#fff; border-radius:var(--radius); box-shadow:var(--shadow); margin-bottom:12px; overflow:hidden; }
.tar-collab-header {
  padding:12px 16px; background:#f8faff; border-bottom:1px solid var(--border);
  display:flex; justify-content:space-between; align-items:center;
}
.tar-count { font-size:12px; color:var(--text2); font-weight:700; }
.tar-table-wrap { overflow-x:auto; }
.tar-table { width:100%; border-collapse:collapse; font-size:13px; }
.tar-table th, .tar-table td { padding:9px 10px; border-bottom:1px solid #f0f4ff; text-align:left; }
.tar-table th { font-size:11px; font-weight:800; color:var(--text2); background:#fafbff; }
.tar-table tbody tr:hover td { background:#f9fafb; }
.tar-cat-badge { background:#ede9fe; color:#7c3aed; font-size:11px; font-weight:800; padding:3px 8px; border-radius:20px; white-space:nowrap; }
.tar-item-name-cell { font-weight:800; }
.tar-qty-wrap { display:flex; align-items:center; gap:4px; }
.tar-qty-btn {
  background:var(--bg); border:1px solid var(--border);
  width:26px; height:26px; border-radius:6px;
  font-size:16px; cursor:pointer; font-family:inherit;
  display:flex; align-items:center; justify-content:center;
  font-weight:900; transition:background .2s;
}
.tar-qty-btn:hover { background:var(--border); }
.tar-qty-btn.plus { background:#dcfce7; border-color:#86efac; color:#16a34a; }
.tar-qty-btn.plus:hover { background:#bbf7d0; }
.tar-qty-input {
  width:55px; border:2px solid var(--border);
  border-radius:8px; padding:4px 6px;
  font-family:inherit; font-size:13px; font-weight:800;
  text-align:center; outline:none;
}
.tar-qty-input:focus { border-color:var(--brand); }
.tar-actions { display:flex; gap:5px; }
.tar-btn-save { background:#dcfce7; border:none; color:#16a34a; width:30px; height:30px; border-radius:7px; cursor:pointer; font-size:13px; }
.tar-btn-edit { background:#dbeafe; border:none; color:#1d4ed8; width:30px; height:30px; border-radius:7px; cursor:pointer; font-size:13px; }
.tar-btn-del  { background:#fee2e2; border:none; color:#dc2626; width:30px; height:30px; border-radius:7px; cursor:pointer; font-size:13px; }

/* ══ RESULTADOS ══ */
.res-filter-bar {
  background:#fff; padding:14px 16px;
  border-bottom:1px solid var(--border);
  display:flex; flex-wrap:wrap; gap:12px; align-items:flex-start;
}
.res-filter-group { display:flex; flex-direction:column; gap:4px; }
.res-filter-group label { font-size:11px; font-weight:800; color:var(--text2); text-transform:uppercase; }
.res-summary-bar { display:flex; gap:8px; padding:12px 16px; flex-wrap:wrap; }
.res-sum-card {
  flex:1; min-width:70px;
  background:#fff; border-radius:var(--radius-sm);
  padding:10px; text-align:center;
  box-shadow:var(--shadow); border-top:3px solid transparent;
}
.res-sum-blue   { border-top-color:#3b82f6; }
.res-sum-green  { border-top-color:#22c55e; }
.res-sum-orange { border-top-color:#FF6B00; }
.res-sum-red    { border-top-color:#ef4444; }
.res-sum-val { font-size:20px; font-weight:900; display:block; }
.res-sum-lbl { font-size:10px; color:var(--text2); font-weight:700; }

.res-collab-card {
  background:#fff; border-radius:var(--radius);
  box-shadow:var(--shadow); margin-bottom:12px;
  overflow:hidden; border:2px solid transparent; transition:border-color .3s;
}
.res-collab-card.res-all-done { border-color:#22c55e; }
.res-card-header {
  display:flex; align-items:center; gap:10px;
  padding:14px 16px; cursor:pointer;
  background:#fafbff; transition:background .2s;
}
.res-card-header:hover { background:#f0f4ff; }
.res-card-avatar { font-size:26px; flex-shrink:0; }
.res-card-info   { flex:1; min-width:0; }
.res-card-name   { font-size:15px; font-weight:900; }
.res-card-meta   { font-size:12px; color:var(--text2); margin-top:2px; }
.res-pills { display:flex; gap:5px; flex-wrap:wrap; margin-right:6px; }
.res-pill  { padding:3px 8px; border-radius:20px; font-size:11px; font-weight:800; }
.res-pill-orange { background:#fff7ed; color:#c2410c; }
.res-pill-red    { background:#fee2e2; color:#dc2626; }
.res-pill-green  { background:#f0fdf4; color:#16a34a; }
.res-chevron { color:#aaa; font-size:14px; transition:transform .3s; flex-shrink:0; }

.res-tasks-list { padding:0 14px 12px; }
.res-tasks-list.hidden { display:none !important; }
.res-task-item { display:flex; align-items:flex-start; gap:10px; padding:10px 0; border-bottom:1px solid #f0f4ff; }
.res-task-item:last-child { border-bottom:none; }
.res-task-icon { font-size:18px; flex-shrink:0; padding-top:2px; }
.res-task-body { flex:1; min-width:0; }
.res-task-name { font-size:14px; font-weight:800; }
.res-task-detail { font-size:12px; color:var(--text2); margin-top:3px; }
.res-task-qtds { display:flex; gap:5px; margin-top:5px; flex-wrap:wrap; }
.res-qtd-badge { padding:2px 7px; border-radius:10px; font-size:11px; font-weight:800; }
.res-qtd-prog  { background:#dbeafe; color:#1d4ed8; }
.res-qtd-feito { background:#dcfce7; color:#16a34a; }
.res-qtd-rest  { background:#fee2e2; color:#dc2626; }
.res-task-actions { flex-shrink:0; }
.res-btn-ciente {
  background:linear-gradient(135deg,#22c55e,#16a34a);
  color:#fff; border:none; padding:7px 12px;
  border-radius:10px; font-family:inherit;
  font-size:12px; font-weight:800; cursor:pointer;
  display:flex; align-items:center; gap:5px;
  white-space:nowrap; transition:opacity .2s;
}
.res-btn-ciente:hover { opacity:.85; }
.res-btn-done {
  background:#f0fdf4; color:#16a34a;
  padding:7px 12px; border-radius:10px;
  font-size:12px; font-weight:800;
  display:flex; align-items:center; gap:5px; white-space:nowrap;
}
.res-btn-transferir {
  background:linear-gradient(135deg,#3b82f6,#1d4ed8);
  color:#fff; border:none; padding:6px 10px;
  border-radius:10px; font-family:inherit;
  font-size:11px; font-weight:800; cursor:pointer;
  display:flex; align-items:center; gap:4px;
  white-space:nowrap; transition:opacity .2s;
}
.res-btn-transferir:hover { opacity:.85; }

/* ══ MODAIS — CENTRO DA TELA ══ */
.modal-overlay {
  position:fixed; inset:0; background:rgba(0,0,0,.6);
  display:flex; align-items:center; justify-content:center;
  z-index:1000; padding:20px; animation:fadeIn .2s ease;
}
.modal-overlay.hidden { display:none !important; }
.modal-box {
  background:#ffffff; border-radius:20px;
  width:100%; max-width:480px; max-height:90vh;
  overflow-y:auto; position:relative;
  animation:slideUp .25s ease;
  box-shadow:0 20px 60px rgba(0,0,0,.35);
  color-scheme:light;
  color:#1A1A1A;
}
.modal-compact { max-height:88vh; }
.modal-close {
  position:absolute; top:14px; right:16px;
  background:#f0f4ff; border:none;
  width:30px; height:30px; border-radius:50%;
  font-size:13px; cursor:pointer; color:var(--text2);
  display:flex; align-items:center; justify-content:center; z-index:2;
}
.modal-header-plain { display:flex; align-items:center; gap:12px; padding:22px 20px 0; }
.modal-header-icon { font-size:28px; }
.modal-header-plain h3 { font-size:18px; font-weight:900; }
.modal-header-colored { padding:18px 20px; border-radius:20px 20px 0 0; }
.modal-cat-badge {
  display:inline-block; padding:4px 12px; border-radius:20px;
  background:rgba(255,255,255,.25);
  font-size:12px; font-weight:800; color:#fff; margin-bottom:6px;
}
.modal-title { font-size:18px; font-weight:900; color:#fff; margin:0; }
.modal-body { padding:20px; display:flex; flex-direction:column; gap:14px; }
.modal-body-compact { gap:12px; }
.modal-footer { padding:14px 20px 20px; display:flex; gap:10px; border-top:1px solid var(--border); }
.btn-modal-cancel {
  flex:1; background:var(--bg); border:2px solid var(--border);
  padding:13px; border-radius:var(--radius-sm);
  font-family:inherit; font-size:14px; font-weight:800; cursor:pointer; color:var(--text);
}
.btn-modal-confirm {
  flex:2; background:linear-gradient(135deg,var(--brand),var(--brand2));
  color:#fff; border:none; padding:13px; border-radius:var(--radius-sm);
  font-family:inherit; font-size:14px; font-weight:800; cursor:pointer; transition:opacity .2s;
}
.btn-modal-confirm:hover     { opacity:.9; }
.btn-modal-confirm:disabled  { opacity:.5; cursor:not-allowed; }
.btn-modal-finish {
  flex:2; background:linear-gradient(135deg,#22c55e,#16a34a);
  color:#fff; border:none; padding:13px; border-radius:var(--radius-sm);
  font-family:inherit; font-size:14px; font-weight:800; cursor:pointer;
}

.checklist-prompt { text-align:center; padding:12px 0; }
.checklist-icon   { font-size:40px; margin-bottom:8px; }
.checklist-prompt p { font-size:15px; line-height:1.5; }

.calc-card { background:var(--bg); border-radius:var(--radius-sm); padding:12px 14px; border:1px solid var(--border); }
.calc-row-item { display:flex; justify-content:space-between; align-items:center; }
.calc-highlight { font-size:14px; font-weight:800; }
.calc-num { font-size:22px; font-weight:900; color:var(--brand); }

.field-label  { font-size:12px; font-weight:800; color:var(--text2); text-transform:uppercase; margin-top:4px; }
.required-mark { color:var(--brand); font-size:11px; }

.qty-row { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.qty-row.compact { gap:6px; }
.qty-row.big { justify-content:center; gap:10px; }
.qty-btn {
  background:var(--bg); border:2px solid var(--border);
  border-radius:8px; padding:7px 10px;
  font-size:13px; font-weight:900; cursor:pointer;
  font-family:inherit; transition:all .15s; color:var(--text);
}
.qty-btn:hover  { background:var(--border); }
.qty-btn.plus   { background:#dcfce7; border-color:#86efac; color:#16a34a; }
.qty-btn.minus  { background:#fee2e2; border-color:#fca5a5; color:#dc2626; }
.qty-val { min-width:48px; text-align:center; font-size:24px; font-weight:900; color:var(--dark); }
.qty-val.big-val { font-size:30px; }
.qty-unit { font-size:13px; color:var(--text2); font-weight:700; }

.info-boxes { display:flex; gap:10px; }
.info-box { flex:1; background:#f8faff; border-radius:var(--radius-sm); border:1px solid var(--border); padding:10px; text-align:center; display:flex; flex-direction:column; gap:2px; }
.info-box-label { font-size:10px; font-weight:800; text-transform:uppercase; color:var(--text2); }
.info-box-val   { font-size:20px; font-weight:900; color:var(--dark); }
.info-box-unit  { font-size:11px; color:var(--text2); }

/* 3 botões em 1 linha para status principal */
.status-btns-row3 {
  display:grid; grid-template-columns:1fr 1fr 1fr; gap:6px;
  margin-bottom:0;
}
/* 1 botão full width para maior qtd */
.status-btns-row1 {
  display:block; margin-bottom:4px;
}
/* Compatibilidade com grid antigo (não usado mais) */
.status-btns-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:8px;
  margin-bottom:4px;
}
.sbtn {
  padding:9px 6px; border-radius:var(--radius-sm);
  border:2px solid transparent; font-family:inherit;
  font-size:11px; font-weight:800; cursor:pointer;
  transition:all .15s; text-align:center;
  display:flex; align-items:center; justify-content:center; gap:3px;
}
.sbtn-total  { background:#f0fdf4; color:#16a34a; border-color:#86efac; }
.sbtn-parcial{ background:#fff7ed; color:#c2410c; border-color:#fdba74; }
.sbtn-nao    { background:#fee2e2; color:#dc2626; border-color:#fca5a5; }
.sbtn-maior  { background:#eff6ff; color:#1d4ed8; border-color:#93c5fd; }
.sbtn-total.active   { background:#22c55e; color:#fff; border-color:#22c55e; }
.sbtn-parcial.active { background:#FF6B00; color:#fff; border-color:#FF6B00; }
.sbtn-nao.active     { background:#ef4444; color:#fff; border-color:#ef4444; }
.sbtn-maior.active   { background:#2563eb; color:#fff; border-color:#2563eb; }

/* Grid 4 colunas para motivos */
.motivo-btns-grid {
  display:grid; grid-template-columns:repeat(4,1fr); gap:5px; margin-bottom:8px;
}
.motivo-btn {
  background:#f1f5f9; border:1.5px solid var(--border);
  border-radius:10px; padding:6px 4px;
  font-size:10px; font-weight:800; cursor:pointer;
  font-family:inherit; transition:all .15s; color:var(--text); text-align:center;
}
.motivo-btn.active { background:var(--dark); border-color:var(--dark); color:#fff; }
.motivo-input {
  width:100%; border:2px solid var(--border);
  border-radius:var(--radius-sm); padding:10px 12px;
  font-family:inherit; font-size:14px; resize:none;
  outline:none; transition:border-color .2s;
}
.motivo-input:focus { border-color:var(--brand); }

.finish-summary { display:flex; flex-direction:column; gap:10px; margin-bottom:4px; }
.finish-row {
  display:flex; justify-content:space-between; align-items:center;
  padding:10px 14px; background:var(--bg);
  border-radius:var(--radius-sm); border:1px solid var(--border);
  font-size:14px; font-weight:700;
}
.finish-num { font-size:18px; font-weight:900; }

/* ══ BTN LÍDER NO HEADER ══ */
.welcome-header { display:flex; align-items:center; justify-content:space-between; }
.btn-leader-access {
  background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.25);
  color:#fff; width:38px; height:38px; border-radius:50%;
  font-size:15px; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  transition:background .2s; flex-shrink:0;
}
.btn-leader-access:hover { background:rgba(255,255,255,.3); }

/* ══ COLLAB GRID CENTRALIZADO (1-2 cards) ══ */
.collab-grid {
  justify-content: center;
}
/* Quando poucos cards, ficam centralizados */
.collab-grid.few-cards {
  grid-template-columns: repeat(2,minmax(0,160px)) !important;
  justify-content: center;
}

/* ══ PRODUÇÃO — FOOTER COMPACTO ══ */
.tasks-footer {
  padding: 10px 14px;
}
.s1-done-footer {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.btn-print-s1, .btn-start-prod {
  padding: 10px 12px;
  font-size: 13px;
}
.btn-conclude {
  padding: 12px;
  font-size: 14px;
}
.btn-voltar-s1 {
  padding: 8px;
  font-size: 12px;
}

/* ══ DATA DE TRABALHO — COMPACT ══ */
.date-selector-wrap {
  padding: 12px 14px;
  margin-bottom: 16px;
}
.date-selector-label {
  margin-bottom: 8px;
  font-size: 12px;
}
.work-date-input {
  padding: 8px 12px;
  font-size: 13px;
}

/* ══ HOME — SHIFT BTNS MENORES ══ */
.shift-btn {
  padding: 18px 14px;
  border-radius: 18px;
}
.shift-badge { font-size: 28px; }
.shift-name  { font-size: 14px; }
.shift-grid  { gap: 12px; margin-bottom: 18px; }

/* ══ FOOTER NAV — CENTRALIZADO ══ */
.welcome-footer {
  padding: 10px 14px;
}
.footer-links-row {
  gap: 6px;
  justify-content: center;
}
.footer-link-btn {
  flex: 0 1 auto;
  min-width: 56px;
  max-width: 72px;
  padding: 8px 4px;
  font-size: 9px;
  border-radius: 12px;
}
.footer-link-btn i { font-size: 16px; }

/* ══ SCREEN BODY CENTRALIZADO ══ */
.screen-body {
  max-width: 600px;
  margin: 0 auto;
  width: 100%;
}

/* ══ ICONES DOS DIAS — CENTRALIZAR 3a LINHA ══ */
.day-grid {
  grid-template-columns: repeat(2,1fr);
  gap: 10px;
}
/* Último item (Domingo) sozinho na 3a linha */
.day-btn-last {
  grid-column: 1 / -1;
  max-width: 160px;
  margin: 0 auto;
  width: 100%;
}

/* ══ RESPONSIVO ══ */
@media (max-width:380px) {
  .tasks-scroll { grid-template-columns:1fr; }
  .collab-grid  { grid-template-columns:1fr; }
  .shift-grid   { grid-template-columns:1fr; }
  .footer-link-btn { min-width:46px; padding:7px 3px; }
}
@media (min-width:600px) {
  /* Tarefas: mantém 2 por linha (sem ampliar para 3 em telas maiores) */
  .tasks-scroll { grid-template-columns:repeat(2,1fr); max-width:640px; margin:0 auto; }
  .collab-grid  { grid-template-columns:repeat(3,1fr); }
  .day-grid     { grid-template-columns:repeat(4,1fr); }
  /* Domingo: em telas grandes não precisa ficar centralizado */
  .day-btn-last {
    grid-column: auto;
    max-width: none;
    margin: 0;
  }
}
@media (min-width:900px) {
  /* Tarefas: máx 2 por linha centrado */
  .tasks-scroll { grid-template-columns:repeat(2,1fr); max-width:680px; }
  .collab-grid  { grid-template-columns:repeat(4,1fr); }
}

@media print {
  /* Esconde TUDO no body — incluindo modais, overlays, fixed elements */
  body > * { display: none !important; }

  /* Mostra apenas a zona de impressão — div simples, sem position:fixed */
  body > #print-zone {
    display: block !important;
    position: static !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    font-family: Arial, sans-serif !important;
  }

  body {
    background: #fff !important;
    margin: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;   /* remove o 100vh que gera página extra */
  }
}
