/* Quadro Kanban e checklist */
.board { display: flex; gap: var(--sp-3); overflow-x: auto; padding-bottom: var(--sp-3); align-items: flex-start; }
.kcol { flex: 1 0 250px; max-width: 320px; background: var(--bg-elev); border: 1px solid var(--border);
  border-radius: var(--radius); }
.kcol.over { border-color: var(--accent); background: var(--accent-soft); }
.khead { display: flex; justify-content: space-between; align-items: center; padding: var(--sp-3) var(--sp-4);
  font-weight: 600; border-bottom: 1px solid var(--border); }
.kbody { padding: var(--sp-2); min-height: 80px; display: flex; flex-direction: column; gap: var(--sp-2); }
.kcard { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-sm);
  padding: var(--sp-3); cursor: grab; }
.kcard:hover { border-color: var(--accent); }
.kcard.dragging { opacity: .4; }
.kname { font-weight: 600; color: var(--text); }
.kmeta { gap: var(--sp-2); margin-top: var(--sp-1); }
.kdate { margin-left: auto; font-size: var(--fs-xs); }

.task { padding: var(--sp-2) 0; border-bottom: 1px solid var(--border); }
.task:last-of-type { border-bottom: none; }
.task.done .ttitle { text-decoration: line-through; color: var(--text-dim); }
.tick { background: none; border: none; color: var(--text); font-size: var(--fs-lg); cursor: pointer; padding: 0 var(--sp-1); }
.tick:hover { color: var(--accent); }
h3.late { color: var(--danger); }

/* Calendario da agenda */
.cal { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 1px; background: var(--border);
  border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; }
.cal-h { background: var(--bg-elev); padding: var(--sp-2); text-align: center; color: var(--text-dim);
  font-size: var(--fs-xs); text-transform: uppercase; }
.cal-d { background: var(--surface); min-height: 104px; padding: var(--sp-1) var(--sp-2); min-width: 0; }
.cal-d.out { background: var(--bg-elev); opacity: .55; }
.cal-d.today { outline: 2px solid var(--accent); outline-offset: -2px; }
.cal-n { font-size: var(--fs-xs); color: var(--text-dim); margin-bottom: 2px; }
.cal-i { display: block; font-size: 11px; padding: 1px 5px; margin-top: 2px; border-radius: 4px;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cal-i.meet { background: var(--accent-soft); color: var(--accent); }
.cal-i.task { background: var(--bg-elev); color: var(--text); }
.cal-i.task.late { color: var(--danger); }
.cal-more { font-size: 11px; color: var(--text-dim); margin-top: 2px; }
.mt-3 { margin-top: var(--sp-3); }
@media (max-width: 600px) { .cal-d { min-height: 70px; padding: 2px; } .cal-i { font-size: 10px; padding: 1px 2px; } }
