.ds-btn, .ds-btn-primary, .ds-btn-quiet {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  min-height: 2.5rem;
  padding: 0.4rem 0.8rem;
  font-weight: 700;
  font-size: var(--text-label);
  border: 2px solid var(--color-secondary);
  background: var(--color-surface);
  color: var(--color-secondary);
}
.ds-btn-primary { background: var(--color-primary); color: #042428; border-color: var(--color-primary); }
.ds-input, .ds-select {
  width: 100%;
  min-height: 2.5rem;
  border: 2px solid var(--color-secondary);
  background: #fff;
  padding: 0.35rem 0.5rem;
  font-size: var(--text-body);
}
.ds-table-wrap { overflow-x: auto; max-width: 100%; }
.ds-table { width: 100%; border-collapse: collapse; background: #fff; }
.ds-table caption { text-align: start; font-weight: 700; margin-bottom: 0.35rem; }
.ds-table th, .ds-table td { border: 1px solid var(--color-line); padding: 0.5rem; text-align: start; }
.ds-table th { background: var(--color-secondary); color: #fff; }
.ds-card { background: #fff; border: 1px solid var(--color-line); padding: 1rem; }
.ds-alert { border: 2px solid var(--color-secondary); padding: 0.75rem 1rem; background: #fff; }
.ds-alert-error { border-color: var(--color-error); }
.ds-alert-success { border-color: var(--color-success); }
.ds-alert-warning { border-color: var(--color-warning); }
.ds-alert-info { border-color: var(--color-info); }
.ds-badge { display: inline-flex; gap: 0.35rem; align-items: center; border: 2px solid var(--color-secondary); padding: 0.1rem 0.45rem; font-weight: 700; font-size: var(--text-caption); }
.ds-tabs { display: flex; gap: 0.5rem; flex-wrap: wrap; }
.ds-tab[aria-selected="true"] { background: var(--color-primary); color: #fff; }
.ds-crumbs { display: flex; gap: 0.35rem; flex-wrap: wrap; font-size: var(--text-label); }
.ds-pager { display: flex; gap: 0.5rem; align-items: center; }
.ds-drop { border: 2px solid var(--color-secondary); background: #fff; padding: 0.5rem; }
.ds-timeline { border-inline-start: 3px solid var(--color-primary); padding-inline-start: 0.75rem; }
.ds-stepper { display: flex; gap: 0.5rem; flex-wrap: wrap; }
.ds-step { border: 2px solid var(--color-secondary); padding: 0.25rem 0.5rem; }
.ds-step.is-current { background: var(--color-primary); color: #fff; }
.ds-upload { border: 2px dashed var(--color-secondary); padding: 1rem; background: #fff; }
.ds-toast { background: var(--color-secondary); color: #fff; padding: 0.75rem; }

html[dir="rtl"] #sidenav { left: auto; right: 0; }
html[dir="rtl"] #sidenav a { border-left: 0; border-right: 3px solid transparent; }
html[dir="rtl"] #sidenav a[aria-current="page"] { border-right-color: #fff; }
@media (max-width: 1023px) {
  html[dir="rtl"] #sidenav { left: auto; right: 0; box-shadow: -8px 0 24px rgba(0,0,0,.35); }
}
@media (min-width: 1600px) {
  main { max-width: 72rem; margin-inline: auto; }
}
body.gw-site #main, body.mk-site #main { max-width: none !important; width: 100%; margin: 0; }
img, svg, table, video { max-width: 100%; }
body { overflow-x: hidden; }
.bottom-nav { display: none; }
button, .ds-btn, .ds-btn-primary, input, select, textarea { min-height: 2.75rem; }
.ds-table-wrap, table { display: block; overflow-x: auto; max-width: 100%; }
@media (max-width: 767px) {
  .bottom-nav {
    display: flex;
    position: fixed;
    inset-inline: 0;
    bottom: 0;
    z-index: 30;
    background: #141414;
    color: #fff;
    justify-content: space-around;
    border-top: 4px solid #07a2ab;
  }
  .bottom-nav a { color: #fff; padding: 0.75rem 0.35rem; font-size: 0.8rem; font-weight: 700; text-decoration: none; }
  main { padding-bottom: 5rem; }
}
@media (min-width: 768px) {
  .bottom-nav { display: none !important; }
}
html.a11y-lg { font-size: 112.5%; }
html.a11y-contrast body { background: #fff; color: #000; }
html.a11y-reduce *, html.a11y-reduce *::before { animation: none !important; transition: none !important; }
