/* ============================================================
   planner.css — Agenda Artegraf ERP
   Escopo: #plannerView .pl-* e .planner-view
   Prefixo .pl- em todas as classes — zero conflito com ERP
   Atualizado em 14/06/2026 — views: dia / semana / mês
   ============================================================ */

/* ── View container ─────────────────────────────────────── */
.planner-view { display:none; flex:1; overflow:hidden; background:var(--bg); flex-direction:column; }
.planner-view.active { display:flex; }

/* ── Root layout ─────────────────────────────────────────── */
#plannerView .pl-root {
  display:flex;
  flex-direction:column;
  height:100%;
  overflow:hidden;
}
#plannerView .pl-body {
  display:flex;
  flex:1;
  overflow:hidden;
}

/* ── Sidebar ─────────────────────────────────────────────── */
#plannerView .pl-sidebar {
  width:260px; flex-shrink:0;
  display:flex; flex-direction:column;
  background:var(--surface); border-right:1px solid var(--border);
  overflow-y:auto; padding:14px 12px; gap:16px;
}

/* ── Conteúdo principal ──────────────────────────────────── */
#plannerView .pl-content {
  flex:1; overflow:hidden; display:flex; flex-direction:column;
}

/* ── Cabeçalho ───────────────────────────────────────────── */
#plannerView .pl-header {
  grid-area:header;
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:12px 16px;
  background:var(--surface); border-bottom:1px solid var(--border);
  flex-wrap:wrap; flex-shrink:0;
}
#plannerView .pl-header-left { display:flex; align-items:center; gap:10px; }
#plannerView .pl-nav-btn {
  width:30px; height:30px; border-radius:50%;
  border:1px solid var(--border); background:var(--surface2);
  color:var(--text); font-size:16px; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  transition:all .12s;
}
#plannerView .pl-nav-btn:hover { background:var(--accent-dim); color:var(--accent); border-color:var(--accent-border); }
#plannerView .pl-nav-hoje {
  padding:5px 12px; border-radius:20px;
  border:1px solid var(--border); background:var(--surface2);
  color:var(--text); font-size:11px; font-weight:800; cursor:pointer;
  transition:all .12s;
}
#plannerView .pl-nav-hoje:hover { border-color:var(--accent-border); color:var(--accent); }
#plannerView .pl-header-titulo {
  font-size:16px; font-weight:900; color:var(--text); text-transform:capitalize; white-space:nowrap;
}

/* Switch de views */
#plannerView .pl-view-switch {
  display:flex; gap:2px;
  background:var(--surface2); border:1px solid var(--border);
  border-radius:10px; padding:3px;
}
#plannerView .pl-view-btn {
  padding:5px 12px; border-radius:7px; border:none;
  background:none; color:var(--muted); font-size:11px; font-weight:800;
  cursor:pointer; transition:all .12s;
}
#plannerView .pl-view-btn.active { background:var(--surface); color:var(--text); box-shadow:0 1px 4px rgba(0,0,0,.1); }
#plannerView .pl-view-btn:hover:not(.active) { color:var(--text); }

/* KPIs no cabeçalho */
#plannerView .pl-header-kpis { display:flex; gap:16px; flex-wrap:wrap; }
#plannerView .pl-kpi { display:flex; flex-direction:column; gap:1px; }
#plannerView .pl-kpi-label { font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.1em; color:var(--faint); }
#plannerView .pl-kpi-val { font-size:14px; font-weight:900; font-variant-numeric:tabular-nums; color:var(--text); }
#plannerView .pl-green { color:var(--green) !important; }
#plannerView .pl-blue  { color:var(--accent) !important; }
#plannerView .pl-red   { color:var(--red) !important; }
#plannerView .pl-muted { color:var(--muted); font-size:11px; }

/* ── Sidebar com mini calendário + urgentes ──────────────── */
#plannerView .pl-sidebar {
  width:260px; flex-shrink:0;
  display:flex; flex-direction:column;
  background:var(--surface); border-right:1px solid var(--border);
  overflow-y:auto; padding:14px 12px; gap:16px;
}

/* Mini calendário */
#plannerView .pl-minical { user-select:none; }
#plannerView .pl-minical-header {
  display:flex; align-items:center; justify-content:space-between; margin-bottom:8px;
}
#plannerView .pl-minical-titulo {
  font-size:12px; font-weight:900; color:var(--text); text-transform:capitalize;
}
#plannerView .pl-minical-nav {
  background:none; border:none; color:var(--muted); font-size:14px; cursor:pointer; padding:2px 4px;
  transition:color .12s;
}
#plannerView .pl-minical-nav:hover { color:var(--accent); }
#plannerView .pl-minical-grid {
  display:grid; grid-template-columns:repeat(7,1fr); gap:1px;
}
#plannerView .pl-minical-dow {
  text-align:center; font-size:9px; font-weight:900; color:var(--faint);
  text-transform:uppercase; padding:2px 0;
}
#plannerView .pl-minical-day {
  text-align:center; font-size:11px; font-weight:700; color:var(--muted);
  padding:3px 1px; border-radius:50%; cursor:pointer; aspect-ratio:1;
  display:flex; align-items:center; justify-content:center;
  transition:all .1s;
}
#plannerView .pl-minical-day:hover { background:var(--surface2); color:var(--text); }
#plannerView .pl-minical-day.outro-mes { color:var(--faint); opacity:.5; }
#plannerView .pl-minical-day.hoje { background:var(--accent); color:#fff !important; font-weight:900; }
#plannerView .pl-minical-day.selecionado:not(.hoje) { background:var(--accent-dim); color:var(--accent); font-weight:900; border:1px solid var(--accent-border); }
#plannerView .pl-minical-day.tem-pedido::after {
  content:''; display:block; width:3px; height:3px; border-radius:50%;
  background:var(--accent); margin:-2px auto 0;
}

/* Urgentes na sidebar */
#plannerView .pl-sidebar-section { display:flex; flex-direction:column; gap:6px; }
#plannerView .pl-sidebar-title {
  font-size:9px; font-weight:900; text-transform:uppercase; letter-spacing:.1em; color:var(--faint);
}
#plannerView .pl-sidebar-pedido {
  padding:8px 9px; border-radius:9px;
  background:var(--surface2); border:1px solid var(--border);
  cursor:pointer; transition:all .12s;
}
#plannerView .pl-sidebar-pedido:hover { border-color:var(--accent-border); }
#plannerView .pl-sidebar-pedido.pl-critico { border-color:rgba(217,48,37,.3); background:rgba(217,48,37,.05); }
#plannerView .pl-sidebar-pedido-cliente { font-size:10px; font-weight:800; color:var(--text); margin-bottom:3px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#plannerView .pl-sidebar-pedido-meta { display:flex; align-items:center; gap:6px; font-size:9px; color:var(--muted); font-weight:700; }
#plannerView .pl-sidebar-pedido-val { color:var(--accent); font-weight:900; margin-left:auto; font-variant-numeric:tabular-nums; }

/* ── Conteúdo principal ──────────────────────────────────── */
#plannerView .pl-content {
  grid-area:content;
  overflow:hidden; display:flex; flex-direction:column;
}

/* ══════════════════════════════════════════════════════════
   VIEW SEMANAL
   ══════════════════════════════════════════════════════════ */
#plannerView .pl-semana {
  display:flex; flex-direction:column; height:100%; overflow:hidden;
}
#plannerView .pl-semana-dias-header {
  display:grid; grid-template-columns:repeat(7,1fr);
  border-bottom:1px solid var(--border);
  background:var(--surface); flex-shrink:0;
}
#plannerView .pl-semana-sidebar-spacer { display:none; }
#plannerView .pl-semana-dia-header {
  padding:8px 6px; text-align:center;
  border-right:1px solid var(--border);
}
#plannerView .pl-semana-dia-header:last-child { border-right:none; }
#plannerView .pl-semana-dia-dow { font-size:9px; font-weight:900; text-transform:uppercase; letter-spacing:.1em; color:var(--faint); }
#plannerView .pl-semana-dia-num {
  font-size:18px; font-weight:900; color:var(--text);
  width:32px; height:32px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  margin-top:2px;
}
#plannerView .pl-semana-dia-num.hoje { background:var(--accent); color:#fff; }

#plannerView .pl-semana-body {
  display:grid; grid-template-columns:repeat(7,1fr);
  flex:1; overflow-y:auto;
}
#plannerView .pl-semana-col {
  border-right:1px solid var(--border);
  display:flex; flex-direction:column; gap:4px;
  padding:8px 6px;
  min-height:300px;
  min-width:0; /* crítico: permite grid 1fr ignorar min-content dos filhos */
  overflow:hidden;
}
#plannerView .pl-semana-col:last-child { border-right:none; }
#plannerView .pl-semana-col.hoje { background:color-mix(in srgb,var(--accent) 3%,var(--bg)); }

#plannerView .pl-semana-pedido {
  padding: 8px 10px;
  border-radius: 9px;
  background: var(--surface);
  border: 1px solid var(--border);
  cursor: pointer;
  transition: all .12s;
  min-width: 0;
  overflow: hidden;
}
#plannerView .pl-semana-pedido:hover { border-color:var(--accent-border); transform:translateY(-1px); }
#plannerView .pl-semana-pedido.critico { border-color:rgba(217,48,37,.35); background:rgba(217,48,37,.07); }
#plannerView .pl-semana-pedido.urgente { border-color:rgba(249,115,22,.35); background:rgba(249,115,22,.07); }
#plannerView .pl-semana-pedido-cliente { font-size: 13px; font-weight: 800; color: var(--text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#plannerView .pl-semana-pedido-val { font-size: 13px; font-weight: 900; color: var(--accent); font-variant-numeric: tabular-nums; }
#plannerView .pl-semana-vazio { font-size:10px; color:var(--faint); text-align:center; padding:12px 0; }

#plannerView .pl-semana-nota {
  margin-top:0; padding-top:6px; border-top:1px dashed var(--border);
}
#plannerView .pl-nota-textarea {
  width:100%; border:1px solid transparent; border-radius:7px;
  background:transparent; padding:5px 6px;
  font-size:10px; font-weight:600; color:var(--text);
  resize:none; outline:none; font-family:inherit; line-height:1.5;
  transition:all .15s; min-height:52px; box-sizing:border-box;
}
#plannerView .pl-nota-textarea::placeholder { color:var(--faint); }
#plannerView .pl-nota-textarea:focus {
  border-color:var(--accent-border); background:var(--surface2);
  box-shadow:0 0 0 3px var(--accent-glow);
}

/* ══════════════════════════════════════════════════════════
   VIEW MENSAL
   ══════════════════════════════════════════════════════════ */
#plannerView .pl-mes {
  display:flex; flex-direction:column; height:100%; overflow:hidden;
}
#plannerView .pl-mes-header-dias {
  display:grid; grid-template-columns:repeat(7,1fr);
  background:var(--surface); border-bottom:1px solid var(--border); flex-shrink:0;
}
#plannerView .pl-mes-dow {
  padding:8px 0; text-align:center;
  font-size:9px; font-weight:900; text-transform:uppercase; letter-spacing:.1em; color:var(--faint);
  border-right:1px solid var(--border);
}
#plannerView .pl-mes-dow:last-child { border-right:none; }
#plannerView .pl-mes-grid {
  display:grid; grid-template-columns:repeat(7,1fr);
  grid-template-rows:repeat(6,1fr);
  flex:1; overflow-y:auto;
}
#plannerView .pl-mes-dia {
  border-right:1px solid var(--border); border-bottom:1px solid var(--border);
  padding:5px 6px; min-height:90px;
  cursor:pointer; transition:background .1s;
  display:flex; flex-direction:column;
}
#plannerView .pl-mes-dia:hover { background:var(--surface2); }
#plannerView .pl-mes-dia:nth-child(7n) { border-right:none; }
#plannerView .pl-mes-dia.outro-mes { opacity:.45; }
#plannerView .pl-mes-dia.hoje { background:color-mix(in srgb,var(--accent) 5%,var(--bg)); }
#plannerView .pl-mes-dia-num {
  font-size:11px; font-weight:900; color:var(--text);
  width:22px; height:22px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  margin-bottom:4px; flex-shrink:0;
}
#plannerView .pl-mes-dia.hoje .pl-mes-dia-num { background:var(--accent); color:#fff; }
#plannerView .pl-mes-dia.outro-mes .pl-mes-dia-num { color:var(--faint); }
#plannerView .pl-mes-evento {
  font-size:9px; font-weight:800; padding:2px 5px; border-radius:4px;
  margin-bottom:2px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  background:var(--accent-dim); color:var(--accent); border:1px solid var(--accent-border);
  cursor:pointer;
}
#plannerView .pl-mes-evento.critico { background:rgba(217,48,37,.1); color:var(--red); border-color:rgba(217,48,37,.25); }
#plannerView .pl-mes-evento.urgente { background:rgba(249,115,22,.1); color:#ea5c0b; border-color:rgba(249,115,22,.25); }
#plannerView .pl-mes-mais { font-size:9px; color:var(--muted); font-weight:800; margin-top:2px; cursor:pointer; }
#plannerView .pl-mes-mais:hover { color:var(--accent); }

/* ══════════════════════════════════════════════════════════
   VIEW DIÁRIA
   ══════════════════════════════════════════════════════════ */
#plannerView .pl-dia {
  display:flex; flex-direction:column; height:100%; overflow-y:auto; padding:16px;
}
#plannerView .pl-dia-titulo {
  font-size:22px; font-weight:900; color:var(--text); margin-bottom:4px; text-transform:capitalize;
}
#plannerView .pl-dia-subtitulo { font-size:12px; color:var(--muted); font-weight:700; margin-bottom:16px; }
#plannerView .pl-dia-cols { display:grid; grid-template-columns:1fr 320px; gap:16px; }
#plannerView .pl-dia-main { display:flex; flex-direction:column; gap:12px; }
#plannerView .pl-dia-section-title {
  font-size:9px; font-weight:900; text-transform:uppercase; letter-spacing:.1em;
  color:var(--faint); margin-bottom:6px;
}
#plannerView .pl-dia-nota-wrap {
  background:var(--surface); border:1px solid var(--border); border-radius:14px; padding:14px;
}
#plannerView .pl-dia-nota-textarea {
  width:100%; border:none; background:transparent;
  font-size:13px; font-weight:600; color:var(--text);
  resize:none; outline:none; font-family:inherit; line-height:1.65;
  min-height:180px; box-sizing:border-box;
}
#plannerView .pl-dia-nota-textarea::placeholder { color:var(--faint); }
#plannerView .pl-dia-pedido {
  padding:12px 14px; border-radius:12px;
  background:var(--surface); border:1px solid var(--border);
  cursor:pointer; transition:all .12s; margin-bottom:8px;
}
#plannerView .pl-dia-pedido:hover { border-color:var(--accent-border); transform:translateY(-1px); }
#plannerView .pl-dia-pedido.critico { border-color:rgba(217,48,37,.3); background:rgba(217,48,37,.05); }
#plannerView .pl-dia-pedido.urgente { border-color:rgba(249,115,22,.3); background:rgba(249,115,22,.05); }
#plannerView .pl-dia-pedido-top { display:flex; align-items:center; gap:6px; margin-bottom:6px; flex-wrap:wrap; }
#plannerView .pl-dia-pedido-cliente { font-size:14px; font-weight:900; color:var(--text); margin-bottom:4px; }
#plannerView .pl-dia-pedido-meta { display:flex; gap:12px; font-size:11px; color:var(--muted); font-weight:700; flex-wrap:wrap; }
#plannerView .pl-dia-pedido-val { color:var(--accent); font-weight:900; font-variant-numeric:tabular-nums; }
#plannerView .pl-dia-vazio { color:var(--faint); font-size:13px; text-align:center; padding:32px 0; }

/* ── Tags ────────────────────────────────────────────────── */
#plannerView .pl-tag {
  display:inline-flex; align-items:center;
  padding:2px 7px; border-radius:6px;
  font-size:9px; font-weight:900; text-transform:uppercase; letter-spacing:.06em;
}
#plannerView .pl-tag-critico { background:rgba(217,48,37,.12); color:var(--red); border:1px solid rgba(217,48,37,.25); }
#plannerView .pl-tag-urgente { background:rgba(249,115,22,.12); color:#ea5c0b; border:1px solid rgba(249,115,22,.25); }
#plannerView .pl-tag-status  { background:var(--surface2); color:var(--muted); border:1px solid var(--border); }

/* ── Google Calendar ─────────────────────────────────────── */
#plannerView .pl-gcal-btn {
  display:flex; align-items:center; justify-content:center; gap:6px;
  padding:10px; border-radius:10px;
  background:var(--surface2); border:1px solid var(--border);
  color:var(--accent); font-size:12px; font-weight:800;
  text-decoration:none; transition:all .12s; margin-top:6px;
}
#plannerView .pl-gcal-btn:hover { background:var(--accent-dim); border-color:var(--accent-border); }

/* ── Widget na Central ───────────────────────────────────── */
.pl-widget {
  background:var(--surface); border:1px solid var(--border);
  border-radius:16px; padding:14px 16px; margin-bottom:16px;
}
.pl-widget-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; }
.pl-widget-title { font-size:13px; font-weight:900; color:var(--text); }
.pl-widget-link { font-size:11px; font-weight:800; color:var(--accent); background:none; border:none; cursor:pointer; padding:0; }
.pl-widget-link:hover { text-decoration:underline; }
.pl-widget-kpis { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-bottom:12px; }
.pl-widget-kpi { background:var(--surface2); border-radius:10px; padding:8px 10px; border:1px solid var(--border); }
.pl-widget-kpi-label { display:block; font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; color:var(--faint); margin-bottom:3px; }
.pl-widget-kpi-val { font-size:14px; font-weight:900; font-variant-numeric:tabular-nums; }
.pl-widget-kpi-val.pl-green { color:var(--green); }
.pl-widget-kpi-val.pl-blue  { color:var(--accent); }
.pl-widget-section-label { display:block; font-size:9px; font-weight:900; text-transform:uppercase; letter-spacing:.1em; color:var(--faint); margin-bottom:6px; }
.pl-widget-pedido {
  display:flex; align-items:center; justify-content:space-between;
  padding:7px 10px; border-radius:8px;
  background:var(--surface2); border:1px solid var(--border);
  margin-bottom:4px; cursor:pointer; font-size:12px; font-weight:700;
  color:var(--text); transition:all .12s;
}
.pl-widget-pedido:hover { border-color:var(--accent-border); }
.pl-widget-pedido.pl-critico { border-color:rgba(217,48,37,.3); background:rgba(217,48,37,.05); }
.pl-widget-pedido .pl-muted { color:var(--muted); font-size:11px; }

/* ── Responsivo ──────────────────────────────────────────── */
@media (max-width:900px){
  #plannerView .pl-root { grid-template-columns:1fr; grid-template-areas:"header" "content"; }
  #plannerView .pl-sidebar { display:none; }
  #plannerView .pl-semana-body, #plannerView .pl-semana-dias-header { grid-template-columns:repeat(4,1fr); }
  #plannerView .pl-dia-cols { grid-template-columns:1fr; }
}
@media (max-width:600px){
  #plannerView .pl-semana-body, #plannerView .pl-semana-dias-header { grid-template-columns:repeat(2,1fr); }
  .pl-widget-kpis { grid-template-columns:1fr 1fr; }
}

/* ── Ocultar Fila Operacional da Central (decisão 14/06/2026) ── */
/* O painel é injetado pelo ag-kanban-nivel4-operacional.js via mountPanel().  */
/* Ocultado via CSS para não modificar o patch — o Kanban continua intacto.    */
#kanbanNivel4Panel { display: none !important; }

/* ── Widget resumido da semana na Central ──────────────────── */
#plannerWidgetHome {
  margin: 0 0 16px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 14px 16px;
}
.pl-widget-home-header {
  display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px;
}
.pl-widget-home-title { font-size: 13px; font-weight: 900; color: var(--text); }
.pl-widget-home-link {
  font-size: 11px; font-weight: 800; color: var(--accent);
  background: none; border: none; cursor: pointer; padding: 0;
}
.pl-widget-home-link:hover { text-decoration: underline; }
.pl-widget-home-kpis {
  display: flex; gap: 16px; flex-wrap: wrap; margin-bottom: 12px;
}
.pl-widget-home-kpi {
  display: flex; flex-direction: column; gap: 2px;
  background: var(--surface2); border-radius: 10px;
  padding: 8px 12px; border: 1px solid var(--border); flex: 1; min-width: 100px;
}
.pl-widget-home-kpi-label {
  font-size: 9px; font-weight: 800; text-transform: uppercase;
  letter-spacing: .08em; color: var(--faint);
}
.pl-widget-home-kpi-val { font-size: 15px; font-weight: 900; font-variant-numeric: tabular-nums; }
.pl-widget-home-prazos { display: flex; flex-direction: column; gap: 4px; }
.pl-widget-home-pedido {
  display: flex; align-items: center; gap: 10px;
  padding: 7px 10px; border-radius: 9px;
  background: var(--surface2); border: 1px solid var(--border);
  cursor: pointer; font-size: 12px; transition: all .12s;
}
.pl-widget-home-pedido:hover { border-color: var(--accent-border); background: var(--accent-dim); }
.pl-widget-home-pedido.critico { border-color: rgba(217,48,37,.3); background: rgba(217,48,37,.05); }
.pl-widget-home-pedido.urgente { border-color: rgba(249,115,22,.3); background: rgba(249,115,22,.05); }
.pl-widget-home-pedido-prazo { color: var(--muted); font-weight: 700; font-size: 11px; white-space: nowrap; }
.pl-widget-home-pedido-cliente { font-weight: 800; color: var(--text); flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pl-widget-home-pedido-val { color: var(--accent); font-weight: 900; font-variant-numeric: tabular-nums; white-space: nowrap; }
.pl-widget-home-mais { font-size: 11px; color: var(--muted); font-weight: 700; text-align: center; padding: 4px 0; }
.pl-widget-home-vazio { font-size: 12px; color: var(--faint); text-align: center; padding: 8px 0; }

/* ── Tela cheia quando Agenda está ativa ─────────────────── */
/* Sobrescreve o grid do .app para usar toda a largura disponível */
.app:has(#plannerView.active) {
  grid-template-columns: var(--sidebar-w) minmax(0, 1fr) 0px !important;
}
.app:has(#plannerView.active) .panel {
  display: none !important;
}

/* ── Eventos de agendamento/NF — azul ────────────────────── */
#plannerView .pl-semana-pedido.agendamento {
  border-color: rgba(59,130,246,.35);
  background: rgba(59,130,246,.07);
}
#plannerView .pl-semana-pedido.agendamento:hover {
  border-color: rgba(59,130,246,.6);
  background: rgba(59,130,246,.12);
}
#plannerView .pl-semana-pedido-tag {
  font-size: 11px;
  font-weight: 900;
  color: #3b82f6;
  text-transform: uppercase;
  letter-spacing: .06em;
  margin-bottom: 2px;
}
#plannerView .pl-semana-pedido-val.agendamento { color: #3b82f6; }
#plannerView .pl-mes-evento.agendamento {
  background: rgba(59,130,246,.12);
  color: #2563eb;
  border-color: rgba(59,130,246,.3);
}

/* ── Estados visuais dos cartões ─────────────────────────── */

/* Atrasado — vermelho */
#plannerView .pl-semana-pedido.st-atrasado {
  border-color:rgba(217,48,37,.4); background:rgba(217,48,37,.07);
}
#plannerView .pl-semana-pedido.st-atrasado:hover { border-color:rgba(217,48,37,.7); }
#plannerView .pl-semana-pedido-tag.atrasado { color:var(--red); font-size:11px; font-weight:900; text-transform:uppercase; }
#plannerView .pl-mes-evento.atrasado { background:rgba(217,48,37,.1); color:var(--red); border-color:rgba(217,48,37,.3); }

/* Concluído — verde */
#plannerView .pl-semana-pedido.st-concluido {
  border-color:rgba(34,197,94,.4); background:rgba(34,197,94,.07);
}
#plannerView .pl-semana-pedido.st-concluido:hover { border-color:rgba(34,197,94,.7); }
#plannerView .pl-semana-pedido.st-concluido .pl-semana-pedido-cliente { color:#16a34a; }
#plannerView .pl-semana-pedido-tag.concluido { color:#16a34a; font-size:11px; font-weight:900; text-transform:uppercase; }
#plannerView .pl-mes-evento.concluido { background:rgba(34,197,94,.1); color:#16a34a; border-color:rgba(34,197,94,.3); }

/* Arquivado — cinza claro */
#plannerView .pl-semana-pedido.st-arquivado {
  border-color:rgba(148,163,184,.3); background:rgba(148,163,184,.08);
  opacity:.65;
}
#plannerView .pl-semana-pedido.st-arquivado .pl-semana-pedido-cliente { color:var(--muted); }
#plannerView .pl-semana-pedido.st-arquivado .pl-semana-pedido-val { color:var(--muted); }
#plannerView .pl-semana-pedido-tag.arquivado { color:var(--muted); font-size:11px; font-weight:700; text-transform:uppercase; }
#plannerView .pl-mes-evento.arquivado { background:rgba(148,163,184,.1); color:var(--muted); border-color:rgba(148,163,184,.2); opacity:.7; }

/* A receber — azul — entregue/concluído mas ainda tem saldo financeiro pendente */
#plannerView .pl-semana-pedido.st-a_receber {
  border-color:rgba(26,115,232,.4); background:rgba(26,115,232,.06);
}
#plannerView .pl-semana-pedido.st-a_receber:hover { border-color:rgba(26,115,232,.7); }
#plannerView .pl-semana-pedido.st-a_receber .pl-semana-pedido-cliente { color:var(--accent); }
#plannerView .pl-semana-pedido-tag.a-receber { color:var(--accent); font-size:11px; font-weight:900; text-transform:uppercase; }
#plannerView .pl-mes-evento.a_receber { background:rgba(26,115,232,.1); color:var(--accent); border-color:rgba(26,115,232,.3); }

/* Override de segurança: st-a_receber sempre azul, mesmo que classe urgente/critico residual esteja no HTML */
#plannerView .pl-semana-pedido.st-a_receber.urgente,
#plannerView .pl-semana-pedido.st-a_receber.critico {
  border-color:rgba(26,115,232,.4) !important;
  background:rgba(26,115,232,.06) !important;
}
#plannerView .pl-semana-pedido.st-a_receber.urgente::before,
#plannerView .pl-semana-pedido.st-a_receber.critico::before {
  display:none !important;
}
#plannerView .pl-semana-pedido.st-a_receber .pl-semana-pedido-val { color:var(--accent) !important; }

/* Urgente/crítico (mantido para compatibilidade) */
#plannerView .pl-semana-pedido.st-normal.critico { border-color:rgba(217,48,37,.35); background:rgba(217,48,37,.07); }
#plannerView .pl-semana-pedido.st-normal.urgente { border-color:rgba(249,115,22,.35); background:rgba(249,115,22,.07); }


/* === FORCE: identidade azul a receber agenda === */

/* Card A RECEBER na semana */
#plannerView .pl-semana-pedido.agendamento {
  position: relative !important;
  overflow: hidden !important;
  padding: 12px 12px !important;
  border-radius: 12px !important;

  background:
    radial-gradient(circle at 10% 0%, rgba(147, 197, 253, .70), transparent 42%),
    linear-gradient(135deg, rgba(239, 246, 255, 1), rgba(219, 234, 254, .95)) !important;

  border: 1px solid rgba(37, 99, 235, .50) !important;

  box-shadow:
    0 12px 26px rgba(59, 130, 246, .18),
    0 5px 12px rgba(37, 99, 235, .12),
    inset 0 1px 0 rgba(255, 255, 255, .85) !important;
}

/* Faixa azul lateral */
#plannerView .pl-semana-pedido.agendamento::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 10px !important;
  bottom: 10px !important;
  width: 4px !important;
  border-radius: 999px !important;
  background: linear-gradient(180deg, #60a5fa, #2563eb) !important;
  opacity: .95 !important;
}

/* Tag A RECEBER */
#plannerView .pl-semana-pedido.agendamento .pl-semana-pedido-tag {
  color: #2563eb !important;
  font-size: 11.5px !important;
  font-weight: 950 !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  margin-bottom: 5px !important;
}

/* Nome do cliente */
#plannerView .pl-semana-pedido.agendamento .pl-semana-pedido-cliente {
  color: #172033 !important;
  font-size: 13px !important;
  font-weight: 950 !important;
}

/* Valor */
#plannerView .pl-semana-pedido.agendamento .pl-semana-pedido-val,
#plannerView .pl-semana-pedido-val.agendamento {
  color: #1d4ed8 !important;
  font-size: 13.5px !important;
  font-weight: 950 !important;
}

/* Hover */
#plannerView .pl-semana-pedido.agendamento:hover {
  transform: translateY(-1px) !important;
  border-color: rgba(29, 78, 216, .68) !important;
  box-shadow:
    0 16px 32px rgba(59, 130, 246, .24),
    0 7px 16px rgba(37, 99, 235, .15),
    inset 0 1px 0 rgba(255, 255, 255, .95) !important;
}

/* === fim FORCE: identidade azul a receber agenda === */


/* === Ajuste: urgencia direto nos cards da semana === */

/* Espaço lateral vazio depois do mini calendário */
#plannerView .pl-sidebar-empty {
  margin-top: 18px;
}

/* Base dos cartões da semana: um pouco mais legíveis */
#plannerView .pl-semana-pedido {
  padding: 11px 12px;
  border-radius: 11px;
  min-height: 58px;
}

/* Cartão urgente: linguagem quente, mas menos agressiva que crítico */
#plannerView .pl-semana-pedido.urgente {
  position: relative;
  overflow: hidden;

  background:
    radial-gradient(circle at 10% 0%, rgba(255, 214, 186, .70), transparent 42%),
    linear-gradient(135deg, rgba(255, 247, 237, .98), rgba(255, 237, 213, .88)) !important;

  border-color: rgba(249, 115, 22, .42) !important;

  box-shadow:
    0 10px 22px rgba(249, 115, 22, .13),
    0 4px 10px rgba(185, 28, 28, .07),
    inset 0 1px 0 rgba(255, 255, 255, .82);
}

/* Cartão crítico: mais quente e mais evidente */
#plannerView .pl-semana-pedido.critico {
  position: relative;
  overflow: hidden;

  background:
    radial-gradient(circle at 10% 0%, rgba(254, 202, 202, .82), transparent 42%),
    linear-gradient(135deg, rgba(255, 247, 237, .98), rgba(254, 226, 226, .92)) !important;

  border-color: rgba(239, 68, 68, .48) !important;

  box-shadow:
    0 12px 26px rgba(249, 115, 22, .16),
    0 5px 13px rgba(185, 28, 28, .11),
    inset 0 1px 0 rgba(255, 255, 255, .84);
}

/* Faixa lateral quente */
#plannerView .pl-semana-pedido.urgente::before,
#plannerView .pl-semana-pedido.critico::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  bottom: 10px;
  width: 4px;
  border-radius: 999px;
  opacity: .95;
}

#plannerView .pl-semana-pedido.urgente::before {
  background: linear-gradient(180deg, #fb923c, #f97316);
}

#plannerView .pl-semana-pedido.critico::before {
  background: linear-gradient(180deg, #ef4444, #f97316);
}

/* Tag de prioridade dentro do cartão */
#plannerView .pl-semana-pedido-tag.prioridade {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  padding: 3px 7px;
  border-radius: 999px;
  font-size: 10.5px;
  font-weight: 950;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: .045em;
  margin-bottom: 6px;
}

#plannerView .pl-semana-pedido-tag.prioridade.urgente {
  color: #c2410c;
  background: rgba(255, 237, 213, .95);
  border: 1px solid rgba(249, 115, 22, .28);
}

#plannerView .pl-semana-pedido-tag.prioridade.critica {
  color: #b91c1c;
  background: rgba(254, 226, 226, .96);
  border: 1px solid rgba(239, 68, 68, .30);
}

/* Nome e valor mais legíveis nos cards importantes */
#plannerView .pl-semana-pedido.urgente .pl-semana-pedido-cliente,
#plannerView .pl-semana-pedido.critico .pl-semana-pedido-cliente {
  font-size: 13.5px;
  font-weight: 950;
  color: #1f2937;
}

#plannerView .pl-semana-pedido.urgente .pl-semana-pedido-val,
#plannerView .pl-semana-pedido.critico .pl-semana-pedido-val {
  font-size: 13.5px;
  font-weight: 950;
}

/* Hover */
#plannerView .pl-semana-pedido.urgente:hover,
#plannerView .pl-semana-pedido.critico:hover {
  transform: translateY(-1px);
}

#plannerView .pl-semana-pedido.urgente:hover {
  box-shadow:
    0 14px 28px rgba(249, 115, 22, .19),
    0 6px 14px rgba(185, 28, 28, .09),
    inset 0 1px 0 rgba(255, 255, 255, .90);
}

#plannerView .pl-semana-pedido.critico:hover {
  box-shadow:
    0 16px 32px rgba(249, 115, 22, .22),
    0 7px 16px rgba(185, 28, 28, .13),
    inset 0 1px 0 rgba(255, 255, 255, .92);
}

/* === fim ajuste: urgencia direto nos cards da semana === */

/* === Agenda v3 — cards encerrados visíveis na view diária === */
#plannerView .pl-dia-pedido.st-atrasado {
  border-color: rgba(217,48,37,.4);
  background: rgba(217,48,37,.07);
}

#plannerView .pl-dia-pedido.st-a_receber {
  border-color: rgba(26,115,232,.4);
  background: rgba(26,115,232,.06);
}
#plannerView .pl-dia-pedido.st-a_receber .pl-dia-pedido-cliente,
#plannerView .pl-dia-pedido.st-a_receber .pl-dia-pedido-val {
  color: var(--accent);
}

#plannerView .pl-dia-pedido.st-concluido {
  border-color: rgba(34,197,94,.4);
  background: rgba(34,197,94,.07);
}
#plannerView .pl-dia-pedido.st-concluido .pl-dia-pedido-cliente,
#plannerView .pl-dia-pedido.st-concluido .pl-dia-pedido-val {
  color: #16a34a;
}

#plannerView .pl-dia-pedido.st-arquivado {
  border-color: rgba(148,163,184,.3);
  background: rgba(148,163,184,.08);
  opacity: .7;
}
#plannerView .pl-dia-pedido.st-arquivado .pl-dia-pedido-cliente,
#plannerView .pl-dia-pedido.st-arquivado .pl-dia-pedido-val {
  color: var(--muted);
}

/* Segurança: arquivado/concluído não deve herdar laranja/vermelho residual */
#plannerView .pl-semana-pedido.st-concluido.urgente,
#plannerView .pl-semana-pedido.st-concluido.critico,
#plannerView .pl-dia-pedido.st-concluido.urgente,
#plannerView .pl-dia-pedido.st-concluido.critico {
  border-color: rgba(34,197,94,.4) !important;
  background: rgba(34,197,94,.07) !important;
}

#plannerView .pl-semana-pedido.st-arquivado.urgente,
#plannerView .pl-semana-pedido.st-arquivado.critico,
#plannerView .pl-dia-pedido.st-arquivado.urgente,
#plannerView .pl-dia-pedido.st-arquivado.critico {
  border-color: rgba(148,163,184,.3) !important;
  background: rgba(148,163,184,.08) !important;
}


/* === Agenda v4 — Capacidade Operacional da Semana === */
#plannerView .pl-kpi-val.pl-warn {
  color:#d97706;
}

#plannerView .pl-semana-col.cap-tranquilo {
  background:
    linear-gradient(180deg, rgba(34,197,94,.045), transparent 160px),
    var(--bg);
}
#plannerView .pl-semana-col.cap-atencao {
  background:
    linear-gradient(180deg, rgba(245,158,11,.11), transparent 210px),
    var(--bg);
}
#plannerView .pl-semana-col.cap-sobrecarga {
  background:
    linear-gradient(180deg, rgba(239,68,68,.13), transparent 240px),
    var(--bg);
}
#plannerView .pl-semana-col.hoje.cap-tranquilo {
  background:
    linear-gradient(180deg, rgba(34,197,94,.045), transparent 160px),
    color-mix(in srgb,var(--accent) 3%,var(--bg));
}
#plannerView .pl-semana-col.hoje.cap-atencao {
  background:
    linear-gradient(180deg, rgba(245,158,11,.12), transparent 210px),
    color-mix(in srgb,var(--accent) 3%,var(--bg));
}
#plannerView .pl-semana-col.hoje.cap-sobrecarga {
  background:
    linear-gradient(180deg, rgba(239,68,68,.15), transparent 240px),
    color-mix(in srgb,var(--accent) 3%,var(--bg));
}

#plannerView .pl-capacidade {
  position:relative;
  flex:0 0 auto;
  padding:7px 8px 6px;
  margin-bottom:4px;
  border:1px solid rgba(148,163,184,.22);
  border-radius:10px;
  background:rgba(255,255,255,.64);
  box-shadow:0 1px 2px rgba(15,23,42,.04), inset 0 1px 0 rgba(255,255,255,.7);
  overflow:hidden;
}
#plannerView .pl-capacidade::before {
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:3px;
  opacity:.95;
}
#plannerView .pl-capacidade-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:6px;
  margin-bottom:5px;
}
#plannerView .pl-capacidade-label {
  font-size:9.5px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--muted);
}
#plannerView .pl-capacidade-score {
  font-size:11px;
  line-height:1;
  font-weight:950;
  font-variant-numeric:tabular-nums;
  color:var(--text);
}
#plannerView .pl-capacidade-bar {
  height:5px;
  border-radius:999px;
  background:rgba(148,163,184,.20);
  overflow:hidden;
}
#plannerView .pl-capacidade-bar span {
  display:block;
  height:100%;
  width:var(--pl-cap-pct,0%);
  border-radius:999px;
  transition:width .18s ease;
}
#plannerView .pl-capacidade-meta {
  margin-top:5px;
  font-size:10px;
  line-height:1.15;
  font-weight:800;
  color:var(--muted);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

#plannerView .pl-cap-tranquilo::before,
#plannerView .pl-cap-tranquilo .pl-capacidade-bar span {
  background:#22c55e;
}
#plannerView .pl-cap-tranquilo .pl-capacidade-score {
  color:#16a34a;
}

#plannerView .pl-cap-atencao {
  border-color:rgba(245,158,11,.28);
  background:rgba(255,251,235,.76);
}
#plannerView .pl-cap-atencao::before,
#plannerView .pl-cap-atencao .pl-capacidade-bar span {
  background:#f59e0b;
}
#plannerView .pl-cap-atencao .pl-capacidade-score,
#plannerView .pl-cap-atencao .pl-capacidade-meta {
  color:#b45309;
}

#plannerView .pl-cap-sobrecarga {
  border-color:rgba(239,68,68,.32);
  background:rgba(254,242,242,.82);
  box-shadow:0 8px 22px rgba(239,68,68,.10), inset 0 1px 0 rgba(255,255,255,.75);
}
#plannerView .pl-cap-sobrecarga::before,
#plannerView .pl-cap-sobrecarga .pl-capacidade-bar span {
  background:#ef4444;
}
#plannerView .pl-cap-sobrecarga .pl-capacidade-score,
#plannerView .pl-cap-sobrecarga .pl-capacidade-meta {
  color:#b91c1c;
}


/* === Agenda v5 — indicador de capacidade no rodapé da coluna === */
#plannerView .pl-semana-capacidade-bottom {
  margin-top:auto;
  padding-top:8px;
}
#plannerView .pl-semana-capacidade-bottom .pl-capacidade {
  margin-bottom:6px;
}

/* No rodapé, a carga deve ser funcional sem disputar atenção com os pedidos */
#plannerView .pl-semana-capacidade-bottom .pl-capacidade {
  padding:6px 8px 5px;
  border-radius:9px;
  box-shadow:0 1px 2px rgba(15,23,42,.035), inset 0 1px 0 rgba(255,255,255,.72);
}
#plannerView .pl-semana-capacidade-bottom .pl-capacidade-meta {
  font-size:9.5px;
}
#plannerView .pl-semana-capacidade-bottom .pl-capacidade-label {
  font-size:9px;
}


/* === Agenda v6 — sem faixa lateral no card de carga === */
#plannerView .pl-capacidade::before {
  display:none !important;
}

/* === Agenda v6 — dias passados com leitura congelada / arquivada === */
#plannerView .pl-semana-col.passado {
  background:
    linear-gradient(180deg, rgba(148,163,184,.10), transparent 260px),
    var(--bg) !important;
}
#plannerView .pl-semana-col.hoje.passado {
  background:
    linear-gradient(180deg, rgba(148,163,184,.10), transparent 260px),
    color-mix(in srgb,var(--accent) 2%,var(--bg)) !important;
}
#plannerView .pl-semana-col.passado .pl-semana-pedido {
  opacity:.78;
}
#plannerView .pl-semana-col.passado .pl-semana-vazio {
  color:var(--muted);
}

#plannerView .pl-cap-passado {
  border-color:rgba(148,163,184,.25) !important;
  background:rgba(248,250,252,.92) !important;
  box-shadow:0 1px 2px rgba(15,23,42,.03), inset 0 1px 0 rgba(255,255,255,.75) !important;
}
#plannerView .pl-cap-passado .pl-capacidade-label,
#plannerView .pl-cap-passado .pl-capacidade-score,
#plannerView .pl-cap-passado .pl-capacidade-meta {
  color:var(--muted) !important;
}
#plannerView .pl-cap-passado .pl-capacidade-bar {
  background:rgba(148,163,184,.18) !important;
}
#plannerView .pl-cap-passado .pl-capacidade-bar span {
  background:#cbd5e1 !important;
}


/* === Agenda v7 — fix defensivo: carga sem faixa lateral e passado neutro === */
#plannerView .pl-capacidade::before {
  display:none !important;
}
#plannerView .pl-semana-col.passado {
  background:
    linear-gradient(180deg, rgba(148,163,184,.10), transparent 260px),
    var(--bg) !important;
}
#plannerView .pl-cap-passado {
  border-color:rgba(148,163,184,.25) !important;
  background:rgba(248,250,252,.92) !important;
}
#plannerView .pl-cap-passado .pl-capacidade-label,
#plannerView .pl-cap-passado .pl-capacidade-score,
#plannerView .pl-cap-passado .pl-capacidade-meta {
  color:var(--muted) !important;
}
#plannerView .pl-cap-passado .pl-capacidade-bar span {
  background:#cbd5e1 !important;
}

