* {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  margin: 0;
  overflow-x: hidden;
}

img,
svg,
video,
canvas {
  max-width: 100%;
}

button,
a,
input,
select,
textarea {
  -webkit-tap-highlight-color: transparent;
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid #2563eb;
  outline-offset: 2px;
}

input,
select,
textarea {
  min-width: 0;
}

.break-anywhere {
  overflow-wrap: anywhere;
  word-break: break-word;
}

.app-footer,
main,
section,
article {
  min-width: 0;
}

[id$="Modal"] > div,
.modal-content {
  max-height: min(92vh, 900px);
  overflow-y: auto;
}

@media (max-width: 640px) {
  table {
    display: block;
    overflow-x: auto;
    white-space: nowrap;
  }

  .hide-on-mobile-overflow {
    overflow: hidden;
  }
}

/* Smooth layout transitions for sidebar toggling */
#sidebar {
  transition: margin-left 0.3s cubic-bezier(0.4, 0, 0.2, 1), transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
