/* Wide redesign 2026 (1440px) - fresh CSS, no legacy assets */

:root {
  --bg: #ffffff;
  --paper: #ffffff;
  --ink: #000000;
  --muted: #000000;
  --line: #c9c9c9;
  --line-strong: #9b9b9b;
  --link: #15518b;
  --link-hover: #0d2139;
  --accent: #1f6feb;
  --accent-2: #15518b;
  --shadow: rgba(0, 0, 0, 0.08);
  --frame-radius: 14px;
  --frame-border: rgba(0, 0, 0, 0.14);
  --frame-shadow: 0 4px 6px rgba(0, 0, 0, 0.05), 0 14px 36px rgba(0, 0, 0, 0.12);
  /* Top banner – mørk navy (reference ~#0d2139) */
  --header-bg: #0d2139;
  --header-bg-deep: #0b1c2e;
  --header-border: #060f18;
  --header-sky: #38bdf8;
  --header-mint: #2dd4bf;
  --header-aurora: rgba(125, 211, 252, 0.14);
}

html, body {
  height: 100%;
}

html {
  background: #ffffff;
  background-color: #ffffff;
}

body {
  margin: 0;
  padding: 24px 16px 32px;
  background: #ffffff;
  background-color: #ffffff;
  color: var(--ink);
  font-family: Verdana, Arial, sans-serif;
  font-size: 12px;
  line-height: 1.55;
}

/* Ensartet skrift og tekstfarve i indhold (formularer, tabeller) */
.content input,
.content select,
.content textarea,
.content button {
  font-family: Verdana, Arial, sans-serif;
  font-size: 12px;
  color: var(--ink);
}

.content table,
.content td,
.content th {
  font-family: Verdana, Arial, sans-serif;
  color: var(--ink);
}

a {
  color: var(--link);
  text-decoration: none;
}

a:hover {
  color: var(--link-hover);
  text-decoration: underline;
  font-weight: 700;
}

:focus {
  outline: 2px solid rgba(21, 81, 139, 0.45);
  outline-offset: 2px;
}

img {
  border: 0;
  max-width: 100%;
  height: auto;
}

/* Shell (ingen align=center — undgår arvet text-align / centrerings-artefakter på mobil) */
.full {
  width: 100%;
  box-sizing: border-box;
  text-align: left;
}

.holder {
  box-sizing: border-box;
  width: 1440px;
  max-width: calc(100vw - 32px);
  margin: 0 auto;
  text-align: left;
  /* Én samlet ramme om hele sitet (header + menu + indhold + footer) */
  border: 1px solid var(--frame-border);
  border-radius: var(--frame-radius);
  box-shadow: var(--frame-shadow);
  /* visible: ellers beskæres topmenu-undermenuer (position:absolute) ved ramme/højre kant */
  overflow: visible;
  background: var(--paper);
}

/* Header — “twilight / sky” topbanner + cockpit-foto mod højre, fadet sammen med brand venstre */
.header {
  box-sizing: border-box;
  width: 100%;
  min-height: 124px;
  height: auto;
  position: relative;
  overflow: hidden;
  border-top-left-radius: var(--frame-radius);
  border-top-right-radius: var(--frame-radius);
  background-color: #040a12;
  background-image:
    radial-gradient(ellipse 130% 100% at 4% -30%, rgba(56, 189, 248, 0.26) 0%, transparent 58%),
    radial-gradient(ellipse 100% 85% at 102% -5%, rgba(45, 212, 191, 0.16) 0%, transparent 55%),
    linear-gradient(
      152deg,
      #030910 0%,
      #0a1f35 22%,
      rgba(13, 33, 57, 0.88) 46%,
      rgba(8, 26, 46, 0.42) 62%,
      rgba(4, 8, 14, 0.12) 78%,
      transparent 95%
    ),
    linear-gradient(
      90deg,
      #040a12 0%,
      rgba(4, 10, 18, 0.94) 18%,
      rgba(10, 31, 53, 0.5) 40%,
      rgba(13, 33, 57, 0.12) 55%,
      transparent 70%
    ),
    url("../images/header-cockpit.png");
  background-repeat: no-repeat;
  background-size: auto, auto, auto, auto, cover;
  background-position:
    0 0,
    0 0,
    0 0,
    0 0,
    86% 42%;
  border-bottom: 1px solid rgba(0, 0, 0, 0.45);
}

.header::before {
  content: "";
  position: absolute;
  inset: -28% -12%;
  z-index: 0;
  background:
    radial-gradient(ellipse 58% 52% at 32% 42%, var(--header-aurora) 0%, transparent 58%),
    radial-gradient(ellipse 48% 44% at 74% 58%, rgba(167, 139, 250, 0.1) 0%, transparent 52%),
    repeating-linear-gradient(
      -17deg,
      transparent 0 40px,
      rgba(255, 255, 255, 0.02) 40px,
      rgba(255, 255, 255, 0.02) 41px
    );
  pointer-events: none;
  animation: eksl-header-aurora 22s ease-in-out infinite alternate;
}

.header::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3px;
  z-index: 3;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(56, 189, 248, 0.55) 16%,
    rgba(168, 85, 247, 0.42) 48%,
    rgba(45, 212, 191, 0.52) 80%,
    transparent 100%
  );
  box-shadow: 0 0 24px rgba(56, 189, 248, 0.22);
  pointer-events: none;
}

@keyframes eksl-header-aurora {
  0% {
    transform: translate3d(-2.2%, -1%, 0) scale(1);
    opacity: 0.9;
  }
  100% {
    transform: translate3d(2.5%, 1.8%, 0) scale(1.05);
    opacity: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  .header::before {
    animation: none;
  }
}

/* Top menu container line */
.menu {
  box-sizing: border-box;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  min-height: 42px;
  background: #ffffff !important;
  background-color: #ffffff !important;
  border-bottom: 1px solid rgba(31, 111, 235, 0.35);
  /* Over .content så dropdown ikke ligger under kolonner/floats */
  position: relative;
  z-index: 10050;
  isolation: isolate;
}

.header + .menu {
  margin-top: 0;
}

body.eksl-no-top-banner .holder > .menu:first-child {
  border-top: 1px solid rgba(31, 111, 235, 0.35);
}

/* Briefing-undermenu: stregadskiller efter «Briefing overblik» (før Banestatus) */
.qmmc-briefing-sub > li:nth-child(3) {
  border-top: 1px solid var(--line);
  margin-top: 6px;
  padding-top: 7px;
}

/* Hjem-undermenu: streg før «Log ud» (efter Medlem og Offentlige) */
.qmmc-hjem-sub > li:nth-child(3) {
  border-top: 1px solid var(--line);
  margin-top: 6px;
  padding-top: 7px;
}

/* Main content paper — top 16px = tidligere 22px − 6px, så alle medlemssider (med/uden page-wrap) får samme start som klubdata/klubnyt */
.content {
  box-sizing: border-box;
  width: 100%;
  padding: 16px 30px 10px;
  background: var(--paper);
  border: 0;
  box-shadow: none;
  overflow: hidden; /* contain floats */
  text-align: left;
  color: var(--ink);
  position: relative;
  z-index: 0;
}

/* Two-column layout (same class names as before) */
.col_l {
  float: left;
  width: 900px;
}

.col_r {
  float: right;
  width: 420px;
  font-size: 16px;
  line-height: 1.55;
}

/* Boxes - “new lines” instead of image frames */
.box_l,
.box_r {
  background: #fff;
  border: 1px solid var(--line);
  margin: 0 0 18px;
}

.top_l,
.top_r {
  height: 0; /* legacy top caps not needed */
}

.txt_l,
.txt_r {
  padding: 12px 14px 14px;
}

/* Indholdsramme når h2/intro ligger uden for (klubdata-model) — som .box_l + .txt_l */
.content .eksl-content-panel {
  box-sizing: border-box;
  background: #fff;
  border: 1px solid var(--line);
  margin: 0 0 18px;
  padding: 12px 14px 14px;
}

.txt_r {
  border-top: 1px dashed var(--line);
}

.txt_r.last {
  border-top: 0;
}

.col_r a {
  font-size: inherit;
}

.col_r input,
.col_r select,
.col_r textarea,
.col_r button {
  font-size: 16px;
}

.col_r .default-birthdays-title,
.col_r .default-birthdays-list {
  font-size: 16px;
}

.col_r .default-birthdays-more {
  font-size: 15px;
}

.col_r .default-hverdagsflyvning-title,
.col_r .default-hverdagsflyvning-text,
.col_r .default-hverdagsflyvning-link {
  font-size: 16px;
}

/* Sikrer højre spalte mod cache og ældre regler (højere prioritet) */
.content .col_r {
  font-size: 16px !important;
  line-height: 1.55 !important;
}

.content .col_r input,
.content .col_r select,
.content .col_r textarea,
.content .col_r button {
  font-size: 16px !important;
}

.content .col_r .default-birthdays-title,
.content .col_r .default-birthdays-list {
  font-size: 16px !important;
}

.content .col_r .default-birthdays-more {
  font-size: 15px !important;
}

.content .col_r .default-hverdagsflyvning-title,
.content .col_r .default-hverdagsflyvning-text,
.content .col_r .default-hverdagsflyvning-link {
  font-size: 16px !important;
}

/* default.asp – ens 12px i begge kolonner */
.content .default-page,
.content .klubnyt-page,
.content .klubdata-page,
.content .spilhold-page,
.content .flylotto-page,
.content .carmoney-page,
.content .ekslforum-page,
.content .briefing-page,
.content .links-page {
  font-family: Verdana, Arial, sans-serif;
  font-size: 12px;
  line-height: 1.55;
  color: var(--ink);
}

.content .default-page .col_r {
  font-size: 12px !important;
  line-height: 1.55 !important;
}

.content .default-page .col_r input,
.content .default-page .col_r select,
.content .default-page .col_r textarea,
.content .default-page .col_r button {
  font-size: 12px !important;
}

.content .default-page .col_r .default-birthdays-title,
.content .default-page .col_r .default-birthdays-list,
.content .default-page .col_r .default-birthdays-more,
.content .default-page .col_r .default-hverdagsflyvning-title,
.content .default-page .col_r .default-hverdagsflyvning-text,
.content .default-page .col_r .default-hverdagsflyvning-link {
  font-size: 12px !important;
}

.content .default-page .klubnyt-toc--home .klubnyt-toc-link {
  font-size: 12px;
}

.content .default-page .klubnyt-toc--home .klubnyt-toc-excerpt {
  font-size: 12px;
}

.content .default-page .klubnyt-toc--home .klubnyt-toc-footer {
  font-size: 12px;
}

/*
 * Højre kolonne (.col_r) er float:right + fast bredde. Når indholdsbredden < 900+420 (+ .content-padding),
 * ryger højre spalte ned men kan beholde float:right — så sidder den til højre med tom plads til venstre.
 * Breakpoint skal være >= ca. 1412px viewport (holder ≈ 100vw−32, indhold −60px padding), ellers gælder
 * “stack”-reglerne ikke i smalle desktop-vinduer mellem 1380 og ~1410px.
 */
@media (max-width: 1420px) {
  .col_r,
  .content .col_r,
  .content .default-page .col_r {
    float: none;
    width: 100%;
    max-width: 100%;
    clear: both;
    box-sizing: border-box;
  }

  .col_r .box_r,
  .content .col_r .box_r {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  .holder {
    width: 100%;
    max-width: min(1440px, calc(100vw - 24px));
    overflow-x: visible;
  }

  .txt_l,
  .txt_r {
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  /* default.asp m.fl.: flex under samme breakpoint som kolonne-stack (også “desktop website” ~980px) */
  .content .default-page {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  .content .default-page > .col_l,
  .content .default-page > .col_r,
  .content .default-page > .default-flystatus-band {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    clear: both !important;
    box-sizing: border-box;
  }

  .content .default-page > .col_r .box_r {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
  }
}

@media (max-width: 920px) {
  .col_l,
  .content .col_l {
    float: none;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }
}

@media (max-width: 720px) {
  /* Mobil / smal skærm: ingen vandret scroll, tekst der brydes pænt, letlæselig base */
  html {
    overflow-x: clip;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }

  .full {
    max-width: 100%;
    overflow-x: clip;
    box-sizing: border-box;
  }

  .holder {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  body {
    padding: 12px 10px 24px;
    font-size: 15px;
    line-height: 1.6;
  }

  .content {
    padding: 12px 12px 10px;
    min-width: 0;
    max-width: 100%;
    overflow-x: clip;
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  .content input,
  .content select,
  .content textarea,
  .content button {
    font-size: 16px;
    max-width: 100%;
    box-sizing: border-box;
  }

  /* Undtag mødeliste-tabellen (.flylotto-table) — den har egen layout + vandret scroll i .flylotto-table-wrap */
  .content table:not(.flylotto-table) {
    max-width: 100%;
    table-layout: fixed;
  }

  .content table:not(.flylotto-table) td,
  .content table:not(.flylotto-table) th {
    word-break: break-word;
    overflow-wrap: anywhere;
    hyphens: auto;
  }

  .content pre,
  .content code {
    overflow-wrap: anywhere;
    word-break: break-word;
    max-width: 100%;
  }

  .content iframe,
  .content embed,
  .content object,
  .content video {
    max-width: 100%;
  }

  /* Topmenu: lodret liste + undermenuer i flow (hover virker ikke på touch) */
  .menu {
    overflow-x: visible;
    overflow-y: visible;
  }

  .menu-fs-wrap {
    float: none;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    flex-wrap: wrap;
  }

  .menu-fs-wrap .menu-fullscreen-btn,
  .menu-fs-wrap .menu-dark-btn,
  .menu-fs-wrap .menu-large-font-btn {
    white-space: normal;
    text-align: center;
  }

  #qm0 {
    float: none;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    border-left: 0;
    border-top: 1px solid rgba(31, 111, 235, 0.35);
  }

  #qm0 > li {
    float: none;
    flex: 0 0 auto;
    width: 100%;
    border-bottom: 1px solid rgba(31, 111, 235, 0.2);
  }

  .qmmc > li {
    float: none;
  }

  /* Undermenuer: skjult som standard; åbnes med .menu-submenu-open (klik, se inc/footer.asp) */
  .qmmc ul {
    position: static !important;
    left: auto !important;
    top: auto !important;
    visibility: visible !important;
    width: 100%;
    max-width: none !important;
    min-width: 0 !important;
    box-sizing: border-box;
    margin: 0;
    padding: 6px 0 10px 10px;
    border: 0;
    border-left: 3px solid rgba(31, 111, 235, 0.28);
    box-shadow: none;
    background: #f4f7fb;
  }

  #qm0 > li > ul {
    display: none !important;
    border-top: 0;
  }

  #qm0 > li.menu-submenu-open > ul {
    display: block !important;
  }

  #qm0 > li:has(> ul) > a.qmparent::after {
    content: "\00a0▸";
    float: right;
    font-size: 0.85em;
    opacity: 0.65;
    font-weight: 400;
  }

  #qm0 > li.menu-submenu-open:has(> ul) > a.qmparent::after {
    content: "\00a0▾";
  }

  #qm0 ul ul {
    position: static !important;
    left: auto !important;
    top: auto !important;
    padding-left: 12px;
    background: #eef2f7;
  }

  #qm0 a {
    white-space: normal;
    line-height: 1.35;
  }

  .default-flystatus-alert-list--full {
    flex-direction: column;
  }

  .default-flystatus-alert-list--full .default-flystatus-alert-item {
    max-width: none;
    min-width: 0;
  }
}

/* default.asp – Forum / Kalender underoverskrifter */
.default-home-block-title {
  margin: 16px 0 8px;
  padding: 0;
  border: 0;
  font-family: Verdana, Arial, sans-serif;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ink);
  line-height: 1.4;
}

.default-home-block-title:first-child,
.txt_r.last .default-home-block-title:first-of-type {
  margin-top: 0;
}

.default-home-block-kicker {
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0;
  color: var(--muted);
  font-size: 11px;
}

/* default.asp — Forum / Kalender: "Se flere" (10 ekstra) */
.default-home-more-wrap {
  margin: 6px 0 8px;
}

.content .default-home-more-btn {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  color: var(--link, #15518b);
  text-decoration: underline;
  cursor: pointer;
}

.content .default-home-more-btn:hover {
  color: var(--link-hover, #0d2139);
}

.default-home-more {
  margin: 0;
  padding: 0;
}

/* default3.asp — testforside med vejr-snippet (Open-Meteo) */
.content .default3-test {
  max-width: 900px;
  margin: 0 auto;
  text-align: left;
}

.default3-test-banner {
  margin: 0 0 14px;
  padding: 10px 12px;
  font-size: 12px;
  line-height: 1.5;
  color: var(--ink);
  background: #fff8e6;
  border: 1px solid #e6d08a;
  border-radius: 8px;
}

.default3-weather-snippet .medlemsliste-txt-title {
  margin-top: 0;
}

.default3-weather-line {
  margin: 0 0 10px;
  font-size: 15px;
  line-height: 1.55;
  color: var(--ink);
}

.default3-weather-meta {
  margin: 0;
  font-size: 11px;
  line-height: 1.45;
  color: var(--muted);
}

.default3-weather-err {
  margin: 0 0 8px;
  font-size: 13px;
  color: var(--ink);
}

/* Headings — sort tekst; kun links bruger --link (mørkeblå) */
h1 {
  font-size: 26px;
  margin: 0 0 12px;
  color: var(--ink);
}
h2 {
  font-family: Verdana, Arial, sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.25;
  margin: 0 0 20px;
  color: var(--ink);
}
h3 {
  font-size: 14px;
  margin: 0 0 10px;
  color: var(--ink);
}
h4, h5, h6 {
  color: var(--ink);
}

.date {
  display: block;
  font-size: 11px;
  color: var(--muted);
  padding-bottom: 6px;
}

/* Header title / brand */
.header-inner {
  min-height: 124px;
  display: flex;
  align-items: center;
  padding: 18px 36px 20px;
  position: relative;
  z-index: 2;
}

.site-brand {
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-width: 100%;
}

.site-title {
  margin: 0;
  font-family: "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Verdana, Arial, sans-serif;
  font-size: clamp(1.4rem, 2.55vw, 2.05rem);
  font-weight: 800;
  line-height: 1.12;
  letter-spacing: -0.025em;
  color: #ffffff;
  text-shadow:
    0 1px 2px rgba(0, 0, 0, 0.55),
    0 0 48px rgba(125, 211, 252, 0.14),
    0 0 88px rgba(167, 139, 250, 0.07);
}

.site-tagline {
  margin: 0;
  align-self: flex-start;
  margin-top: 0;
  padding: 8px 16px 8px 17px;
  border-left: none;
  border-radius: 12px;
  font-family: "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Verdana, Arial, sans-serif;
  font-size: clamp(0.68rem, 1.35vw, 0.8rem);
  font-weight: 700;
  letter-spacing: 0.035em;
  line-height: 1.35;
  text-transform: none;
  max-width: 100%;
  color: rgba(255, 255, 255, 0.95);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
  background: rgba(255, 255, 255, 0.09);
  border: 1px solid rgba(255, 255, 255, 0.2);
  box-shadow:
    0 2px 16px rgba(0, 0, 0, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.18);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

/* Footer */
.footer {
  box-sizing: border-box;
  width: 100%;
  text-align: center;
  font-size: 11px;
  color: var(--muted);
  background: #ffffff;
  background-color: #ffffff;
  border-top: 1px solid var(--line);
  padding: 14px 24px 18px;
  margin: 0;
}

/* Small quality-of-life tweaks for legacy tables */
table {
  border-collapse: collapse;
}

td {
  vertical-align: top;
}

/* Medlemsliste med billeder — responsivt gitter, bruger hele .content-bredden */
.medlemsliste-pic-title {
  margin: 0 0 20px;
}

.medlemsliste-pic-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px 24px;
  margin: 0 0 18px;
  font-size: 13px;
}

.medlemsliste-pic-toolbar-links {
  margin: 0;
  flex: 0 1 auto;
}

.medlemsliste-pic-soeg {
  flex: 1 1 260px;
  max-width: 420px;
  min-width: 200px;
}

.medlemsliste-pic-soeg-label {
  display: block;
  font-size: 12px;
  font-weight: 600;
  margin: 0 0 6px;
  color: var(--ink);
}

.medlemsliste-pic-soeg-input {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  padding: 8px 12px;
  font-size: 14px;
  line-height: 1.35;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
}

.medlemsliste-pic-soeg-input:focus {
  outline: 2px solid rgba(31, 111, 235, 0.45);
  outline-offset: 1px;
  border-color: rgba(31, 111, 235, 0.55);
}

.medlemsliste-pic-soeg-status {
  margin: 6px 0 0;
  font-size: 11px;
  color: var(--muted);
  min-height: 1.35em;
}

.medlemsliste-pic-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 16px 28px;
  margin: 0 0 20px;
  padding: 14px 16px;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid var(--line);
  border-radius: 8px;
}

.medlemsliste-pic-filter {
  flex: 1 1 200px;
  min-width: 160px;
  max-width: 320px;
}

.medlemsliste-pic-filter-label {
  display: block;
  font-size: 12px;
  font-weight: 600;
  margin: 0 0 6px;
  color: var(--ink);
}

.medlemsliste-pic-filter-select {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  padding: 8px 10px;
  font-size: 13px;
  line-height: 1.35;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
}

.medlemsliste-pic-filter-select:focus {
  outline: 2px solid rgba(31, 111, 235, 0.45);
  outline-offset: 1px;
  border-color: rgba(31, 111, 235, 0.55);
}

.medlemsliste-pic-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(168px, 1fr));
  gap: 14px 16px;
  width: 100%;
  max-width: 100%;
  margin: 0 0 28px;
  align-items: stretch;
}

.medlemsliste-pic-card {
  box-sizing: border-box;
  min-width: 0;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--line);
  border-radius: 6px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.medlemsliste-pic-photo {
  display: block;
  aspect-ratio: 5 / 6;
  background: #eef1f5;
  overflow: hidden;
}

.medlemsliste-pic-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}

.medlemsliste-pic-body {
  box-sizing: border-box;
  padding: 10px 11px 12px;
  font-size: 11px;
  line-height: 1.4;
  flex: 1;
  word-wrap: break-word;
  overflow-wrap: anywhere;
}

.medlemsliste-pic-meta {
  font-size: 10px;
  color: var(--muted);
  margin-bottom: 4px;
}

.medlemsliste-pic-navn {
  font-weight: 700;
  font-size: 13px;
  margin-bottom: 8px;
  line-height: 1.25;
}

.medlemsliste-pic-navn a {
  color: var(--link);
  text-decoration: none;
}

.medlemsliste-pic-navn a:hover {
  text-decoration: underline;
}

.medlemsliste-pic-adr {
  margin-bottom: 8px;
}

.medlemsliste-pic-type {
  margin-bottom: 8px;
  font-size: 10px;
  color: var(--ink);
}

.medlemsliste-pic-kontakt {
  font-size: 10px;
}

.medlemsliste-pic-kontakt a {
  color: var(--link);
}

/* Medlemsliste (teksttabel) — samme udtryk som billedlisten */
.medlemsliste-txt-title {
  margin: 0 0 20px;
}

/* Medlemsliste eksport — .eksl-content-panel får mørk baggrund via html.eksl-dark-mode */
.medlemsliste-export-page .medlemsliste-export-panel {
  max-width: 52rem;
}

.medlemsliste-export-panel p {
  margin: 0 0 12px;
  line-height: 1.55;
  color: inherit;
}

.medlemsliste-export-panel a {
  font-weight: 600;
  color: var(--link);
  text-decoration: none;
}

.medlemsliste-export-panel a:hover {
  color: var(--link-hover);
  text-decoration: underline;
}

.medlemsliste-export-section-title {
  margin: 20px 0 8px;
  font-size: 15px;
  font-weight: 700;
  color: var(--ink);
}

.medlemsliste-export-section-title:first-of-type {
  margin-top: 4px;
}

.medlemsliste-export-ol {
  margin: 0 0 12px;
  padding-left: 1.35em;
  line-height: 1.55;
  color: inherit;
}

.medlemsliste-export-ol li {
  margin: 0 0 6px;
}

.medlemstatus-intro {
  margin: -4px 0 16px;
  max-width: 48em;
  font-size: 12px;
  line-height: 1.55;
  color: var(--muted);
}

.medlemsliste-txt-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 16px 24px;
  margin: 0 0 14px;
}

.medlemsliste-txt-sort {
  flex: 1 1 100%;
  min-width: 0;
}

.medlemsliste-txt-sort-label {
  display: block;
  font-size: 12px;
  font-weight: 600;
  margin: 0 0 8px;
  color: var(--ink);
}

.medlemsliste-txt-sort-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

a.medlemsliste-sort {
  display: inline-block;
  padding: 6px 14px;
  font-size: 12px;
  line-height: 1.35;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
  color: var(--link);
  text-decoration: none;
}

a.medlemsliste-sort:hover {
  border-color: rgba(31, 111, 235, 0.45);
  color: var(--link-hover);
}

a.medlemsliste-sort.medlemsliste-sort--active {
  background: rgba(31, 111, 235, 0.12);
  border-color: rgba(31, 111, 235, 0.5);
  color: var(--ink);
  font-weight: 600;
}

a.medlemsliste-sort.medlemsliste-sort--active:hover {
  color: var(--ink);
}

.medlemsliste-txt-soeg {
  flex: 1 1 260px;
  max-width: 420px;
  min-width: 200px;
}

.medlemsliste-txt-filters .medlemsliste-txt-filter.medlemsliste-txt-soeg {
  flex: 1 1 260px;
  min-width: 200px;
  max-width: 420px;
}

.medlemsliste-txt-soeg-label {
  display: block;
  font-size: 12px;
  font-weight: 600;
  margin: 0 0 6px;
  color: var(--ink);
}

.medlemsliste-txt-soeg-input {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  padding: 8px 12px;
  font-size: 14px;
  line-height: 1.35;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
}

.medlemsliste-txt-soeg-input:focus {
  outline: 2px solid rgba(31, 111, 235, 0.45);
  outline-offset: 1px;
  border-color: rgba(31, 111, 235, 0.55);
}

.medlemsliste-txt-soeg-status {
  margin: 6px 0 0;
  font-size: 11px;
  color: var(--muted);
  min-height: 1.35em;
}

.medlemsliste-txt-filters .medlemsliste-txt-soeg-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px 20px;
  width: 100%;
}

.medlemsliste-txt-filters .medlemsliste-txt-soeg-row .medlemsliste-txt-soeg-input {
  flex: 1 1 auto;
  min-width: 0;
}

.medlemsliste-txt-filters .medlemsliste-txt-soeg-row .medlemsliste-txt-soeg-status {
  margin: 0;
  flex: 0 0 auto;
  text-align: right;
  white-space: nowrap;
  align-self: center;
}

.medlemsliste-txt-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 16px 28px;
  margin: 0 0 16px;
  padding: 14px 16px;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid var(--line);
  border-radius: 8px;
}

.medlemsliste-txt-filter {
  flex: 1 1 200px;
  min-width: 160px;
  max-width: 320px;
}

.medlemsliste-txt-filter-label {
  display: block;
  font-size: 12px;
  font-weight: 600;
  margin: 0 0 6px;
  color: var(--ink);
}

.medlemsliste-txt-filter-select {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  padding: 8px 10px;
  font-size: 13px;
  line-height: 1.35;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
}

.medlemsliste-txt-filter-select:focus {
  outline: 2px solid rgba(31, 111, 235, 0.45);
  outline-offset: 1px;
  border-color: rgba(31, 111, 235, 0.55);
}

.medlemsliste-txt-table-wrap {
  overflow-x: auto;
  margin: 0 0 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

/* DokArkiv m.fl.: fuld bredde iframe i samme ramme som medlemsliste-tabeller */
.medlemsliste-txt-table-wrap > iframe {
  display: block;
  width: 100%;
  border: 0;
  min-height: 420px;
}

html.eksl-dark-mode .dokarkiv-embed-wrap .dokarkiv-iframe {
  color-scheme: dark;
}

.medlemsliste-txt-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
  min-width: 720px;
}

.medlemsliste-txt-table thead th {
  text-align: left;
  padding: 0;
  background: #f0f3f8;
  border-bottom: 2px solid var(--line);
  font-weight: 600;
  color: var(--ink);
  white-space: nowrap;
}

.medlemsliste-txt-table thead th.medlemsliste-txt-th-plain {
  padding: 10px 12px;
}

.medlemsliste-txt-table thead th a.medlemsliste-txt-th-link {
  display: block;
  padding: 10px 12px;
  color: var(--link);
  text-decoration: none;
  font-weight: 600;
  outline-offset: -2px;
}

.medlemsliste-txt-table thead th a.medlemsliste-txt-th-link:hover {
  text-decoration: underline;
  background: rgba(31, 111, 235, 0.1);
}

.medlemsliste-txt-table thead th a.medlemsliste-txt-th-link--active {
  font-weight: 800;
  color: var(--link);
  background: rgba(21, 81, 139, 0.08);
}

.medlemsliste-txt-table thead th a.medlemsliste-txt-th-link--active:hover {
  color: var(--link-hover);
}

.medlemsliste-txt-table thead th.medlemsliste-txt-col-type a.medlemsliste-txt-th-link {
  text-align: center;
}

.medlemsliste-txt-th-arr {
  margin-left: 3px;
  font-size: 0.72em;
  opacity: 0.85;
  vertical-align: middle;
}

.medlemsliste-txt-table tbody td {
  padding: 9px 12px;
  border-bottom: 1px solid #e8eaee;
  vertical-align: top;
}

/* Zebra via .medlemsliste-txt-row--stripe (kun synlige rækker — se __ekslStripeMedlemslisteTxtTables) */
.medlemsliste-txt-table tbody tr.medlemsliste-txt-row.medlemsliste-txt-row--stripe {
  background: rgba(0, 0, 0, 0.02);
}

.medlemsliste-txt-table tbody tr.medlemsliste-txt-row:hover {
  background: rgba(31, 111, 235, 0.06);
}

.medlemsliste-txt-num {
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.medlemsliste-txt-navn a {
  font-weight: 600;
}

.medlemsliste-txt-type {
  text-align: center;
  width: 3.2em;
}

.medlemsliste-txt-type-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.5em;
  padding: 3px 7px;
  border-radius: 5px;
  background: #e8edf4;
  font-weight: 700;
  font-size: 11px;
  line-height: 1.2;
}

.medlemsliste-txt-legend {
  font-size: 11px;
  color: var(--muted);
  margin: 0 0 20px;
  line-height: 1.45;
}

/* Kalender / statistik (iframe-sider) — kompakt, samme ramme som øvrige medlemssider */
.content .kalender-page-wrap,
.content .statistik-page-wrap {
  padding-bottom: 4px;
}

/* Padding (ikke kun margin) så afstand til piller ikke ædes af margin-collapse */
.content .kalender-page-wrap > .kalender-page-title,
.content .statistik-page-wrap > .statistik-page-title {
  margin: 0 0 20px;
  padding-bottom: 0;
}

.kalender-page-embed,
.statistik-page-embed {
  margin: 0 0 12px;
  border: 1px solid var(--line);
  border-radius: 6px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.kalender-page-embed iframe,
.statistik-page-embed iframe {
  display: block;
  width: 100%;
}

.statistik-page-lead {
  margin: -12px 0 14px;
  font-size: 13px;
  line-height: 1.45;
  color: var(--muted);
  max-width: 52em;
}

/* Klubarbejde.asp */
.content .klubarbejde-page {
  padding-bottom: 20px;
}

.klubarbejde-page-title {
  margin: 0 0 20px;
  padding-bottom: 0;
}

.klubarbejde-page-lead {
  margin: 0 0 16px;
  font-size: 13px;
  line-height: 1.45;
  color: var(--muted);
  max-width: 52em;
}

.medlemsliste-txt-table.klubarbejde-table {
  min-width: 640px;
}

/* checkin.asp (mødeliste) — fylder hele .content-bredden (venstre–højre) */
.content .flylotto-page {
  padding-bottom: 24px;
  max-width: none;
  width: 100%;
  box-sizing: border-box;
}

.flylotto-page-title {
  margin: 0 0 12px;
}

.flylotto-page-lead {
  margin: 0 0 18px;
  font-size: 13px;
  line-height: 1.5;
  color: var(--muted);
}

.flylotto-flash {
  margin: 0 0 80px;
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid rgba(31, 111, 235, 0.35);
  background: #f0f6fc;
  font-size: 12px;
  line-height: 1.45;
}

.flylotto-flash--one-line {
  white-space: nowrap;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* checkin.asp — live-synk: opfordring til genindlæs når listen er ændret mens man redigerer */
.flylotto-sync-banner {
  margin: 0 0 14px;
  padding: 12px 14px;
  border-radius: 10px;
  border: 1px solid rgba(31, 111, 235, 0.42);
  background: #e8f1fb;
  font-size: 13px;
  line-height: 1.45;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 16px;
  box-sizing: border-box;
}

.flylotto-sync-banner__txt {
  flex: 1 1 12rem;
  min-width: 0;
  color: var(--ink, #1a1a1a);
}

html.eksl-dark-mode .flylotto-sync-banner {
  background: rgba(31, 111, 235, 0.14);
  border-color: var(--line, #3d3d42);
}

html.eksl-dark-mode .flylotto-sync-banner__txt {
  color: var(--ink);
}

/* checkin.asp — brugerdefineret bekræftelsesdialog (erstatter browser confirm) */
.flylotto-dlg {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));
  box-sizing: border-box;
  font-family: Verdana, Arial, sans-serif;
}

.flylotto-dlg[hidden] {
  display: none !important;
}

.flylotto-dlg--open {
  animation: flylotto-dlg-fade 0.18s ease-out;
}

@keyframes flylotto-dlg-fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.flylotto-dlg__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(13, 33, 57, 0.55);
  cursor: pointer;
}

@supports (backdrop-filter: blur(4px)) {
  .flylotto-dlg__backdrop {
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
  }
}

.flylotto-dlg__box {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 440px;
  margin: auto;
  background: #fff;
  border-radius: 16px;
  border: 1px solid rgba(13, 33, 57, 0.12);
  box-shadow:
    0 4px 8px rgba(0, 0, 0, 0.06),
    0 24px 48px rgba(13, 33, 57, 0.18);
  padding: 22px 24px 20px;
  box-sizing: border-box;
}

.flylotto-dlg__kicker {
  margin: 0 0 6px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ink);
}

.flylotto-dlg__title {
  margin: 0 0 14px;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.25;
  color: var(--ink);
  letter-spacing: -0.02em;
}

.flylotto-dlg__msg {
  margin: 0 0 22px;
  font-size: 13px;
  line-height: 1.55;
  color: var(--ink);
  white-space: pre-line;
}

.flylotto-dlg__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 12px;
  justify-content: flex-end;
  align-items: center;
}

.flylotto-dlg__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 20px;
  font-size: 13px;
  font-weight: 700;
  font-family: inherit;
  border-radius: 10px;
  cursor: pointer;
  border: 2px solid transparent;
  box-sizing: border-box;
  transition: background 0.12s ease, border-color 0.12s ease, color 0.12s ease;
}

.flylotto-dlg__btn--primary {
  /* Samme udtryk som «Annuller» — begge knapper ens i bekræftelsesdialog */
  background: #fff;
  border-color: #c5cdd6;
  color: var(--ink);
}

.flylotto-dlg__btn--primary:hover {
  background: #f4f7fb;
  border-color: #15518b;
  color: var(--ink);
}

.flylotto-dlg__btn--secondary {
  background: #fff;
  border-color: #c5cdd6;
  color: var(--ink);
}

.flylotto-dlg__btn--secondary:hover {
  background: #f4f7fb;
  border-color: #15518b;
  color: var(--ink);
}

.flylotto-kosten {
  margin: 0 0 12px;
  padding: 8px 12px;
  border-radius: 8px;
  border: 1px solid var(--line, #d8d8d8);
  background: #f8f9fa;
  box-shadow: none;
}

.flylotto-kosten__title {
  margin: 0 0 4px;
  font-size: 12px;
  font-weight: 700;
  color: var(--muted, #5c5c5c);
  letter-spacing: 0;
  text-transform: none;
}

.flylotto-kosten__text {
  margin: 0 0 8px;
  font-size: 11px;
  line-height: 1.45;
  color: var(--muted, #6b6b6b);
}

.flylotto-kosten__winners {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  align-items: center;
}

.flylotto-kosten__card {
  position: relative;
  flex: 0 1 auto;
  min-width: 0;
  padding: 6px 10px;
  border-radius: 6px;
  background: #fff;
  border: 1px solid var(--line, #e0e0e0);
}

.flylotto-kosten__card--kosten {
  padding: 0 0 8px;
  border: 1px solid #d9c4a1;
  border-radius: 6px;
  background: #fffdf8;
  box-shadow: 0 1px 3px rgba(90, 70, 40, 0.08);
}

.flylotto-kosten__kosten-banner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100%;
  margin: 0;
  padding: 6px 32px 6px 10px;
  box-sizing: border-box;
  min-height: 2.25rem;
  background: #f3ead8;
  color: #5d4a2f;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: none;
  line-height: 1.3;
  border-radius: 5px 5px 0 0;
  border-bottom: 1px solid rgba(180, 150, 100, 0.35);
}

.flylotto-kosten__kosten-banner-ico {
  font-size: 1.1rem;
  line-height: 1;
}

.flylotto-kosten__card--kosten .flylotto-kosten__lod {
  margin-top: 8px;
  margin-bottom: 2px;
  padding: 0 36px 0 10px;
  font-size: 10px;
  color: var(--muted, #888);
}

.flylotto-kosten__card--kosten .flylotto-kosten__name {
  padding: 0 36px 0 10px;
  font-size: 12px;
  font-weight: 500;
  color: var(--text, #333);
}

.flylotto-kosten__xform {
  position: absolute;
  top: 3px;
  right: 3px;
  margin: 0;
}

/* × under «Fik kosten»-banner — ellers overlapper knappen teksten */
.flylotto-kosten__card--kosten .flylotto-kosten__xform {
  top: calc(2.25rem + 7px);
  right: 4px;
}

.flylotto-kosten__xbtn {
  width: 20px;
  height: 20px;
  border: 1px solid #c2c2c2;
  border-radius: 999px;
  background: #fff;
  color: #8b1d1d;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  padding: 0;
}

.flylotto-kosten__xbtn:hover {
  border-color: #8b1d1d;
  background: #fff1f1;
}

.flylotto-kosten__lod {
  display: block;
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--muted, #888);
  margin-bottom: 2px;
}

.flylotto-kosten__name {
  display: block;
  font-size: 12px;
  font-weight: 500;
  color: var(--text, #333);
}

/* Stort datour — synligt på afstand (fx skærm i klubhus) */
.flylotto-page--efter-bland .flylotto-motedag-today {
  margin-bottom: 10px;
}

.flylotto-page--efter-bland .flylotto-top-bar {
  margin-bottom: 10px;
}

/* Efter bland: mindre luft så listen kommer højere op (hint-boks fjernet) */
.flylotto-page--efter-bland .flylotto-flash {
  margin-bottom: 12px;
}

.flylotto-page--efter-bland .flylotto-kosten {
  margin-bottom: 10px;
}

.flylotto-page--efter-bland .flylotto-add-bar {
  margin-bottom: 12px;
}

.flylotto-page--efter-bland .flylotto-subtitle {
  margin-top: 0;
  margin-bottom: 6px;
}

.flylotto-motedag-today {
  position: relative;
  margin: 0 0 32px;
  padding: 14px 16px 18px;
  border-radius: 12px;
  border: 2px solid var(--line-strong, #9b9b9b);
  background: linear-gradient(180deg, #fff 0%, #f4f7fb 100%);
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
}

.flylotto-online-count {
  position: absolute;
  bottom: 7px;
  right: 10px;
  font-size: 11px;
  font-family: ui-monospace, "Consolas", monospace;
  color: var(--ink);
  line-height: 1;
  user-select: none;
  pointer-events: none;
}

.flylotto-motedag-today__inner {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  gap: 6px;
  width: 100%;
  box-sizing: border-box;
}

.flylotto-motedag-today__clock-row {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem 1rem;
  width: 100%;
  box-sizing: border-box;
  /* Adskilt fra øvrig mødeliste (Verdana): moderne sans til ur + dato */
  font-family: ui-sans-serif, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
}

.flylotto-motedag-today__center-wrap {
  flex: 1 1 auto;
  min-width: min(5rem, 22vw);
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 2.75rem;
  position: relative;
  z-index: 1;
}

.flylotto-motedag-today__evening {
  text-align: center;
  line-height: 1.15;
  max-width: 100%;
  box-sizing: border-box;
}

.flylotto-motedag-today__evening[hidden] {
  display: none !important;
}

/* Samme typografi som .flylotto-motedag-today__date */
.flylotto-motedag-today__evening--countdown,
.flylotto-motedag-today__evening--greeting {
  font-size: clamp(1.35rem, 4vw, 2.25rem);
  line-height: 1.12;
  letter-spacing: -0.02em;
  font-weight: 500;
  color: #000;
}

.flylotto-motedag-today__test-flag {
  flex: 0 0 auto;
  font-family: Verdana, Arial, sans-serif;
  font-size: clamp(0.7rem, 2.8vw, 1rem);
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #b00020;
  line-height: 1.2;
  padding: 4px 8px;
  border-radius: 6px;
  border: 1px solid rgba(176, 0, 32, 0.45);
  background: rgba(176, 0, 32, 0.08);
}

.flylotto-motedag-today__date {
  display: block;
  text-align: right;
  font-size: clamp(1.35rem, 4vw, 2.25rem);
  line-height: 1.12;
  letter-spacing: -0.02em;
  font-weight: 500;
  color: #000;
  box-sizing: border-box;
  flex: 0 1 auto;
  min-width: 0;
  max-width: 42%;
}

.flylotto-motedag-today__clock {
  display: block;
  font-size: clamp(1.35rem, 4vw, 2.25rem);
  font-weight: 500;
  line-height: 1.12;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.02em;
  color: #000;
  text-align: left;
  flex: 0 0 auto;
}

body.flylotto-fullwidth-mode {
  padding: 0 !important;
}

body.flylotto-fullwidth-mode {
  padding: 0 !important;
}

body.flylotto-fullwidth-mode .full {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box;
}

body.flylotto-fullwidth-mode .holder {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  border-radius: 0;
  border-width: 0;
  box-shadow: none;
}

@media (max-width: 1420px) {
  body.flylotto-fullwidth-mode .holder {
    max-width: none !important;
    width: 100% !important;
  }
}

body.flylotto-fullwidth-mode .content {
  padding-left: clamp(12px, 2vw, 32px);
  padding-right: clamp(12px, 2vw, 32px);
}

/* Webcam-sider: kamera- og vejrbokse må fylde vinduet i fuld bredde */
body.flylotto-fullwidth-mode .camera-wrapper,
body.flylotto-fullwidth-mode .weather-box,
body.flylotto-fullwidth-mode .wm-page {
  max-width: none !important;
  width: 100%;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box;
}

body.flylotto-fullwidth-mode .camera-img-wrapper img.main-camera-img {
  width: 100%;
  height: auto;
  max-width: none;
}

body.flylotto-fullwidth-mode #overlay img {
  max-width: 98vw;
  max-height: 92vh;
}

body.flylotto-fullwidth-mode #overlay.webcam-overlay--native #popupImg,
#overlay.webcam-overlay--native #popupImg.webcam-popup-img {
  max-width: none !important;
  max-height: none !important;
}

/* Webcam fuldskærmsbillede: over hovedmenu (menu z-index 10050) */
#overlay {
  z-index: 100100 !important;
}

body.webcam-overlay-open {
  overflow: hidden;
}

body.webcam-overlay-open .header,
body.webcam-overlay-open .menu,
body.webcam-overlay-open .holder > .content,
body.webcam-overlay-open .footer {
  visibility: hidden;
  pointer-events: none;
}

.flylotto-note,
.flylotto-hint,
.flylotto-table-note {
  margin: 0 0 14px;
  font-size: 12px;
  line-height: 1.45;
  color: var(--muted);
}

.flylotto-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 12px;
  margin: 0 0 14px;
}

.flylotto-inline-form {
  margin: 0;
}

.flylotto-btn {
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  padding: 8px 14px;
  border-radius: 8px;
  cursor: pointer;
  border: 1px solid var(--line-strong, #9b9b9b);
  background: #fff;
  color: var(--ink);
}

.flylotto-btn--primary {
  border-color: #15518b;
  background: #15518b;
  color: #fff;
}

.flylotto-btn--primary:hover {
  background: #0e4572;
  border-color: var(--link);
}

/* Afslut mødelisten og arkiver: tydelig grøn, lidt større end øvrige flylotto-knapper */
.flylotto-btn--afslut-moede {
  font-size: 15px;
  font-weight: 800;
  padding: 10px 18px;
  border-radius: 9px;
  border-color: #1d6b3a;
  background: linear-gradient(180deg, #22a34a 0%, #15803d 100%);
  color: #fff;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2) inset;
}

.flylotto-btn--afslut-moede:hover {
  background: linear-gradient(180deg, #1d8f40 0%, #126b30 100%);
  border-color: #14532d;
  color: #fff;
}

.flylotto-btn--accent {
  border-color: #15518b;
  background: #15518b;
  color: #fff !important;
}

.flylotto-btn--accent:hover {
  background: #0e4572;
  border-color: var(--link);
  color: #fff !important;
}

.flylotto-btn--secondary:hover,
.flylotto-btn--ghost:hover {
  background: #f0f4fa;
  border-color: var(--link, #15518b);
}

.flylotto-btn--ghost {
  background: transparent;
}

.flylotto-btn--danger {
  border-color: #c44;
  color: #a22;
  background: #fff;
}

.flylotto-btn--danger:hover {
  background: #fff5f5;
  border-color: #a22;
  color: #800;
}

.flylotto-subtitle {
  margin: 0 0 8px;
  font-size: 14px;
}

.flylotto-subtitle__ant {
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  color: var(--text, #1a1a1a);
}

/* Større skrift (20 px) — kun Briefing + Mødelisten (.content), slås til fra menu */
html.eksl-store-bogstaver body.eksl-page-briefing .content,
html.eksl-store-bogstaver body.eksl-page-briefing .content *,
html.eksl-store-bogstaver body.eksl-page-checkin .content,
html.eksl-store-bogstaver body.eksl-page-checkin .content * {
  font-size: 20px !important;
}

.flylotto-sheet-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px 16px;
  margin: 0 0 6px;
  font-size: 12px;
  color: var(--muted);
}

.flylotto-sheet-head strong {
  color: var(--ink);
}

.flylotto-table-wrap {
  width: 100%;
  box-sizing: border-box;
  overflow-x: auto;
  margin-top: 4px;
  -webkit-overflow-scrolling: touch;
}

.flylotto-table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  font-size: 11px;
}

.flylotto-table th,
.flylotto-table td {
  padding: 6px 8px;
  text-align: left;
  border: 1px solid var(--line);
  vertical-align: top;
  word-wrap: break-word;
  overflow-wrap: anywhere;
  white-space: normal;
}

/* Smalle kolonner — hold én linje hvor det giver mening */
.flylotto-table th:nth-child(1),
.flylotto-table td:nth-child(1),
.flylotto-table th:nth-child(2),
.flylotto-table td:nth-child(2),
.flylotto-table th:nth-child(4),
.flylotto-table td:nth-child(4),
.flylotto-table th:nth-child(6),
.flylotto-table td:nth-child(6),
.flylotto-table th:nth-child(7),
.flylotto-table td:nth-child(7),
.flylotto-table th:nth-child(9),
.flylotto-table td:nth-child(9),
.flylotto-table th:nth-child(10),
.flylotto-table td:nth-child(10),
.flylotto-table th:nth-child(11),
.flylotto-table td:nth-child(11) {
  white-space: nowrap;
}

/* Kun dataceller: min-width 0 giver wrap i smalle kolonner — ikke på th (undgår klippet overskrift) */
.flylotto-table td.flylotto-cell-wrap {
  min-width: 0;
}

.flylotto-table th.flylotto-th-wrap {
  min-width: max(9.5rem, 15ch);
  overflow-wrap: normal;
  word-wrap: normal;
}

/* Kolonnebredder — min-width på smalle kolonner så fed overskrift + indhold ikke klippes/overlapper */
.flylotto-table th:nth-child(1),
.flylotto-table td:nth-child(1) {
  width: 3%;
  min-width: max(2.5rem, 5ch);
  text-align: center;
  box-sizing: border-box;
}
.flylotto-table th:nth-child(2),
.flylotto-table td:nth-child(2) {
  width: 5%;
  min-width: max(3.5rem, 8ch);
  text-align: center;
  box-sizing: border-box;
}
.flylotto-table th:nth-child(3),
.flylotto-table td:nth-child(3) {
  width: 14%;
  min-width: 8rem;
  box-sizing: border-box;
  overflow-wrap: break-word;
  word-wrap: break-word;
}
/* Medlem: smal (kun medlemsnr.); Navn: mere plads så fulde navne sjældnere brydes */
.flylotto-table th:nth-child(4),
.flylotto-table td:nth-child(4) {
  width: 5%;
  min-width: max(3.25rem, 8ch);
  overflow-wrap: normal;
  word-wrap: normal;
  box-sizing: border-box;
}
.flylotto-table th:nth-child(5),
.flylotto-table td:nth-child(5) {
  width: 20%;
  min-width: max(11rem, 28ch);
  box-sizing: border-box;
}
/* Skoling: plads til hele «Skoling» */
.flylotto-table th:nth-child(6),
.flylotto-table td:nth-child(6) {
  width: 0;
  min-width: max(7.5rem, 15ch);
  overflow-wrap: normal;
  word-wrap: normal;
  box-sizing: border-box;
}
.flylotto-table th:nth-child(7),
.flylotto-table td:nth-child(7) {
  width: 5%;
  min-width: max(3rem, 7ch);
  text-align: center;
  box-sizing: border-box;
}
.flylotto-table th:nth-child(8),
.flylotto-table td:nth-child(8) {
  width: 22%;
  min-width: max(8rem, 14ch);
  box-sizing: border-box;
}
/* Går kl. */
.flylotto-table th:nth-child(9),
.flylotto-table td:nth-child(9) {
  width: 6%;
  min-width: max(4.75rem, 11ch);
  box-sizing: border-box;
}
/* Tid: smal men komplet synlig tekst */
.flylotto-table th:nth-child(10),
.flylotto-table td:nth-child(10) {
  width: 0;
  min-width: max(4rem, 8ch);
  max-width: 6rem;
  box-sizing: border-box;
  padding-left: 4px;
  padding-right: 4px;
  overflow-wrap: normal;
  word-wrap: normal;
}
.flylotto-table th:nth-child(11),
.flylotto-table td:nth-child(11) {
  width: 7%;
  min-width: max(3.75rem, 9ch);
  text-align: center;
  box-sizing: border-box;
}

.flylotto-tid-stamp {
  font-variant-numeric: tabular-nums;
  color: var(--muted, #5a5a5a);
}

/* Flex på indre div — ikke på <td>, ellers skævner kolonner i nogle browsere */
.flylotto-fly-td {
  vertical-align: middle;
  overflow-wrap: break-word;
  word-wrap: break-word;
}

.flylotto-fly-inner {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
}

.flylotto-fly-inner.flylotto-fly-inner--stack {
  flex-direction: column;
  align-items: stretch;
  gap: 6px;
}

.flylotto-fly-form {
  margin: 0;
  padding: 0;
  border: 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 6px;
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
}

.flylotto-fly-label {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 4px;
  min-width: 0;
  width: 100%;
  margin: 0;
  font: inherit;
  font-size: 11px;
  color: var(--muted, #5a5a5a);
}

.flylotto-fly-label-txt {
  font-weight: 600;
  color: var(--ink, #1a1a1a);
}

.flylotto-nr-td {
  position: relative;
  vertical-align: middle;
}

.flylotto-fly-select {
  flex: 1 1 auto;
  min-width: 0;
  width: 100%;
  max-width: 100%;
  min-height: 2rem;
  font: inherit;
  font-size: 11px;
  padding: 4px 6px;
  border-radius: 4px;
  border: 1px solid var(--line-strong, #9b9b9b);
  box-sizing: border-box;
  background-color: #fff;
  color: var(--ink, #1a1a1a);
  -webkit-appearance: menulist;
  appearance: auto;
}

.flylotto-fly-select:disabled {
  opacity: 1;
  color: var(--ink, #1a1a1a);
  background-color: #f3f5f7;
  cursor: not-allowed;
}

.flylotto-fly-inner .flylotto-fly-cell-gem {
  flex: 0 0 auto;
  align-self: flex-start;
  margin-top: 2px;
  font-size: 11px;
  padding: 4px 10px;
}

.flylotto-fly-empty {
  color: var(--muted, #6b6b6b);
}

.flylotto-fly-skip {
  font-size: 11px;
  font-weight: 600;
  color: var(--muted, #5a5a5a);
  font-style: italic;
}

.flylotto-fly-om-form {
  margin: 0;
  padding: 0;
  border: 0;
  align-self: flex-start;
}

.flylotto-fly-cell-om {
  margin-top: 2px;
  font-size: 11px;
  padding: 3px 8px;
}

.flylotto-print-bar {
  margin: 0 0 14px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
}

.flylotto-print-bar-hint {
  font-size: 12px;
  color: var(--muted, #6b6b6b);
}

.flylotto-print-inline {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
}

/* Check-in: venstre = bland + afslut + print; højre = nulstil + historik */
.flylotto-top-bar {
  margin: 0 0 32px;
  padding-bottom: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
}

.flylotto-top-bar__left {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 12px;
  flex: 1 1 auto;
  min-width: 0;
}

.flylotto-top-bar__right {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 12px;
  margin-left: auto;
}

.flylotto-top-bar .flylotto-actions {
  margin: 0;
  justify-content: flex-start;
}

.flylotto-top-bar__hist {
  margin-left: 0;
}

.flylotto-historik-page .flylotto-hist-nav {
  margin: 0 0 12px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.flylotto-hist-actions {
  display: inline-flex;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 6px 8px;
  align-items: center;
  vertical-align: middle;
  white-space: nowrap;
}

.flylotto-hist-actions .flylotto-btn {
  flex-shrink: 0;
}

.flylotto-hist-meta {
  margin: 0 0 10px;
  font-size: 13px;
  color: var(--ink, #222);
}

.flylotto-historik-page .flylotto-hist-list {
  table-layout: auto;
  max-width: 640px;
}

.flylotto-historik-page .flylotto-hist-table {
  table-layout: auto;
}

/* Historik: liste + statistik-dashboard */
.flylotto-historik-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 320px);
  gap: 24px 28px;
  align-items: start;
}

.flylotto-historik-main {
  min-width: 0;
}

.flylotto-historik-split .flylotto-hist-list {
  max-width: none;
  width: 100%;
}

.flylotto-hist-dashboard {
  position: sticky;
  top: 12px;
}

.flylotto-hist-dash-card {
  margin: 0 0 14px;
  padding: 14px 14px 12px;
  border-radius: 10px;
  border: 1px solid var(--line, #d8dee8);
  background: linear-gradient(165deg, #fafcfe 0%, #f4f6fa 100%);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

.flylotto-hist-dash-card--intro {
  background: linear-gradient(165deg, #f0f6fc 0%, #e8eef6 100%);
  border-color: rgba(21, 81, 139, 0.22);
}

.flylotto-hist-fact-form {
  margin: 0 0 12px;
}

.flylotto-hist-fact-form label {
  display: block;
  margin: 0 0 5px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--muted, #5a5a5a);
}

.flylotto-hist-fact-form select {
  display: block;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  padding: 7px 9px;
  font-size: 12px;
  font-family: inherit;
  border: 1px solid var(--line, #c9d4e0);
  border-radius: 8px;
  background: #fff;
  color: var(--ink, #222);
}

.flylotto-hist-fact-form select:focus {
  outline: 2px solid rgba(21, 81, 139, 0.35);
  outline-offset: 1px;
}

.flylotto-hist-fact-form .flylotto-btn {
  margin-top: 8px;
}

.flylotto-hist-dash-title {
  margin: 0 0 8px;
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--ink, #1a1a1a);
}

.flylotto-hist-dash-h {
  margin: 0 0 8px;
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--ink, #222);
}

.flylotto-hist-dash-note,
.flylotto-hist-dash-p {
  margin: 0 0 10px;
  font-size: 12px;
  line-height: 1.45;
  color: var(--muted, #5a5a5a);
}

.flylotto-hist-dash-note:last-child,
.flylotto-hist-dash-p:last-child {
  margin-bottom: 0;
}

.flylotto-hist-dash-empty {
  margin: 0;
  font-size: 12px;
  color: var(--muted, #6b6b6b);
  font-style: italic;
}

.flylotto-hist-dash-dl {
  margin: 0;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 6px 12px;
  font-size: 12px;
}

.flylotto-hist-dash-dl dt {
  margin: 0;
  color: var(--muted, #5a5a5a);
  font-weight: 600;
}

.flylotto-hist-dash-dl dd {
  margin: 0;
  text-align: right;
  font-weight: 700;
  color: var(--ink, #1a1a1a);
  font-variant-numeric: tabular-nums;
}

.flylotto-hist-dash-sub {
  display: block;
  font-weight: 500;
  font-size: 11px;
  color: var(--muted, #6b6b6b);
  margin-top: 2px;
}

.flylotto-hist-dash-row {
  margin: 0 0 10px;
}

.flylotto-hist-dash-row:last-child {
  margin-bottom: 0;
}

.flylotto-hist-dash-row-hd {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 8px;
  margin-bottom: 4px;
  font-size: 11px;
}

.flylotto-hist-dash-name {
  min-width: 0;
  font-weight: 600;
  color: var(--ink, #222);
  word-break: break-word;
}

.flylotto-hist-dash-num {
  flex-shrink: 0;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  color: var(--muted, #444);
}

.flylotto-hist-dash-bar {
  height: 7px;
  border-radius: 4px;
  background: rgba(21, 81, 139, 0.12);
  overflow: hidden;
}

.flylotto-hist-dash-bar > span {
  display: block;
  height: 100%;
  border-radius: 4px;
  background: linear-gradient(90deg, #2a6fb0 0%, #15518b 100%);
  min-width: 3px;
  transition: width 0.25s ease;
}

.flylotto-hist-dash-bar--teal > span {
  background: linear-gradient(90deg, #0d9488 0%, #0f766e 100%);
}

.flylotto-hist-dash-bar--green > span {
  background: linear-gradient(90deg, #22a34a 0%, #15803d 100%);
}

.flylotto-hist-dash-bar--amber > span {
  background: linear-gradient(90deg, #d97706 0%, #b45309 100%);
}

.flylotto-hist-dash-bar--wine > span {
  background: linear-gradient(90deg, #a8485e 0%, #7c2d3d 100%);
}

@media (max-width: 960px) {
  .flylotto-historik-split {
    grid-template-columns: 1fr;
  }

  .flylotto-hist-dashboard {
    position: static;
    order: -1;
  }
}

@media print {
  .flylotto-page .no-print {
    display: none !important;
  }
}

.flylotto-gem-rad {
  margin: 0 0 10px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
}

.flylotto-gem-rad-hint {
  font-size: 12px;
  color: var(--muted, #6b6b6b);
}

.flylotto-slet-cell {
  vertical-align: middle;
  text-align: center;
}

.flylotto-mini-input,
.flylotto-mini-select {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  min-width: 0;
  font: inherit;
  font-size: 11px;
  padding: 3px 5px;
  border-radius: 4px;
  border: 1px solid var(--line-strong, #9b9b9b);
}

/* Egen række: undgå ramme-i-ramme (kun cellens ydre kant) */
.flylotto-tr--own .flylotto-mini-input,
.flylotto-tr--own .flylotto-mini-select,
.flylotto-tr--own .flylotto-fly-select,
.flylotto-tr--own .flylotto-mini-textarea {
  border: none;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
  padding-left: 2px;
  padding-right: 2px;
}

.flylotto-tr--own .flylotto-fly-select:disabled {
  background-color: transparent;
}

.flylotto-tr--own .flylotto-mini-input:focus-visible,
.flylotto-tr--own .flylotto-mini-select:focus-visible,
.flylotto-tr--own .flylotto-fly-select:focus-visible,
.flylotto-tr--own .flylotto-mini-textarea:focus-visible {
  outline: 2px solid var(--link, #15518b);
  outline-offset: 0;
}

.flylotto-mini-textarea {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  min-width: 0;
  min-height: 2.5em;
  font: inherit;
  font-size: 11px;
  padding: 4px 6px;
  border-radius: 4px;
  border: 1px solid var(--line-strong, #9b9b9b);
  white-space: normal;
  resize: vertical;
}

.flylotto-row-form {
  margin: 0;
}

.flylotto-btn--row {
  padding: 4px 8px;
  font-size: 11px;
}

/* Fælles kolonner for medlem + gæst (subgrid), så bemærkning / skal gå kl. / knap flugter på tværs af rækkerne */
.flylotto-add-bars {
  margin: 0;
}

.flylotto-add-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 12px 16px;
  margin: 0 0 16px;
  padding: 12px 14px;
  border: 1px dashed var(--line);
  border-radius: 8px;
  background: #fafbfd;
}

.flylotto-add-bar--guest {
  margin-top: 4px;
  padding-top: 14px;
  border-top: 1px solid var(--line, #ddd);
}

@supports (grid-template-columns: subgrid) {
  .flylotto-add-bars {
    display: grid;
    grid-template-columns: max-content minmax(12em, 1fr) max-content;
    column-gap: 16px;
    row-gap: 0;
  }

  .flylotto-add-bars > .flylotto-add-bar {
    display: grid;
    grid-template-columns: subgrid;
    grid-column: 1 / -1;
    column-gap: inherit;
    row-gap: 12px;
    align-items: start;
  }

  .flylotto-add-bars > .flylotto-add-bar .flylotto-add-bar__member {
    grid-column: 1;
    grid-row: 1;
    flex: unset;
    min-width: 0;
    max-width: 100%;
    width: 100%;
    box-sizing: border-box;
  }

  .flylotto-add-bars > .flylotto-add-bar .flylotto-add-bar__bem {
    grid-column: 2;
    grid-row: 1;
    flex: unset;
    min-width: 0;
    width: 100%;
    max-width: 100%;
    justify-self: stretch;
  }

  .flylotto-add-bars > .flylotto-add-bar .flylotto-add-bar__garkl-row {
    grid-column: 3;
    grid-row: 1;
    flex: unset;
  }

  .flylotto-add-bars > .flylotto-add-bar .flylotto-add-bar__tail {
    grid-column: 1 / -1;
    grid-row: 2;
    flex: unset;
  }
}

/* checkin.asp — smal skærm: stak dato/ur, top-knapper og tilføj-baren; mødeliste må bryde linjer i celler */
@media (max-width: 720px) {
  .flylotto-page {
    min-width: 0;
  }

  .flylotto-motedag-today {
    margin-bottom: 16px;
    padding: 12px 12px 26px;
  }

  .flylotto-motedag-today__clock-row {
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 8px 10px;
  }

  .flylotto-motedag-today__center-wrap {
    flex: 1 1 100%;
    order: 2;
    min-width: 0;
    justify-content: center;
    min-height: auto;
  }

  .flylotto-motedag-today__date {
    flex: 1 1 100%;
    order: 3;
    max-width: 100%;
    text-align: center;
  }

  .flylotto-top-bar {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
    margin-bottom: 16px;
  }

  .flylotto-top-bar__left,
  .flylotto-top-bar__right {
    margin-left: 0;
    flex-direction: column;
    align-items: stretch;
  }

  .flylotto-top-bar .flylotto-inline-form,
  .flylotto-top-bar .flylotto-print-inline {
    width: 100%;
    max-width: 100%;
  }

  .flylotto-top-bar .flylotto-btn {
    display: inline-flex;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    white-space: normal;
    text-align: center;
    justify-content: center;
  }

  .flylotto-flash {
    margin-bottom: 16px;
  }

  .flylotto-flash--one-line {
    white-space: normal;
    overflow-x: visible;
  }

  /* Mødeliste (kun checkin): kort-layout — ingen vandret scroll */
  body.eksl-page-checkin .flylotto-page .flylotto-table-wrap {
    max-width: 100%;
    overflow-x: visible;
    padding-bottom: 4px;
    box-sizing: border-box;
  }

  body.eksl-page-checkin .flylotto-page .flylotto-table-wrap::before {
    content: "På lille skærm vises hver person som kort — scroll ned gennem listen.";
    display: block;
    font-size: 12px;
    line-height: 1.45;
    color: var(--muted);
    margin: 0 0 12px;
    padding: 10px 12px;
    background: #eef4fb;
    border-radius: 10px;
    border: 1px solid rgba(31, 111, 235, 0.28);
    box-sizing: border-box;
  }

  html.eksl-dark-mode body.eksl-page-checkin .flylotto-page .flylotto-table-wrap::before {
    background: rgba(31, 111, 235, 0.1);
    border-color: var(--line);
    color: var(--muted);
  }

  /* Øvrige sider med tabeller i wrap: stadig vandret scroll ved behov */
  .flylotto-table-wrap {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    box-sizing: border-box;
  }

  body.eksl-page-checkin .flylotto-page .flylotto-table-wrap {
    overflow-x: visible;
  }

  .flylotto-add-bars {
    display: flex !important;
    flex-direction: column;
    gap: 0;
  }

  .flylotto-add-bars > .flylotto-add-bar {
    display: flex !important;
    flex-direction: column;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  .flylotto-add-bars > .flylotto-add-bar .flylotto-add-bar__member,
  .flylotto-add-bars > .flylotto-add-bar .flylotto-add-bar__bem,
  .flylotto-add-bars > .flylotto-add-bar .flylotto-add-bar__garkl-row,
  .flylotto-add-bars > .flylotto-add-bar .flylotto-add-bar__tail {
    grid-column: unset !important;
    grid-row: unset !important;
    width: 100% !important;
    max-width: 100% !important;
    justify-self: stretch !important;
  }

  .flylotto-add-bar__member-pick .flylotto-add-select {
    max-width: 100%;
  }

  /* Letlæselig tekst + kompakt men tryg afstand */
  .flylotto-page .flylotto-note,
  .flylotto-page .flylotto-hint,
  .flylotto-page .flylotto-table-note {
    font-size: 14px;
    line-height: 1.5;
  }

  .flylotto-page .flylotto-flash {
    font-size: 14px;
    line-height: 1.5;
    padding: 12px 14px;
  }

  .flylotto-subtitle {
    font-size: 1.05rem;
    line-height: 1.35;
  }

  /* Mødeliste: hold «X på mødelisten» synlig under scroll på lille skærm (flyvalg m.m.) */
  body.eksl-page-checkin .flylotto-page h3.flylotto-subtitle#flylotto-liste-h {
    position: sticky;
    top: 0;
    z-index: 4;
    margin-top: 0;
    padding: 10px 0 8px;
    background: var(--bg);
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.07);
  }

  html.eksl-dark-mode body.eksl-page-checkin .flylotto-page h3.flylotto-subtitle#flylotto-liste-h {
    box-shadow: 0 1px 0 var(--line);
  }

  .flylotto-sheet-head {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px 0;
    font-size: 13px;
  }

  /* Kosten: kort fuld bredde */
  .flylotto-kosten {
    padding: 12px 14px;
  }

  .flylotto-kosten__winners {
    flex-direction: column;
    align-items: stretch;
  }

  .flylotto-kosten__card {
    width: 100%;
    box-sizing: border-box;
  }

  /* Tilføj-formular: større felter, stak medlemssøg + dropdown */
  .flylotto-add-bar {
    padding: 14px 12px;
    gap: 14px;
  }

  .flylotto-add-bar__member {
    width: 100%;
    max-width: 100%;
  }

  .flylotto-add-bar__member-pick {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }

  .flylotto-add-sok-wrap {
    width: 100%;
  }

  .flylotto-add-medlem-sok {
    width: 100%;
    max-width: none;
    flex: 1 1 auto;
    min-height: 44px;
    height: auto;
    font-size: 16px;
  }

  .flylotto-add-bar__member-pick .flylotto-add-select {
    flex: 1 1 auto;
    min-width: 0;
    width: 100%;
    min-height: 44px;
    height: auto;
    font-size: 16px;
  }

  .flylotto-add-bar__member-pick .flylotto-add-select option {
    font-size: 16px;
  }

  .flylotto-add-bar__bem {
    flex: 1 1 auto;
    min-width: 0;
    width: 100%;
    max-width: none;
  }

  .flylotto-add-bem {
    min-height: 3.25rem;
    height: auto;
    line-height: 1.4;
    font-size: 16px;
    max-height: 40vh;
  }

  .flylotto-bem-genveje {
    flex-wrap: nowrap;
    gap: 10px 16px;
    align-items: center;
    margin-top: 8px;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    padding-bottom: 2px;
  }

  .flylotto-bem-genvej {
    font-size: 14px;
    min-height: 44px;
    align-items: center;
    flex-shrink: 0;
    white-space: nowrap;
  }

  .flylotto-bem-genvej input[type="checkbox"] {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
  }

  .flylotto-add-bar__garkl-row {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    gap: 12px;
  }

  .flylotto-add-bar__garkl {
    flex: 1 1 auto;
    min-width: 0;
    max-width: none;
    width: 100%;
  }

  .flylotto-add-garkl {
    min-height: 44px;
    height: auto;
    font-size: 16px;
  }

  .flylotto-add-bar__tail {
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 10px;
  }

  .flylotto-add-bar__count {
    text-align: left;
    font-size: 14px;
  }

  .flylotto-add-bar__btn {
    width: 100%;
  }

  .flylotto-add-bar__btn .flylotto-btn {
    width: 100%;
    min-height: 48px;
    font-size: 15px;
    box-sizing: border-box;
  }

  .flylotto-page .flylotto-add-gast-navn {
    min-height: 44px;
    height: auto;
    font-size: 16px;
  }

  /* WAN-besked: ingen vandret scroll — tekst må bryde */
  .flylotto-add-bar--locked.flylotto-add-bar--wan-hint {
    overflow-x: visible;
  }

  .flylotto-add-bar--locked.flylotto-add-bar--wan-hint .flylotto-note--inline {
    white-space: normal;
  }

  /* Fly-kolonne: altid stakket, store trygflader */
  .flylotto-page .flylotto-fly-inner {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px;
  }

  .flylotto-page .flylotto-fly-select {
    min-height: 44px;
    font-size: 16px;
    padding: 8px 10px;
  }

  .flylotto-page .flylotto-fly-label {
    font-size: 14px;
    gap: 6px;
  }

  .flylotto-page .flylotto-fly-inner .flylotto-fly-cell-gem,
  .flylotto-page .flylotto-fly-cell-om {
    width: 100%;
    min-height: 44px;
    box-sizing: border-box;
  }

  .flylotto-page .flylotto-btn--row {
    min-height: 44px;
    padding: 10px 12px;
    font-size: 14px;
  }

  /* Mødeliste checkin: kort pr. række (felter med label over indhold) */
  body.eksl-page-checkin .flylotto-page .flylotto-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }

  body.eksl-page-checkin .flylotto-page .flylotto-table,
  body.eksl-page-checkin .flylotto-page .flylotto-table tbody,
  body.eksl-page-checkin .flylotto-page .flylotto-table tbody tr {
    display: block;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  body.eksl-page-checkin .flylotto-page .flylotto-table {
    border: 0;
    font-size: 14px;
    table-layout: auto;
  }

  body.eksl-page-checkin .flylotto-page .flylotto-table tbody tr {
    margin: 0 0 14px;
    padding: 0;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: var(--paper, #fff);
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
    overflow: hidden;
  }

  body.eksl-page-checkin .flylotto-page .flylotto-table tbody tr.flylotto-tr--own {
    border-color: rgba(21, 81, 139, 0.5);
    box-shadow: 0 0 0 1px rgba(21, 81, 139, 0.12);
  }

  html.eksl-dark-mode body.eksl-page-checkin .flylotto-page .flylotto-table tbody tr {
    background: #252528;
    box-shadow: none;
  }

  body.eksl-page-checkin .flylotto-page .flylotto-table tbody td {
    display: block;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    padding: 12px 14px;
    border: 0;
    border-bottom: 1px solid var(--line);
    text-align: left !important;
    vertical-align: top;
    box-sizing: border-box;
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  body.eksl-page-checkin .flylotto-page .flylotto-table tbody td:last-child {
    border-bottom: 0;
  }

  body.eksl-page-checkin .flylotto-page .flylotto-table tbody td::before {
    display: block;
    font-weight: 800;
    font-size: 10px;
    line-height: 1.35;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--muted);
    margin-bottom: 8px;
  }

  body.eksl-page-checkin .flylotto-page .flylotto-table tbody td:nth-child(1)::before {
    content: "Nr.";
  }

  body.eksl-page-checkin .flylotto-page .flylotto-table tbody td:nth-child(2)::before {
    content: "Lod nr.";
  }

  body.eksl-page-checkin .flylotto-page .flylotto-table tbody td:nth-child(3)::before {
    content: "Fly";
  }

  body.eksl-page-checkin .flylotto-page .flylotto-table tbody td:nth-child(4)::before {
    content: "Medlem";
  }

  body.eksl-page-checkin .flylotto-page .flylotto-table tbody td:nth-child(5)::before {
    content: "Navn";
  }

  body.eksl-page-checkin .flylotto-page .flylotto-table tbody td:nth-child(6)::before {
    content: "Skoling";
  }

  body.eksl-page-checkin .flylotto-page .flylotto-table tbody td:nth-child(7)::before {
    content: "SPL";
  }

  body.eksl-page-checkin .flylotto-page .flylotto-table tbody td:nth-child(8)::before {
    content: "Bemærkninger";
  }

  body.eksl-page-checkin .flylotto-page .flylotto-table tbody td:nth-child(9)::before {
    content: "Går kl.";
  }

  body.eksl-page-checkin .flylotto-page .flylotto-table tbody td:nth-child(10)::before {
    content: "Ankomst";
  }

  body.eksl-page-checkin .flylotto-page .flylotto-table tbody td:nth-child(11)::before {
    content: "Slet";
  }

  body.eksl-page-checkin .flylotto-page .flylotto-table tbody td:nth-child(11) {
    text-align: center !important;
  }

  body.eksl-page-checkin .flylotto-page .flylotto-table tbody td:nth-child(11) .flylotto-btn,
  body.eksl-page-checkin .flylotto-page .flylotto-table tbody td:nth-child(11) form {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  body.eksl-page-checkin .flylotto-page .flylotto-table tbody td:nth-child(11) .flylotto-btn {
    min-height: 46px;
    justify-content: center;
    display: inline-flex;
  }

  body.eksl-page-checkin .flylotto-page .flylotto-table .flylotto-empty--one-line {
    white-space: normal;
  }

  .flylotto-page .flylotto-mini-textarea {
    font-size: 16px !important;
    min-height: 3rem;
  }

  /* Bekræftelsesdialog */
  .flylotto-dlg__box {
    max-width: min(440px, calc(100vw - 20px));
    padding: 18px 16px 16px;
  }

  .flylotto-dlg__actions {
    flex-direction: column-reverse;
    align-items: stretch;
  }

  .flylotto-dlg__btn {
    width: 100%;
    min-height: 48px;
    justify-content: center;
  }

  .flylotto-print-bar .flylotto-btn {
    width: 100%;
    max-width: 100%;
    min-height: 48px;
    justify-content: center;
    box-sizing: border-box;
  }

  .flylotto-historik-page .flylotto-hist-actions {
    flex-wrap: wrap;
    white-space: normal;
    justify-content: flex-start;
  }

  .flylotto-historik-page .flylotto-hist-actions .flylotto-btn {
    flex: 1 1 auto;
    min-width: min(100%, 12rem);
  }
}

@supports not (grid-template-columns: subgrid) {
  .flylotto-add-bar--guest .flylotto-add-bar__member {
    flex: 0 0 min(100%, calc(6.5rem + 8px + 14rem));
    max-width: 100%;
    width: min(100%, calc(6.5rem + 8px + 14rem));
    box-sizing: border-box;
  }
}

.flylotto-add-guest-hint {
  font-weight: normal;
  color: var(--muted, #6b6b6b);
  font-size: 0.92em;
}

.flylotto-add-gast-navn {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  /* Samme feltstil som select / bemærkning oven over (flylotto-add-select / flylotto-add-bem) */
  font-family: inherit;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.25;
  padding: 6px 8px;
  border-radius: 6px;
  border: 1px solid var(--line-strong, #9b9b9b);
  min-height: 2.25rem;
  height: 2.25rem;
  color: var(--ink, #222);
}

.flylotto-add-bar--locked {
  align-items: flex-start;
  flex-direction: column;
  gap: 8px;
  background: #f3f5f7;
  border-style: solid;
}

.flylotto-add-bar--locked .flylotto-note--inline {
  margin: 0;
  max-width: 40em;
}

/* Én linje: briefing-tekst må ikke brydes kunstigt (smal max-width) */
.flylotto-add-bar--locked.flylotto-add-bar--wan-hint {
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.flylotto-add-bar--locked.flylotto-add-bar--wan-hint .flylotto-note--inline {
  max-width: none;
  white-space: nowrap;
}

.flylotto-add-bar__member {
  flex: 0 1 auto;
}

.flylotto-add-bar__member-pick {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 8px;
  max-width: 100%;
}

.flylotto-add-bar__member-pick .flylotto-add-gast-wrap {
  flex: 1 1 100%;
  min-width: 0;
}

.flylotto-add-gast-wrap__label {
  display: block;
  font-weight: 700;
  font-size: 12px;
  margin-bottom: 4px;
  color: var(--ink, #222);
}

.flylotto-add-bar__member-pick .flylotto-add-gast-wrap .flylotto-add-gast-navn {
  width: 100%;
  max-width: 100%;
}

.flylotto-add-medlem-sok {
  box-sizing: border-box;
  font-family: inherit;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.25;
  padding: 6px 8px;
  border-radius: 6px;
  border: 1px solid var(--line-strong, #9b9b9b);
  min-height: 2.25rem;
  height: 2.25rem;
  width: 6.5rem;
  flex: 0 0 auto;
  color: var(--ink, #222);
}

.flylotto-add-medlem-sok::placeholder {
  color: var(--muted, #6b6b6b);
  opacity: 1;
  font-weight: 400;
}

.flylotto-add-bar__member-pick .flylotto-add-select {
  flex: 1 1 12rem;
  min-width: 10rem;
  max-width: 100%;
  font-family: inherit;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.25;
  color: var(--ink, #222);
}

/* Tomt valg «Vælg medlem …» = samme grå som Medlemsnr.-placeholder */
.flylotto-add-bar__member-pick .flylotto-add-select:invalid {
  color: var(--muted, #6b6b6b);
}

.flylotto-add-bar__member-pick .flylotto-add-select:valid {
  color: var(--ink, #222);
}

.flylotto-add-bar__member-pick .flylotto-add-select option {
  color: var(--ink, #222);
  font-size: 12px;
  font-weight: 400;
}

.flylotto-add-bar__bem {
  flex: 1 1 14em;
  min-width: 12em;
  max-width: 100%;
}

.flylotto-bem-genveje {
  display: flex;
  flex-wrap: nowrap;
  gap: 6px 14px;
  align-items: center;
  margin-top: 5px;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}

.flylotto-bem-genvej {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
  white-space: nowrap;
  font-size: 11px;
  color: var(--ink, #444);
  cursor: pointer;
  user-select: none;
}

.flylotto-bem-genvej input[type="checkbox"] {
  cursor: pointer;
  accent-color: var(--primary, #2563eb);
  width: 14px;
  height: 14px;
  margin: 0;
}

/* Overstyr .flylotto-add-bar label { display: block } (højere specificitet end .flylotto-bem-genvej alene) */
.flylotto-add-bar .flylotto-bem-genvej {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  margin-bottom: 0;
}

.flylotto-add-bar__garkl-row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 12px 16px;
  flex: 0 1 auto;
}

.flylotto-add-bar__garkl {
  flex: 0 1 9em;
  min-width: 7em;
  max-width: 12em;
}

.flylotto-add-bar__tail {
  display: flex;
  flex: 1 1 100%;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
}

.flylotto-add-bar__btn {
  flex: 0 0 auto;
}

.flylotto-add-bar__count {
  margin: 0;
  font-size: 13px;
  font-weight: 600;
  color: var(--text, #1a1a1a);
  line-height: 1.3;
  text-align: right;
}

.flylotto-add-bar__count strong {
  font-weight: 800;
  color: inherit;
}

.flylotto-add-bar label {
  font-weight: 700;
  font-size: 12px;
  display: block;
  margin-bottom: 4px;
}

/* Samme højde som dropdown (Vælg dig i listen), går kl. og bemærkningsfelt */
.flylotto-add-select,
.flylotto-add-garkl,
.flylotto-add-bem {
  box-sizing: border-box;
  font: inherit;
  font-size: 12px;
  line-height: 1.25;
  padding: 6px 8px;
  border-radius: 6px;
  border: 1px solid var(--line-strong, #9b9b9b);
  min-height: 2.25rem;
  height: 2.25rem;
}

.flylotto-add-garkl {
  display: block;
  width: 100%;
}

.flylotto-add-select {
  min-width: 16em;
  max-width: 100%;
}

.flylotto-add-bem {
  display: block;
  width: 100%;
  resize: vertical;
  overflow-y: auto;
  max-height: 16rem;
  /* Én linje (samme højde som select): lodret som «Vælg medlem …» — indre højde minus kant + padding */
  line-height: calc(2.25rem - 14px);
}

.flylotto-table th {
  background: #f4f6f8;
  font-weight: 800;
}

.flylotto-fly-pending {
  font-size: 11px;
  color: var(--muted, #6b6b6b);
  white-space: normal;
  overflow-wrap: break-word;
  word-wrap: break-word;
  min-width: 0;
  max-width: 100%;
}

.flylotto-bem-form {
  margin: 0;
}

.flylotto-bem-actions {
  margin-top: 6px;
}

.flylotto-bem-cell .flylotto-mini-textarea {
  min-height: 2.5em;
}

.flylotto-lod {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.75rem;
  padding: 2px 8px;
  border-radius: 6px;
  font-weight: 800;
  background: #e8f2fc;
  color: var(--ink);
}

.flylotto-lod-pending {
  color: var(--muted);
}

.flylotto-you {
  font-weight: 700;
  color: var(--ink);
}

.flylotto-empty {
  text-align: center;
  color: var(--muted);
  font-style: italic;
}

.flylotto-page .flylotto-table .flylotto-empty {
  white-space: normal;
}

.flylotto-page .flylotto-table .flylotto-empty--one-line {
  white-space: nowrap;
}

.flylotto-slet-form {
  margin: 0;
}

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

/* fodselsdage.asp */
.content .fodselsdage-page {
  padding-bottom: 20px;
}

.fodselsdage-page-title {
  margin: 0 0 12px;
  padding-bottom: 0;
}

.fodselsdage-page .tilmelding-back {
  margin: 0 0 16px;
}

.fodselsdage-page-lead,
.fodselsdage-page-note {
  margin: 0 0 16px;
  font-size: 13px;
  line-height: 1.45;
  color: var(--muted);
  max-width: 52em;
}

.fodselsdage-page-note {
  color: var(--ink);
}

.medlemsliste-txt-table.fodselsdage-table {
  min-width: 560px;
}

.fodselsdage-col-flag,
.fodselsdage-flag-cell {
  width: 2.25em;
  text-align: center;
  vertical-align: middle;
}

.fodselsdage-flag-img {
  display: inline-block;
  vertical-align: middle;
}

.fodselsdage-flag-empty {
  color: var(--muted);
  font-size: 11px;
}

.fodselsdage-empty {
  padding: 14px 12px !important;
  color: var(--muted);
  font-size: 13px;
}

/* MsProcedure.asp — miljø / motorsvævefly (samme skabelon som øvrige sider: lead + eksl-content-panel) */
.content .msprocedure-page {
  padding-bottom: 24px;
  max-width: 100%;
}

.msprocedure-layout {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 24px 32px;
  width: 100%;
  box-sizing: border-box;
}

.msprocedure-main {
  flex: 0 1 auto;
  min-width: 0;
  max-width: 48em;
}

.msprocedure-prose {
  font-size: 13px;
  line-height: 1.55;
  color: var(--ink);
}

.msprocedure-prose p {
  margin: 0 0 12px;
}

.msprocedure-prose p:last-child {
  margin-bottom: 0;
}

.msprocedure-h3 {
  margin: 18px 0 8px;
  font-size: 13px;
  font-weight: 700;
  color: var(--ink);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.msprocedure-prose > .msprocedure-h3:first-of-type {
  margin-top: 14px;
}

.msprocedure-meta {
  margin: 18px 0 0;
  font-size: 11px;
  line-height: 1.45;
  color: var(--muted);
}

.msprocedure-aside {
  flex: 1 1 240px;
  min-width: 200px;
  min-height: 100%;
  box-sizing: border-box;
  padding: 14px 16px 16px;
  background: #f4f6f9;
  border: 1px solid var(--line);
  border-radius: 8px;
}

.msprocedure-aside-title {
  margin: 0 0 10px;
  font-size: 14px;
  font-weight: 700;
  color: var(--ink);
}

.msprocedure-aside-list {
  margin: 0;
  padding: 0 0 0 1.15em;
  font-size: 13px;
  line-height: 1.5;
}

.msprocedure-aside-list li {
  margin: 0 0 8px;
}

.msprocedure-aside-list li:last-child {
  margin-bottom: 0;
}

.msprocedure-aside-list a {
  font-weight: 600;
}

html.eksl-dark-mode .content .msprocedure-page .msprocedure-aside {
  background: #2a2d33 !important;
  border-color: var(--line) !important;
}

html.eksl-dark-mode .content .msprocedure-page .msprocedure-aside-title {
  color: var(--ink);
}

html.eksl-dark-mode .content .msprocedure-page .msprocedure-h3 {
  color: var(--ink);
}

html.eksl-dark-mode .content .msprocedure-page .msprocedure-meta {
  color: var(--muted);
}

/* login.asp — samme indryk og typografi som statistik m.fl. */
.content .login-page-wrap {
  padding-bottom: 24px;
  max-width: 28em;
}

.login-page-back {
  margin: 0 0 14px;
  font-size: 12px;
}

.login-page-back-link {
  font-weight: 600;
}

.content .login-page-title {
  margin: 0 0 20px;
  padding-bottom: 0;
}

.login-page-lead {
  margin: 0 0 18px;
  font-size: 13px;
  line-height: 1.45;
  color: var(--muted);
}

.login-page-alert {
  margin: 0 0 18px;
  padding: 12px 14px;
  border: 1px solid rgba(183, 28, 28, 0.35);
  border-radius: 8px;
  background: rgba(183, 28, 28, 0.06);
}

.login-page-alert-text {
  margin: 0;
  font-size: 13px;
  line-height: 1.45;
  color: var(--ink);
}

.login-page-alert--ok {
  border-color: rgba(21, 101, 50, 0.4);
  background: rgba(21, 101, 50, 0.08);
}

.login-page-alert--ok .login-page-alert-text {
  color: var(--ink);
}

.login-page-form {
  margin: 0;
  padding: 18px 18px 20px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.login-page-field {
  margin: 0 0 14px;
}

.login-page-field:last-of-type {
  margin-bottom: 0;
}

.login-page-label {
  display: block;
  font-size: 12px;
  font-weight: 600;
  margin: 0 0 6px;
  color: var(--ink);
}

/*
 * Login-felter: .content input/button giver 12px (0,1,1) — login overrides med element+klasser (0,2,1)
 * 16px i felter på alle bredder: undgår iOS auto-zoom ved focus (gælder også >720px, fx tablet/landskab)
 */
.content input.login-page-input {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  padding: 12px 14px;
  font-size: 16px;
  line-height: 1.35;
  min-height: 44px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
}

.content input.login-page-input:focus {
  outline: 2px solid rgba(31, 111, 235, 0.45);
  outline-offset: 1px;
  border-color: rgba(31, 111, 235, 0.55);
}

.login-page-actions {
  margin-top: 18px;
  padding-top: 4px;
}

.content button.login-page-submit {
  padding: 12px 22px;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.35;
  min-height: 44px;
  color: #fff;
  background: var(--accent);
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 6px;
  cursor: pointer;
}

.content button.login-page-submit:hover {
  background: #1858c7;
  color: #fff;
}

.content button.login-page-submit:focus {
  outline: 2px solid rgba(21, 81, 139, 0.45);
  outline-offset: 2px;
}

/* login.asp — smal skærm: luftigere layout og fuld bredde på primær knap */
@media (max-width: 960px) {
  .content .login-page-wrap {
    max-width: none;
    padding-bottom: max(24px, env(safe-area-inset-bottom, 0px));
  }

  .login-page-back {
    margin: 0 0 18px;
    font-size: 15px;
    line-height: 1.45;
  }

  .content .login-page-title {
    margin: 0 0 16px;
    font-size: clamp(1.375rem, 4.5vw, 1.625rem);
    line-height: 1.2;
  }

  .login-page-lead {
    margin: 0 0 20px;
    font-size: 16px;
    line-height: 1.5;
  }

  .login-page-alert {
    margin: 0 0 20px;
    padding: 14px 16px;
    border-radius: 10px;
  }

  .login-page-alert-text {
    font-size: 15px;
    line-height: 1.5;
  }

  .login-page-form {
    padding: 20px 16px 22px;
    border-radius: 10px;
  }

  .login-page-field {
    margin: 0 0 18px;
  }

  .login-page-label {
    font-size: 15px;
    margin: 0 0 8px;
  }

  .content input.login-page-input {
    padding: 14px 14px;
    min-height: 48px;
    border-radius: 8px;
  }

  .login-page-actions {
    margin-top: 22px;
    padding-top: 0;
  }

  .content button.login-page-submit {
    width: 100%;
    box-sizing: border-box;
    min-height: 48px;
    padding: 14px 20px;
    border-radius: 8px;
  }
}

/* MedlemsArkiv.asp — admin-shell med sidemenu + iframe (matcher kalender/statistik) */
.content .medlemsarkiv-page {
  padding-bottom: 8px;
  max-width: 100%;
}

.content .medlemsarkiv-title {
  margin: 0 0 20px;
  padding-bottom: 0;
}

.medlemsarkiv-layout {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 20px;
}

.medlemsarkiv-nav {
  flex: 0 0 232px;
  min-width: 200px;
  max-width: 100%;
  box-sizing: border-box;
  padding: 14px 16px 16px;
  background: #f4f6f9;
  border: 1px solid var(--line);
  border-radius: 8px;
}

.medlemsarkiv-nav-section {
  margin-bottom: 14px;
}

.medlemsarkiv-nav-section:last-child {
  margin-bottom: 0;
}

.medlemsarkiv-nav-heading {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--muted);
  margin: 0 0 8px;
  padding-bottom: 4px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.medlemsarkiv-nav-link {
  display: block;
  padding: 6px 8px;
  margin: 2px 0;
  font-size: 13px;
  line-height: 1.35;
  color: var(--link);
  text-decoration: none;
  border-radius: 6px;
  border: 1px solid transparent;
}

.medlemsarkiv-nav-link:hover {
  background: rgba(14, 69, 114, 0.08);
  text-decoration: none;
}

.medlemsarkiv-nav-link--active {
  font-weight: 700;
  color: #fff;
  background: #0e4572;
  border-color: #0a3558;
}

.medlemsarkiv-nav-link--active:hover {
  color: #fff;
  background: #0a3558;
}

.medlemsarkiv-main {
  flex: 1 1 360px;
  min-width: 0;
}

.medlemsarkiv-embed {
  margin: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.medlemsarkiv-embed iframe {
  display: block;
  width: 100%;
}

.medlemsarkiv-empty {
  padding: 28px 20px;
  border: 1px dashed var(--line);
  border-radius: 8px;
  background: #fafbfc;
  font-size: 14px;
  line-height: 1.5;
  color: var(--muted);
}

.medlemsarkiv-empty p {
  margin: 0 0 12px;
}

.medlemsarkiv-empty p:last-child {
  margin-bottom: 0;
}

.medlemsarkiv-empty-link {
  font-weight: 600;
  color: var(--link);
}

@media (max-width: 720px) {
  .medlemsarkiv-nav {
    flex: 1 1 100%;
  }
}

/* MedlemsArkiv/Medlemmer.asp — liste (iframe, fuld bredde i rammen) */
body.medlemmer-list-page {
  margin: 0;
  padding: 10px 12px 16px;
  box-sizing: border-box;
  min-width: 0;
  width: 100%;
  background: #fff;
  font-family: Verdana, Arial, sans-serif;
  font-size: 12px;
  line-height: 1.45;
  color: var(--ink);
}

.medlemmer-list-toolbar {
  margin: 0 0 12px;
  line-height: 1.65;
  font-size: 12px;
}

.medlemmer-list-toolbar a {
  font-weight: 600;
  color: var(--link);
  margin-right: 2px;
}

.medlemmer-list-toolbar a:hover {
  text-decoration: underline;
}

.medlemmer-list-table {
  width: 100%;
  max-width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  border: 1px solid var(--line);
  background: #fff;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.medlemmer-list-table td {
  padding: 8px 10px;
  border: 1px solid var(--line);
  vertical-align: middle;
}

.medlemmer-list-table td.medlemmer-list-col-name {
  width: auto;
  min-width: 0;
  word-wrap: break-word;
  font-weight: 600;
  color: var(--ink);
}

.medlemmer-list-table td.medlemmer-list-col-act {
  width: 5.75rem;
  max-width: 6rem;
  box-sizing: border-box;
  text-align: center;
  white-space: nowrap;
  font-size: 11px;
}

.medlemmer-list-table td.medlemmer-list-col-act a {
  font-weight: 600;
  color: var(--link);
}

.medlemmer-list-toolbar-row {
  background: #f4f6f9;
  font-weight: 600;
}

.medlemmer-list-add {
  font-weight: 700;
  color: var(--link);
}

.flyvedage-empty {
  color: var(--muted, #9aa5b1);
}

/* Flyvedage.asp (iframe) */
.flyvedage-page {
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-size: 13px;
  line-height: 1.4;
  color: var(--ink, #1a2a3a);
}

.flyvedage-list {
  max-width: 100%;
}

.flyvedage-toolbar {
  margin: 0 0 10px;
}

.flyvedage-toolbar--foot {
  margin: 10px 0 0;
}

.flyvedage-add {
  display: inline-block;
  padding: 6px 12px;
  font-weight: 700;
  font-size: 12px;
  color: #fff !important;
  background: #0e4572;
  border-radius: 6px;
  text-decoration: none !important;
}

.flyvedage-add:hover {
  background: #0a3558;
}

.flyvedage-table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid var(--line, #d8dee6);
  background: #fff;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.flyvedage-table th,
.flyvedage-table td {
  padding: 7px 10px;
  border-bottom: 1px solid var(--line, #e8ecf0);
  vertical-align: middle;
  text-align: left;
}

.flyvedage-table thead th {
  background: #f4f6f9;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--muted, #5a6570);
  border-bottom: 1px solid var(--line, #d8dee6);
}

.flyvedage-table tbody tr:last-child td {
  border-bottom: none;
}

.flyvedage-table tbody tr:hover {
  background: #f8fafc;
}

.flyvedage-col-date {
  font-weight: 600;
  white-space: nowrap;
}

.flyvedage-col-instr {
  min-width: 4.5rem;
}

.flyvedage-mid {
  color: var(--muted, #6a7d90);
  font-size: 11px;
  font-weight: 500;
}

.flyvedage-col-team {
  text-align: center;
  font-weight: 600;
  width: 4rem;
}

.flyvedage-act {
  width: 4.25rem;
  text-align: center;
  white-space: nowrap;
}

.flyvedage-act a {
  font-weight: 600;
  font-size: 12px;
  color: var(--link, #0e4572);
  text-decoration: none;
}

.flyvedage-act a:hover {
  text-decoration: underline;
}

.flyvedage-act--danger a {
  color: #9b2c2c;
}

.flyvedage-form-table {
  width: 100%;
  max-width: 520px;
  border-collapse: collapse;
}

.flyvedage-form-table td {
  padding: 8px 10px 8px 0;
  vertical-align: top;
}

.flyvedage-form-table td:first-child {
  width: 38%;
  font-weight: 600;
  font-size: 12px;
  color: var(--muted, #5a6570);
  padding-top: 11px;
}

.flyvedage-form-table input[type="text"],
.flyvedage-form-table select {
  width: 100%;
  max-width: 280px;
  box-sizing: border-box;
  padding: 7px 10px;
  font-size: 13px;
  font-family: inherit;
  border: 1px solid #c5cad3;
  border-radius: 6px;
  background: #fff;
}

.flyvedage-form-table input[type="submit"] {
  padding: 8px 16px;
  font-size: 13px;
  font-weight: 700;
  font-family: inherit;
  color: #fff;
  background: #0e4572;
  border: none;
  border-radius: 6px;
  cursor: pointer;
}

.flyvedage-form-hint {
  margin: 6px 0 0;
  font-size: 11px;
  color: var(--muted, #6a7d90);
}

.flyvedage-flash-err {
  margin: 0 0 12px;
  padding: 8px 12px;
  font-size: 13px;
  color: #7f2323;
  background: #fff0f0;
  border: 1px solid #e8b4b4;
  border-radius: 6px;
}

.kalender-page-actions {
  margin: 0 0 12px;
}

/* KalenderInc.asp liste (iframe) */
.kalender-inc-list {
  margin: 0;
  padding: 0 2px 4px 0;
}

.kalender-inc-list > table {
  width: 100%;
  border-collapse: collapse;
}

.kalender-inc-list > table > tbody > tr > td,
.kalender-inc-list > table > tr > td {
  padding: 3px 6px 3px 0;
  vertical-align: top;
  font-size: 12px;
  line-height: 1.32;
}

.kalender-inc-list > table > tbody > tr > td > p,
.kalender-inc-list > table > tr > td > p {
  margin: 0 0 2px;
}

.kalender-inc-list-nav td {
  padding-top: 0;
  padding-bottom: 4px;
}

.kalender-inc-list td[bgcolor="#808080"] {
  padding: 0 !important;
  height: 1px;
  line-height: 0;
  font-size: 0;
  overflow: hidden;
  border: 0;
}

/* Efter sidste kalenderpost indsættes samme grå linje som mellem poster — skjul den, så der ikke er ekstra streg nederst */
.kalender-inc-list > table > tbody > tr:last-child > td[bgcolor="#808080"],
.kalender-inc-list > table > tr:last-child > td[bgcolor="#808080"] {
  height: 0 !important;
  max-height: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
  font-size: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
}

.kalender-inc-list-month td {
  padding-top: 6px;
  padding-bottom: 2px;
  font-size: 12px;
}

.kalender-inc-list-hint td {
  padding: 2px 0 4px;
  font-size: 11px;
  color: var(--muted);
}

/* Flyveplan (flyveplan.asp) */
.flyveplan-page {
  margin: 0 0 20px;
  max-width: 100%;
}

.flyveplan-title {
  margin: 0 0 20px;
}

.flyveplan-lead {
  margin: 0 0 16px;
  max-width: 48em;
  font-size: 12px;
  line-height: 1.5;
  color: var(--muted);
}

.flyveplan-top,
.flyveplan-mid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 280px);
  gap: 18px 24px;
  align-items: start;
  margin-bottom: 16px;
}

@media (max-width: 780px) {
  .flyveplan-top,
  .flyveplan-mid {
    grid-template-columns: 1fr;
  }
}

.flyveplan-card {
  box-sizing: border-box;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 16px 18px;
  background: var(--paper);
}

.flyveplan-card-title {
  margin: 0 0 8px;
  font-size: 14px;
  font-weight: 700;
  color: var(--ink);
  line-height: 1.3;
}

.flyveplan-card-sub {
  margin: -4px 0 10px;
  font-size: 11px;
  color: var(--muted);
  line-height: 1.35;
}

.flyveplan-card--text p {
  margin: 0 0 10px;
  font-size: 12px;
  line-height: 1.5;
  color: var(--ink);
}

.flyveplan-download-list {
  margin: 8px 0 0;
  padding-left: 1.2em;
  font-size: 12px;
  line-height: 1.45;
}

.flyveplan-download-list li {
  margin-bottom: 6px;
}

.flyveplan-card--figure {
  text-align: center;
  padding: 14px 16px;
}

.flyveplan-figure-link {
  display: inline-block;
  line-height: 0;
}

.flyveplan-figure-img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  border: 1px solid var(--line);
  vertical-align: middle;
}

.flyveplan-caption {
  margin: 8px 0 0;
  font-size: 11px;
  font-style: italic;
  color: var(--muted);
  line-height: 1.35;
}

.flyveplan-quick-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}

.flyveplan-quick-table th {
  text-align: left;
  font-weight: 600;
  padding: 7px 12px 7px 0;
  vertical-align: top;
  width: 44%;
  color: var(--ink);
  border-bottom: 1px solid #eceef2;
}

.flyveplan-quick-table td {
  padding: 7px 0;
  border-bottom: 1px solid #eceef2;
  vertical-align: top;
  line-height: 1.4;
}

.flyveplan-quick-table tr:last-child th,
.flyveplan-quick-table tr:last-child td {
  border-bottom: 0;
}

.flyveplan-card--wide {
  margin-top: 2px;
}

.flyveplan-link-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px 28px;
  margin-top: 4px;
}

@media (max-width: 900px) {
  .flyveplan-link-grid {
    grid-template-columns: 1fr;
  }
}

.flyveplan-link-block-title {
  margin: 0 0 8px;
  font-size: 13px;
  font-weight: 700;
  color: var(--ink);
  line-height: 1.3;
  padding-bottom: 5px;
  border-bottom: 1px solid var(--line);
}

.flyveplan-link-list {
  margin: 0;
  padding: 0 0 0 1.15em;
  list-style: disc;
  font-size: 12px;
  line-height: 1.45;
  color: var(--ink);
}

.flyveplan-link-list li {
  margin-bottom: 4px;
}

.flyveplan-note {
  margin: 12px 0 0;
  font-size: 11px;
  line-height: 1.45;
  color: var(--muted);
  padding: 8px 10px;
  background: #f3f5f8;
  border-radius: 8px;
  border-left: 3px solid rgba(21, 81, 139, 0.35);
}

/* BackToProfile.asp – kort mellemside før MedlemVis */
.backtoprofile-page {
  margin: 0;
  padding: 28px 20px;
  font-family: Verdana, Arial, sans-serif;
  font-size: 13px;
  color: var(--ink);
  background: #fafbfc;
  min-height: 120px;
}

.backtoprofile-msg {
  margin: 0 0 12px;
}

.backtoprofile-fallback {
  margin: 0;
  font-size: 12px;
}

.backtoprofile-fallback a {
  font-weight: 600;
}

/* default.asp – fødselsdag i dag (kun hvis mindst én) */
.default-birthdays {
  margin: 12px 0 0;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fafbfc;
}

.default-birthdays-title {
  margin: 0 0 8px;
  font-size: 12px;
  line-height: 1.3;
  color: var(--ink);
}

.default-birthdays-list {
  margin: 0;
  padding: 0 0 0 1.1em;
  font-size: 12px;
  line-height: 1.45;
  color: var(--ink);
}

.default-birthdays-item {
  margin-bottom: 4px;
}

.default-birthdays-flag {
  vertical-align: middle;
  margin-right: 2px;
}

.default-birthdays-meta {
  color: var(--muted);
  font-weight: 400;
}

.default-birthdays-more {
  margin: 8px 0 0;
  font-size: 11px;
}

.default-birthdays-more a {
  font-weight: 600;
}

/* default.asp – hverdagsflyvning i dag (mindst én tilmelding) */
.default-hverdagsflyvning {
  margin: 12px 0 0;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #f5f8fc;
}

.default-hverdagsflyvning-title {
  margin: 0 0 6px;
  font-size: 12px;
  line-height: 1.3;
  color: var(--ink);
}

.default-hverdagsflyvning-text {
  margin: 0;
  font-size: 12px;
  line-height: 1.45;
  color: var(--ink);
}

.default-hverdagsflyvning-link {
  margin: 6px 0 0;
  font-size: 12px;
  line-height: 1.45;
}

.default-hverdagsflyvning-link a {
  font-weight: 600;
}

/* default.asp – flyvedag / hold med bladring i turnus */
.default-flyvedag-hold {
  margin: 0 0 4px;
}

.default-flyvedag-head {
  display: grid;
  grid-template-columns: minmax(2rem, auto) 1fr minmax(2rem, auto);
  gap: 6px 10px;
  align-items: center;
  margin: 0 0 2px;
}

.default-flyvedag-nav-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2rem;
  min-height: 2rem;
  margin: 0;
  padding: 0 6px;
  box-sizing: border-box;
  font-size: 1.35rem;
  line-height: 1;
  font-weight: 700;
  text-decoration: none;
  color: var(--booking-accent, #0e4572);
  border: 1px solid var(--line, #c9c9c9);
  border-radius: 8px;
  background: #fff;
}

.default-flyvedag-nav-btn:hover {
  background: #f0f5fa;
  border-color: var(--booking-accent, #0e4572);
}

.default-flyvedag-nav-btn--disabled {
  color: var(--ink);
  opacity: 0.5;
  border-color: #e0e0e0;
  background: #f7f7f7;
  cursor: not-allowed;
  pointer-events: none;
}

.default-flyvedag-title {
  min-width: 0;
  margin: 0;
  padding: 0;
  text-align: center;
  font-size: inherit;
  line-height: 1.35;
}

.default-flyvedag-reset {
  margin: 6px 0 0;
  padding: 0;
  text-align: center;
  font-size: 11px;
  line-height: 1.35;
}

.default-flyvedag-reset a {
  font-weight: 600;
}

.default-flyvedag-reset-hint {
  color: var(--muted, #666);
  font-weight: 400;
}

.content .default-page .col_r .default-flyvedag-title,
.content .default-page .col_r .default-flyvedag-title b {
  font-size: inherit;
}

/* default.asp – fly med gul/rød status (fuld bredde under kolonnerne) */
.default-flystatus-band {
  clear: both;
  width: 100%;
  box-sizing: border-box;
  margin: 0;
  padding: 16px 0 0;
}

/* default.asp – undgå tom luft mellem to-kolonne-layout og flystatus */
.content .default-page .col_l .box_l,
.content .default-page .col_r .box_r {
  margin-bottom: 0;
}

.content .default-page > .default-flystatus-band {
  padding-top: 20px;
}

.default-flystatus-band-heading {
  margin: 0 0 12px;
  font-size: 15px;
  font-weight: 800;
  color: var(--booking-accent, #0e4572);
}

.default-flystatus-alert {
  margin: 0 0 18px;
  padding: 12px 14px;
  border: 1px solid #c9a227;
  border-radius: 10px;
  background: linear-gradient(180deg, #fffdf5 0%, #fff9e6 100%);
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.04);
}

.default-flystatus-alert--full {
  margin: 0;
}

.default-flystatus-alert-list--full {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 32px;
  align-items: flex-start;
}

.default-flystatus-alert-list--full .default-flystatus-alert-item {
  flex: 1 1 220px;
  min-width: 200px;
  max-width: 420px;
  margin-bottom: 0;
}

.default-flystatus-alert-title {
  margin: 0 0 10px;
  font-size: 13px;
  line-height: 1.45;
  color: var(--ink, #1a1a1a);
}

.default-flystatus-alert-list {
  margin: 0;
  padding: 0 0 0 1.15em;
  font-size: 12px;
  line-height: 1.5;
  color: var(--ink, #1a1a1a);
}

.default-flystatus-alert-item {
  margin-bottom: 8px;
}

.default-flystatus-alert-item:last-child {
  margin-bottom: 0;
}

.default-flystatus-alert-item--warn {
  border-left: 3px solid #d4a017;
  padding-left: 8px;
  margin-left: -4px;
}

.default-flystatus-alert-item--ground {
  border-left: 3px solid #b3261e;
  padding-left: 8px;
  margin-left: -4px;
}

.default-flystatus-alert-reg {
  font-weight: 700;
}

.default-flystatus-alert-badge {
  font-size: 11px;
  font-weight: 600;
  color: var(--muted, #5a5a5a);
}

.default-flystatus-alert-kom {
  display: inline-block;
  margin-top: 2px;
  font-size: 11px;
  color: var(--muted, #5a5a5a);
}

.default-flystatus-alert-rapport {
  display: inline-block;
  margin-top: 4px;
  font-size: 11px;
  color: var(--muted, #5a5a5a);
}

.default-flystatus-alert-rapport a {
  font-weight: 600;
}

.default-flystatus-alert-more {
  margin: 10px 0 0;
  font-size: 12px;
}

.default-flystatus-alert-more a {
  font-weight: 700;
}

.default-flystatus-ok {
  margin: 0 0 6px;
  font-size: 12px;
  line-height: 1.45;
  color: var(--muted, #5a5a5a);
}

.content .default-page .default-flystatus-band .default-flystatus-ok {
  font-size: 12px !important;
}

/* default.asp – luft mellem profil/huskeboks og Næste flyvedag (to txt_r i samme box_r) */
.content .default-page .col_r .box_r > .txt_r:not(.last):has(.vagt-bytte-husk) {
  padding-bottom: 8px;
}

.content .default-page .col_r .box_r > .txt_r.last {
  padding-top: 10px;
}

/* default.asp / default2.asp – påmindelse om bytte uden for officiel plan */
/* --ejer / --modtager: samme gule grundstil */
.content .vagt-bytte-husk {
  margin: 14px 0;
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid #c9a227;
  background: linear-gradient(180deg, #fffdf5 0%, #fff9e6 100%);
  font-size: 12px;
  line-height: 1.45;
  max-width: 100%;
}

.content .vagt-bytte-husk-title {
  margin: 0 0 4px;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--ink);
}

.content .vagt-bytte-husk-body {
  margin: 0;
  color: var(--ink, #2a2418);
}

/* Forsiden: liste over udestående vækbyt med Fortryd */
.content .vagt-bytte-husk--ejer-list .vagt-bytte-husk-body {
  margin-bottom: 8px;
}

.content .vagt-bytte-husk-list {
  margin: 0;
  padding: 0 0 0 1.1em;
  list-style: decimal;
}

.content .vagt-bytte-husk-item {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px 12px;
  margin: 8px 0 0;
  padding: 0;
}

.content .vagt-bytte-husk-item:first-child {
  margin-top: 0;
}

.content .vagt-bytte-husk-item-main {
  flex: 1 1 10em;
  min-width: 0;
  font-size: 12px;
  line-height: 1.45;
  color: var(--ink, #2a2418);
}

.content .vagt-bytte-husk-item-what {
  font-weight: 600;
}

.content .vagt-bytte-husk-item-row {
  display: inline-block;
  line-height: 1.45;
}

.content .vagt-bytte-husk-item-label {
  font-size: 11px;
  font-weight: 600;
  color: #546e7a;
  margin-right: 4px;
}

.content .vagt-bytte-husk-item-ingen {
  font-size: 12px;
  color: #607d8b;
  font-style: italic;
}

.content .vagt-bytte-husk-til {
  color: var(--ink, #2a2418);
  opacity: 0.9;
}

.content .vagt-bytte-husk-fortryd-form {
  margin: 0;
  flex: 0 0 auto;
}

.content .vagt-bytte-husk-fortryd-btn {
  margin: 0;
  padding: 4px 10px;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.3;
  cursor: pointer;
  color: #fff;
  background: #15518b;
  border: 1px solid #0d3d6a;
  border-radius: 6px;
  font-family: Verdana, Arial, sans-serif;
  white-space: nowrap;
}

.content .vagt-bytte-husk-fortryd-btn:hover {
  background: #0d3d6a;
}

.content .vagt-bytte-husk-fortryd-tid {
  display: block;
  margin-top: 4px;
  font-size: 10px;
  color: #546e7a;
  white-space: nowrap;
}

.content .vagt-bytte-husk-laaest {
  margin: 0;
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: center;
  color: #78909c;
  padding: 2px 0;
}

.content .vagt-bytte-husk-laaest-ico {
  display: block;
}

.content .vagt-bytte-fortryd-tid {
  font-size: 11px;
  color: #78909c;
  margin-left: 2px;
}

/* default.asp / default2.asp – registrering af vagtbytte */
.content .vagt-bytte-wrap {
  margin-top: 10px;
  padding: 10px 12px;
  border: 1px solid var(--line, #c9c9c9);
  border-radius: 8px;
  background: #f8fafc;
  font-size: 12px;
  line-height: 1.45;
  max-width: 100%;
}

.content .vagt-bytte-modtager-videre {
  margin-top: 8px;
  max-width: 100%;
}

.content .vagt-bytte-status {
  margin: 0 0 8px;
  font-size: 12px;
  font-weight: 600;
  color: var(--ink);
}

.content .vagt-bytte-browse-hint {
  margin: 0 0 10px;
  padding: 0;
  font-size: 11px;
  line-height: 1.45;
  color: var(--muted, #5a5a5a);
  max-width: 100%;
}

.content .vagt-bytte-form {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 10px;
}

.content .vagt-bytte-label {
  font-weight: 600;
  color: var(--ink, #222);
}

.content .vagt-bytte-select {
  min-width: 14em;
  max-width: 100%;
  font-size: 12px;
  padding: 4px 6px;
}

.content .vagt-bytte-submit {
  font-size: 12px;
  font-weight: 700;
  padding: 5px 12px;
  cursor: pointer;
  border-radius: 6px;
  border: 1px solid #15518b;
  background: #15518b;
  color: #fff;
}

.content .vagt-bytte-submit:hover {
  background: #0e4572;
  border-color: var(--link);
}

/* Overtagelse på samme linje, fx Spil: Navn ( Overtag vagt ) */
.content form.vagt-bytte-form--overtag-inline {
  display: inline;
  margin: 0;
  padding: 0;
  border: 0;
  border-left: 0;
  box-shadow: none;
  background: transparent;
  vertical-align: baseline;
  font-size: inherit;
  font-family: inherit;
}

/* Tekst-handling (submit): samme skrift som linjen; farve som brødtekst (som før), diskret understregning */
.content button.vagt-bytte-overtag-link {
  display: inline;
  margin: 0;
  padding: 0;
  border: 0;
  border-left: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  font-weight: 400;
  color: inherit;
  text-decoration: underline;
  text-decoration-color: var(--line, #b0b0b0);
  text-underline-offset: 1px;
  cursor: pointer;
  width: auto;
  max-width: 100%;
  text-align: left;
  vertical-align: baseline;
  overflow-wrap: anywhere;
}

.content button.vagt-bytte-overtag-link:hover {
  color: var(--link);
  text-decoration-color: currentColor;
}

/* «Fjern vagt» — tydelig advarselsfarve (skiller sig fra «Overtag vagt») */
.content button.vagt-bytte-overtag-link--secondary {
  font-size: inherit;
  font-weight: 600;
  color: #b71c1c;
  text-decoration-color: rgba(183, 28, 28, 0.45);
}

.content button.vagt-bytte-overtag-link--secondary:hover {
  color: #8e1616;
  text-decoration-color: currentColor;
}

/* Undertryk .col_r button { font-size: 16px/12px !important } — arv samme som <a> på linjen */
.content .col_r button.vagt-bytte-overtag-link,
.content .col_r button.vagt-bytte-overtag-link--secondary {
  font-size: inherit !important;
  font-weight: 400 !important;
}

/* Bekræftelse: overtage vagt (modal i footer.asp) */
.eksl-overtag-modal {
  position: fixed;
  inset: 0;
  z-index: 10060;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px 16px;
  box-sizing: border-box;
  background: rgba(15, 23, 42, 0.52);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}

.eksl-overtag-modal[hidden] {
  display: none !important;
}

.eksl-overtag-modal__panel {
  width: 100%;
  max-width: 420px;
  margin: 0 auto;
  padding: 22px 22px 20px;
  box-sizing: border-box;
  border-radius: 14px;
  background: #ffffff;
  border: 1px solid #d8e2ec;
  box-shadow: 0 18px 50px rgba(15, 23, 42, 0.22);
  font-family: Verdana, Arial, sans-serif;
}

.eksl-overtag-modal__title {
  margin: 0 0 10px;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.25;
  color: var(--ink);
}

.eksl-overtag-modal__text {
  margin: 0 0 20px;
  font-size: 13px;
  line-height: 1.55;
  color: var(--ink);
}

.eksl-overtag-modal__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 12px;
  justify-content: flex-end;
}

.eksl-overtag-modal__btn {
  margin: 0;
  padding: 10px 18px;
  border-radius: 10px;
  font-family: Verdana, Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  border: 2px solid transparent;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.eksl-overtag-modal__btn--secondary {
  background: #f0f3f8;
  border-color: #c5d4e4;
  color: var(--ink);
}

.eksl-overtag-modal__btn--secondary:hover {
  background: #e4eaf2;
  border-color: #a8bdd4;
}

.eksl-overtag-modal__btn--primary {
  background: #15518b;
  border-color: #15518b;
  color: #ffffff;
}

.eksl-overtag-modal__btn--primary:hover {
  background: #123f6f;
  border-color: #123f6f;
}

.eksl-overtag-modal__panel:focus {
  outline: none;
}

.eksl-overtag-modal__panel:focus-visible {
  outline: 2px solid #15518b;
  outline-offset: 3px;
}

/* Forklarende tekst — samme skrift som linjen, ingen understregning (ikke en handling som «Overtag vagt») */
.content .nfd-bytte-note {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  font-weight: 400;
  color: inherit;
  text-decoration: none;
  vertical-align: baseline;
  white-space: normal;
}

/* MedlemUpdate.asp – iframe til Medlemmer.asp */
.medlemupdate-page {
  margin: 0 0 18px;
  max-width: 100%;
}

.medlemupdate-title {
  margin: 0 0 20px;
}

.medlemupdate-lead {
  margin: 0 0 10px;
  max-width: 52em;
  font-size: 12px;
  line-height: 1.45;
  color: var(--muted);
}

.medlemupdate-toolbar {
  margin: 0 0 12px;
  font-size: 12px;
}

.medlemupdate-back {
  font-weight: 600;
}

.medlemupdate-embed {
  margin: 0 0 14px;
  border: 1px solid var(--line);
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
}

.medlemupdate-page--picture .medlemupdate-title {
  margin-bottom: 8px;
  font-size: 1.35em;
  letter-spacing: -0.02em;
}

.medlemupdate-page--picture .medlemupdate-lead {
  margin-bottom: 14px;
  font-size: 13px;
  line-height: 1.5;
}

.medlemupdate-page--picture .medlemupdate-embed {
  border: none;
  border-radius: 14px;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}

.medlemupdate-page--picture .medlemupdate-back {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 0;
  color: #3d5a80;
}

.medlemupdate-embed iframe {
  display: block;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  vertical-align: top;
}

/* MedlemsArkiv/Medlemmer.asp (iframe: profil / billede) */
body.medlemmer-iframe {
  font-family: Verdana, Arial, sans-serif;
  font-size: 12px;
  line-height: 1.45;
  color: var(--ink);
}

body.medlemmer-iframe .medlemmer-iframe-table {
  width: 100%;
  max-width: none;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid var(--line);
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
}

body.medlemmer-iframe .medlemmer-iframe-table td {
  padding: 8px 12px;
  border-bottom: 1px solid #eceef2;
  vertical-align: top;
}

body.medlemmer-iframe .medlemmer-iframe-table td:first-child {
  width: 28%;
  min-width: 8em;
  max-width: 240px;
  font-weight: 700;
  font-size: 12px;
  background: #f0f4f8;
  color: var(--ink);
}

body.medlemmer-iframe .medlemmer-iframe-table input[type="text"],
body.medlemmer-iframe .medlemmer-iframe-table input[type="password"],
body.medlemmer-iframe .medlemmer-iframe-table select,
body.medlemmer-iframe .medlemmer-iframe-table textarea {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  padding: 6px 8px;
  font-size: 12px;
  font-family: Verdana, Arial, sans-serif;
  border: 1px solid #c9c9c9;
  border-radius: 6px;
}

body.medlemmer-iframe .medlemmer-iframe-table textarea {
  min-height: 4em;
  resize: vertical;
}

body.medlemmer-iframe .medlemmer-iframe-table tr:last-child td {
  border-bottom: 0;
  background: #f5f8fb;
  border-top: 1px solid #dde3ea;
}

body.medlemmer-iframe .medlemmer-iframe-footnote {
  display: inline-block;
  margin-left: 10px;
  font-size: 11px;
  color: var(--muted);
}

input.medlemmer-iframe-submit {
  padding: 8px 18px;
  font-size: 12px;
  font-weight: 700;
  font-family: Verdana, Arial, sans-serif;
  color: #fff;
  background: #0e4572;
  border: none;
  border-radius: 8px;
  cursor: pointer;
}

input.medlemmer-iframe-submit:hover {
  background: #0a3558;
}

.content input.medlemmer-iframe-submit[type="submit"] {
  color: #fff;
}

/* Medlemmer.asp – profilbillede-upload v20260609 */
.medlemmer-picture-upload {
  max-width: 100%;
  width: 100%;
  box-sizing: border-box;
}

.medlemmer-picture-upload-card {
  padding: 18px 20px 20px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 2px 14px rgba(15, 35, 70, 0.06);
}

.medlemmer-picture-steps {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 6px;
  margin: 0 0 18px;
  padding: 0;
  list-style: none;
}

.medlemmer-picture-step {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1 1 0;
  min-width: 0;
  padding: 8px 10px;
  border-radius: 10px;
  background: #f3f6fa;
  color: var(--muted);
  font-size: 11px;
  font-weight: 600;
  transition: background 0.15s ease, color 0.15s ease;
}

.medlemmer-picture-step__no {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #dce3ec;
  color: #4a5568;
  font-size: 11px;
  font-weight: 700;
  flex-shrink: 0;
}

.medlemmer-picture-step__txt {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.medlemmer-picture-step.is-active {
  background: #e8f0fa;
  color: #1e3a5f;
}

.medlemmer-picture-step.is-active .medlemmer-picture-step__no {
  background: #3d6a9e;
  color: #fff;
}

.medlemmer-picture-step.is-done {
  background: #edf7f0;
  color: #2d5a3d;
}

.medlemmer-picture-step.is-done .medlemmer-picture-step__no {
  background: #4a9b6a;
  color: #fff;
}

.medlemmer-picture-tips {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr) minmax(0, 1fr);
  gap: 12px;
  margin-bottom: 18px;
}

@media (max-width: 720px) {
  .medlemmer-picture-tips {
    grid-template-columns: 1fr 1fr;
  }

  .medlemmer-picture-tip-sample {
    grid-column: 1 / -1;
    flex-direction: row;
    align-items: center;
    gap: 12px;
  }
}

.medlemmer-picture-tip-sample {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0;
  padding: 10px;
  border-radius: 10px;
  background: #f7f9fc;
  border: 1px solid var(--line);
}

.medlemmer-picture-tip {
  padding: 10px 12px;
  border-radius: 10px;
  background: linear-gradient(145deg, #fafbfc 0%, #f3f6fa 100%);
  border: 1px solid var(--line);
}

.medlemmer-picture-tip--auto {
  background: linear-gradient(145deg, #f5f9fc 0%, #eaf2fa 100%);
  border-color: #d4e2f0;
}

.medlemmer-picture-tip__title {
  margin: 0 0 6px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #3d5a80;
}

.medlemmer-picture-dropzone {
  position: relative;
  margin-bottom: 14px;
  padding: 22px 16px;
  border: 2px dashed #c5d0dc;
  border-radius: 12px;
  background: linear-gradient(180deg, #fafcfe 0%, #f4f7fb 100%);
  text-align: center;
  transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

.medlemmer-picture-dropzone:hover,
.medlemmer-picture-dropzone.is-dragover {
  border-color: #6a9fd4;
  background: #eef5fc;
  box-shadow: inset 0 0 0 1px rgba(61, 106, 158, 0.12);
}

.medlemmer-picture-dropzone.has-file {
  border-style: solid;
  border-color: #9ec5e8;
  background: #f0f7fd;
}

.medlemmer-picture-dropzone[hidden] {
  display: none !important;
}

.medlemmer-picture-file-input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  cursor: pointer;
  z-index: 2;
}

.medlemmer-picture-dropzone__label {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  margin: 0;
  pointer-events: none;
}

.medlemmer-picture-dropzone__icon {
  font-size: 28px;
  line-height: 1;
  opacity: 0.85;
}

.medlemmer-picture-dropzone__title {
  font-size: 14px;
  font-weight: 700;
  color: var(--ink);
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.medlemmer-picture-dropzone__hint {
  font-size: 12px;
  color: var(--muted);
}

.medlemmer-picture-submit-btn:not(:disabled) {
  padding: 9px 20px;
  font-weight: 700;
  background: linear-gradient(180deg, #4a7ab0 0%, #3d6a9e 100%);
  border: 1px solid #345f8f;
  border-radius: 9px;
  color: #fff;
  cursor: pointer;
  box-shadow: 0 2px 6px rgba(45, 80, 130, 0.25);
}

.medlemmer-picture-submit-btn:not(:disabled):hover {
  background: linear-gradient(180deg, #5589be 0%, #4575ad 100%);
}

.medlemmer-picture-current-empty {
  display: flex;
  justify-content: center;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
}

.medlemmer-picture-current-empty .medlemvis-photo-placeholder {
  max-width: 140px;
  aspect-ratio: 5 / 6;
  padding: 12px 10px;
  gap: 6px;
  border-radius: 8px;
}

.medlemmer-picture-current-empty .medlemvis-photo-placeholder__initials {
  width: 52px;
  height: 52px;
  font-size: 20px;
}

.medlemmer-picture-current-empty .medlemvis-photo-placeholder__label {
  font-size: 10px;
}

.medlemmer-picture-current-empty .medlemvis-photo-placeholder__hint {
  display: none;
}

.medlemmer-picture-upload-main,
.medlemmer-picture-form {
  min-width: 0;
  max-width: 100%;
}

.medlemmer-picture-upload-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(180px, 220px);
  gap: 16px 20px;
  align-items: start;
}

@media (max-width: 700px) {
  .medlemmer-picture-upload-layout {
    grid-template-columns: 1fr;
  }

  .medlemmer-picture-current {
    order: -1;
  }
}

.medlemmer-picture-current {
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: linear-gradient(180deg, #fff 0%, #f8fafc 100%);
  box-shadow: 0 2px 10px rgba(15, 35, 70, 0.05);
}

.medlemmer-picture-current-title {
  margin: 0 0 12px;
  font-size: 13px;
  font-weight: 700;
  color: var(--ink);
}

.medlemmer-picture-current-frame {
  display: flex;
  justify-content: center;
  padding: 6px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.medlemmer-picture-current-img {
  display: block;
  max-width: 100%;
  width: auto;
  height: auto;
  max-height: 320px;
  border-radius: 6px;
  object-fit: contain;
}

.medlemmer-picture-current-none {
  margin: 0;
  font-size: 12px;
  line-height: 1.45;
  color: var(--muted);
}

.medlemmer-picture-edit-existing-btn {
  display: block;
  width: 100%;
  margin-top: 12px;
  padding: 9px 12px;
  font-family: inherit;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
  color: #15518b;
  background: #fff;
  border: 1px solid #c5d3e3;
  border-radius: 8px;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.medlemmer-picture-edit-existing-btn:hover {
  color: #0f3d66;
  background: #f0f6fc;
  border-color: #9eb8d4;
}

.medlemmer-picture-current-hint {
  margin: 8px 0 0;
  font-size: 11px;
  line-height: 1.4;
  color: var(--muted);
}

.medlemmer-picture-existing-opt {
  margin: 10px 0 0;
  text-align: center;
  font-size: 12px;
  line-height: 1.45;
  color: var(--muted);
}

.medlemmer-picture-existing-opt__sep {
  display: block;
  margin-bottom: 6px;
  font-size: 11px;
  text-transform: lowercase;
}

.medlemmer-picture-edit-existing-link {
  display: inline;
  padding: 0;
  font-family: inherit;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.45;
  color: #15518b;
  background: none;
  border: 0;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.medlemmer-picture-edit-existing-link:hover {
  color: #0f3d66;
}

.medlemmer-picture-upload-title {
  margin: 0 0 20px;
}

.medlemmer-picture-upload-lead {
  margin: 0 0 14px;
  font-size: 12px;
  line-height: 1.45;
  color: var(--muted);
}

.medlemmer-picture-upload-grid {
  display: grid;
  grid-template-columns: 108px minmax(0, 1fr);
  gap: 14px 16px;
  align-items: start;
  margin-bottom: 16px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fafbfc;
}

@media (max-width: 640px) {
  .medlemmer-picture-upload-grid {
    grid-template-columns: 1fr;
  }
}

.medlemmer-picture-upload-sample {
  min-width: 0;
}

.medlemmer-picture-sample-img {
  display: block;
  width: 72px;
  height: auto;
  border-radius: 8px;
  border: 1px solid var(--line);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.medlemmer-picture-sample-caption {
  margin: 6px 0 0;
  max-width: 100px;
  font-size: 11px;
  line-height: 1.35;
  text-align: center;
  color: var(--muted);
}

.medlemmer-picture-upload-rules {
  min-width: 0;
}

.medlemmer-picture-rules-heading {
  margin: 0 0 4px;
  font-size: 12px;
}

.medlemmer-picture-rules-heading--auto {
  margin-top: 10px;
}

.medlemmer-picture-rules-list {
  margin: 0 0 0;
  padding-left: 1.2em;
  font-size: 12px;
  line-height: 1.5;
  color: var(--ink);
}

.medlemmer-picture-rules-list li + li {
  margin-top: 2px;
}

.medlemmer-picture-upload-fields {
  padding-top: 4px;
}

.medlemmer-picture-file-label {
  display: block;
  margin-bottom: 6px;
  font-size: 12px;
  font-weight: 700;
  color: var(--ink);
}

.medlemmer-picture-file-input {
  display: block;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  margin-bottom: 12px;
  font-size: 12px;
}

.medlemmer-picture-upload-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-top: 4px;
}

.medlemmer-picture-cancel-btn {
  padding: 8px 16px;
  font-size: 12px;
  font-weight: 600;
  font-family: Verdana, Arial, sans-serif;
  color: var(--ink);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  cursor: pointer;
}

.medlemmer-picture-cancel-btn:hover:not(:disabled) {
  background: #f3f6f9;
}

.medlemmer-picture-cancel-btn:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.medlemmer-picture-preview {
  margin: 0 0 14px;
  padding: 14px 16px;
  border: 1px solid #d4e2f0;
  border-radius: 12px;
  background: linear-gradient(180deg, #f8fbfe 0%, #f0f6fc 100%);
}

.medlemmer-picture-preview-label {
  margin: 0 0 10px;
  font-size: 12px;
  font-weight: 700;
  color: var(--ink);
}

.medlemmer-picture-preview-frame {
  display: inline-block;
  max-width: 100%;
  padding: 4px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.medlemmer-picture-upload {
  overflow: hidden;
  contain: layout style;
}

.medlemmer-picture-preview-crop {
  position: relative;
  width: 220px;
  height: 264px;
  max-width: 100%;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  border-radius: 6px;
  background: #e8edf2;
  cursor: grab;
  touch-action: none;
  -ms-touch-action: none;
  user-select: none;
  -webkit-user-select: none;
  outline: none;
  overscroll-behavior: contain;
  scrollbar-width: none;
}

.medlemmer-picture-preview-crop::-webkit-scrollbar {
  display: none;
}

.medlemmer-picture-preview-crop.is-dragging {
  cursor: grabbing;
}

.medlemmer-picture-preview-pan {
  margin: 0;
  padding: 0;
  line-height: 0;
  font-size: 0;
}

.medlemmer-picture-preview-crop img,
.medlemmer-picture-preview-pan img {
  display: block;
  margin: 0;
  padding: 0;
  border: 0;
  max-width: none !important;
  max-height: none !important;
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
}

.medlemmer-picture-preview-zoom {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 10px 0 0;
}

.medlemmer-picture-zoom-btn {
  width: 30px;
  height: 30px;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  font-size: 18px;
  line-height: 1;
  color: var(--ink);
  cursor: pointer;
}

.medlemmer-picture-zoom-btn:hover {
  background: #f3f6f9;
}

.medlemmer-picture-zoom-label {
  min-width: 3.2em;
  font-size: 12px;
  font-weight: 600;
  text-align: center;
  color: var(--ink);
}

.medlemmer-picture-preview-meta {
  margin: 8px 0 0;
  font-size: 11px;
  color: var(--muted);
  overflow-wrap: anywhere;
  word-break: break-word;
}

.medlemmer-picture-preview-hint {
  margin: 8px 0 0;
  font-size: 12px;
  line-height: 1.45;
  color: var(--ink);
  overflow-wrap: anywhere;
}

.medlemmer-picture-preview-error {
  margin: 8px 0 0;
  padding: 8px 10px;
  font-size: 12px;
  line-height: 1.4;
  color: #9b1c1c;
  background: #fff5f5;
  border: 1px solid #e8b4b4;
  border-radius: 8px;
}

.medlemmer-picture-preview-error[hidden] {
  display: none !important;
}

.medlemmer-iframe-submit:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.medlemmer-picture-upload--error {
  padding: 12px 14px;
  border: 1px solid #e0b4b4;
  border-radius: 10px;
  background: #fff5f5;
  font-size: 12px;
  line-height: 1.45;
}

.medlemmer-picture-upload--error p {
  margin: 0 0 8px;
}

.medlemmer-picture-upload-detail {
  font-size: 11px;
  color: var(--muted);
}

.medlemmer-picture-remove {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
  max-width: 520px;
}

.medlemmer-picture-remove-lead {
  margin: 0 0 10px;
  font-size: 12px;
  line-height: 1.45;
  color: var(--muted);
}

.medlemmer-picture-remove-form {
  margin: 0;
}

.medlemmer-picture-remove-btn {
  display: inline-block;
  padding: 8px 14px;
  font-size: 12px;
  font-weight: 600;
  color: var(--ink);
  background: #fff5f5;
  border: 1px solid #e8b4b4;
  border-radius: 8px;
  cursor: pointer;
}

.medlemmer-picture-remove-btn:hover {
  background: #ffecec;
}

/* Bekræftelsesdialog — erstatter browser confirm() */
.eksl-confirm-dlg:not([open]) {
  display: none;
}

.eksl-confirm-dlg {
  margin: auto;
  padding: 0;
  border: none;
  background: transparent;
  max-width: calc(100vw - 24px);
}

.eksl-confirm-dlg::backdrop {
  background: rgba(12, 18, 28, 0.42);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

.eksl-confirm-dlg__card {
  width: min(400px, calc(100vw - 24px));
  padding: 22px 24px 20px;
  box-sizing: border-box;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.18);
}

.eksl-confirm-dlg__title {
  margin: 0 0 10px;
  font-size: 1.1rem;
  font-weight: 600;
  line-height: 1.3;
  color: var(--ink);
}

.eksl-confirm-dlg__text {
  margin: 0 0 20px;
  font-size: 13px;
  line-height: 1.5;
  color: var(--muted);
}

.eksl-confirm-dlg__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}

.eksl-confirm-dlg__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 9px 18px;
  box-sizing: border-box;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2;
  font-family: inherit;
  border-radius: 999px;
  border: 1px solid transparent;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease;
}

.eksl-confirm-dlg__btn--cancel {
  color: var(--ink);
  background: #f4f5f7;
  border-color: var(--line);
}

.eksl-confirm-dlg__btn--cancel:hover {
  background: #e8eaee;
  border-color: var(--line-strong);
}

.eksl-confirm-dlg__btn--danger {
  color: #8b1a1a;
  background: #fff5f5;
  border-color: #e8b4b4;
}

.eksl-confirm-dlg__btn--danger:hover {
  color: #fff;
  background: #c62828;
  border-color: #b71c1c;
}

html.eksl-dark-mode .eksl-confirm-dlg__card {
  background: var(--surface);
  border-color: var(--line);
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.45);
}

html.eksl-dark-mode .eksl-confirm-dlg__btn--cancel {
  background: #3a3a40;
  border-color: var(--line);
  color: var(--ink);
}

html.eksl-dark-mode .eksl-confirm-dlg__btn--cancel:hover {
  background: #45454c;
}

html.eksl-dark-mode .eksl-confirm-dlg__btn--danger {
  color: #ffcdd2;
  background: #4a2020;
  border-color: #8b4545;
}

html.eksl-dark-mode .eksl-confirm-dlg__btn--danger:hover {
  color: #fff;
  background: #c62828;
  border-color: #b71c1c;
}

/* Spilturnus (Spilhold.asp) */
.content .spilhold-page {
  padding-bottom: 24px;
  max-width: 100%;
}

.spilhold-lead {
  margin: 0 0 16px;
  max-width: 52em;
  font-size: 12px;
  line-height: 1.55;
  color: var(--muted);
}

.medlemsliste-txt-table.spilhold-table {
  min-width: 640px;
}

.spilhold-th-hold,
.spilhold-td-hold {
  width: 9em;
  white-space: nowrap;
  vertical-align: top;
  font-weight: 600;
}

.spilhold-th-medl,
.spilhold-td-medl {
  vertical-align: top;
  min-width: 14em;
}

.spilhold-th-dato,
.spilhold-td-dato {
  vertical-align: top;
  width: 12em;
}

.spilhold-empty {
  padding: 14px 12px !important;
  color: var(--muted);
  font-size: 13px;
}

.spilhold-footnote {
  margin: 18px 0 0;
  max-width: 52em;
  font-size: 12px;
  line-height: 1.55;
  color: var(--ink);
}

/* Opslagstavle */
.content .opslagstavle-page {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  margin-bottom: 0;
  padding-bottom: 28px;
}

.opslagstavle-h3 {
  margin: 0 0 12px;
  font-size: 15px;
  font-weight: 700;
  color: var(--ink);
}

.opslagstavle-form-block {
  margin: 0 0 24px;
  padding: 0 0 20px;
  border-bottom: 1px solid var(--line, #ddd);
}

.opslagstavle-field {
  margin: 0 0 14px;
}

.opslagstavle-field label {
  display: block;
  margin: 0 0 6px;
  font-size: 12px;
  font-weight: 600;
  color: var(--ink);
}

.opslagstavle-field input[type="date"],
.opslagstavle-field textarea {
  box-sizing: border-box;
  max-width: 100%;
  padding: 8px 10px;
  border: 1px solid var(--line, #ccc);
  border-radius: 8px;
  font-size: 13px;
  font-family: inherit;
}

.opslagstavle-field textarea {
  width: 100%;
  min-height: 7rem;
  max-width: 40rem;
  resize: vertical;
}

.opslagstavle-label {
  display: block;
  margin: 0 0 6px;
  font-size: 12px;
  font-weight: 600;
  color: var(--ink);
}

.opslagstavle-file {
  display: block;
  max-width: 100%;
  font-size: 13px;
}

.opslagstavle-item__figrow {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 12px;
}

.opslagstavle-item__figure {
  margin: 0;
  flex: 1 1 160px;
  max-width: min(100%, 420px);
}

.opslagstavle-item__imgbtn {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  border-radius: 8px;
  cursor: zoom-in;
  font: inherit;
  text-align: inherit;
  -webkit-tap-highlight-color: transparent;
}

.opslagstavle-item__imgbtn:focus-visible {
  outline: 2px solid var(--link, #0b5cab);
  outline-offset: 3px;
}

.opslagstavle-item__img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 360px;
  object-fit: contain;
  border-radius: 8px;
  border: 1px solid var(--line, #ddd);
  background: #fff;
  pointer-events: none;
}

.opslagstavle-img-modal.flystatus-modal {
  z-index: 100010;
}

.opslagstavle-img-modal .opslagstavle-img-modal__panel {
  position: relative;
  max-width: min(96vw, 1280px);
  width: auto;
  padding: 44px 16px 16px;
  background: #1a1a1f;
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow:
    0 24px 60px rgba(0, 0, 0, 0.45),
    0 0 0 1px rgba(0, 0, 0, 0.2);
}

.opslagstavle-img-modal__close {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 2;
}

.opslagstavle-img-modal__img {
  display: block;
  max-width: 100%;
  max-height: min(88vh, 1600px);
  width: auto;
  height: auto;
  margin: 0 auto;
  object-fit: contain;
  border-radius: 6px;
}

html.eksl-dark-mode .opslagstavle-img-modal .opslagstavle-img-modal__panel {
  background: #121214;
  border-color: var(--line, #3a3a40);
}

.opslagstavle-hint {
  display: block;
  margin: 6px 0 0;
  font-size: 11px;
  font-weight: 400;
  color: var(--muted, #666);
}

.opslagstavle-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.opslagstavle-item {
  margin: 0 0 16px;
  padding: 14px 16px;
  border: 1px solid var(--line, #ddd);
  border-radius: 10px;
  background: #fafbfd;
  box-sizing: border-box;
}

.opslagstavle-item__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 10px;
  margin: 0 0 10px;
  font-size: 12px;
  color: var(--muted, #555);
}

.opslagstavle-item__meta strong {
  color: var(--ink);
}

.opslagstavle-item__sep {
  color: #bbb;
}

.opslagstavle-item__tid {
  font-size: 11px;
}

.opslagstavle-slet {
  display: inline;
  margin: 0 0 0 auto;
}

.opslagstavle-slet button {
  padding: 4px 10px;
  font-size: 11px;
}

.opslagstavle-item__body {
  font-size: 13px;
  line-height: 1.55;
  color: var(--ink);
  word-break: break-word;
}

.opslagstavle-empty {
  padding: 16px;
  font-size: 13px;
  color: var(--muted);
  border: 1px dashed var(--line, #ccc);
  border-radius: 8px;
}

/* Opslagstavle — mørk tilstand (ellers lyse kort + lys tekst fra --ink) */
html.eksl-dark-mode .opslagstavle-form-block {
  border-bottom-color: var(--line);
}

html.eksl-dark-mode .opslagstavle-item {
  background: var(--paper);
  border-color: var(--line);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.04);
}

html.eksl-dark-mode .opslagstavle-item__meta {
  color: var(--muted);
}

html.eksl-dark-mode .opslagstavle-item__meta strong {
  color: var(--ink);
}

html.eksl-dark-mode .opslagstavle-item__sep {
  color: var(--line-strong);
}

html.eksl-dark-mode .opslagstavle-item__body {
  color: var(--ink);
}

html.eksl-dark-mode .opslagstavle-empty {
  color: var(--muted);
  border-color: var(--line);
  background: rgba(0, 0, 0, 0.2);
}

html.eksl-dark-mode .opslagstavle-item__img {
  background: #2a2a2e;
  border-color: var(--line);
}

/* Hytte og camping (hytteogcamping.asp) */
.content .hytte-camping-page {
  margin-bottom: 0;
  padding-bottom: 24px;
  max-width: 100%;
}

.hytte-camping-prose {
  max-width: 52em;
  font-size: 12px;
  line-height: 1.55;
  color: var(--ink);
}

.hytte-camping-prose h3 {
  margin: 20px 0 10px;
  font-size: 14px;
  font-weight: 700;
  color: var(--ink);
}

.hytte-camping-prose h3:first-of-type {
  margin-top: 0;
}

.hytte-camping-prose p {
  margin: 0 0 12px;
}

.hytte-camping-prose p:last-child {
  margin-bottom: 0;
}

/* Kørselsgodtgørelse (carmoney.asp) — fuld bredde i .content */
.content .carmoney-page {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  margin-bottom: 0;
  padding-bottom: 28px;
}

.carmoney-lead {
  max-width: none;
  width: 100%;
  margin: 0 0 18px;
  font-size: 12px;
  line-height: 1.55;
  color: var(--ink);
}

.carmoney-flash {
  max-width: none;
  width: 100%;
  margin: 0 0 16px;
  padding: 12px 14px;
  border-radius: 8px;
  font-size: 12px;
  line-height: 1.45;
}

.carmoney-flash--ok {
  border: 1px solid #b8d4a8;
  background: #f4faf0;
  color: var(--ink);
}

.carmoney-flash--err {
  border: 1px solid #e0a0a0;
  background: #fff8f8;
  color: var(--ink);
}

.carmoney-flash--hint {
  border: 1px solid #c8d4e8;
  background: #f6f9fc;
  color: var(--ink);
}

.carmoney-adminliter {
  margin: 0 0 20px;
  padding: 14px 18px 18px;
  border: 1px solid #c5d4e8;
  border-radius: 10px;
  background: #f0f6fc;
  box-sizing: border-box;
}

.carmoney-adminliter h3 {
  margin: 0 0 8px;
  font-size: 15px;
  color: var(--ink);
}

.carmoney-adminliter__meta {
  margin: 0 0 10px;
  font-size: 12px;
  line-height: 1.5;
  color: var(--muted, #555);
}

.carmoney-adminliter__stamp {
  margin: 0 0 12px;
  font-size: 11px;
  color: var(--muted, #666);
}

.carmoney-adminliter__form {
  margin: 0;
}

.carmoney-adminliter__label {
  display: block;
  margin: 0 0 6px;
  font-size: 12px;
  font-weight: 700;
  color: var(--ink);
}

.carmoney-adminliter__row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 12px;
  align-items: center;
}

.carmoney-adminliter__row .carmoney-num {
  max-width: 10rem;
  min-width: 7rem;
}

.carmoney-adminliter__row .carmoney-input--ore {
  max-width: 4.5rem;
  min-width: 3.5rem;
}

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

.carmoney-field-label-line {
  display: block;
  margin: 0 0 6px;
  font-size: 12px;
  font-weight: 600;
  color: var(--ink);
}

.carmoney-liter-split {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 20px;
  align-items: flex-end;
}

/* Kroner + øre: én række etiketter, én række felter (samme base-line). */
.carmoney-liter-split--grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: auto auto;
  column-gap: 1.25rem;
  row-gap: 6px;
  align-items: start;
}

.carmoney-liter-split--grid .carmoney-liter-lbl {
  margin: 0;
  font-size: 12px;
  font-weight: 600;
  color: var(--ink);
}

.carmoney-liter-split--grid .carmoney-liter-ctl {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.carmoney-liter-split--grid .carmoney-num {
  max-width: 8rem;
}

.carmoney-liter-split--grid .carmoney-input--ore,
.carmoney-liter-split--grid .carmoney-num.carmoney-input--ore {
  max-width: 4.5rem;
}

.carmoney-liter-part {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 8px;
}

.carmoney-liter-part .carmoney-num {
  max-width: 8rem;
}

.carmoney-liter-part .carmoney-input--ore,
.carmoney-liter-part .carmoney-num.carmoney-input--ore {
  max-width: 4.5rem;
}

.carmoney-liter-suffix {
  font-size: 13px;
  font-weight: 600;
  color: var(--muted, #555);
  user-select: none;
}

.carmoney-form {
  max-width: none;
  width: 100%;
  margin: 0 0 28px;
  padding: 18px 20px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fafbfd;
  box-sizing: border-box;
}

.carmoney-field {
  margin: 0 0 14px;
}

.carmoney-field:last-child {
  margin-bottom: 0;
}

.carmoney-field label {
  display: block;
  margin: 0 0 6px;
  font-size: 12px;
  font-weight: 600;
  color: var(--ink);
}

.carmoney-req {
  color: var(--ink);
  font-weight: 700;
}

.carmoney-opt {
  font-weight: 400;
  color: var(--muted);
}

.carmoney-hint {
  display: block;
  font-weight: 400;
  color: var(--muted);
  font-size: 11px;
  margin-top: 2px;
}

.carmoney-field-hint {
  margin: 6px 0 0;
  font-size: 11px;
  line-height: 1.45;
  color: var(--muted);
}

.carmoney-form input[type="text"],
.carmoney-form input[type="email"],
.carmoney-form input[type="number"],
.carmoney-form input[type="date"],
.carmoney-form textarea {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  padding: 8px 10px;
  font-size: 13px;
  font-family: Verdana, Arial, sans-serif;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
}

.carmoney-form textarea {
  resize: vertical;
  min-height: 72px;
}

.carmoney-form input.carmoney-input-readonly {
  background: #f0f2f5;
  color: var(--ink);
  cursor: default;
}

.carmoney-num {
  max-width: 12em;
}

.carmoney-fieldset {
  margin: 0 0 16px;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.carmoney-fieldset legend {
  padding: 0 6px;
  font-size: 12px;
  font-weight: 700;
  color: var(--ink);
}

.carmoney-grid2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px 16px;
}

@media (max-width: 640px) {
  .carmoney-grid2 {
    grid-template-columns: 1fr;
  }
}

.carmoney-field--inline .carmoney-check,
.carmoney-field--bank .carmoney-check,
.carmoney-bank-check .carmoney-check {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 400;
  font-size: 12px;
  line-height: 1.45;
  cursor: pointer;
}

.carmoney-field--inline .carmoney-check input,
.carmoney-field--bank .carmoney-check input,
.carmoney-bank-check .carmoney-check input {
  margin-top: 2px;
  flex-shrink: 0;
}

/* Bank: reg. + kontonummer først; afkrydsning på næste linje i højre kolonne (under kontonummer) */
.carmoney-bank-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px 16px;
  align-items: start;
  margin: 0 0 14px;
}

.carmoney-bank-layout .carmoney-bank-fields {
  grid-column: 1 / -1;
  margin-bottom: 0;
}

.carmoney-bank-check {
  grid-column: 2;
  margin: 0;
  padding-top: 2px;
}

@media (max-width: 640px) {
  .carmoney-bank-check {
    grid-column: 1;
  }
}

.carmoney-bank-subhint {
  margin: 6px 0 0;
  padding-left: 28px;
  font-size: 11px;
  line-height: 1.4;
  color: var(--muted);
}

.carmoney-drop-label {
  display: block;
  margin: 0 0 8px;
  font-size: 12px;
  font-weight: 600;
  color: var(--ink);
}

.carmoney-drop-label--req {
  color: var(--link, #15518b);
}

.carmoney-dropzone--required:not(.carmoney-dropzone--has-files) {
  border-color: #c2410c;
  background: #fff7ed;
}

.carmoney-send-btn {
  white-space: normal;
  line-height: 1.35;
  max-width: 100%;
  box-sizing: border-box;
  padding-left: 14px;
  padding-right: 14px;
}

.carmoney-dropzone {
  position: relative;
  box-sizing: border-box;
  min-height: 100px;
  padding: 16px 18px;
  border: 2px dashed #9ab3c7;
  border-radius: 10px;
  background: #f7fafc;
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease;
}

.carmoney-dropzone:hover,
.carmoney-dropzone:focus {
  outline: none;
  border-color: #15518b;
  background: #eef4fa;
}

.carmoney-dropzone--drag {
  border-color: var(--link);
  background: #e8f1fb;
}

.carmoney-dropzone--has-files {
  border-style: solid;
  border-color: #b8d4a8;
  background: #f8fcf6;
}

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

.carmoney-dropzone__text {
  margin: 0;
  font-size: 12px;
  line-height: 1.5;
  color: var(--muted);
  pointer-events: none;
}

.carmoney-file-list {
  margin: 12px 0 0;
  padding-left: 1.2em;
  font-size: 11px;
  line-height: 1.45;
  color: var(--ink);
  pointer-events: none;
}

.carmoney-file-list li {
  margin-bottom: 4px;
}

.carmoney-calc .carmoney-calc-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8px;
  margin: 8px 0 0;
  padding-top: 8px;
  border-top: 1px solid #e8ecf1;
  font-size: 12px;
  color: var(--ink);
}

.carmoney-calc .carmoney-calc-row:first-of-type {
  border-top: none;
  padding-top: 0;
}

.carmoney-calc-row--total {
  font-weight: 700;
  margin-top: 12px;
  padding-top: 12px;
  border-top-width: 2px;
}

.carmoney-calc-detail {
  display: inline;
  font-weight: 600;
  color: var(--booking-accent, #0e4572);
  letter-spacing: 0.02em;
}

.carmoney-calc-row__sum {
  white-space: nowrap;
}

.carmoney-actions {
  margin-top: 18px;
}

.carmoney-guidelines {
  max-width: none;
  width: 100%;
  margin-top: 8px;
  padding-top: 20px;
  border-top: 1px solid var(--line);
}

.carmoney-guidelines h3 {
  margin: 0 0 8px;
  font-size: 14px;
  font-weight: 700;
  color: var(--ink);
}

.carmoney-guidelines-meta {
  margin: 0 0 14px;
  font-size: 11px;
  color: var(--muted);
}

.carmoney-guidelines-prose {
  font-size: 12px;
  line-height: 1.55;
  color: var(--ink);
}

.carmoney-guidelines-prose p {
  margin: 0 0 12px;
}

.carmoney-guidelines-prose ul {
  margin: 0 0 12px;
  padding-left: 1.25em;
}

.carmoney-guidelines-prose li {
  margin-bottom: 6px;
}

.carmoney-kreditor-note {
  max-width: none;
  width: 100%;
  margin-top: 8px;
  padding-top: 20px;
  border-top: 1px solid var(--line);
}

.carmoney-kreditor-note h3 {
  margin: 0 0 8px;
  font-size: 14px;
  font-weight: 700;
  color: var(--ink);
}

.carmoney-kreditor-note__lead {
  font-size: 12px;
  line-height: 1.5;
  color: var(--muted);
  margin: 0 0 14px;
  max-width: 42em;
}

.carmoney-kreditor-note__textarea {
  display: block;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  min-height: 130px;
  resize: vertical;
  font-family: inherit;
}

.carmoney-kreditor-note__actions {
  margin-top: 12px;
}

/* Instruktoer.asp — samme skabelon som øvrige lister: klubdata-lead + eksl-content-panel + medlemsliste-txt-table */
.content .instruktoer-page {
  margin-bottom: 0;
  padding-bottom: 24px;
  max-width: 100%;
}

.medlemsliste-txt-table.instruktoer-vagt-table {
  min-width: 0;
}

.instruktoer-vagt-table td.instruktoer-role-cell {
  width: 5.5em;
  font-weight: 600;
  background: #f0f3f8;
  color: var(--ink);
  white-space: nowrap;
  border-right: 1px solid #e8eaee;
}

.instruktoer-vagt-table td.instruktoer-date-cell {
  font-weight: 600;
  background: #f7f9fc;
  border-right: 1px solid #e8eaee;
}

.instruktoer-vagt-table td.instruktoer-next-day {
  background: #fff6b0 !important;
  border-right: 1px solid #e8eaee;
}

.instruktoer-vagt-table td.instruktoer-next-day a {
  color: inherit;
  font-weight: 700;
  text-decoration: none;
}

.instruktoer-vagt-table td.instruktoer-next-day a:hover {
  text-decoration: underline;
}

.instruktoer-vagt-table tbody td a {
  font-weight: 600;
}

/* Klubdata + klubnytintern — samme top-indryk så h2 står ens ved menuskift */
.content .klubnyt-page,
.content .klubdata-page {
  margin-bottom: 0;
  padding-bottom: 24px;
  max-width: 100%;
}

.klubdata-title {
  margin: 0 0 20px;
}

.klubdata-lead {
  margin: 0 0 18px;
  max-width: 48em;
  font-size: 12px;
  line-height: 1.55;
  color: var(--muted);
}

/* elev.asp — hub med links til elev-relevant indhold */
.elev-page__note {
  margin: -6px 0 20px;
  max-width: 52em;
  font-size: 11px;
  line-height: 1.5;
  color: var(--muted);
}

.elev-page__list {
  margin: 0;
  padding-left: 1.15em;
}

.elev-page__list li {
  margin-bottom: 6px;
}

.elev-page__list li:last-child {
  margin-bottom: 0;
}

.elev-page__muted {
  font-weight: 400;
  color: var(--muted);
  font-size: 11px;
}

.klubdata-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 14px;
  margin: 0;
}

.klubdata-card--full {
  grid-column: 1 / -1;
}

.klubdata-card--full .klubdata-mail-list {
  max-width: 52em;
}

.klubdata-card {
  box-sizing: border-box;
  margin: 0;
  padding: 16px 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

/* Sektionsoverskrifter som default.asp klubnyt-toc-heading */
.klubdata-card-title {
  margin: 0 0 10px;
  padding-bottom: 8px;
  border-bottom: 1px solid #e4e8ef;
  font-family: Verdana, Arial, sans-serif;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #000000;
}

.klubdata-card-body {
  margin: 0;
  font-size: 12px;
  line-height: 1.55;
  color: var(--ink);
}

.klubdata-card-body a {
  font-weight: 600;
}

.klubdata-mono {
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.02em;
}

.klubdata-phone {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

@media (min-width: 400px) {
  .klubdata-phone {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 8px 12px;
  }
}

.klubdata-phone-label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--muted);
}

.klubdata-phone a {
  font-size: 12px;
  font-weight: 700;
  color: var(--link);
}

.klubdata-mail-list {
  margin: 0;
  padding: 0;
}

.klubdata-mail-item {
  display: grid;
  grid-template-columns: minmax(0, 220px) 1fr;
  gap: 10px 20px;
  align-items: start;
  padding: 12px 0;
  border-bottom: 1px solid #eceef2;
}

.klubdata-mail-item:first-of-type {
  padding-top: 4px;
}

.klubdata-mail-item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.klubdata-mail-item dt {
  margin: 0;
  font-size: 12px;
  font-weight: 600;
  word-break: break-all;
}

.klubdata-mail-item dt a {
  font-family: "Segoe UI", Verdana, Arial, sans-serif;
}

.klubdata-mail-item dd {
  margin: 0;
  font-size: 12px;
  line-height: 1.55;
  color: var(--ink);
}

@media (max-width: 560px) {
  .klubdata-mail-item {
    grid-template-columns: 1fr;
    gap: 4px;
  }
}

/* Kluborganisation (Udvalg.asp) */
.udvalg-page {
  margin: 0 0 28px;
  max-width: 100%;
}

.udvalg-title {
  margin: 0 0 20px;
}

.udvalg-lead {
  margin: 0 0 18px;
  max-width: 48em;
  font-size: 12px;
  line-height: 1.55;
  color: var(--muted);
}

.udvalg-toc {
  margin: 0 0 24px;
  padding: 16px 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f7f9fc;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.udvalg-toc-heading {
  margin: 0 0 12px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ink);
}

.udvalg-toc-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 10px;
}

.udvalg-toc-item {
  margin: 0;
}

.udvalg-toc-link {
  display: inline-block;
  padding: 6px 12px;
  font-size: 12px;
  font-weight: 600;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
  text-decoration: none;
  color: var(--link);
}

.udvalg-toc-link:hover {
  border-color: rgba(31, 111, 235, 0.45);
  color: var(--link-hover);
}

.udvalg-section {
  margin: 0 0 22px;
  padding: 0 0 20px;
  border-bottom: 1px solid #e4e8ef;
}

.udvalg-section:last-of-type {
  border-bottom: none;
  padding-bottom: 0;
}

.udvalg-section-head {
  margin: 0 0 12px;
}

.udvalg-section-title {
  margin: 0;
  font-size: 1.15rem;
  font-weight: 800;
  line-height: 1.25;
  color: var(--ink);
}

.udvalg-section-mailall {
  color: var(--ink);
  text-decoration: none;
}

.udvalg-section-mailall:hover {
  color: var(--link-hover);
  text-decoration: underline;
}

.udvalg-table-wrap {
  overflow-x: auto;
  margin: 0 0 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.udvalg-table {
  width: 100%;
  min-width: 480px;
  border-collapse: collapse;
  font-size: 12px;
}

.udvalg-table thead th {
  text-align: left;
  padding: 10px 14px;
  background: #f0f3f8;
  border-bottom: 2px solid var(--line);
  font-weight: 700;
  color: var(--ink);
  white-space: nowrap;
}

.udvalg-table tbody td {
  padding: 10px 14px;
  border-bottom: 1px solid #eceef2;
  vertical-align: top;
}

.udvalg-table tbody tr:last-child td {
  border-bottom: none;
}

.udvalg-table tbody tr:hover {
  background: rgba(31, 111, 235, 0.04);
}

.udvalg-col-navn {
  font-weight: 600;
}

.udvalg-col-navn a {
  font-weight: 700;
}

.udvalg-role {
  font-weight: 400;
  color: var(--ink);
}

.udvalg-col-tlf {
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.udvalg-col-mail {
  word-break: break-all;
}

.udvalg-empty {
  margin: 0 0 14px;
  padding: 12px 14px;
  font-size: 12px;
  color: var(--muted);
  background: #f9fafb;
  border-radius: 6px;
  border: 1px dashed var(--line);
}

.udvalg-desc {
  margin: 0;
  padding: 14px 16px;
  border-radius: 8px;
  background: #fafbfc;
  border: 1px solid #e8eaee;
}

.udvalg-desc-title {
  margin: 0 0 8px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--muted);
}

.udvalg-desc-body {
  margin: 0;
  font-size: 12px;
  line-height: 1.55;
  color: var(--ink);
}

.udvalg-desc-missing {
  color: var(--muted);
}

.udvalg-back {
  margin: 14px 0 0;
  font-size: 12px;
}

/* Interne klubnyheder (klubnytintern.asp) — vertikal placering styres af .content .klubnyt-page */
.klubnyt-page {
  max-width: 100%;
}

.klubnyt-title {
  margin: 0 0 20px;
}

/* Primær sideoverskrift — eksplicit som global h2 (undgår arv fra .klubnyt-page 12px-kontekst) */
.content .klubnyt-page > h2.klubnyt-title,
.content .klubdata-page > h2.klubdata-title {
  font-family: Verdana, Arial, sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.25;
  color: var(--ink);
}

.klubnyt-lead {
  margin: 0 0 18px;
  max-width: 48em;
  font-size: 12px;
  line-height: 1.55;
  color: var(--muted);
}

.klubnyt-toc {
  margin: 0 0 18px;
  padding: 16px 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f7f9fc;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

/* Samme sektionsoverskrift som default.asp .klubnyt-toc--home .klubnyt-toc-heading */
.klubnyt-toc-heading {
  margin: 0 0 12px;
  font-family: Verdana, Arial, sans-serif;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--ink);
}

.klubnyt-toc-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.klubnyt-toc-item {
  margin: 0 0 8px;
  padding-bottom: 8px;
  border-bottom: 1px solid #e4e8ef;
}

.klubnyt-toc-item:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}

.klubnyt-toc-link {
  font-size: 12px;
  font-weight: 600;
  line-height: 1.55;
}

/* klubnytintern: oversigten er #ankre, ikke eksterne links — undgå global a { --link } (blå) */
.content .klubnyt-page .klubnyt-toc:not(.klubnyt-toc--home) .klubnyt-toc-link {
  color: var(--ink);
  text-decoration: none;
}

.content .klubnyt-page .klubnyt-toc:not(.klubnyt-toc--home) .klubnyt-toc-link:hover {
  color: var(--link-hover);
  text-decoration: underline;
}

/* default.asp – ingen ekstra ramme: .box_l er ydre kant; undgå dobbelt ramme med afrundet .klubnyt-toc */
.klubnyt-toc.klubnyt-toc--home {
  margin: 0 0 12px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

/* default.asp – overskrift + genvejsrække */
.klubnyt-toc--home .default-board-quick-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px 14px;
  margin-bottom: 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid #e4e8ef;
}

.klubnyt-toc--home .default-board-quick-head .klubnyt-toc-heading {
  margin: 0;
  flex: 1 1 auto;
  min-width: min(100%, 12em);
  align-self: center;
}

.default-board-quick {
  flex-shrink: 0;
}

.default-board-quick-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.default-board-quick-item {
  margin: 0;
}

.default-board-quick-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  min-width: 76px;
  padding: 6px 8px;
  border-radius: 10px;
  text-decoration: none;
  color: var(--link);
  border: 1px solid #d8e3ef;
  background: #fff;
  box-shadow: 0 1px 2px rgba(16, 42, 66, 0.05);
  transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease, transform 0.12s ease;
}

.default-board-quick-link:hover {
  text-decoration: none;
  background: #f3f7fc;
  border-color: #15518b;
  box-shadow: 0 2px 6px rgba(21, 81, 139, 0.12);
  transform: translateY(-1px);
}

.default-board-quick-ico {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 10px;
  flex-shrink: 0;
}

.default-board-quick-ico--hv {
  background: #e8f1fb;
  color: inherit;
}

.default-board-quick-ico--medl {
  background: #f3e8f8;
  color: var(--link);
}

.default-board-quick-ico--fs {
  background: #e8f5e9;
}

.default-board-quick-ico--logout {
  background: #fdecea;
  color: var(--link);
}

.default-board-quick-link--logout {
  color: var(--link);
}

.default-board-quick-link--logout:hover {
  border-color: #c62828;
}

.default-board-quick-label {
  font-size: 10px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  color: inherit;
  max-width: 88px;
}

.default-board-quick-link:hover .default-board-quick-label {
  color: inherit;
}

.klubnyt-toc--home .klubnyt-toc-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.klubnyt-toc--home .klubnyt-toc-item {
  margin: 0;
  padding: 14px 16px;
  border-bottom: none;
  background: #f7f9fc;
  border: 1px solid #e4e8ef;
  border-radius: 8px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.klubnyt-toc--home .klubnyt-toc-item:last-child {
  margin-bottom: 0;
  padding-bottom: 14px;
}

.klubnyt-toc--home .klubnyt-toc-link {
  display: block;
  margin: 0 0 6px;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.55;
  text-decoration: none;
  color: var(--link);
}

.klubnyt-toc--home .klubnyt-toc-link:hover {
  color: var(--link-hover);
  text-decoration: underline;
}

.klubnyt-toc--home .klubnyt-toc-item__title-row {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px 10px;
  margin-bottom: 6px;
}

.klubnyt-toc--home .klubnyt-toc-item__title-row .klubnyt-toc-link {
  flex: 1 1 12rem;
  min-width: 0;
  margin: 0;
  display: inline;
}

.klubnyt-toc--home .klubnyt-toc-replybadge {
  flex-shrink: 0;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.25;
  padding: 3px 8px;
  border-radius: 999px;
  background: #e8f4fc;
  color: #0f3d66;
  border: 1px solid #b8d4ea;
  white-space: nowrap;
}

.klubnyt-toc--home .klubnyt-toc-excerpt {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.55;
  color: var(--muted);
  word-wrap: break-word;
}

.klubnyt-toc--home .klubnyt-toc-excerpt p {
  margin: 0 0 0.35em;
}

.klubnyt-toc--home .klubnyt-toc-excerpt p:last-child {
  margin-bottom: 0;
}

.klubnyt-toc--home .klubnyt-toc-footer {
  font-size: 15px;
}

.klubnyt-toc-footer {
  margin: 4px 0 0;
  padding-top: 12px;
  border-top: 1px solid #e4e8ef;
  font-size: 12px;
}

.klubnyt-toc-footer a {
  font-weight: 600;
  color: var(--link);
}

.klubnyt-toc-footer a:hover {
  color: var(--link-hover);
}

.klubnyt-pager {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
  margin: 0 0 20px;
  font-size: 12px;
  line-height: 1.55;
}

.klubnyt-pager-link {
  display: inline-block;
  padding: 6px 14px;
  font-weight: 600;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
  text-decoration: none;
  color: var(--link);
}

.klubnyt-pager-link:hover {
  border-color: rgba(31, 111, 235, 0.45);
  color: var(--link-hover);
}

.klubnyt-pager-gap {
  color: var(--muted);
  user-select: none;
}

.klubnyt-sep {
  height: 1px;
  margin: 0 0 22px;
  background: linear-gradient(90deg, transparent, var(--line) 12%, var(--line) 88%, transparent);
  border: 0;
}

.klubnyt-item {
  margin: 0 0 28px;
  padding: 0 0 24px;
  border-bottom: 1px solid #e4e8ef;
}

.klubnyt-item:last-of-type {
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 0;
}

.klubnyt-item-head {
  margin: 0 0 12px;
}

/* Indlægstitel — sort som øvrige overskrifter; høj specificitet mod andre a/h-regler */
.content .klubnyt-page .klubnyt-item .klubnyt-item-title,
.klubnyt-item-title {
  margin: 0;
  font-family: Verdana, Arial, sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.55;
  color: var(--ink);
}

/* Gamle indlæg med overskrifter i tekstfelt — ikke arv link-farve fra omgivende markup */
.klubnyt-item-body h1,
.klubnyt-item-body h2,
.klubnyt-item-body h3,
.klubnyt-item-body h4,
.klubnyt-item-body h5,
.klubnyt-item-body h6 {
  color: var(--ink);
}

.klubnyt-item-body {
  font-size: 12px;
  line-height: 1.55;
  color: var(--ink);
  overflow-x: auto;
}

.klubnyt-item-body img {
  max-width: 100%;
  height: auto;
}

.klubnyt-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 12px;
  margin-top: 16px;
  max-width: 100%;
}

.klubnyt-gallery-cell {
  text-align: center;
}

.klubnyt-gallery-link {
  display: inline-block;
  border: 1px solid var(--line);
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
  line-height: 0;
}

.klubnyt-gallery-link:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.klubnyt-gallery-img {
  display: block;
  width: 100%;
  max-width: 172px;
  height: auto;
  margin: 0 auto;
}

/* Personlig statistik (StatistikOversigt2020.asp / statistikoversigt2020.asp) */
.statistik-page {
  margin: 0 0 28px;
  max-width: 100%;
}

.statistik-title {
  margin: 0 0 20px;
}

.statistik-lead {
  margin: 0 0 18px;
  max-width: 52em;
  font-size: 12px;
  line-height: 1.55;
  color: var(--muted);
}

.statistik-year-nav {
  margin: 0 0 18px;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f7f9fc;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.statistik-year-label {
  display: block;
  margin: 0 0 10px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ink);
}

.statistik-year-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

a.statistik-year-pill {
  display: inline-block;
  padding: 6px 14px;
  font-size: 13px;
  font-weight: 600;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
  color: var(--link);
  text-decoration: none;
}

a.statistik-year-pill:hover {
  border-color: rgba(31, 111, 235, 0.45);
  color: var(--link-hover);
}

a.statistik-year-pill.statistik-year-pill--active {
  background: rgba(31, 111, 235, 0.14);
  border-color: rgba(31, 111, 235, 0.5);
  color: var(--ink);
  font-weight: 700;
}

.statistik-table-wrap {
  overflow-x: auto;
  margin: 0 0 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.statistik-table {
  width: 100%;
  min-width: 920px;
  border-collapse: collapse;
  font-size: 11px;
}

.statistik-table.statistik-table--wide {
  min-width: 1180px;
  font-size: 10px;
}

.statistik-table.statistik-table--wide thead th {
  padding: 8px 6px;
}

.statistik-table.statistik-table--wide tbody td {
  padding: 6px 6px;
}

.statistik-table thead th {
  padding: 10px 8px;
  background: #f0f3f8;
  border-bottom: 2px solid var(--line);
  font-weight: 700;
  line-height: 1.35;
  vertical-align: bottom;
  color: var(--ink);
}

.statistik-th--navn {
  text-align: left;
  min-width: 9em;
}

.statistik-th--num {
  text-align: right;
  white-space: nowrap;
}

.statistik-th-sort {
  color: var(--link);
  text-decoration: none;
  font-weight: 700;
}

.statistik-th-sort:hover {
  color: var(--link-hover);
  text-decoration: underline;
}

.statistik-th-sort.statistik-th-sort--active {
  color: var(--ink);
  text-decoration: none;
}

.statistik-table tbody td {
  padding: 8px 8px;
  border-bottom: 1px solid #eceef2;
  vertical-align: top;
}

.statistik-td--navn {
  font-weight: 600;
  font-size: 12px;
}

.statistik-td--navn a {
  font-weight: 700;
}

.statistik-td--num {
  text-align: right;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.statistik-row:nth-child(even) {
  background: rgba(0, 0, 0, 0.02);
}

.statistik-row:hover {
  background: rgba(31, 111, 235, 0.05);
}

.statistik-footer {
  margin: 0;
  font-size: 12px;
  color: var(--muted);
}

.statistik-footer strong {
  color: var(--ink);
}

/* MedlemVis.asp – profil, faner, foto */
.medlemvis-page {
  margin: 0 0 8px;
}

.medlemvis-layout {
  display: grid;
  grid-template-columns: minmax(200px, 280px) minmax(0, 1fr);
  gap: 24px 32px;
  align-items: start;
}

@media (max-width: 900px) {
  .medlemvis-layout {
    grid-template-columns: 1fr;
  }
}

.medlemvis-aside {
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fafbfc;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.04);
}

.medlemvis-photo {
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid var(--frame-border);
  background: var(--paper);
  line-height: 0;
}

.medlemvis-photo-img {
  display: block;
  width: 100%;
  max-width: 500px;
  height: auto;
  aspect-ratio: 500 / 600;
  object-fit: cover;
}

.medlemvis-photo-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  max-width: 500px;
  aspect-ratio: 500 / 600;
  padding: 18px 14px;
  box-sizing: border-box;
  text-align: center;
  text-decoration: none;
  color: #4a5568;
  background: linear-gradient(160deg, #f3f6fa 0%, #e8edf3 100%);
  border-radius: inherit;
}

.medlemvis-photo-placeholder--link {
  cursor: pointer;
  transition: background 0.15s ease, box-shadow 0.15s ease;
}

.medlemvis-photo-placeholder--link:hover {
  background: linear-gradient(160deg, #eef3f8 0%, #dfe6ef 100%);
}

.medlemvis-photo-placeholder--link:focus-visible {
  outline: 2px solid #2563eb;
  outline-offset: 3px;
}

.medlemvis-photo-placeholder__initials {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  font-size: 42px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.03em;
  color: #fff;
  box-shadow: 0 2px 10px rgba(15, 35, 70, 0.18);
}

.medlemvis-photo-placeholder__label {
  font-size: 12px;
  font-weight: 600;
  line-height: 1.35;
  color: #5a6578;
}

.medlemvis-photo-placeholder__hint {
  font-size: 11px;
  line-height: 1.4;
  color: #6b7a8f;
  max-width: 14em;
}

.medlemvis-photo-trigger {
  display: block;
  width: 100%;
  max-width: 500px;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: inherit;
  background: transparent;
  cursor: zoom-in;
  line-height: 0;
  font: inherit;
  color: inherit;
  text-align: left;
  text-decoration: none;
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
}

.medlemvis-photo-trigger:focus {
  outline: none;
}

.medlemvis-photo-trigger:focus-visible {
  outline: 2px solid #2563eb;
  outline-offset: 3px;
}

/* pointer-events: none på img så klik går til <a> (trigger), undgår drag/fokus-problemer. */
.medlemvis-photo-trigger .medlemvis-photo-img {
  pointer-events: none;
  vertical-align: top;
}

/* Lukket dialog skjules (ældre browsere uden dialog-API viser ikke [open]) */
.medlemvis-photo-dlg:not([open]) {
  display: none !important;
}

/* Native <dialog showModal> — profilbillede i fuld størrelse */
.medlemvis-photo-dlg {
  width: 100vw;
  width: 100dvw;
  height: 100vh;
  height: 100dvh;
  max-width: none;
  max-height: none;
  margin: 0;
  padding: 20px 16px 28px;
  box-sizing: border-box;
  border: none;
  background: transparent;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  overflow: auto;
  cursor: zoom-out;
}

.medlemvis-photo-dlg::backdrop {
  background: rgba(6, 12, 22, 0.78);
  backdrop-filter: blur(10px) saturate(120%);
  -webkit-backdrop-filter: blur(10px) saturate(120%);
  cursor: zoom-out;
}

.medlemvis-photo-dlg__panel {
  width: 100%;
  max-width: min(720px, calc(100vw - 24px));
  display: flex;
  flex-direction: column;
  gap: 14px;
  cursor: default;
}

.medlemvis-photo-dlg__toolbar {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
  padding: 14px 16px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.14);
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.28);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.medlemvis-photo-dlg__title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.3;
  color: #fff;
  text-align: center;
  letter-spacing: 0.01em;
}

.medlemvis-photo-dlg__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}

.medlemvis-photo-dlg__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: 16px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.35);
}

.medlemvis-photo-dlg__img {
  display: block;
  max-width: 100%;
  max-height: min(68vh, calc(100dvh - 220px));
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 12px;
  box-shadow:
    0 20px 50px rgba(0, 0, 0, 0.45),
    0 0 0 1px rgba(255, 255, 255, 0.08);
  cursor: zoom-out;
  -webkit-user-drag: none;
  user-select: none;
}

.medlemvis-photo-dlg__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin: 0;
  padding: 9px 18px;
  box-sizing: border-box;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  border-radius: 999px;
  border: 1px solid transparent;
  cursor: pointer;
  font-family: inherit;
  transition: background 0.15s ease, border-color 0.15s ease, transform 0.12s ease;
}

.medlemvis-photo-dlg__btn span[aria-hidden="true"] {
  font-size: 1.25rem;
  line-height: 1;
  font-weight: 400;
}

.medlemvis-photo-dlg__btn--close {
  color: #fff;
  background: rgba(255, 255, 255, 0.14);
  border-color: rgba(255, 255, 255, 0.22);
}

.medlemvis-photo-dlg__btn--close:hover {
  background: rgba(255, 255, 255, 0.24);
  border-color: rgba(255, 255, 255, 0.4);
}

.medlemvis-photo-dlg__btn--home {
  color: #0d47a1;
  background: #fff;
  border-color: rgba(255, 255, 255, 0.9);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}

.medlemvis-photo-dlg__btn--home:hover {
  background: #e8f2fc;
  transform: translateY(-1px);
}

.medlemvis-photo-dlg__hint {
  margin: 0;
  max-width: 36em;
  font-size: 12px;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.82);
  text-align: center;
}

.medlemvis-photo-dlg__hint strong {
  font-weight: 600;
  color: #fff;
}

body.medlemvis-photo-lb-lock {
  overflow: hidden;
}

.medlemvis-upload {
  margin: 12px 0 0;
  font-size: 12px;
}

.medlemvis-upload-link {
  font-weight: 600;
}

.medlemvis-meta {
  margin: 16px 0 0;
  padding: 0;
}

.medlemvis-meta-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2px;
  padding: 8px 0;
  border-bottom: 1px solid #e8eaee;
}

.medlemvis-meta-row:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.medlemvis-meta dt {
  margin: 0;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: var(--muted);
}

.medlemvis-meta dd {
  margin: 0;
  font-size: 12px;
  color: var(--ink);
}

.medlemvis-forum-all-link {
  font-weight: 600;
  color: var(--link, #15518b);
  text-decoration: none;
}

.medlemvis-forum-all-link:hover {
  text-decoration: underline;
}

.medlemvis-main {
  min-width: 0;
}

.medlemvis-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px 16px;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--line);
}

.medlemvis-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.medlemvis-tab.medlemsliste-sort {
  margin: 0;
}

.medlemvis-actions {
  flex-shrink: 0;
}

.medlemvis-action-link {
  display: inline-block;
  padding: 6px 14px;
  font-size: 12px;
  font-weight: 600;
  border: 1px solid var(--line-strong);
  border-radius: 999px;
  background: var(--paper);
  color: var(--link);
}

.medlemvis-action-link:hover {
  border-color: rgba(31, 111, 235, 0.45);
  color: var(--link-hover);
  text-decoration: none;
}

.medlemvis-panel {
  padding: 0;
  min-width: 0;
}

.medlemvis-panel-title {
  margin: 0 0 14px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--ink);
}

.medlemvis-panel .medlemvis-data-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
  line-height: 1.45;
}

.medlemvis-panel .medlemvis-data-table td {
  padding: 8px 10px;
  vertical-align: top;
  border-bottom: 1px solid #eceef2;
}

.medlemvis-panel .medlemvis-data-table tr:last-child td {
  border-bottom: 0;
}

.medlemvis-panel .medlemvis-data-table:not(.medlemvis-data-table--plain) tr:nth-child(even) td {
  background: rgba(0, 0, 0, 0.025);
}

.medlemvis-panel .medlemvis-data-table:not(.medlemvis-data-table--plain) tr:nth-child(odd) td {
  background: rgba(255, 255, 255, 0.6);
}

.medlemvis-panel .medlemvis-data-table--plain td {
  border-bottom: 0;
  padding-top: 4px;
  padding-bottom: 8px;
}

.medlemvis-panel .medlemvis-data-table a {
  font-weight: 600;
}

.medlemvis-panel .medlemvis-statistik-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 4px;
}

.medlemvis-panel .medlemvis-statistik-table td {
  padding: 4px 5px;
  vertical-align: middle;
}

/* MedlemVis – mørk tilstand (.inc bruger bgcolor="#F4F4F4"; attributten kræver !important) */
html.eksl-dark-mode .medlemvis-aside {
  background: #2e2e32;
  box-shadow: none;
  border-color: var(--line);
}

html.eksl-dark-mode .medlemvis-photo {
  background: #252528;
  border-color: var(--frame-border);
}

html.eksl-dark-mode .medlemvis-photo-placeholder {
  background: linear-gradient(160deg, #2a3340 0%, #232b36 100%);
  color: #c5d0dc;
}

html.eksl-dark-mode .medlemvis-photo-placeholder__label,
html.eksl-dark-mode .medlemvis-photo-placeholder__hint {
  color: #a8b6c6;
}

html.eksl-dark-mode .medlemvis-photo-empty {
  background: linear-gradient(145deg, #35353a 0%, #2a2a2e 100%);
}

html.eksl-dark-mode .medlemvis-photo-trigger:focus-visible {
  outline-color: var(--accent);
}

html.eksl-dark-mode .medlemvis-photo-dlg__toolbar {
  background: rgba(40, 44, 52, 0.85);
  border-color: rgba(255, 255, 255, 0.12);
}

html.eksl-dark-mode .medlemvis-photo-dlg__inner {
  background: rgba(30, 32, 38, 0.72);
  border-color: rgba(255, 255, 255, 0.1);
}

html.eksl-dark-mode .medlemvis-photo-dlg__btn--home {
  background: #eceff4;
  border-color: #eceff4;
  color: #1565c0;
}

html.eksl-dark-mode .medlemvis-photo-dlg__btn--home:hover {
  background: #fff;
  border-color: #fff;
}

html.eksl-dark-mode .medlemvis-meta-row {
  border-bottom-color: var(--line);
}

html.eksl-dark-mode .medlemvis-action-link {
  background: #3a3a40;
  border-color: var(--line-strong);
  color: var(--link);
}

html.eksl-dark-mode .medlemvis-action-link:hover {
  border-color: var(--link);
  color: var(--link-hover);
}

html.eksl-dark-mode .medlemvis-panel .medlemvis-data-table td {
  border-bottom-color: var(--line);
  color: var(--ink);
}

html.eksl-dark-mode .medlemvis-panel .medlemvis-data-table:not(.medlemvis-data-table--plain) tr:nth-child(odd) td {
  background-color: rgba(255, 255, 255, 0.05) !important;
}

html.eksl-dark-mode .medlemvis-panel .medlemvis-data-table:not(.medlemvis-data-table--plain) tr:nth-child(even) td {
  background-color: rgba(255, 255, 255, 0.09) !important;
}

html.eksl-dark-mode .medlemvis-panel .medlemvis-data-table--plain td {
  background-color: transparent !important;
}

html.eksl-dark-mode .medlemvis-panel .medlemvis-statistik-table td {
  border-bottom: 1px solid var(--line);
  color: var(--ink);
}

html.eksl-dark-mode .medlemvis-panel .medlemvis-statistik-table tr:first-child td {
  background-color: #333336 !important;
  border-bottom-color: var(--line-strong);
}

html.eksl-dark-mode .medlemvis-panel .medlemvis-statistik-table tr:nth-child(even):not(:first-child) td {
  background-color: rgba(255, 255, 255, 0.09) !important;
}

html.eksl-dark-mode .medlemvis-panel .medlemvis-statistik-table tr:nth-child(odd):not(:first-child) td {
  background-color: rgba(255, 255, 255, 0.05) !important;
}

/* Kalender-tilmelding (tilmelding.asp) */
.tilmelding-page {
  margin: 0 0 20px;
}

.tilmelding-back {
  margin: 0 0 16px;
  font-size: 12px;
}

.tilmelding-back a {
  font-weight: 600;
}

.tilmelding-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 360px);
  gap: 24px 28px;
  align-items: start;
}

@media (max-width: 960px) {
  .tilmelding-layout {
    grid-template-columns: 1fr;
  }
}

.tilmelding-panel {
  box-sizing: border-box;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 18px 20px 20px;
  background: #fafbfc;
}

.tilmelding-panel--list {
  background: var(--paper);
}

.tilmelding-panel--alert {
  background: #fff8f5;
  border-color: rgba(232, 100, 61, 0.35);
  max-width: 42em;
}

.tilmelding-panel-title {
  margin: 0 0 20px;
}

.tilmelding-form {
  margin: 0;
}

.tilmelding-field {
  margin-bottom: 14px;
}

.tilmelding-field-row {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 24px;
  margin-bottom: 14px;
}

.tilmelding-field-row .tilmelding-field {
  margin-bottom: 0;
}

.tilmelding-label {
  display: block;
  margin-bottom: 4px;
  font-size: 12px;
  font-weight: 700;
  color: var(--ink);
}

.tilmelding-input,
.tilmelding-select {
  box-sizing: border-box;
  max-width: 100%;
  padding: 8px 10px;
  font-size: 12px;
  font-family: Verdana, Arial, sans-serif;
  border: 1px solid var(--line-strong);
  border-radius: 8px;
  background: var(--paper);
  color: var(--ink);
}

.tilmelding-input:focus,
.tilmelding-select:focus {
  outline: 2px solid rgba(21, 81, 139, 0.35);
  outline-offset: 2px;
  border-color: var(--link);
}

.tilmelding-input--readonly {
  background: #f0f2f5;
  color: var(--muted);
  cursor: default;
}

.tilmelding-select {
  min-width: 5.5em;
}

.tilmelding-actions {
  margin: 18px 0 12px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
}

.tilmelding-submit {
  padding: 8px 18px;
  font-size: 12px;
  font-weight: 700;
  font-family: Verdana, Arial, sans-serif;
  border-radius: 8px;
  border: 1px solid transparent;
  cursor: pointer;
}

.tilmelding-submit:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

/* Samme blå som checkin (.flylotto-btn--accent), ikke lys tilstands --accent (#1f6feb) */
.content input.tilmelding-submit--primary,
.content .tilmelding-submit--primary {
  color: #fff;
  background: #15518b;
  border-color: #15518b;
}

.content input.tilmelding-submit--primary:hover:not(:disabled),
.content .tilmelding-submit--primary:hover:not(:disabled) {
  background: #0e4572;
  border-color: var(--link);
  color: #fff;
}

.content input.tilmelding-submit--danger,
.content .tilmelding-submit--danger {
  color: #fff;
  background: #b71c1c;
  border-color: rgba(0, 0, 0, 0.12);
}

.content input.tilmelding-submit--danger:hover:not(:disabled),
.content .tilmelding-submit--danger:hover:not(:disabled) {
  background: #8b0000;
  color: #fff;
}

/* SkolingsTilmelding.asp — primærknap samme størrelse som .skolings-kal-badge / kalender-link */
.content .skolings-tilmelding-page input.tilmelding-submit--primary,
.content .skolings-tilmelding-page .tilmelding-submit--primary {
  border-radius: 999px;
  padding: 4px 11px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.25;
  min-height: 0;
  color: #fff;
  background: #15518b;
  border-color: #15518b;
  box-shadow: none;
}

.content .skolings-tilmelding-page input.tilmelding-submit--primary:hover:not(:disabled),
.content .skolings-tilmelding-page .tilmelding-submit--primary:hover:not(:disabled) {
  background: #0e4572;
  border-color: var(--link);
  color: #fff;
}

.content .skolings-tilmelding-page input.tilmelding-submit--danger,
.content .skolings-tilmelding-page .tilmelding-submit--danger {
  border-radius: 999px;
  padding: 4px 11px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.25;
  min-height: 0;
}

.tilmelding-hint {
  margin: 0;
  font-size: 12px;
  color: var(--muted);
}

.tilmelding-msg {
  margin: 12px 0 0;
  font-size: 12px;
  line-height: 1.45;
}

.tilmelding-msg--error {
  color: var(--ink);
  font-weight: 600;
}

.tilmelding-msg--success {
  color: var(--ink);
  font-weight: 600;
}

.tilmelding-divider {
  margin: 20px 0;
  border: 0;
  border-top: 1px solid var(--line);
}

.tilmelding-event {
  margin-top: 4px;
}

.tilmelding-event-title {
  margin: 0 0 8px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--ink);
}

.tilmelding-event-status--cancelled {
  color: #b71c1c;
  font-weight: 700;
}

.tilmelding-event-meta {
  margin: 0 0 10px;
  font-size: 12px;
  color: var(--ink);
}

.tilmelding-event-body {
  font-size: 12px;
  line-height: 1.55;
  color: var(--ink);
}

.tilmelding-tally {
  margin: 0 0 14px;
  font-size: 12px;
  line-height: 1.5;
  color: var(--ink);
}

.tilmelding-tally-sep {
  color: var(--muted);
}

.tilmelding-participant-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.tilmelding-participant {
  margin: 0;
  padding: 10px 0;
  border-bottom: 1px solid #eceef2;
}

.tilmelding-participant:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.tilmelding-participant-line {
  font-size: 12px;
  line-height: 1.45;
}

.tilmelding-participant-name {
  font-weight: 600;
}

.tilmelding-participant-counts {
  color: var(--muted);
  font-weight: 400;
}

.tilmelding-participant-note {
  margin: 6px 0 0;
  padding-left: 10px;
  border-left: 3px solid rgba(31, 111, 235, 0.35);
  font-size: 11px;
  font-style: italic;
  color: var(--muted);
}

/* Skolingstilmelding.asp — deltagerliste som divs (ikke ul) */
.tilmelding-skolings-list {
  margin: 0;
  padding: 0;
}

.tilmelding-skolings-list > .tilmelding-participant:first-child {
  padding-top: 0;
}

.tilmelding-event-body a {
  color: var(--link);
  font-weight: 600;
}

.tilmelding-event-body a:hover {
  color: var(--link-hover);
}

/* --------------------------------------------------------------------------
   Mørk tilstand (menu-knap «Mørk») — mørke baggrunde, lys tekst
   Klasse på <html>: .eksl-dark-mode (persistens: localStorage eksl_dark_mode)
   -------------------------------------------------------------------------- */

html.eksl-dark-mode {
  --bg: #121212;
  --paper: #1c1c1e;
  --ink: #e8e8ea;
  --muted: #a1a1a6;
  --line: #3d3d42;
  --line-strong: #6e6e73;
  --link: #9bb9ff;
  --link-hover: #d4e2ff;
  --accent: #6ea8ff;
  --accent-2: #9bb9ff;
  --shadow: rgba(0, 0, 0, 0.5);
  --frame-border: rgba(255, 255, 255, 0.1);
  --frame-shadow: 0 4px 24px rgba(0, 0, 0, 0.55);
  color-scheme: dark;
}

html.eksl-dark-mode {
  background: var(--bg) !important;
  background-color: var(--bg) !important;
}

html.eksl-dark-mode body {
  background: var(--bg) !important;
  background-color: var(--bg) !important;
  color: var(--ink);
}

html.eksl-dark-mode :focus {
  outline-color: rgba(140, 180, 255, 0.55);
}

html.eksl-dark-mode .holder {
  background: var(--paper);
  border-color: var(--frame-border);
}

html.eksl-dark-mode .content {
  background: var(--paper);
  color: var(--ink);
}

html.eksl-dark-mode .footer {
  background: var(--paper) !important;
  background-color: var(--paper) !important;
  color: var(--muted);
  border-top-color: var(--line);
}

html.eksl-dark-mode .menu {
  background: #2c2c30 !important;
  background-color: #2c2c30 !important;
  border-bottom-color: rgba(255, 255, 255, 0.12);
}

html.eksl-dark-mode .qmmc,
html.eksl-dark-mode #qm0,
html.eksl-dark-mode #qm0 > li {
  background: #2c2c30 !important;
  background-color: #2c2c30 !important;
}

html.eksl-dark-mode #qm0 a {
  color: #eaeaea !important;
  background: #2c2c30 !important;
  background-color: #2c2c30 !important;
}

html.eksl-dark-mode #qm0 a:visited {
  color: #eaeaea !important;
}

html.eksl-dark-mode #qm0 a:hover {
  background: #3a3a40 !important;
  background-color: #3a3a40 !important;
  color: var(--accent-2) !important;
}

html.eksl-dark-mode #qm0 > li > ul,
html.eksl-dark-mode #qm0 ul ul {
  background-color: #323238 !important;
  border-color: rgba(255, 255, 255, 0.14);
  box-shadow: 0 10px 32px rgba(0, 0, 0, 0.45);
}

html.eksl-dark-mode #qm0 ul li {
  background-color: #323238 !important;
}

html.eksl-dark-mode #qm0 ul a {
  color: #eaeaea !important;
  background: #323238 !important;
  background-color: #323238 !important;
}

html.eksl-dark-mode #qm0 ul a:visited {
  color: #eaeaea !important;
}

html.eksl-dark-mode #qm0 ul a:hover {
  background: #3d4250 !important;
  background-color: #3d4250 !important;
  color: var(--link) !important;
}

html.eksl-dark-mode .menu-fullscreen-btn,
html.eksl-dark-mode .menu-fullscreen-btn:visited,
html.eksl-dark-mode .menu-dark-btn,
html.eksl-dark-mode .menu-dark-btn:visited,
html.eksl-dark-mode .menu-large-font-btn,
html.eksl-dark-mode .menu-large-font-btn:visited {
  color: #f0f0f0 !important;
  background: #3a3a40 !important;
  border-color: #6a6a72 !important;
}

html.eksl-dark-mode .menu-fullscreen-btn:hover,
html.eksl-dark-mode .menu-fullscreen-btn:focus-visible,
html.eksl-dark-mode .menu-dark-btn:hover,
html.eksl-dark-mode .menu-dark-btn:focus-visible,
html.eksl-dark-mode .menu-large-font-btn:hover,
html.eksl-dark-mode .menu-large-font-btn:focus-visible {
  background: #0d2139 !important;
  border-color: #15518b !important;
  color: #fff !important;
}

html.eksl-dark-mode .menu-fullscreen-btn[aria-pressed="true"] {
  background: #15518b !important;
  border-color: #0b1c2e !important;
  color: #fff !important;
}

html.eksl-dark-mode .menu-dark-btn[aria-pressed="true"] {
  background: #4a4a52 !important;
  border-color: #8e8e96 !important;
  color: #fff !important;
}

html.eksl-dark-mode .menu-large-font-btn[aria-pressed="true"] {
  background: #15518b !important;
  border-color: #0b1c2e !important;
  color: #fff !important;
}

html.eksl-dark-mode .box_l,
html.eksl-dark-mode .box_r,
html.eksl-dark-mode .content .eksl-content-panel {
  background: #252528;
  border-color: var(--line);
  color: var(--ink);
}

html.eksl-dark-mode .txt_l,
html.eksl-dark-mode .txt_r {
  color: var(--ink);
}

html.eksl-dark-mode .txt_r {
  border-top-color: var(--line);
}

html.eksl-dark-mode .content input,
html.eksl-dark-mode .content select,
html.eksl-dark-mode .content textarea,
html.eksl-dark-mode .content button {
  color: var(--ink);
  background-color: #2e2e32;
  border-color: var(--line);
}

html.eksl-dark-mode .content input::placeholder,
html.eksl-dark-mode .content textarea::placeholder {
  color: var(--muted);
}

html.eksl-dark-mode .medlemsliste-pic-soeg-label {
  color: var(--ink);
}

html.eksl-dark-mode .medlemsliste-pic-soeg-input {
  background: #2e2e32;
  color: var(--ink);
  border-color: var(--line);
}

html.eksl-dark-mode .medlemsliste-pic-soeg-input:focus {
  border-color: var(--link);
  outline-color: rgba(140, 180, 255, 0.45);
}

html.eksl-dark-mode .medlemsliste-pic-soeg-status {
  color: var(--muted);
}

/* MedlemsListePic.asp — filterpanel + medlemskort (#fff / #333 på mørk .content) */
html.eksl-dark-mode .medlemsliste-pic-filters {
  background: #2a2d33;
  border-color: var(--line);
}

html.eksl-dark-mode .medlemsliste-pic-filter-label {
  color: var(--ink);
}

html.eksl-dark-mode .medlemsliste-pic-filter-select {
  background: #2e2e32;
  color: var(--ink);
  border-color: var(--line-strong);
}

html.eksl-dark-mode .medlemsliste-pic-filter-select:focus {
  border-color: var(--link);
  outline-color: rgba(140, 180, 255, 0.45);
}

html.eksl-dark-mode .medlemsliste-pic-toolbar-links a {
  color: var(--link);
}

html.eksl-dark-mode .medlemsliste-pic-toolbar-links a:hover {
  color: var(--link-hover);
}

html.eksl-dark-mode .medlemsliste-pic-card {
  background: #252528;
  border-color: var(--line);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
}

html.eksl-dark-mode .medlemsliste-pic-photo {
  background: #1e2228;
}

html.eksl-dark-mode .medlemsliste-pic-body {
  color: var(--ink);
}

html.eksl-dark-mode .medlemsliste-pic-meta {
  color: var(--muted);
}

html.eksl-dark-mode .medlemsliste-pic-navn a {
  color: var(--link);
}

html.eksl-dark-mode .medlemsliste-pic-adr,
html.eksl-dark-mode .medlemsliste-pic-kontakt {
  color: var(--ink);
}

html.eksl-dark-mode .medlemsliste-pic-type {
  color: var(--muted);
}

html.eksl-dark-mode .medlemsliste-pic-kontakt a {
  color: var(--link);
}

/* tilmelding.asp — lys panel (#fafbfc) + lys tekst fra .content gav usynlig tekst */
html.eksl-dark-mode .tilmelding-panel {
  background: var(--paper);
  border-color: var(--line);
}

html.eksl-dark-mode .tilmelding-panel--alert {
  background: rgba(255, 130, 90, 0.14);
  border-color: rgba(255, 150, 110, 0.38);
  color: var(--ink);
}

html.eksl-dark-mode .tilmelding-panel--alert p,
html.eksl-dark-mode .tilmelding-panel--alert code {
  color: var(--ink);
}

html.eksl-dark-mode .tilmelding-panel--alert a {
  color: var(--link);
}

html.eksl-dark-mode .tilmelding-panel-title {
  color: var(--ink);
}

html.eksl-dark-mode .tilmelding-input--readonly {
  background: #2e2e32;
  color: var(--muted);
  border-color: var(--line-strong);
}

html.eksl-dark-mode .tilmelding-input:focus,
html.eksl-dark-mode .tilmelding-select:focus {
  outline-color: rgba(140, 180, 255, 0.45);
}

html.eksl-dark-mode .tilmelding-event-status--cancelled {
  color: #ff9d9d;
}

html.eksl-dark-mode .tilmelding-participant {
  border-bottom-color: var(--line);
}

html.eksl-dark-mode .content input.tilmelding-submit--danger,
html.eksl-dark-mode .content .tilmelding-submit--danger {
  color: #fff !important;
  background: #b71c1c !important;
  background-color: #b71c1c !important;
  border-color: rgba(0, 0, 0, 0.28) !important;
}

html.eksl-dark-mode .content input.tilmelding-submit--danger:hover:not(:disabled),
html.eksl-dark-mode .content .tilmelding-submit--danger:hover:not(:disabled) {
  background: #8b0000 !important;
  background-color: #8b0000 !important;
  color: #fff !important;
}

html.eksl-dark-mode .weather-box {
  background: transparent !important;
  box-shadow: none;
}

html.eksl-dark-mode .weather-item {
  background: #2e2e32 !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
  color: var(--ink);
}

html.eksl-dark-mode .weather-item b,
html.eksl-dark-mode .weather-item span {
  color: inherit;
}

html.eksl-dark-mode .flylotto-dlg__box {
  background: #2a2a2e;
  border-color: rgba(255, 255, 255, 0.12);
  box-shadow:
    0 4px 12px rgba(0, 0, 0, 0.4),
    0 24px 48px rgba(0, 0, 0, 0.5);
}

html.eksl-dark-mode .flylotto-dlg__kicker {
  color: var(--link);
}

html.eksl-dark-mode .flylotto-dlg__title {
  color: var(--ink);
}

html.eksl-dark-mode .flylotto-dlg__msg {
  color: var(--ink);
}

html.eksl-dark-mode .flylotto-dlg__btn--primary,
html.eksl-dark-mode .flylotto-dlg__btn--secondary {
  background: #3a3a40;
  border-color: var(--line-strong);
  color: var(--ink);
}

html.eksl-dark-mode .flylotto-dlg__btn--primary:hover,
html.eksl-dark-mode .flylotto-dlg__btn--secondary:hover {
  background: #484850;
  border-color: var(--link);
  color: var(--link-hover);
}

html.eksl-dark-mode .flylotto-kosten {
  background: #252528;
  border-color: var(--line);
  color: var(--ink);
}

html.eksl-dark-mode .flylotto-kosten__card--kosten {
  background: #2a2824;
  border-color: #6d5c48;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}

html.eksl-dark-mode .flylotto-kosten__kosten-banner {
  background: #3a342c;
  color: #e8dcc8;
  border-bottom-color: rgba(200, 180, 140, 0.25);
}

html.eksl-dark-mode .flylotto-kosten__card--kosten .flylotto-kosten__lod {
  color: var(--muted, #a8a8ae);
}

html.eksl-dark-mode .flylotto-kosten__card--kosten .flylotto-kosten__name {
  color: var(--ink, #e8e9ec);
}

html.eksl-dark-mode .flylotto-note,
html.eksl-dark-mode .flylotto-hint,
html.eksl-dark-mode .flylotto-table-note {
  color: var(--muted);
}

html.eksl-dark-mode .flylotto-btn {
  background: #3a3a40;
  border-color: var(--line-strong);
  color: var(--ink);
}

html.eksl-dark-mode .flylotto-btn:hover {
  border-color: var(--link);
  color: var(--link-hover);
}

/* I mørk tilstand: accent/primær som øvrige neutrale knapper (ikke blå) */
html.eksl-dark-mode .flylotto-btn--primary {
  background: #3a3a40;
  border-color: var(--line-strong);
  color: var(--ink);
}

html.eksl-dark-mode .flylotto-btn--primary:hover {
  border-color: var(--link);
  color: var(--link-hover);
}

html.eksl-dark-mode .flylotto-flash {
  background: #252a35;
  border-color: rgba(110, 168, 255, 0.35);
  color: var(--ink);
}

html.eksl-dark-mode .flylotto-table th,
html.eksl-dark-mode .flylotto-table td {
  color: var(--ink);
  border-color: var(--line);
}

html.eksl-dark-mode .flylotto-table tbody tr:nth-child(even) td {
  background: rgba(255, 255, 255, 0.03);
}

html.eksl-dark-mode .flylotto-fly-select {
  background-color: #2e2e32;
  color: var(--ink);
  border-color: var(--line-strong);
}

html.eksl-dark-mode .flylotto-fly-select:disabled {
  background-color: #252528;
  color: var(--muted);
}

html.eksl-dark-mode .flylotto-motedag-today,
html.eksl-dark-mode .flylotto-motedag-today__inner {
  background: linear-gradient(165deg, #2a3040 0%, #252528 100%);
  border-color: var(--line);
  color: var(--ink);
}

html.eksl-dark-mode .flylotto-motedag-today__date,
html.eksl-dark-mode .flylotto-motedag-today__clock,
html.eksl-dark-mode .flylotto-motedag-today__evening--countdown,
html.eksl-dark-mode .flylotto-motedag-today__evening--greeting {
  color: var(--ink);
}

html.eksl-dark-mode .flylotto-hist-dash-card,
html.eksl-dark-mode .flylotto-hist-dash-card--intro {
  background: #252528;
  border-color: var(--line);
  box-shadow: none;
}

html.eksl-dark-mode .flylotto-page-title,
html.eksl-dark-mode .flylotto-subtitle,
html.eksl-dark-mode .flylotto-hist-meta,
html.eksl-dark-mode .flylotto-hist-dash-title,
html.eksl-dark-mode .flylotto-hist-dash-h,
html.eksl-dark-mode .flylotto-hist-dash-dl dd,
html.eksl-dark-mode .flylotto-hist-dash-name {
  color: var(--ink);
}

html.eksl-dark-mode .flylotto-btn--danger {
  background: #3a2228;
  border-color: #8a4a52;
  color: #ffb4bc;
}

html.eksl-dark-mode .flylotto-btn--danger:hover {
  background: #4a2a32;
  border-color: #c66;
  color: #ffd0d4;
}

html.eksl-dark-mode .flylotto-btn--accent {
  background: #3a3a40;
  border-color: var(--line-strong);
  color: var(--ink);
}

html.eksl-dark-mode .flylotto-btn--accent:hover {
  border-color: var(--link);
  color: var(--link-hover);
}

html.eksl-dark-mode .flylotto-btn--afslut-moede {
  filter: brightness(1.05);
}

html.eksl-dark-mode .flylotto-table th {
  background: #2f3238;
  color: var(--ink);
}

html.eksl-dark-mode .flylotto-online-count {
  color: var(--muted);
}

html.eksl-dark-mode .flylotto-lod {
  background: #2a3a50;
  color: var(--link);
}

/* checkin.asp — tilmeldingsform: lys kasse arvede lys tekst fra .content → usynlig på hvid baggrund */
html.eksl-dark-mode .flylotto-add-bar,
html.eksl-dark-mode .flylotto-add-bar--guest,
html.eksl-dark-mode .flylotto-add-bar--locked {
  background: #252528;
  border-color: var(--line);
  color: var(--ink);
}

html.eksl-dark-mode .flylotto-add-bar label,
html.eksl-dark-mode .flylotto-add-bar__count,
html.eksl-dark-mode .flylotto-add-bar__count strong,
html.eksl-dark-mode .flylotto-subtitle__ant {
  color: var(--ink);
}

html.eksl-dark-mode .flylotto-add-medlem-sok,
html.eksl-dark-mode .flylotto-add-bar__member-pick .flylotto-add-select,
html.eksl-dark-mode .flylotto-add-garkl,
html.eksl-dark-mode .flylotto-add-gast-navn {
  background: #2e2e32;
  color: var(--ink);
  border-color: var(--line-strong);
}

html.eksl-dark-mode .flylotto-add-bar__member-pick .flylotto-add-select:invalid {
  color: var(--muted);
}

html.eksl-dark-mode .flylotto-add-bar__member-pick .flylotto-add-select:valid {
  color: var(--ink);
}

html.eksl-dark-mode .flylotto-add-bar__member-pick .flylotto-add-select option {
  background: #2e2e32;
  color: var(--ink);
}

html.eksl-dark-mode .flylotto-add-gast-wrap__label {
  color: var(--ink);
}

html.eksl-dark-mode .flylotto-add-medlem-sok::placeholder {
  color: var(--muted);
}

html.eksl-dark-mode .flylotto-bem-genvej {
  color: var(--ink);
}

html.eksl-dark-mode .flylotto-mini-textarea,
html.eksl-dark-mode .flylotto-add-bem {
  background: #2e2e32;
  color: var(--ink);
  border-color: var(--line);
}

/* klubdata.asp — kort skal være mørke (høj specificitet så hvid #fff på .klubdata-card ikke vinder) */
html.eksl-dark-mode .content .klubdata-page .klubdata-card {
  background: #252528 !important;
  border-color: var(--line) !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
  color: var(--ink);
}

html.eksl-dark-mode .content .klubdata-page .klubdata-card-title {
  color: var(--ink) !important;
  border-bottom-color: var(--line) !important;
}

html.eksl-dark-mode .content .klubdata-page .klubdata-card-body {
  color: var(--ink) !important;
}

html.eksl-dark-mode .content .klubdata-page .klubdata-card-body a {
  color: var(--link);
}

html.eksl-dark-mode .content .klubdata-page .klubdata-mono {
  color: var(--ink) !important;
}

html.eksl-dark-mode .content .klubdata-page .klubdata-phone-label {
  color: var(--muted);
}

html.eksl-dark-mode .content .klubdata-page .klubdata-phone a {
  color: var(--link);
}

html.eksl-dark-mode .content .klubdata-page .klubdata-mail-item {
  border-bottom-color: var(--line) !important;
}

html.eksl-dark-mode .content .klubdata-page .klubdata-mail-item dt,
html.eksl-dark-mode .content .klubdata-page .klubdata-mail-item dd {
  color: var(--ink) !important;
}

html.eksl-dark-mode .content .klubdata-page .klubdata-mail-item dt a {
  color: var(--link);
}

/* Instruktoer.asp — særceller; ramme/zebra følger .medlemsliste-txt-table-wrap + .medlemsliste-txt-row */
html.eksl-dark-mode .content .instruktoer-page .instruktoer-vagt-table td.instruktoer-role-cell {
  background: #2f3238 !important;
  color: var(--ink) !important;
  border-right-color: var(--line) !important;
}

html.eksl-dark-mode .content .instruktoer-page .instruktoer-vagt-table td.instruktoer-date-cell {
  background: #2a2d33 !important;
  border-right-color: var(--line) !important;
}

html.eksl-dark-mode .content .instruktoer-page .instruktoer-vagt-table td.instruktoer-next-day {
  background: #4a4420 !important;
  color: var(--ink) !important;
  border-right-color: var(--line) !important;
}

html.eksl-dark-mode .content .instruktoer-page .instruktoer-vagt-table td.instruktoer-next-day a {
  color: var(--link) !important;
}

/* DokArkiv.asp m.fl. — .medlemsliste-txt-table-wrap (iframe / tabel): hvid ramme på mørk .content */
html.eksl-dark-mode .content .medlemsliste-txt-table-wrap {
  background: #252528 !important;
  border-color: var(--line) !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
}

html.eksl-dark-mode .content h2.medlemsliste-txt-title {
  color: var(--ink);
}

/* MedlemsListe.asp m.fl. — filter/søg-panel + sorterings-piller + tabel (lyse flader) */
html.eksl-dark-mode .medlemsliste-txt-filters {
  background: #2a2d33;
  border-color: var(--line);
}

html.eksl-dark-mode .medlemsliste-txt-sort-label,
html.eksl-dark-mode .medlemsliste-txt-soeg-label,
html.eksl-dark-mode .medlemsliste-txt-filter-label {
  color: var(--ink);
}

html.eksl-dark-mode a.medlemsliste-sort {
  background: #3a3a40;
  border-color: var(--line-strong);
  color: var(--link);
}

html.eksl-dark-mode a.medlemsliste-sort:hover {
  border-color: var(--link);
  color: var(--link-hover);
  background: #484850;
}

html.eksl-dark-mode a.medlemsliste-sort.medlemsliste-sort--active {
  background: #1e3550;
  border-color: var(--link);
  color: var(--ink);
}

html.eksl-dark-mode a.medlemsliste-sort.medlemsliste-sort--active:hover {
  border-color: var(--link-hover);
  color: var(--ink);
}

html.eksl-dark-mode .medlemsliste-txt-soeg-input:focus,
html.eksl-dark-mode .medlemsliste-txt-filter-select:focus {
  border-color: var(--link);
  outline-color: rgba(140, 180, 255, 0.45);
}

html.eksl-dark-mode .medlemsliste-txt-soeg-status {
  color: var(--muted);
}

html.eksl-dark-mode .medlemsliste-txt-table thead th {
  background: #2f3238;
  color: var(--ink);
  border-bottom-color: var(--line);
}

html.eksl-dark-mode .medlemsliste-txt-table thead th a.medlemsliste-txt-th-link:hover {
  background: rgba(255, 255, 255, 0.06);
}

html.eksl-dark-mode .medlemsliste-txt-table thead th a.medlemsliste-txt-th-link--active {
  color: var(--link);
  background: rgba(155, 185, 255, 0.12);
}

html.eksl-dark-mode .medlemsliste-txt-table thead th a.medlemsliste-txt-th-link--active:hover {
  color: var(--link-hover);
}

html.eksl-dark-mode .medlemsliste-txt-table tbody td {
  border-bottom-color: var(--line);
  color: var(--ink);
}

html.eksl-dark-mode .medlemsliste-txt-table tbody tr.medlemsliste-txt-row.medlemsliste-txt-row--stripe {
  background: rgba(255, 255, 255, 0.03);
}

html.eksl-dark-mode .medlemsliste-txt-table tbody tr.medlemsliste-txt-row:hover {
  background: rgba(155, 185, 255, 0.08);
}

html.eksl-dark-mode .medlemsliste-txt-type-badge {
  background: #3a4150;
  color: var(--ink);
}

html.eksl-dark-mode .medlemsliste-txt-navn a {
  color: var(--link);
}

html.eksl-dark-mode .medlemsliste-txt-legend {
  color: var(--muted);
}

/* MedlemsStatus.asp — sortering + søg i én ramme (matcher filterpanelet); thead uden klik-links */
html.eksl-dark-mode .medlemsliste-txt-toolbar {
  padding: 14px 16px;
  background: #2a2d33;
  border: 1px solid var(--line);
  border-radius: 8px;
}

html.eksl-dark-mode .medlemstatus-intro {
  color: var(--muted);
}

html.eksl-dark-mode .medlemsliste-txt-table thead th:not(:has(a)) {
  padding: 10px 12px;
}

/* kalender.asp / statistik — iframe-ramme (#fff på mørk .content) */
html.eksl-dark-mode .kalender-page-embed,
html.eksl-dark-mode .statistik-page-embed {
  background: #252528;
  border-color: var(--line);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
}

/* StatistikOversigt2020.asp / statistikoversigt2020.asp — år-panel + statistik-tabel */
html.eksl-dark-mode .statistik-year-nav {
  background: #2a2d33;
  border-color: var(--line);
  box-shadow: none;
}

html.eksl-dark-mode .statistik-year-label {
  color: var(--ink);
}

html.eksl-dark-mode a.statistik-year-pill {
  background: #3a3a40;
  border-color: var(--line-strong);
  color: var(--link);
}

html.eksl-dark-mode a.statistik-year-pill:hover {
  border-color: var(--link);
  color: var(--link-hover);
  background: #484850;
}

html.eksl-dark-mode a.statistik-year-pill.statistik-year-pill--active {
  background: #1e3550;
  border-color: var(--link);
  color: var(--ink);
}

html.eksl-dark-mode .statistik-table-wrap {
  background: #252528;
  border-color: var(--line);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
}

html.eksl-dark-mode .statistik-table thead th {
  background: #2f3238;
  color: var(--ink);
  border-bottom-color: var(--line);
}

html.eksl-dark-mode .statistik-th-sort.statistik-th-sort--active {
  color: var(--link);
}

html.eksl-dark-mode .statistik-table tbody td {
  border-bottom-color: var(--line);
  color: var(--ink);
}

html.eksl-dark-mode .statistik-row:nth-child(even) {
  background: rgba(255, 255, 255, 0.03);
}

html.eksl-dark-mode .statistik-row:hover {
  background: rgba(155, 185, 255, 0.08);
}

html.eksl-dark-mode .statistik-td--navn a {
  color: var(--link);
}

html.eksl-dark-mode .statistik-lead {
  color: var(--muted);
}

html.eksl-dark-mode .statistik-footer {
  color: var(--muted);
}

html.eksl-dark-mode .statistik-footer strong {
  color: var(--ink);
}

/* SkolingsKalenderInc.asp — liste/kort (reservation-enhance.css); iframe sætter html.eksl-dark-mode via localStorage */
html.eksl-dark-mode body.kalender-inc {
  color: var(--ink);
  background: var(--paper);
}

html.eksl-dark-mode body.kalender-inc--embedded {
  background: var(--paper);
}

/* KalenderInc.asp — Opret/Rediger/Slet i iframe (.reservation-booking-*) */
html.eksl-dark-mode body.kalender-inc .reservation-booking-back {
  color: var(--link);
}

html.eksl-dark-mode body.kalender-inc .reservation-booking-header {
  border-bottom-color: var(--line);
}

html.eksl-dark-mode body.kalender-inc .reservation-booking-title {
  color: var(--ink);
}

html.eksl-dark-mode body.kalender-inc .reservation-booking-lead {
  color: var(--muted);
}

html.eksl-dark-mode body.kalender-inc .reservation-booking-lead strong {
  color: var(--link);
}

html.eksl-dark-mode body.kalender-inc .reservation-booking-table {
  border-color: var(--line);
  background: #252528;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
}

html.eksl-dark-mode body.kalender-inc .reservation-booking-row td {
  border-bottom-color: var(--line);
}

html.eksl-dark-mode body.kalender-inc .reservation-booking-label {
  background: #2f3238;
  color: var(--ink);
}

html.eksl-dark-mode body.kalender-inc .reservation-booking-cell {
  background: #252528;
}

html.eksl-dark-mode body.kalender-inc .reservation-booking-select,
html.eksl-dark-mode body.kalender-inc .reservation-booking-text,
html.eksl-dark-mode body.kalender-inc .reservation-booking-textarea {
  background: #2e2e32;
  color: var(--ink);
  border-color: var(--line-strong);
}

html.eksl-dark-mode body.kalender-inc .reservation-booking-time-label {
  color: var(--muted);
}

html.eksl-dark-mode body.kalender-inc .reservation-booking-row-actions td {
  background: #2a2d33;
  border-top-color: var(--line);
}

html.eksl-dark-mode body.kalender-inc input.reservation-booking-submit[type="submit"] {
  color: #fff;
}

html.eksl-dark-mode body.kalender-inc .reservation-booking-footnote {
  color: var(--muted);
}

html.eksl-dark-mode body.kalender-inc .reservation-booking-error {
  background: rgba(140, 40, 40, 0.28);
  border-color: rgba(255, 140, 140, 0.35);
  color: #ffb4bc;
}

html.eksl-dark-mode body.kalender-inc .reservation-date-picker {
  background: #2e2e32;
  color: var(--ink);
  border-color: var(--link);
}

html.eksl-dark-mode body.kalender-inc .reservation-date-picker-label {
  color: var(--link);
}

html.eksl-dark-mode body.kalender-inc .reservation-date-row input[type="text"] {
  background: #2e2e32;
  color: var(--ink);
  border-color: var(--line-strong);
}

html.eksl-dark-mode body.kalender-inc .reservation-booking-radio-opt {
  color: var(--ink);
}

@media (max-width: 720px) {
  html.eksl-dark-mode body.kalender-inc .reservation-booking-row .reservation-booking-cell {
    border-bottom-color: var(--line);
  }
}

html.eksl-dark-mode .skolings-kal-hint {
  color: var(--muted);
}

html.eksl-dark-mode .skolings-kal-month-heading {
  background: #2a3545;
  border-color: var(--line);
  color: var(--link);
  box-shadow: none;
}

html.eksl-dark-mode .skolings-kal-event {
  background: #252528;
  border-color: var(--line);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
}

html.eksl-dark-mode body.kalender-inc--embedded .skolings-kal-event {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
}

html.eksl-dark-mode .skolings-kal-when {
  background: linear-gradient(165deg, #2a3340 0%, #252a32 100%);
  border-color: var(--line-strong);
}

html.eksl-dark-mode .skolings-kal-when--tilmeldt {
  background: linear-gradient(165deg, rgba(76, 175, 80, 0.2) 0%, rgba(56, 142, 60, 0.16) 100%);
  border-color: rgba(129, 199, 132, 0.55);
}

html.eksl-dark-mode .skolings-kal-when-label {
  color: var(--muted);
}

html.eksl-dark-mode .skolings-kal-date {
  color: var(--ink);
}

html.eksl-dark-mode .skolings-kal-date--end {
  color: var(--muted);
}

html.eksl-dark-mode .skolings-kal-time {
  color: var(--ink);
}

html.eksl-dark-mode .skolings-kal-when-tilmeldt {
  color: var(--ink);
  border-top-color: rgba(255, 255, 255, 0.12);
}

html.eksl-dark-mode .skolings-kal-when--tilmeldt .skolings-kal-when-tilmeldt {
  border-top-color: rgba(129, 199, 132, 0.35);
}

html.eksl-dark-mode .skolings-kal-when-actions {
  border-top-color: rgba(255, 255, 255, 0.1);
}

html.eksl-dark-mode .skolings-kal-when--tilmeldt .skolings-kal-when-actions {
  border-top-color: rgba(129, 199, 132, 0.3);
}

html.eksl-dark-mode .skolings-kal-actionbtn.skolings-kal-actionbtn--in-when {
  background: rgba(0, 0, 0, 0.25);
  border-color: var(--line);
  color: var(--link);
}

html.eksl-dark-mode .skolings-kal-actionbtn.skolings-kal-actionbtn--in-when:hover {
  background: rgba(0, 0, 0, 0.38);
  border-color: var(--line-strong);
}

html.eksl-dark-mode .skolings-kal-actionbtn.skolings-kal-actionbtn--in-when.skolings-kal-actionbtn--danger {
  color: #f0b4b0;
  border-color: rgba(200, 90, 80, 0.45);
  background: rgba(80, 32, 28, 0.35);
}

@media (max-width: 720px) {
  html.eksl-dark-mode .skolings-kal-actions {
    border-top-color: var(--line);
  }
}

html.eksl-dark-mode .skolings-kal-titlelink {
  color: var(--link);
}

html.eksl-dark-mode .skolings-kal-titlelink:hover {
  color: var(--link-hover);
}

html.eksl-dark-mode .skolings-kal-titlemeta {
  color: var(--muted);
}

html.eksl-dark-mode .skolings-kal-titlecontact {
  color: var(--muted);
}

html.eksl-dark-mode .skolings-kal-attendees {
  background: rgba(30, 40, 52, 0.65);
  border-color: var(--line);
}

html.eksl-dark-mode .skolings-kal-attendees-label {
  color: var(--muted);
}

html.eksl-dark-mode .skolings-kal-attendees-list {
  color: var(--ink);
}

html.eksl-dark-mode .skolings-kal-attendees-link {
  color: var(--link);
}

html.eksl-dark-mode .skolings-kal-attendees-link:hover {
  color: var(--link-hover);
}

html.eksl-dark-mode .skolings-kal-attendees-count {
  color: var(--muted);
}

html.eksl-dark-mode .skolings-kal-attendees-date {
  color: var(--muted);
}

html.eksl-dark-mode .skolings-kal-attendees-note {
  color: var(--muted);
  border-left-color: rgba(130, 160, 200, 0.4);
}

html.eksl-dark-mode .skolings-kal-badge--ok {
  background: rgba(76, 175, 80, 0.22);
  color: #a5d6a7;
  border-color: rgba(76, 175, 80, 0.45);
}

html.eksl-dark-mode .skolings-kal-badge--warn {
  background: rgba(180, 60, 60, 0.28);
  color: #ffb4bc;
  border-color: rgba(255, 140, 140, 0.35);
}

html.eksl-dark-mode .skolings-kal-desc {
  color: var(--muted);
}

html.eksl-dark-mode .skolings-kal-desc-toggle {
  color: var(--link);
}

html.eksl-dark-mode .skolings-kal-desc-toggle:hover {
  color: var(--link-hover);
}

html.eksl-dark-mode .skolings-kal-contact {
  color: var(--muted);
}

html.eksl-dark-mode .skolings-kal-contact-label {
  color: var(--ink);
}

html.eksl-dark-mode .skolings-kal-contactlink {
  color: var(--link);
}

html.eksl-dark-mode .skolings-kal-tel {
  color: var(--muted);
}

html.eksl-dark-mode .skolings-kal-actionbtn {
  background: #3a3a40;
  border-color: var(--line-strong);
  color: var(--link);
  box-shadow: none;
}

html.eksl-dark-mode .skolings-kal-actionbtn:hover {
  background: #484850;
  border-color: var(--link);
}

html.eksl-dark-mode .skolings-kal-actionbtn--danger {
  border-color: #8a4a52;
  color: #ffb4bc;
  background: #3a2228;
}

html.eksl-dark-mode .skolings-kal-actionbtn--danger:hover {
  background: #4a2a32;
  border-color: #c66;
}

html.eksl-dark-mode .skolings-kal-history {
  border-top-color: var(--line);
}

html.eksl-dark-mode .skolings-kal-history-kicker {
  color: var(--muted);
}

html.eksl-dark-mode .skolings-kal-history-lines p {
  color: var(--muted);
}

html.eksl-dark-mode .skolings-kal-history-status {
  color: var(--ink);
  background: #2a2d33;
  border-color: var(--line);
}

/* Kalender — intro (#5a6570 på mørk baggrund er næsten usynlig) + piller fra reservation-enhance.css */
html.eksl-dark-mode .klub-kalender-lead,
html.eksl-dark-mode .skolings-kalender-lead {
  color: var(--muted);
}

html.eksl-dark-mode .reservation-action-pill {
  background: #3a3a40;
  border-color: var(--line-strong);
  color: var(--link);
}

html.eksl-dark-mode .reservation-action-pill:hover {
  border-color: var(--link);
  color: var(--link-hover);
  background: #484850;
}

html.eksl-dark-mode .reservation-action-pill--active {
  background: #1e3550;
  border-color: var(--link);
  color: var(--ink);
}

html.eksl-dark-mode .reservation-action-pill--active:hover {
  background: #254060;
  border-color: var(--link-hover);
  color: var(--ink);
}

/* reservation.asp (reservation-enhance.css) — lys booking-tabel + .content td { color: var(--ink) } */
html.eksl-dark-mode .content .reservation-booking-table {
  background: var(--paper);
  border-color: var(--line);
  box-shadow: none;
}

html.eksl-dark-mode .content .reservation-booking-row td {
  border-bottom-color: var(--line);
}

html.eksl-dark-mode .content .reservation-booking-label {
  background: #2a2c32;
  color: var(--ink);
}

html.eksl-dark-mode .content .reservation-booking-cell {
  background: var(--paper);
  color: var(--ink);
}

html.eksl-dark-mode .content .reservation-booking-row-actions td {
  background: #252528;
  border-top-color: var(--line);
}

html.eksl-dark-mode .content .reservation-booking-header {
  border-bottom-color: var(--line);
}

html.eksl-dark-mode .content .reservation-booking-lead,
html.eksl-dark-mode .content .reservation-booking-lead strong {
  color: var(--ink);
}

html.eksl-dark-mode .content .reservation-booking-back {
  color: var(--link);
}

html.eksl-dark-mode .content .reservation-booking-time-label {
  color: var(--ink);
}

html.eksl-dark-mode .content .reservation-booking-footnote {
  color: var(--muted);
}

html.eksl-dark-mode .content .reservation-booking-error {
  background: #3a2228;
  border-color: #8a4a52;
  color: #ffb4bc;
}

html.eksl-dark-mode .content .reservation-date-picker-label {
  color: var(--ink);
}

html.eksl-dark-mode .content .reservation-booking-select:focus,
html.eksl-dark-mode .content .reservation-booking-textarea:focus,
html.eksl-dark-mode .content .reservation-booking-text:focus {
  outline-color: rgba(140, 180, 255, 0.35);
  border-color: var(--link);
}

html.eksl-dark-mode .content .reservation-booking-radio-opt {
  color: var(--ink);
}

html.eksl-dark-mode .content .reservation-booking-row .reservation-booking-cell {
  border-bottom-color: var(--line);
}

html.eksl-dark-mode .content input.reservation-booking-submit[type="submit"] {
  color: var(--ink) !important;
  background: #2e2e32 !important;
  background-color: #2e2e32 !important;
  border: 1px solid var(--line) !important;
}

html.eksl-dark-mode .content input.reservation-booking-submit[type="submit"]:hover {
  border-color: var(--link);
  color: var(--link-hover) !important;
}

html.eksl-dark-mode .content .reservation-remark-wrap {
  background: var(--paper);
  border-color: var(--line);
  box-shadow: none;
}

html.eksl-dark-mode .content .reservation-remark-intro,
html.eksl-dark-mode .content .reservation-remark-intro strong {
  color: var(--ink);
}

html.eksl-dark-mode .content .reservation-remark-label {
  color: var(--ink);
}

html.eksl-dark-mode .content button.reservation-remark-submit {
  color: var(--ink) !important;
  background: #2e2e32 !important;
  background-color: #2e2e32 !important;
  border: 1px solid var(--line) !important;
}

html.eksl-dark-mode .content button.reservation-remark-submit:hover {
  border-color: var(--link);
  color: var(--link-hover) !important;
}

html.eksl-dark-mode .kalender-page-actions .kalender-page-back-link {
  background: #3a3a40;
  border-color: var(--line-strong);
  color: var(--link);
}

html.eksl-dark-mode .kalender-page-actions .kalender-page-back-link:hover {
  border-color: var(--link);
  color: var(--link-hover);
  background: #484850;
}

/* default.asp / forsiden — kort og genveje (var lyse #fff / #f7f9fc på mørk ramme) */
html.eksl-dark-mode .klubnyt-toc-heading {
  color: var(--ink);
}

html.eksl-dark-mode .klubnyt-toc--home .default-board-quick-head {
  border-bottom-color: var(--line);
}

html.eksl-dark-mode .default-board-quick-link {
  background: #2e2e32 !important;
  border-color: var(--line) !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
  color: var(--ink) !important;
}

html.eksl-dark-mode .default-board-quick-link:hover {
  background: #3a3a42 !important;
  border-color: var(--link) !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.45);
}

html.eksl-dark-mode .default-board-quick-label {
  color: var(--ink) !important;
}

html.eksl-dark-mode .default-board-quick-link:hover .default-board-quick-label {
  color: var(--link-hover) !important;
}

html.eksl-dark-mode .default-board-quick-ico--hv {
  background: #2a3548;
  color: var(--link);
}

html.eksl-dark-mode .default-board-quick-ico--medl {
  background: #3a2a48;
  color: #d4b4f0;
}

html.eksl-dark-mode .default-board-quick-ico--fs {
  background: #2a3830;
}

html.eksl-dark-mode .default-board-quick-ico--logout {
  background: #3d2528;
  color: #f48fb1;
}

html.eksl-dark-mode .default-board-quick-link--logout:hover {
  border-color: #e57373;
}

html.eksl-dark-mode .login-page-alert--ok {
  border-color: rgba(129, 199, 132, 0.45);
  background: rgba(46, 125, 50, 0.15);
}

html.eksl-dark-mode .login-page-alert--ok .login-page-alert-text {
  color: #c8e6c9;
}

html.eksl-dark-mode .klubnyt-toc--home .klubnyt-toc-item {
  background: #252528 !important;
  border-color: var(--line) !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
}

html.eksl-dark-mode .klubnyt-toc--home .klubnyt-toc-link {
  color: var(--link) !important;
}

html.eksl-dark-mode .klubnyt-toc--home .klubnyt-toc-link:hover {
  color: var(--link-hover) !important;
}

html.eksl-dark-mode .klubnyt-toc--home .klubnyt-toc-replybadge {
  background: rgba(21, 81, 139, 0.22) !important;
  border-color: rgba(129, 177, 222, 0.45) !important;
  color: #b3d4f0 !important;
}

html.eksl-dark-mode .klubnyt-toc--home .klubnyt-toc-excerpt,
html.eksl-dark-mode .klubnyt-toc--home .klubnyt-toc-excerpt p {
  color: var(--muted) !important;
}

html.eksl-dark-mode .klubnyt-toc-footer {
  border-top-color: var(--line);
}

html.eksl-dark-mode .klubnyt-toc:not(.klubnyt-toc--home) {
  background: #252528;
  border-color: var(--line);
  box-shadow: none;
}

html.eksl-dark-mode .klubnyt-toc-item {
  border-bottom-color: var(--line);
}

html.eksl-dark-mode .default-birthdays {
  background: #252528;
  border-color: var(--line);
}

html.eksl-dark-mode .default-hverdagsflyvning {
  background: #252528;
  border-color: var(--line);
}

html.eksl-dark-mode .default-flyvedag-nav-btn {
  background: #2e2e32;
  border-color: var(--line);
  color: var(--link);
}

html.eksl-dark-mode .default-flyvedag-nav-btn:hover {
  background: #3a3a42;
  border-color: var(--link);
  color: var(--link-hover);
}

html.eksl-dark-mode .default-flyvedag-nav-btn--disabled {
  color: var(--muted);
  border-color: var(--line);
  background: #222226;
}

html.eksl-dark-mode .default-flystatus-alert {
  background: #2e2a22;
  border-color: #9a8230;
  box-shadow: none;
}

html.eksl-dark-mode .default-flystatus-alert-title,
html.eksl-dark-mode .default-flystatus-alert-list {
  color: var(--ink);
}

html.eksl-dark-mode .default-flystatus-band-heading {
  color: var(--link);
}

html.eksl-dark-mode .content .vagt-bytte-husk {
  background: #2e2a22;
  border-color: #9a8230;
}

html.eksl-dark-mode .content .vagt-bytte-husk-title {
  color: #e8c85c;
}

html.eksl-dark-mode .content .vagt-bytte-husk-body {
  color: var(--ink);
}

html.eksl-dark-mode .content .vagt-bytte-husk-item-main,
html.eksl-dark-mode .content .vagt-bytte-husk-til,
html.eksl-dark-mode .content .vagt-bytte-husk-item-what {
  color: var(--ink);
}

html.eksl-dark-mode .content .vagt-bytte-husk-fortryd-btn {
  background: #1e3a5f;
  border-color: #0d2139;
  color: #fff;
}

html.eksl-dark-mode .content .vagt-bytte-husk-fortryd-btn:hover {
  background: #0d2139;
}

html.eksl-dark-mode .content .vagt-bytte-husk-laaest {
  color: #9aa8b4;
}

html.eksl-dark-mode .content .vagt-bytte-wrap {
  background: #252528;
  border-color: var(--line);
}

html.eksl-dark-mode .eksl-overtag-modal {
  background: rgba(0, 0, 0, 0.68);
}

html.eksl-dark-mode .eksl-overtag-modal__panel {
  background: #252a31;
  border-color: var(--line, #4a5568);
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.45);
}

html.eksl-dark-mode .eksl-overtag-modal__title {
  color: #b8d4f0;
}

html.eksl-dark-mode .eksl-overtag-modal__text {
  color: var(--ink, #e4e6ea);
}

html.eksl-dark-mode .eksl-overtag-modal__btn--secondary {
  background: #2e343d;
  border-color: var(--line, #4a5568);
  color: var(--ink, #e4e6ea);
}

html.eksl-dark-mode .eksl-overtag-modal__btn--secondary:hover {
  background: #3a424d;
  border-color: #5c6570;
}

html.eksl-dark-mode .eksl-overtag-modal__btn--primary {
  background: #3d6fa8;
  border-color: #5a8fd4;
  color: #ffffff;
}

html.eksl-dark-mode .eksl-overtag-modal__btn--primary:hover {
  background: #4a7eb8;
  border-color: #7aaef0;
}

html.eksl-dark-mode .eksl-overtag-modal__panel:focus-visible {
  outline-color: #7aaef0;
}

html.eksl-dark-mode .default-home-block-title {
  color: var(--link);
}

html.eksl-dark-mode .default3-test-banner {
  background: #3a3428;
  border-color: #9a8230;
  color: var(--ink);
}

