/* WHF Eiendom – delte strukturtokens. Lenkes i admin.html og portal.html.
   Farger holdes per fil (admin = mørkt tema, portal = lyst tema). */
:root {
  --radius-xs: 4px;
  --radius-sm: 6px;
  --radius:    8px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --radius-pill: 999px;
  --sans: 'Geist', 'Outfit', system-ui, -apple-system, sans-serif;

  /* Bevegelse (theme-agnostisk) */
  --t-fast: .15s;
  --t:      .2s;
  --ease:   cubic-bezier(.4, 0, .2, 1);
  --ease-spring: cubic-bezier(.34, 1.56, .64, 1);

  /* Breakpoints (brukes i media queries; ren dokumentasjon – CSS kan ikke
     lese variabler i @media, men holdes her som én kilde for verdiene) */
  --bp-mobile: 640px;
  --bp-tablet: 960px;
}

/* Delte hjelpeklasser for tilstander fra whf-core.js */
.whf-skeleton {
  height: 48px;
  border-radius: var(--radius);
  background: linear-gradient(90deg,
    rgba(128,128,128,.08) 25%,
    rgba(128,128,128,.16) 37%,
    rgba(128,128,128,.08) 63%);
  background-size: 400% 100%;
  animation: whf-shimmer 1.4s ease infinite;
  margin-bottom: 8px;
}
@keyframes whf-shimmer {
  0% { background-position: 100% 0; }
  100% { background-position: 0 0; }
}
.whf-empty, .whf-error {
  padding: 32px;
  text-align: center;
  font-size: 13px;
  color: var(--slate);
}
.whf-error { color: var(--red); }
.whf-retry-btn {
  margin-left: 8px;
  font-size: 12px;
  cursor: pointer;
  background: none;
  border: 1px solid currentColor;
  border-radius: var(--radius-sm);
  padding: 2px 8px;
  color: inherit;
}
