/* TRAVSCOPE V24.99 — shared SCREEN-ONLY accessibility/responsive foundation.
   Print documents intentionally opt out (all rules wrapped in @media screen).
   Non-destructive: preserve existing brand, component semantics and business workflows. */
@media screen {
  :root {
    --ts99-font-body: "DM Sans", "Nirmala UI", "Noto Sans Oriya", "Noto Sans Devanagari", "Segoe UI", Arial, sans-serif;
    --ts99-font-heading: "Manrope", "DM Sans", "Nirmala UI", "Noto Sans Oriya", "Noto Sans Devanagari", "Segoe UI", Arial, sans-serif;
    --ts99-focus: #1769e0;
    --ts99-muted: #52657c;
  }
  html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
  body { font-family:var(--ts99-font-body); text-rendering:optimizeLegibility; }
  body :is(input, select, textarea, button) { font-family:var(--ts99-font-body); }
  body :is(h1, h2, h3, h4, h5, h6) { font-family:var(--ts99-font-heading); overflow-wrap:break-word; }
  :is(img,video,canvas,svg) { max-width:100%; }
  img { height:auto; }
  :is(.main,.content,.page,.wrap,.container,.panel,.card,.card-body,.grid,.row,.columns,.col,.form-grid,.details-grid,.layout,.workspace) { min-width:0; }
  :is(.main,.content,.page,.wrap,.container,.panel,.card,.card-body,.grid,.row,.columns,.col,.form-grid,.details-grid,.layout,.workspace) > * { min-width:0; }
  :is(p,li,dd,.description,.subtitle,.note,.alert,.muted,.info,.summary,.card-body) { overflow-wrap:break-word; }
  :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea) { max-width:100%; min-width:0; }
  :is(input,select,textarea,button,a):focus-visible { outline:2px solid var(--ts99-focus); outline-offset:2px; }
  :is(button,.btn,.button,[role="button"]) { max-width:100%; }
  [hidden] { display:none!important; }
  /* Applied only when a table actually exceeds its containing box. Never change native table display. */
  .ts99-table-scroll { overflow-x:auto; overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch; scrollbar-width:thin; }
  .ts99-table-scroll > table { max-width:none; }
  .ts99-table-scroll:focus-visible { outline:2px solid var(--ts99-focus); outline-offset:-2px; }
}
@media screen and (max-width: 1024px) {
  :is(.page-head,.panel-head,.card-head,.section-head,.head-actions) { column-gap:10px; row-gap:10px; }
  :is(.filters,.filter-bar,.filter-row,.head-actions,.toolbar-actions) { max-width:100%; }
  :is(.modal,.dialog,[role="dialog"],[aria-modal="true"]) { max-width:calc(100vw - 24px); }
}
@media screen and (max-width: 767px) {
  :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea) {
    font-size:16px!important; /* prevent iOS input auto-zoom */
    line-height:1.4;
  }
  :is(.page-head,.section-head,.head-actions,.panel-head) { flex-wrap:wrap; }
  .ts99-table-scroll { width:100%; }
  :is(.modal,.dialog,[role="dialog"],[aria-modal="true"]) { width:min(100%,calc(100vw - 16px)); }
  :is(button,.btn,.button,[role="button"]) { overflow-wrap:break-word; }
}
@media screen and (max-width: 360px) {
  :is(.page,.wrap,.container,.content) { min-width:0; }
  :is(.modal,.dialog,[role="dialog"],[aria-modal="true"]) { max-width:calc(100vw - 12px); }
}
@media screen and (prefers-reduced-motion: reduce) {
  html {scroll-behavior:auto!important;}
  *,*::before,*::after {scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;}
}
