/* HYBRID-LINKKONZEPT Admin-UI — Base
   Reset, Typografie, Fokus, Layoutcontainer. Nach hlk-tokens.css laden. */

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

html { font-size: 16px; }

body {
  margin: 0;
  background: var(--hlk-canvas);
  color: var(--hlk-text);
  font-family: var(--hlk-font);
  font-size: var(--hlk-fs-body);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

a { color: var(--hlk-primary); text-decoration: none; }
a:hover { color: var(--hlk-primary-hover); text-decoration: underline; }

h1, h2, h3, h4, p, ul, ol { margin: 0; }
h1 { font-size: var(--hlk-fs-h1); font-weight: 600; letter-spacing: -.015em; }
h2 { font-size: var(--hlk-fs-h2); font-weight: 600; letter-spacing: -.01em; }
h3 { font-size: var(--hlk-fs-h3); font-weight: 600; }
p + p { margin-top: var(--hlk-space-2); }

table { border-collapse: collapse; }
::selection { background: #cfe6ee; }

:focus-visible { outline: none; box-shadow: var(--hlk-focus-ring); border-radius: var(--hlk-radius); }

code, .hlk-mono, .mono {
  font-family: var(--hlk-mono);
  font-size: var(--hlk-fs-data-sm);
}
code {
  background: var(--hlk-surface-soft);
  border: 1px solid var(--hlk-border);
  border-radius: var(--hlk-radius-sm);
  padding: 1px 5px;
}

.hlk-overline {
  font-size: var(--hlk-fs-overline);
  font-weight: 600;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: var(--hlk-text-4);
}
.hlk-caption, .hint, .muted, small { font-size: var(--hlk-fs-caption); color: var(--hlk-text-3); }
.hlk-meta { font-size: var(--hlk-fs-meta); color: var(--hlk-text-4); }

/* Layoutcontainer */
.hlk-content { width: 100%; max-width: var(--hlk-content-max); padding: var(--hlk-space-6); }
.hlk-content--narrow { max-width: var(--hlk-content-narrow); }
.hlk-readable { max-width: var(--hlk-read-max); }
.hlk-form-column { max-width: var(--hlk-form-max); }

/* Alias-Schicht Paket 1: bestehende Container bleiben funktionsfähig */
.page-shell { width: 100%; max-width: var(--hlk-content-max); margin: 0 auto; padding: var(--hlk-space-6); }
.readable { max-width: var(--hlk-read-max); }

.hlk-stack { display: flex; flex-direction: column; gap: var(--hlk-space-4); }
.hlk-stack--tight { gap: var(--hlk-space-3); }
.hlk-row { display: flex; align-items: center; gap: var(--hlk-space-3); }
.hlk-row--between { justify-content: space-between; align-items: flex-end; }
.hlk-push { margin-left: auto; }

.hlk-visually-hidden {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
