/* 06-components/_card.css — .c-card: the edge card. A 4 px band on the left, square-cut,
   coloured by data-band. Modifiers say what the card carries. */
.c-card { position: relative; display: block; padding: var(--pad-card); padding-inline-start: calc(var(--pad-card) + var(--stroke-edge)); background: var(--surface); border: var(--stroke) solid var(--rule); border-radius: var(--radius-md); color: inherit; text-decoration: none; box-shadow: var(--shadow-card); transition: border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out); }
.c-card::before { content: ""; position: absolute; inset-block: -1px; inset-inline-start: -1px; width: var(--stroke-edge); background: var(--band-dot, var(--rule-strong)); border-start-start-radius: var(--radius-md); border-end-start-radius: var(--radius-md); }
a.c-card:hover, button.c-card:hover, .c-card.is-clickable:hover { border-color: var(--rule-strong); background: var(--surface-raised); }
.c-card.is-selected { border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent); }
.c-card.is-done { opacity: 0.72; }
.c-card.is-done .c-card__title { text-decoration: line-through; text-decoration-color: var(--ink-faint); }
.c-card__title { font-weight: var(--weight-semibold); font-size: var(--text-md); line-height: var(--leading-snug); color: var(--ink); hyphens: auto; overflow-wrap: anywhere; }
.c-card__meta { font-family: var(--font-mono); font-size: var(--text-xs); color: var(--ink-faint); margin-top: var(--space-2xs); line-height: var(--leading-snug); overflow-wrap: anywhere; }
.c-card__body { margin-top: var(--space-xs); color: var(--ink-muted); font-size: var(--text-sm); }
.c-card__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-xs); margin-top: var(--space-xs); }
.c-card__row { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-sm); }

/* --activity: sits in c-board--week; tinted by band so a red card reads at a glance */
.c-card--activity { background: color-mix(in oklab, var(--band-fill, var(--surface)) 55%, var(--surface)); }
.c-card--activity .c-card__meta { color: var(--band-ink, var(--ink-faint)); }

/* --fault: title + meta + severity pill in the foot */
.c-card--fault .c-card__meta { color: var(--ink-muted); }

/* --resource: name, sub-group count, mono stats line; the whole card is a link */
.c-card--resource { min-height: 6.5rem; }
.c-card--resource .c-card__count { font-size: var(--text-sm); color: var(--ink-muted); margin-top: var(--space-xs); }
.c-card--resource .c-card__meta { color: var(--ink-faint); }
.c-card--resource.is-retired { opacity: 0.6; }

/* --order: planning; article, dimension, customer */
.c-card--order .c-card__title { font-size: var(--text-sm); }
.c-card--order .c-card__dim { font-family: var(--font-mono); font-size: var(--text-xs); color: var(--ink); }

/* --fto: a card that contains cards (pre-planning) */
.c-card--fto { background: var(--surface-sunken); }
.c-card--fto .c-card__stack { display: flex; flex-direction: column; gap: var(--space-2xs); margin-top: var(--space-xs); }
.c-card--fto .c-card { padding: var(--space-xs) var(--space-sm); padding-inline-start: calc(var(--space-sm) + var(--stroke-edge)); box-shadow: none; }

/* --add: dashed, a plus, the "new" affordance */
.c-card--add { display: grid; place-items: center; gap: var(--space-2xs); min-height: 6.5rem; border-style: dashed; border-color: var(--rule-strong); background: transparent; box-shadow: none; color: var(--ink-muted); font-weight: var(--weight-medium); text-align: center; }
.c-card--add::before { display: none; }
.c-card--add:hover { border-color: var(--accent); color: var(--accent-ink); background: var(--accent-wash); }
.c-card--add .c-card__plus { font-size: var(--text-xl); line-height: 1; color: var(--accent); }

/* --flat: no shadow, for inside sheets and lists */
.c-card--flat { box-shadow: none; }
.c-card .c-status { white-space: normal; }
