/* PLANNER-321: /objetivos (fila macro de objetivos) and the objective page's
   "tasks vinculadas" section. The focus row is the only loud element. */

.objetivos-header { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; }

.obj-recorrentes { list-style: none; display: flex; flex-wrap: wrap; gap: 0.4rem; margin: 0 0 1rem; padding: 0.4rem 0.6rem; border-left: 2px solid var(--line); font-size: 0.8rem; }
.obj-recorrentes a { color: var(--dim); }

.obj-fila { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.4rem; }
.obj-row { display: flex; align-items: center; gap: 0.5rem; border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 0.5rem 0.7rem; }
.obj-row details { flex: 1; min-width: 0; }
.obj-row summary { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.2rem 0.7rem; cursor: pointer; }
.obj-title a { color: var(--txt); font-weight: 600; }
.obj-proj, .obj-count, .obj-note { font-size: 0.78rem; color: var(--dim); }
.obj-hint { font-size: 0.85rem; color: var(--dim); margin: 0 0 1rem; }
.obj-chip { font-size: 0.72rem; color: var(--dim); border: 1px solid var(--line); border-radius: var(--radius-pill); padding: 0 0.5rem; white-space: nowrap; }
.obj-move { display: flex; gap: 0.2rem; flex-shrink: 0; }
.obj-move form { margin: 0; }

.obj-foco { border-color: var(--accent); border-width: 2px; }
.obj-foco .obj-title a { color: var(--accent); }
.obj-badge { font-size: 0.72rem; background: var(--accent); color: var(--accent-ink); border-radius: var(--radius-pill); padding: 0 0.5rem; }
.obj-esperando { opacity: 0.6; }

.obj-tasks { list-style: none; margin: 0.5rem 0 0; padding: 0; font-size: 0.85rem; }
.obj-tasks li { padding: 0.15rem 0; }
.obj-code { font-family: var(--mono, monospace); color: var(--dim); }
.obj-empty { font-size: 0.8rem; color: var(--dim); margin: 0.5rem 0 0; }

.objective-links { margin-top: 1.5rem; }
.objective-link-form { display: flex; gap: 0.5rem; margin-bottom: 0.7rem; }
.objective-link-list { list-style: none; margin: 0; padding: 0; }
.objective-link-row { display: flex; flex-wrap: wrap; align-items: center; gap: 0.2rem 0.7rem; padding: 0.2rem 0; }
.objective-link-row form { margin: 0 0 0 auto; }

/* PLANNER-322: progresso de valor. Queda não é erro: nada em vermelho/verde. */
.obj-prog { font-size: 0.78rem; color: var(--dim); }
.prog-bar { height: 6px; background: var(--line); border-radius: var(--radius-pill); overflow: hidden; margin: 0.3rem 0; }
.prog-bar span { display: block; height: 100%; background: var(--dim); }
.prog-bar-thin { height: 3px; margin: 0.4rem 0 0; }
.objective-progress { margin-top: 1.5rem; }
.prog-line { margin: 0 0 0.3rem; }
.prog-atual { font-weight: 600; }
.prog-pct, .prog-delta, .prog-data { font-size: 0.8rem; color: var(--dim); }
.prog-form input[type=date] { max-width: 11rem; }
.prog-serie { list-style: none; margin: 0; padding: 0; }
.prog-row { display: flex; flex-wrap: wrap; align-items: center; gap: 0.2rem 0.7rem; padding: 0.2rem 0; }
.prog-row form { margin: 0 0 0 auto; }
.obj-row summary .prog-bar-thin { flex-basis: 100%; display: block; }
