:root { color-scheme: light; background: #f8f5ef; }
html, body { margin: 0; width: 100%; height: 100%; overscroll-behavior-y: none; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
#root { height: 100%; height: 100dvh; min-height: 0; }
input, textarea, button { font: inherit; }
input, textarea { font-size: 16px !important; }
[role="button"], [role="tab"], [role="switch"], [role="radio"] {
  -webkit-tap-highlight-color: transparent; touch-action: manipulation;
  transition: background-color 160ms ease, opacity 160ms ease, transform 160ms ease;
}
[role="button"]:active { transform: scale(.985); }
:focus-visible { outline: 2px solid #6d529f !important; outline-offset: 3px; }
[data-testid="screen"] { animation: arrive 180ms ease-out; }
@keyframes arrive { from { opacity: .65; transform: translateY(3px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
@media print { [role="tablist"], [role="button"] { display: none; } }

/* Keep modal headers and content in the same quiet desktop column as the app. */
[data-testid="quote-modal"], [data-testid="check-in"] { width: 100%; max-width: 520px; align-self: center; }
