.organizer-tabs{display:inline-flex;gap:4px;padding:4px;margin:0 0 12px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}
.organizer-tab{min-height:40px;padding:8px 18px;border:0;border-radius:10px;background:transparent;color:var(--muted);font:inherit;font-weight:800;cursor:pointer}
.organizer-tab:hover{background:var(--surface-2);color:var(--text)}
.organizer-tab.active{background:var(--primary);color:#fff;box-shadow:0 5px 16px color-mix(in srgb,var(--primary) 28%,transparent)}
.tasks-board{display:grid;gap:18px;padding:0 0 30px}.tasks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:14px;align-items:start}

/* A lista rola dentro do próprio painel e não aumenta indefinidamente a página. */
#taskOrganizerPanel{height:clamp(420px,calc(100dvh - 350px),760px);min-height:0;overflow:hidden;border:1px solid var(--border);border-radius:14px;background:color-mix(in srgb,var(--surface) 88%,transparent)}
#taskOrganizerPanel .tasks-board{height:100%;max-height:100%;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:14px 12px 20px}
#taskOrganizerPanel .tasks-board::-webkit-scrollbar{width:10px}
#taskOrganizerPanel .tasks-board::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:99px;background:color-mix(in srgb,var(--muted) 48%,transparent);background-clip:padding-box}
#taskOrganizerPanel .tasks-board::-webkit-scrollbar-track{background:transparent}
#taskOrganizerPanel.is-empty{height:auto;overflow:visible;border:0;background:transparent}
#taskOrganizerPanel.is-empty .tasks-board{height:auto;max-height:none;overflow:visible;padding:0}

/* Os cartões de tarefas reutilizam a mesma estrutura visual dos lembretes. */
#page-lembretes .task-card{--reminder-accent:var(--primary);min-height:0;cursor:pointer;outline:none}
#page-lembretes .task-card.is-urgent,#page-lembretes .task-card.is-overdue{--reminder-accent:var(--danger)}
#page-lembretes .task-card.is-completed{--reminder-accent:var(--success);opacity:.82}
#page-lembretes .task-card.is-progress{--reminder-accent:var(--info)}
.task-status-chip,.task-category-chip{display:inline-flex;align-items:center;gap:6px;min-width:0;border:1px solid var(--border);border-radius:999px;padding:5px 9px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.045em;white-space:nowrap}
.task-status-A_FAZER{background:var(--surface-2);color:var(--muted)}.task-status-EM_ANDAMENTO{background:color-mix(in srgb,var(--info) 14%,var(--surface));color:var(--info)}.task-status-CONCLUIDA{background:color-mix(in srgb,var(--success) 14%,var(--surface));color:var(--success)}
.task-category-chip{max-width:100%}.task-overdue-text{color:var(--danger)!important}
#page-lembretes .task-card .reminder-card-due{grid-template-columns:minmax(0,1fr) max-content}
#page-lembretes .task-card .task-category-chip{min-width:max-content;max-width:none;justify-self:end;overflow:visible;text-overflow:clip}
.task-card-progress{display:grid;gap:7px;padding:9px 10px;border-radius:10px;background:var(--surface-2)}
.task-progress-head{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--muted);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.task-progress-head strong{color:var(--text);font-size:12px;letter-spacing:0}
.task-progress-track{height:7px;overflow:hidden;border-radius:99px;background:color-mix(in srgb,var(--border) 72%,var(--surface))}.task-progress-track span{display:block;height:100%;border-radius:inherit;background:var(--primary);transition:width .2s ease}.task-card.is-completed .task-progress-track span{background:var(--success)}
.task-progress-caption{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:10px}
#page-lembretes .task-card-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:10px 16px 12px}#page-lembretes .task-card-actions .btn{width:100%;min-width:0}
#page-lembretes .task-card-actions.task-card-actions-three{grid-template-columns:repeat(3,minmax(0,1fr))}
#page-lembretes .task-card-actions .btn-disabled-explained::after{left:0;right:auto;transform:translateY(5px);max-width:min(260px,calc(100vw - 40px));white-space:normal}
#page-lembretes .task-card-actions .btn-disabled-explained:hover::after,#page-lembretes .task-card-actions .btn-disabled-explained:focus-visible::after{transform:translateY(0)}
.task-empty{min-height:0;padding:42px 20px}.task-detail-view{display:grid;gap:14px;min-width:0;max-width:100%;overflow:hidden}.task-detail-head{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.task-detail-view h2{min-width:0;margin:0;font-size:24px;line-height:1.25;overflow-wrap:anywhere;word-break:break-word}.task-detail-updated{display:flex;align-items:baseline;justify-content:space-between;gap:10px;min-width:0;padding:0 2px;color:var(--muted)}.task-detail-updated span{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.045em}.task-detail-updated strong{min-width:0;color:var(--text);font-size:12px;text-align:right;overflow-wrap:anywhere}.task-detail-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;min-width:0;max-width:100%}.task-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0;max-width:100%}.task-detail-field{min-width:0;max-width:100%;overflow:hidden;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2)}.task-detail-field.wide{grid-column:1/-1}.task-detail-field>span{display:block;margin-bottom:7px;color:var(--muted);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.045em}.task-detail-field strong{display:block;min-width:0;overflow-wrap:anywhere;word-break:break-word}.task-detail-description{display:block;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-weight:500;line-height:1.45}.task-detail-field .task-card-progress{min-width:0;max-width:100%;padding:0;background:transparent}.organizer-reminder-config{display:grid;gap:14px}.organizer-reminder-config .checkbox-row{margin:0}
.task-checklist{display:grid;gap:7px;min-width:0;max-width:100%}.task-checklist-item{display:flex;align-items:flex-start;gap:9px;min-width:0;max-width:100%;overflow:hidden;padding:9px;border:1px solid var(--border);border-radius:9px;background:var(--surface);cursor:pointer}.task-checklist-item>span{min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word}.task-checklist-item input,.task-step-checkbox input{flex:0 0 auto;width:18px;height:18px;margin:1px 0 0;accent-color:var(--primary);cursor:pointer}.task-checklist-item.is-done span{text-decoration:line-through;color:var(--muted)}
.task-checklist-detail-scroll{max-height:min(310px,38dvh);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:8px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--surface-2) 72%,var(--surface))}
.task-checklist-detail-scroll::-webkit-scrollbar{width:9px}.task-checklist-detail-scroll::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:99px;background:color-mix(in srgb,var(--muted) 52%,transparent);background-clip:padding-box}.task-checklist-detail-scroll::-webkit-scrollbar-track{background:transparent}

/* Editor visual de etapas no cadastro/edição. */
.task-checklist-editor{display:grid;gap:8px;max-height:min(310px,38dvh);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:8px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--surface-2) 72%,var(--surface))}
.task-checklist-editor::-webkit-scrollbar{width:9px}.task-checklist-editor::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:99px;background:color-mix(in srgb,var(--muted) 52%,transparent);background-clip:padding-box}.task-checklist-editor::-webkit-scrollbar-track{background:transparent}
.task-checklist-edit-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px 9px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}
.task-checklist-edit-row:focus-within{border-color:color-mix(in srgb,var(--primary) 58%,var(--border));box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent)}
.task-step-checkbox{display:grid;place-items:center}.task-step-input{width:100%;min-height:34px!important;padding:5px 7px!important;border:0!important;background:transparent!important;box-shadow:none!important}.task-step-input.is-done{text-decoration:line-through;color:var(--muted)}
.task-step-remove{display:grid;place-items:center;width:30px;height:30px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--muted);font-weight:900;cursor:pointer}.task-step-remove:hover{background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger)}
.task-checklist-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:9px}.task-checklist-help{margin:0;color:var(--muted);font-size:12px}
.task-form-progress{display:grid;gap:8px;margin-top:12px;padding:12px;border:1px solid var(--border);border-radius:11px;background:color-mix(in srgb,var(--primary) 4%,var(--surface))}.task-form-progress .task-progress-track{height:9px}.task-form-progress small{color:var(--muted)}
@media (min-width: 651px) and (max-width:720px){.organizer-tabs{display:flex}.organizer-tab{flex:1;padding-inline:8px}.tasks-grid{grid-template-columns:1fr}.task-detail-summary,.task-detail-grid{grid-template-columns:1fr}.task-detail-field.wide{grid-column:auto}.task-detail-updated{align-items:flex-start;flex-direction:column;gap:3px}.task-detail-updated strong{text-align:left}.task-checklist-controls{align-items:flex-start;flex-direction:column}#page-lembretes .task-card-actions{grid-template-columns:1fr 1fr}#page-lembretes .task-card-actions.task-card-actions-three{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Cards do organizador: título em destaque, observações em três linhas. */
#page-lembretes .reminders-grid,
#page-lembretes .tasks-grid {
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 310px), 1fr));
  grid-auto-rows: 1fr;
  align-items: stretch;
}
#page-lembretes .reminder-card { height: 100%; }
#page-lembretes .reminder-card-body { min-width: 0; }
#page-lembretes .reminder-card-heading { min-width: 0; }
#page-lembretes .reminder-card-name {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  line-height: 1.4;
  height: 2.8em;
  margin: 0 0 7px;
  padding-right: 18px;
  font-size: 16px;
  font-weight: 700;
  color: var(--text);
  text-transform: none;
  letter-spacing: normal;
  overflow: hidden;
  overflow-wrap: anywhere;
}
#page-lembretes .reminder-card-summary {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  margin: 0;
  font-size: 14px;
  font-weight: 400;
  color: var(--text);
  line-height: 1.45;
  height: 4.35em;
  min-height: 4.35em;
  white-space: normal;
  text-align: justify;
  text-align-last: left;
  text-justify: inter-word;
  word-break: normal;
  overflow: hidden;
  overflow-wrap: anywhere;
}
#page-lembretes .reminder-card.is-completed .reminder-card-name { text-decoration: line-through; }
#page-lembretes .reminder-card-meta { margin-top: auto; overflow-wrap: anywhere; }
#page-lembretes .reminder-card-head { flex-wrap: wrap; }
#page-lembretes .reminder-card-actions { margin-top: auto; flex-shrink: 0; }
#page-lembretes .reminder-card-actions .btn {
  height: auto;
  white-space: normal;
  overflow-wrap: anywhere;
  padding-inline: 6px;
}
#page-lembretes .task-card .reminder-card-due { grid-template-columns: minmax(0, 1fr); }
#page-lembretes .task-card .task-category-chip {
  min-width: 0;
  max-width: 100%;
  justify-self: start;
  white-space: normal;
  overflow-wrap: anywhere;
}
.task-detail-description { white-space: pre-wrap; overflow-wrap: anywhere; }

/* Avisos pessoais: espaço para os textos completos do seletor. */
.modal:has(#reminderNotify) { width:min(760px,100%); }
@media (max-width:780px) {
  .modal:has(#reminderNotify) .form-grid > .span-3 { grid-column:span 6; }
}


/* Impressão de lembretes conserva textos completos, inclusive observações. */
@media print {
  #protocolPrintSheet[data-reminder-id] .protocol-print-field strong { white-space:pre-wrap; overflow-wrap:anywhere; }
  #protocolPrintSheet[data-reminder-id] .protocol-print-field.wide { break-inside:auto; }
}

.reminder-sharing { display:grid; gap:14px; }
.reminder-sharing p { margin:0; }
.reminder-share-list { display:grid; gap:8px; max-height:320px; overflow:auto; }
.reminder-share-person { display:flex; align-items:center; gap:12px; padding:12px; border:1px solid var(--border); border-radius:12px; cursor:pointer; }
.reminder-share-person input { width:18px; height:18px; flex:none; accent-color:var(--primary); }
.reminder-share-person span { display:grid; gap:3px; min-width:0; overflow-wrap:anywhere; }
.reminder-share-person small,.reminder-share-label { color:var(--muted); }



/* Cabeçalho e ações permanecem visíveis; somente o conteúdo rola. */
.modal.modal-reminder-fixed { display:flex; flex-direction:column; max-height:90vh; max-height:90dvh; overflow:hidden; }
.modal.modal-reminder-fixed > .modal-head,.modal.modal-reminder-fixed > .modal-foot { flex:0 0 auto; position:relative; }
.modal.modal-reminder-fixed > .modal-body { flex:1 1 auto; min-height:0; overflow-y:auto; overscroll-behavior:contain; }
.modal.modal-reminder-fixed > .modal-foot { display:grid; grid-template-columns:repeat(auto-fit,minmax(125px,1fr)); gap:8px; }
.modal.modal-reminder-fixed > .modal-foot .btn { width:100%; min-width:0; white-space:normal; }
.reminder-participant-status { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:6px 16px; padding:10px 0; border-bottom:1px solid var(--border); }
.reminder-participant-status:last-child { border-bottom:0; }
.reminder-detail-field .reminder-participant-status span { margin:0; font-size:12px; text-transform:none; letter-spacing:normal; color:var(--text); overflow-wrap:anywhere; }
.reminder-detail-field .reminder-participant-status strong { font-size:12px; overflow-wrap:anywhere; }
.reminder-recipient-chips { display:flex; flex-wrap:wrap; gap:8px; margin:10px 0; }
.reminder-recipient-chip { display:flex; align-items:center; gap:8px; min-width:0; max-width:100%; padding:5px 8px 5px 12px; border:1px solid var(--border); border-radius:12px; background:var(--surface-2); }
.reminder-recipient-chip > span { overflow-wrap:anywhere; min-width:0; }
.reminder-recipient-chip .close-btn { flex:none; width:28px; height:28px; }
