/* Schedule card (CONTRACT 23, 24). Same tokens and type scale as styles.css (12 / 14 / 15 / 18), same
   spacing rhythm (4 / 8 / 12 / 16). The accent marks only the Sync button; the rest is ink on sand. */

.cal-card .head-row { margin-bottom: 8px; }
.cal-sync { min-width: 96px; }

/* Press targets, written with the elements (the shared rule in styles.css covers buttons; these are links). */
.cal-open, .cal-link {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
.cal-open { text-decoration: none; }
.cal-acts { margin: 12px 0 4px; }

.cal-result { margin: 12px 0 0; padding: 12px 16px; border-radius: var(--r-bub); background: var(--mint); font-weight: 700; font-size: 14px; }
.cal-result.bad { background: var(--rose); color: var(--bad); }
.cal-status { margin-top: 12px; }
.cal-status.bad { color: var(--bad); }

.cal-list { display: flex; flex-direction: column; gap: 8px; margin-top: 12px; }
.cal-item { background: var(--sand); border-radius: var(--r-bub); padding: 12px 16px; display: flex; flex-direction: column; gap: 4px; }
.cal-item.filler { background: transparent; box-shadow: inset 0 0 0 2px var(--line); }
.cal-time { font-size: 12px; font-weight: 800; color: var(--mute); letter-spacing: 0.02em; }
.cal-title { font-weight: 800; }
.cal-desc { font-size: 14px; font-weight: 600; white-space: pre-line; overflow-wrap: anywhere; }
.cal-link { color: var(--acc-text); font-weight: 700; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px; }
.cal-hidden { color: var(--bad); font-size: 12px; font-weight: 700; }
.cal-src { font-size: 12px; font-weight: 700; color: var(--mute); }
.cal-list .empty { background: var(--sand); border-radius: var(--r-bub); padding: 12px 16px; }

.cal-hours { display: flex; flex-direction: column; gap: 4px; margin-top: 8px; }
.cal-hour { display: grid; grid-template-columns: 3em 1fr; gap: 8px; font-size: 14px; align-items: baseline; }
.cal-hour b { font-weight: 800; }
.cal-hour.closed span { color: var(--mute); }
.cal-hours-state { margin-top: 4px; }
.cal-hours-note { font-size: 12px; }

@media (hover: hover) and (pointer: fine) { .cal-link:hover { color: var(--ink); } }
