/* ------------------------------------------- shared card header ----------
   Finished, Decisions, the Commitments view, the quiet-people card and the
   Data panel all mark their card header up with .dash-head — a class that was
   used from day one but never given a rule. So the heading fell back to the
   browser's default h2 (24px with ~20px margins) and the count dropped onto
   its OWN line at the card's left edge — the "stray number". One definition,
   used by every view, so they read the same and the count sits where it
   belongs: right of the heading, on the same line.
   NB .dash-body already has a rule in app.css (0 12px 10px) and is shared with
   the base hub cards, so it is deliberately left alone; the 12px side padding
   here lines the heading up with the body content below it. */
.dash-head{
  display:flex;align-items:baseline;justify-content:space-between;
  gap:14px;padding:14px 12px 10px;
}
.dash-head h2{
  margin:0;font-size:15px;font-weight:730;letter-spacing:-.2px;
  line-height:1.3;color:var(--ink,#1B2A44);
}
.dash-head .tiny.muted{flex:none;font-variant-numeric:tabular-nums}

/* --------------------------------------------- who has gone quiet --------
   The most useful sentence a tool like this can produce, so it gets a card of
   its own at the top of People rather than a badge somewhere. */
.v10-quiet-people{margin-bottom:16px}
.v10-quiet-row{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:11px}
.v10-quiet-row .main{flex:1;min-width:0}
.v10-quiet-row strong{display:block;font-size:14px;font-weight:600}
.v10-quiet-row small{display:block;font-size:11.5px;color:var(--muted,#93A0B6);margin-top:2px}
.v10-quiet-days{
  font-size:11.5px;font-weight:650;white-space:nowrap;padding:3px 10px;border-radius:999px;
  background:color-mix(in srgb,#F0A52B 16%,var(--surface,#fff));color:#8A6212;
}
.v10-quiet-days.cold{background:color-mix(in srgb,#C2567F 13%,var(--surface,#fff));color:#A8446A}

/* a person you have not spoken to fades on the map as well */
.graph-node.person-node{--v10-stale:0;transition:filter .5s ease,opacity .5s ease}
.graph-node.person-node.v10-stale{
  filter:saturate(calc(1 - var(--v10-stale) * .62));
  opacity:calc(1 - var(--v10-stale) * .34);
}

/* ------------------------------------------------------------- decisions */
.v10-dec-year{margin-bottom:14px}
.v10-dec{display:flex;gap:16px;padding:14px 0;border-top:1px solid var(--line-2,rgba(24,40,90,.06))}
.v10-dec:first-child{border-top:0}
.v10-dec-when{
  flex:0 0 96px;font-size:11.5px;font-weight:650;letter-spacing:.02em;
  color:var(--muted,#93A0B6);padding-top:2px;
}
.v10-dec-body{flex:1;min-width:0;border-left:2px solid color-mix(in srgb,var(--dc) 45%,transparent);padding-left:16px}
.v10-dec-body strong{display:block;font-size:15px;font-weight:560;line-height:1.45}
.v10-dec-body p{margin:6px 0 0;font-size:13px;line-height:1.55;color:var(--muted,#66748F)}
.v10-dec-meta{display:flex;align-items:center;gap:14px;margin-top:8px;flex-wrap:wrap;font-size:11.5px;color:var(--muted,#93A0B6)}
.v10-dec-meta .btn.link{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;padding:0}
.v10-dec-meta i{width:7px;height:7px;border-radius:50%}
@media(max-width:620px){
  .v10-dec{flex-direction:column;gap:6px}
  .v10-dec-when{flex:none}
  .v10-dec-body{border-left:0;padding-left:0;border-top:2px solid color-mix(in srgb,var(--dc) 45%,transparent);padding-top:10px}
}

/* -------------------------------------------------------------- finished */
.v10-arc-summary{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.v10-arc-summary > div{
  flex:0 0 auto;min-width:150px;padding:13px 17px;border-radius:14px;
  background:var(--surface,#fff);border:1px solid var(--line,#DCE5EB);
}
.v10-arc-summary b{display:block;font-size:26px;font-weight:720;letter-spacing:-.04em;line-height:1;color:#2FA96B}
.v10-arc-summary span{display:block;font-size:11.5px;color:var(--muted,#93A0B6);margin-top:4px}
.v10-arc-month{margin-bottom:14px}
.v10-arc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.v10-arc-item{
  display:flex;gap:12px;padding:14px;border-radius:14px;cursor:pointer;
  border:1px solid var(--line,#DCE5EB);background:var(--surface,#fff);
  transition:border-color .18s,transform .18s,box-shadow .18s;
}
.v10-arc-item:hover{border-color:color-mix(in srgb,var(--dc) 55%,transparent);transform:translateY(-1px);
  box-shadow:0 4px 14px -8px color-mix(in srgb,var(--dc) 60%,transparent)}
.v10-arc-dot{
  width:26px;height:26px;border-radius:50%;flex:0 0 auto;margin-top:1px;position:relative;
  border:2px solid color-mix(in srgb,var(--dc) 60%,#fff);
  background:color-mix(in srgb,var(--dc) 12%,#fff);
}
/* the tick that says it is done, drawn rather than shipped as an icon */
.v10-arc-dot::after{
  content:'';position:absolute;left:8px;top:5px;width:5px;height:10px;
  border:solid color-mix(in srgb,var(--dc) 80%,#243B4E);border-width:0 2px 2px 0;
  transform:rotate(43deg);
}
.v10-arc-item strong{display:block;font-size:14px;font-weight:600;line-height:1.35}
.v10-arc-item small{display:block;font-size:12px;color:var(--muted,#93A0B6);margin-top:3px;line-height:1.45}
.v10-arc-tags{display:flex;gap:10px;margin-top:8px;flex-wrap:wrap}
.v10-arc-tags span{font-size:10.5px;color:var(--muted,#93A0B6)}
