/* client-carnet.css — owned by P13 (client carnet), then P35 (calendar lockstep).
   Scope: the public carnet: toolbar, key, grid and pulse rows.
   Created empty by P00 (2026-10-11) so the cascade order is fixed before any
   rule lands: styles.css → primary-hub.css → primary-hub-day.css →
   notary-howto.css → hub-*.css → client-*.css, all before action-controls.css.
   new-sheets-tokens.test.mjs holds this sheet to tokens only: no literal colour,
   no off-scale px spacing, no px font-size, and every selector has a consumer. */

/* Public/customer calendar. Keep the seven-day grid and its keyboard model in
   styles.css; only the surrounding customer reading and controls live here. */
#pane-carnet .cal-toolbar { gap: var(--space-4); padding: var(--space-5) var(--space-7); }
#pane-carnet .cal-title { font-size: var(--type-body); white-space: normal; overflow-wrap: anywhere; }
#pane-carnet .cal-nav { flex-wrap: wrap; min-width: 0; }
#pane-carnet .cal-nav .btn,
#pane-carnet #filters-toggle,
#filters-dialog .chip,
#filters-dialog .seg-btn { min-height: var(--control-height); min-width: var(--control-height); }
#pane-carnet .cal-empty {
  margin: 0 var(--space-7) var(--space-6); padding: var(--space-6);
  font-size: var(--type-body); line-height: var(--type-body-lh); text-align: start; overflow-wrap: anywhere;
}
#pane-carnet .result-count,
#pane-carnet .cal-avail { font-size: var(--type-h4); line-height: var(--type-body-lh); }
#filters-dialog .filterbar { min-width: 0; gap: var(--space-7); }
#filters-dialog .field { min-width: 0; }
#filters-dialog .chip-group,
#filters-dialog .seg { flex-wrap: wrap; }
#filters-dialog .chip,
#filters-dialog .seg-btn { white-space: normal; overflow-wrap: anywhere; }
#filters-dialog .dlg-x { min-width: var(--control-height); min-height: var(--control-height); }
#filters-dialog .dialog-pad > h3 { padding-inline-end: var(--control-height); }
#filters-dialog .dialog-actions { flex-wrap: wrap; }
