/* TamirSet runtime stability layer — Stage 19.
   This file intentionally contains only low-risk cross-page invariants.
   Page-specific visual design remains owned by each page bundle. */

html[data-tmset-renderer="laravel-blade"] {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-padding-block-start: var(--tmset-scroll-offset, 88px);
  overflow-x: clip;
}

@supports not (overflow: clip) {
  html[data-tmset-renderer="laravel-blade"] {
    overflow-x: hidden;
  }
}

html[data-tmset-renderer="laravel-blade"] body {
  min-inline-size: 0;
  min-block-size: var(--tmset-viewport-height, 100vh);
}

html[data-tmset-renderer="laravel-blade"] :where(
  main,
  section,
  article,
  aside,
  nav,
  header,
  footer,
  form,
  fieldset,
  table,
  [data-tmset-layout],
  [data-tmset-main]
) {
  min-inline-size: 0;
}

html[data-tmset-renderer="laravel-blade"] :where(img, svg, video, canvas, iframe) {
  max-inline-size: 100%;
}

html[data-tmset-renderer="laravel-blade"] :where(input, select, textarea, button) {
  max-inline-size: 100%;
}

html[data-tmset-renderer="laravel-blade"] :where(button, [role="button"], a[href]) {
  -webkit-tap-highlight-color: transparent;
}

html[data-tmset-renderer="laravel-blade"] :where(button, input, select, textarea) {
  touch-action: manipulation;
}

html[data-tmset-renderer="laravel-blade"] textarea {
  resize: vertical;
}

html[data-tmset-renderer="laravel-blade"] :where(
  [data-tmset-main],
  [data-site-manager-root],
  [data-customer-panel-root],
  [data-technician-panel-root]
) :where(p, li, td, th, label, strong, span) {
  overflow-wrap: break-word;
}

html[data-tmset-renderer="laravel-blade"] :where([hidden]) {
  display: none !important;
}

html[data-tmset-renderer="laravel-blade"] :where(:target) {
  scroll-margin-block-start: var(--tmset-scroll-offset, 88px);
}

html[data-tmset-renderer="laravel-blade"] :where(:focus-visible) {
  outline-offset: 3px;
}

html[data-tmset-renderer="laravel-blade"] body.is-scroll-locked {
  overscroll-behavior: contain;
}

@media (max-width: 820px) {
  html[data-tmset-renderer="laravel-blade"] {
    scrollbar-gutter: auto;
  }

  html[data-tmset-renderer="laravel-blade"] :where(input, select, textarea) {
    font-size: max(16px, 1em);
  }
}

@media (prefers-reduced-motion: reduce) {
  html[data-tmset-renderer="laravel-blade"] {
    scroll-behavior: auto;
  }
}
