/* Styles Tailwind utilities cannot express. */
body { font-family: 'Inter', system-ui, -apple-system, sans-serif; }
.font-mono { font-family: 'JetBrains Mono', ui-monospace, monospace; }

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
input[type=number] { -moz-appearance: textfield; }

/* Collapsible itinerary rows: animate height via grid rows. */
.row-collapse { display: grid; grid-template-rows: 0fr; transition: grid-template-rows 0.22s ease; }
.row-collapse.is-open { grid-template-rows: 1fr; }
.row-collapse > .row-collapse-inner { min-height: 0; overflow: hidden; }
.row-chevron { transition: transform 0.2s ease; }
[aria-expanded="true"] .row-chevron { transform: rotate(180deg); }

details > summary::-webkit-details-marker { display: none; }

#toast { transition: opacity 0.2s ease, transform 0.2s ease; }

@media (prefers-reduced-motion: reduce) {
  .row-collapse, .row-chevron, #toast { transition: none; }
}
