/* Agenda v2. Cores com significado fixo: verde = data oficial, cinza = tarefas e prazos, vermelho = feriado; só o que é do usuário usa a cor que ele escolheu. */

/* ---- barra de filtros e chave de cores */
.agenda-bar{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;margin:4px 0 14px;padding:10px 12px;background:#fff;border:1px solid #e1e8ea;border-radius:12px}
.agenda-people{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.agenda-options{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;margin-left:auto}
.agenda-bar .owner-note{flex:1 0 100%;font-size:12px;color:#5a7285}
.agenda-chip{display:inline-flex;align-items:center;border:1px solid #cfdad9;background:#fff;color:#34495a;border-radius:999px;padding:4px 12px;font-size:13px;font-weight:600;cursor:pointer;min-height:34px}
.agenda-chip.active{background:#132a3a;border-color:#132a3a;color:#fff}
.agenda-chip.static{cursor:default}
.agenda-mine{border:1.5px solid var(--mine-bar,#1c7ed6);background:#fff;color:var(--mine-ink,#0f4a85);border-radius:999px;padding:4px 14px;font-size:13px;font-weight:700;cursor:pointer;min-height:34px}
.agenda-mine.active{background:var(--mine-bar,#1c7ed6);color:#fff}
.agenda-general{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:#34495a}
.agenda-general input{width:auto}
.agenda-views{display:inline-flex;border:1px solid #cfdad9;border-radius:9px;overflow:hidden}
.agenda-views button{border:0;background:#fff;padding:6px 12px;font-size:13px;cursor:pointer}
.agenda-views button.active{background:#132a3a;color:#fff}
.agenda-key{flex:1 0 100%;display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;font-size:12px;color:#4a5f6c}
.agenda-key i{display:inline-block;width:14px;height:10px;border-radius:3px;margin-right:5px;vertical-align:middle;border-left:4px solid}
.agenda-key .k-mine{background:var(--mine-bg);border-color:var(--mine-bar)}
.agenda-key .k-official{background:#e4f3e8;border-color:#2f9e5b}
.agenda-key .k-task{background:#e9ecee;border-color:#7b8790}
.agenda-key .k-holiday{background:#fde6e6;border-color:#d23b3b}
.agenda-colorpick{margin-left:auto;display:inline-flex;align-items:center;gap:6px}
.agenda-swatch{width:20px;height:20px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #b8c4c8;cursor:pointer;padding:0}
.agenda-swatch.active{box-shadow:0 0 0 2px #132a3a}
#agenda-color{width:28px;height:24px;padding:0;border:0;background:none;cursor:pointer}
.holiday-legend>span{display:none}
.holiday-legend:not(:has(.btn)){display:none}

/* ---- itens: letra pequena, até duas linhas (quebra só entre palavras), rótulo e andamento antes do título; cor pela categoria */
.calendar .event{--c-bg:#e9ecee;--c-bar:#7b8790;--c-ink:#333f47;
  display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:2!important;position:relative;margin:0!important;padding:3px 6px 3px 7px!important;border-radius:6px;
  font-size:11px!important;line-height:13px!important;white-space:normal!important;overflow:hidden;overflow-wrap:break-word;word-break:normal;hyphens:manual;cursor:pointer;
  background:var(--c-bg)!important;color:var(--c-ink)!important;border:0!important;border-left:4px solid var(--c-bar)!important;font-weight:500}
.calendar .event.has-more{padding-right:24px!important}
.calendar .event.chip-official,.agenda-pop .event.chip-official,.agenda-list .event.chip-official{--c-bg:#e4f3e8;--c-bar:#2f9e5b;--c-ink:#17532f}
.calendar .event.chip-task{--c-bg:#e9ecee;--c-bar:#7b8790;--c-ink:#333f47}
.calendar .event.chip-holiday{--c-bg:#fde6e6;--c-bar:#d23b3b;--c-ink:#8a1c1c;font-weight:600;cursor:default}
.calendar .event.chip-holiday.holiday-optional{background:#fff!important;border:1px dashed #d23b3b!important;border-left:4px dashed #d23b3b!important}
.calendar .event.chip-holiday.holiday-unconfirmed{outline:1px dotted #8a1c1c;outline-offset:1px}
.calendar .event.chip-mine,.agenda-pop .event.chip-mine,.agenda-list .event.chip-mine{--c-bg:var(--mine-bg);--c-bar:var(--mine-bar);--c-ink:var(--mine-ink);font-weight:700;border-left-width:5px!important}
.agenda-pop .event.chip-official,.agenda-list .event.chip-official{--c-bg:#e4f3e8;--c-bar:#2f9e5b;--c-ink:#17532f}
.agenda-pop .event.chip-task,.agenda-list .event.chip-task{--c-bg:#e9ecee;--c-bar:#7b8790;--c-ink:#333f47}
.agenda-pop .event.chip-holiday,.agenda-list .event.chip-holiday{--c-bg:#fde6e6;--c-bar:#d23b3b;--c-ink:#8a1c1c}
.agenda-pop .event,.agenda-list .event{display:block;min-height:30px;padding:6px 8px;border-radius:6px;font-size:13px;line-height:1.35;background:var(--c-bg);color:var(--c-ink);border-left:4px solid var(--c-bar);cursor:pointer}
.agenda-pop .event.chip-mine,.agenda-list .event.chip-mine{background:var(--mine-bg);color:var(--mine-ink);border-left-color:var(--mine-bar);font-weight:700}
.event .kind-tag{font-size:9px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;opacity:.85}
.event .chip-count{font-weight:700}
.event .chip-more{position:absolute;right:3px;top:2px;border:0;background:none;padding:0 2px;color:inherit;font:inherit;font-weight:800;cursor:pointer}
.event .chip-more:hover{text-decoration:underline}
.calendar .event.event-cancelled{opacity:.55;text-decoration:line-through}
.calendar .event.fold-hidden{display:none!important}
.event-more{white-space:nowrap;border:0;background:transparent;color:#0b5f8a;font-size:12px;font-weight:700;text-align:left;padding:2px 2px;cursor:pointer}
.event-more:hover{text-decoration:underline}

/* ---- calendário (computador): células do mesmo tamanho, só o mês vigente */
@media(min-width:721px){
  .calendar{gap:8px}
  .calendar>b{font-size:11.5px;letter-spacing:.07em;text-transform:uppercase;color:#52656b;padding:4px 2px}
  .calendar .day{height:176px;overflow:hidden!important;padding:8px 8px 6px;border-radius:12px;border:1px solid #e1e8ea;display:flex;flex-direction:column;gap:4px;position:relative}
  .calendar .day>b{font-size:14px;font-weight:700;color:#1d3340;position:static;background:none;padding:0;line-height:20px}
  .calendar .day.weekend{background:#f6f8f9}
  .calendar .day.muted{background:transparent;border-color:transparent;box-shadow:none}
  .calendar .day.week-out{display:none}
  .calendar .day.today-highlight::after{position:absolute;top:10px;right:10px;margin:0}
}

.calendar .day.has-holiday{box-shadow:inset 0 3px 0 #d23b3b}
.calendar .day.has-holiday>b{color:#b32d2d}

/* ---- visão em lista */
.agenda-list-mode .calendar{display:none!important}
.agenda-list{display:grid;gap:12px}
.agenda-list-day{background:#fff;border:1px solid #e1e8ea;border-radius:12px;padding:10px 12px;display:grid;gap:6px}
.agenda-list-day.weekend{background:#f6f8f9}
.agenda-list-day.today{border:2px solid #138a83;background:#f2fbf9}
.agenda-list-day h4{margin:0 0 2px;font-size:14px;display:flex;gap:8px;align-items:center;color:#1d3340}
.agenda-list-day h4 span{display:inline-block}.agenda-list-day h4 span::first-letter{text-transform:uppercase}
.agenda-list-day h4 em{font-style:normal;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;background:#138a83;color:#fff;border-radius:999px;padding:2px 8px}
.agenda-pop .event,.agenda-list .event{-webkit-line-clamp:unset}

/* ---- janelinhas de detalhe e de dia */
.agenda-pop .agenda-day-list{display:grid;gap:6px}
.agenda-details{display:grid;grid-template-columns:max-content 1fr;gap:6px 14px;margin:6px 0 0;font-size:14px}
.agenda-details dt{color:#5a7285;font-weight:600}
.agenda-details dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}

/* ---- cabeçalho fixo só nos checklists (listas longas): o título e o botão Fechar não saem da tela ao rolar. Compromissos e demais janelas ficam como eram. */
.modal-wrap .modal.checklist-view>.section-head:first-child{position:sticky;top:0;z-index:6;background:#fff;margin:-26px -26px 14px;padding:18px 26px 12px;border-bottom:1px solid #e1e8ea;box-shadow:0 3px 8px rgba(19,42,58,.05)}
.modal-wrap .modal.checklist-view>.checklist-bulk-actions{position:sticky;top:64px;z-index:5;background:#fff;padding:8px 0;border-bottom:1px solid #eef3f2}

/* ---- celular: lista vertical (layout do mobile-layout.css); itens podem quebrar linha */
@media(max-width:720px){
  .modal-wrap .modal.checklist-view>.section-head:first-child{margin:-14px -14px 12px;padding:12px 14px 10px}
  .agenda-options,.agenda-colorpick{margin-left:0}
  .calendar .event{display:block!important;-webkit-line-clamp:unset!important;min-height:28px;padding:5px 24px 5px 8px!important;font-size:13px!important;line-height:1.35!important}
  .calendar .event .chip-title{white-space:normal;overflow:visible}
}

/* item meu que também é data oficial: o rótulo continua verde */
.event.chip-mine.chip-official .kind-tag{background:#2f9e5b;color:#fff;padding:2px 4px;border-radius:3px;opacity:1}

/* vencido: mesma ideia do vermelho do Hoje (passou da data e não foi concluído) */
.calendar .event.chip-late,.agenda-pop .event.chip-late{--c-bar:#c0392b}
.event.chip-late .kind-tag{color:#b32d2d;opacity:1}
.agenda-overdue{display:flex;align-items:center;gap:12px;margin:0 0 10px;padding:8px 12px;background:#fdecea;border:1px solid #f2c4bf;border-radius:10px;color:#8a1c1c;font-size:13px}
.agenda-overdue .btn{margin-left:auto}

/* datas de profissões dos clientes (só gestão): âmbar, diferente do verde oficial, do cinza das tarefas e do vermelho do feriado */
.calendar .event.chip-commem,.agenda-pop .event.chip-commem,.agenda-list .event.chip-commem{--c-bg:#fbf1d0;--c-bar:#c99a06;--c-ink:#5c4300}
.agenda-key .k-commem{background:#fbf1d0;border-color:#c99a06}
.commem-card .commem-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.commem-card .commem-list li{display:flex;align-items:center;gap:12px;padding:8px 10px;border:1px solid #efe3b8;background:#fffbea;border-radius:10px}
.commem-card .commem-list li>div{flex:1;min-width:0}
.commem-card .commem-list small{display:block;color:#6a5a2a;overflow-wrap:anywhere}
.commem-clients{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:6px}
.commem-clients li{display:flex;align-items:center;gap:10px;justify-content:space-between;padding:6px 10px;background:#f6f8f9;border-radius:8px}
.commem-add{display:flex;gap:8px;margin-bottom:10px}.commem-add select{flex:1}
.commem-note{margin-top:8px;font-size:12.5px;color:#4a5f6c}
.commem-rules td,.commem-rules th{white-space:normal;vertical-align:top}
.commem-rules input[data-keywords]{width:100%;min-width:180px}

/* ---- topo compacto: mais espaço para o calendário */
#content:has(>.agenda-top){padding-top:14px}
.agenda-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;margin:0 0 8px}
.agenda-top-left,.agenda-top-right{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.agenda-top .month-label{font-size:16px;margin:0 6px}
.agenda-top .btn{padding:5px 11px;min-height:30px;font-size:12px;border-radius:8px}
.agenda-bar{padding:6px 10px;gap:4px 14px;margin:0 0 8px;border-radius:10px}
.agenda-bar .owner-note{display:none}
.agenda-chip,.agenda-mine{min-height:26px;padding:2px 10px;font-size:12px}
.agenda-options{gap:6px 12px}
.agenda-options .btn{padding:3px 10px;min-height:26px;font-size:12px}
.agenda-general{font-size:11.5px}
.agenda-views button{padding:3px 10px;font-size:12px}
.agenda-key{font-size:11px;gap:2px 12px}
.agenda-key i{width:12px;height:8px;margin-right:4px}
.agenda-swatch{width:15px;height:15px}
#agenda-color{width:22px;height:18px}
@media(min-width:721px){.calendar>b{padding:2px;font-size:11px}.calendar{gap:6px}}
/* itens que são botões (certificados) ficam como os demais */
.calendar button.event{text-align:left;width:100%;font-family:inherit}
/* janela Datas de profissões e seletor de profissão no cadastro do cliente */
.commem-tools{display:flex;gap:12px;align-items:center;margin:0 0 8px}.commem-tools input[type=search]{flex:1;max-width:320px}
.commem-chips{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}
.commem-chip{display:inline-flex;align-items:center;gap:4px;background:#fbf1d0;border:1px solid #e8d48a;color:#5c4300;border-radius:999px;padding:1px 4px 1px 9px;font-size:12px}
.commem-chip button{border:0;background:none;color:inherit;font-size:15px;line-height:1;padding:0 4px;cursor:pointer}
.commem-rules .commem-add{display:flex;gap:6px}.commem-rules .commem-add select{flex:1;min-width:140px}
#prof-picker .prof-list{max-height:150px;overflow:auto;border:1px solid #dce4e3;border-radius:8px;padding:6px 8px;display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:2px 10px;margin-top:6px}
#prof-picker .prof-list label{display:flex;align-items:center;gap:6px;font-weight:400;font-size:13px}
#prof-picker .prof-list label[hidden]{display:none}
#prof-picker .prof-list input{width:auto}
#prof-picker em{font-style:normal;font-size:10px;color:#8a6a00;background:#fbf1d0;border-radius:6px;padding:0 5px}
#prof-picker .prof-hint{display:block;margin-top:4px;color:#4a5f6c}
/* Emitir CD */
.issue-paid{display:flex;gap:18px;flex-wrap:wrap}.issue-paid label{display:flex;align-items:center;gap:6px;font-weight:600}.issue-paid input{width:auto}
