.flush { margin-top: 0; }
.card { margin-bottom: 20px; }
.fgrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 10px; margin-bottom: 12px; }
.fgrid .wide { grid-column: 1 / -1; }
.fgrid .fbtn { align-self: end; }
.err-msg { color: var(--warn); font-weight: 600; margin: 8px 0; }
.warn-box { background: var(--chip); border: 1px solid var(--warn); color: var(--warn); padding: 10px 12px; border-radius: 8px; }
.list { list-style: none; padding: 0; margin: 12px 0 0; }
.list li { background: var(--surface); border: 1px solid var(--line); border-radius: 10px; padding: 12px; margin-bottom: 8px; display: grid; grid-template-columns: 1fr auto; gap: 6px 10px; }
.list .title { font-weight: 600; overflow-wrap: anywhere; }
.list .meta { grid-column: 1 / -1; font-size: 13px; color: var(--muted); overflow-wrap: anywhere; }
.list .acts { display: flex; gap: 6px; flex-wrap: wrap; }
.sw { display: inline-block; width: 14px; height: 14px; border-radius: 4px; vertical-align: -2px; margin-inline-end: 6px; border: 1px solid var(--ink); }
.chart { overflow: hidden; padding: 8px; }
.chart svg { display: block; width: 100%; height: auto; }
.c1 { --c: #0b6e4f; } .c2 { --c: #1f5fa8; } .c3 { --c: #7a3ea1; }
.c4 { --c: #b45309; } .c5 { --c: #b3261e; } .c6 { --c: #5b5b5b; }
@media (prefers-color-scheme: dark) {
  .c1 { --c: #4fc79a; } .c2 { --c: #7fb2f0; } .c3 { --c: #c79bea; }
  .c4 { --c: #f0a35c; } .c5 { --c: #f08a82; } .c6 { --c: #b5b5b5; }
}
.sw { background: var(--c); }
.bar { stroke: var(--c); stroke-width: 2; fill: var(--c); }
.bar.st-planned { fill: none; stroke-dasharray: 5 3; }
.bar.st-doing { fill-opacity: .85; }
.bar.st-done { fill-opacity: 1; }
.bar-text { fill: var(--ink); font: 12px var(--font); }
.bar-text.on-fill { fill: var(--accent-ink); }
.check { fill: none; stroke: var(--accent-ink); stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
.grid-line { stroke: var(--line); stroke-width: 1; }
.band { fill: var(--chip); opacity: .6; }
.hdr-text { fill: var(--ink); font: 600 12px var(--font); }
.lane-text { fill: var(--ink); font: 700 13px var(--font); }
@media print {
  header.top, section.card, section[aria-labelledby="data-h"], .lead, #save-warn, #chart-h + p + .row, p.honest { display: none !important; }
  .chart { border: 0; }
}
