*,
*::before,
*::after {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
}

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

html.translated-rtl {
  direction: rtl;
}

@media (prefers-reduced-motion: no-preference) {
  html {
    interpolate-size: allow-keywords;
  }
}

body {
  min-block-size: 100%;
}

header.page-header,
header.app-header,
header.admin-header {
  position: sticky;
  top: 0;
  left: 0;
  z-index: var(--z-header);
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  padding: 0.3em 1em;
  overflow: visible;

  > nav ul {
    display: flex;
    flex-direction: row;
    gap: 1em;
  }
}

img,
iframe,
audio,
video,
canvas {
  display: block;
  max-inline-size: 100%;
  block-size: auto;
}

svg {
  max-inline-size: 100%;
}

.brand-logo {
  display: block;
  inline-size: 32px;
  block-size: 32px;
  max-inline-size: 32px;
  max-block-size: 32px;
}

button:disabled,
:disabled {
  cursor: not-allowed;
}

button:not(:disabled),
select:not(:disabled),
a:any-link,
[role="tab"]:not([aria-disabled="true"]),
.form-select__option,
.form-select__dropdown-indicator,
.form-select__clear-indicator,
.app-dropdown__link,
.app-dropdown__trigger,
.site-header__menu-toggle,
.password-field__toggle,
label[for] {
  cursor: pointer;
}

input,
textarea {
  width: 100%;
  min-height: 32px;
  padding: 0.3em 0.8em;
}

textarea {
  resize: vertical;
}

fieldset,
iframe {
  border: none;
}

ul,
ol,
dl {
  list-style: none;
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: break-word;
}

table {
  border-collapse: collapse;
}

abbr[title] {
  cursor: help;
}

:disabled {
  cursor: not-allowed;
}

:focus-visible {
  outline-offset: 0.2rem;
}
