/* V0 Todo surface palette + branding (dérivée de me/health/v0-palette.css).
   Couleurs partagées + local layout pour Todo-specific. */

:root {
  --surface-color-bg:        #fcfcfd;
  --surface-color-bg-card:   #ffffff;
  --surface-color-text:      #1f2937;
  --surface-color-muted:     #6b7280;
  --surface-color-rule:      #e5e7eb;
  --surface-color-link:       #1e3a8a;
  --surface-color-link-hover: #1e40af;
  --surface-color-focus:      #3b82f6;
  --surface-color-code-bg:    rgba(30, 58, 138, 0.06);

  /* Priority colors — matches Health palette severity */
  --todo-color-priority-P0:  #dc2626;  /* rouge urgent */
  --todo-color-priority-P1:  #d97706;  /* orange chaud */
  --todo-color-priority-P2:  #2563eb;  /* bleu */
  --todo-color-priority-P3:  #6b7280;  /* gris muted */

  --todo-color-status-open:    #1e3a8a;
  --todo-color-status-done:    #059669;
  --todo-color-status-dropped: #6b7280;
  --todo-color-status-blocked: #d97706;
}

.health-page-title {
  margin-block-start: var(--ds-space-6);
  margin-block-end: var(--ds-space-2);
}

.health-meta {
  color: var(--surface-color-muted);
  font-size: var(--ds-font-size-sm);
  margin-block-end: var(--ds-space-6);
}

.health-auth-status {
  margin-inline-start: auto;
  font-size: var(--ds-font-size-sm);
  color: var(--surface-color-muted);
  display: flex;
  align-items: center;
  gap: var(--ds-space-2);
}
.health-auth-status[data-state="authed"] { color: var(--todo-color-status-done); }
.health-auth-status[data-state="error"]  { color: var(--todo-color-priority-P0); }
.health-auth-status__btn {
  background: none;
  border: none;
  color: var(--surface-color-link);
  cursor: pointer;
  font-size: inherit;
  text-decoration: underline;
}

.health-auth-gate {
  max-width: 32rem;
  margin: var(--ds-space-7) auto;
}
.health-gsi-button-wrap {
  margin-block-start: var(--ds-space-5);
  display: flex;
  justify-content: center;
}
.health-auth-error {
  color: var(--todo-color-priority-P0);
  font-size: var(--ds-font-size-sm);
  margin-block-start: var(--ds-space-3);
}

.todo-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--ds-space-4);
  flex-wrap: wrap;
  margin-block-start: var(--ds-space-6);
}

.todo-priority-section {
  margin-block-end: var(--ds-space-5);
}

.todo-priority-section__title {
  font-size: var(--ds-font-size-md);
  font-weight: var(--ds-font-weight-semibold);
  margin-block: var(--ds-space-3) var(--ds-space-2);
  display: flex;
  align-items: baseline;
  gap: var(--ds-space-2);
}

.todo-priority-section__title-badge {
  display: inline-block;
  padding-inline: var(--ds-space-2);
  padding-block: 0;
  font-size: var(--ds-font-size-xs);
  font-weight: var(--ds-font-weight-bold);
  border-radius: 0.25rem;
  color: white;
}
.todo-priority-section__title-badge--P0 { background: var(--todo-color-priority-P0); }
.todo-priority-section__title-badge--P1 { background: var(--todo-color-priority-P1); }
.todo-priority-section__title-badge--P2 { background: var(--todo-color-priority-P2); }
.todo-priority-section__title-badge--P3 { background: var(--todo-color-priority-P3); }

.todo-priority-section__count {
  font-size: var(--ds-font-size-sm);
  color: var(--surface-color-muted);
  font-weight: var(--ds-font-weight-normal);
}

.todo-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.todo-item {
  display: grid;
  grid-template-columns: auto 3.5rem 1fr;
  gap: var(--ds-space-3);
  align-items: baseline;
  padding-block: var(--ds-space-2);
  border-bottom: 1px solid var(--surface-color-rule);
}
.todo-item:last-child { border-bottom: none; }

.todo-item__check {
  font-size: var(--ds-font-size-md);
  color: var(--surface-color-muted);
}

.todo-item__id {
  font-family: var(--ds-font-family-mono, monospace);
  font-size: var(--ds-font-size-xs);
  color: var(--surface-color-muted);
}

.todo-item__body {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.todo-item__text {
  color: var(--surface-color-text);
}

.todo-item__meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ds-space-2);
  font-size: var(--ds-font-size-xs);
  color: var(--surface-color-muted);
}

.todo-item__context {
  font-style: italic;
}

.todo-item__tag {
  background: var(--surface-color-code-bg);
  border-radius: 0.25rem;
  padding-inline: 0.4em;
}

.todo-item__due {
  color: var(--todo-color-priority-P1);
  font-weight: var(--ds-font-weight-medium);
}

.todo-item--done .todo-item__text,
.todo-item--dropped .todo-item__text {
  color: var(--surface-color-muted);
  text-decoration: line-through;
}

.todo-closed-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.todo-closed-item {
  padding-block: var(--ds-space-2);
  border-bottom: 1px solid var(--surface-color-rule);
  font-size: var(--ds-font-size-sm);
  display: flex;
  align-items: baseline;
  gap: var(--ds-space-2);
}
.todo-closed-item:last-child { border-bottom: none; }

.todo-closed-item__marker {
  font-family: var(--ds-font-family-mono, monospace);
  font-size: var(--ds-font-size-xs);
}
.todo-closed-item__marker--done    { color: var(--todo-color-status-done); }
.todo-closed-item__marker--dropped { color: var(--todo-color-status-dropped); }

.todo-closed-item__date {
  font-family: var(--ds-font-family-mono, monospace);
  font-size: var(--ds-font-size-xs);
  color: var(--surface-color-muted);
}

.todo-session-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.todo-session-item {
  display: flex;
  justify-content: space-between;
  padding-block: var(--ds-space-2);
  border-bottom: 1px solid var(--surface-color-rule);
  font-size: var(--ds-font-size-sm);
}
.todo-session-item:last-child { border-bottom: none; }

.todo-session-item__date {
  font-family: var(--ds-font-family-mono, monospace);
  color: var(--surface-color-text);
}

.todo-session-item__decisions {
  color: var(--surface-color-muted);
  font-size: var(--ds-font-size-xs);
}

.ds-navbar__link[data-disabled] {
  opacity: 0.5;
  pointer-events: none;
}
