/*
 * Filsti: assets/css/common.css
 * Formål: Fælles CSS variabler og base styles for alle moduler
 * Forfatter: AI Assistant
 * Dato: 2024-12-19
 * Bruger filer: Alle moduler
 * Bruges af: Alt frontend
 * Modul: assets/css
 * Version: 2.0.0
 * Licens: Ukendt
 */

/* ===== FÆLLES FARVER OG VARIABLER ===== */
/* Matcher joblog-defaults (jobsoegning_joblog_defaults) */
/* Respekter bruger-zoom: typografi-tokens bruger rem (1rem = browserens standard, typisk 16px). */
html {
  font-size: 100%;
}

:root {
  /* Primære farver – joblog-defaults palette */
  --primary: #2563eb;
  --primary-dark: #1d4ed8;
  --primary-light: #eff6ff;
  --primary-lighter: #f9fbff;
  
  /* Sekundære farver */
  --secondary: #f8f9fa;
  --secondary-dark: #e9ecef;
  
  /* Tekst farver (mørkere sekundær/muted = bedre læsbarhed på 1×/ikke-Retina) */
  --text-primary: #333;
  --text-secondary: #555;
  --text-muted: #767676;
  /* Læsbar hjælpetekst uden at være primær brødtekst */
  --text-caption: #5a5a5a;
  
  /* Border farver */
  --border: #ddd;
  --border-light: #eee;
  --border-dark: #ccc;
  
  /* Status farver – joblog-defaults */
  --success: #166534;
  --success-dark: #15803d;
  --success-bg: #d4edda;
  --success-border: #c3e6cb;
  --success-text: #155724;
  --error: #b91c1c;
  --error-bg: #fef7f7;
  --error-bg-alt: #f8d7da;
  --error-border: #f5c6cb;
  --error-text: #721c24;
  --warning: #ffb900;
  --warning-dark: #e6a800;
  --warning-bg: #fffbf0;
  --warning-bg-alt: #fff3cd;
  --warning-border: #ffeaa7;
  --warning-text: #856404;
  --info: #1d4ed8;
  --info-bg: #d1ecf1;
  --info-border: #bee5eb;
  --info-text: #0c5460;
  
  /* Baggrund farver */
  --bg-primary: #fff;
  --bg-secondary: #f8f9fa;
  --bg-light: #f5f5f5;
  --bg-gray: #f1f1f1;
  --bg-gray-light: #fafafa;
  --border-gray: #e0e0e0;
  
  /* Hover og focus farver – joblog-defaults option hover */
  --hover-bg: #eff6ff;
  --focus-border: #2563eb;
  --focus-shadow: rgba(37, 99, 235, 0.15);

  /* === UI design tokens (cm-namespace) === */
  /* Farver */
  --cm-color-primary: var(--primary);
  --cm-color-primary-soft: var(--primary-light);
  --cm-color-secondary: var(--secondary);
  --cm-color-danger: var(--error);
  --cm-color-border: var(--border);
  --cm-color-bg-card: var(--bg-primary);
  --cm-color-text-main: var(--text-primary);

  /* Typografi (rem: 14/12/16px ved 16px root) */
  --cm-font-size-base: 0.875rem;
  --cm-font-size-sm: 0.75rem;
  --cm-font-size-lg: 1rem;
  /* Responsiv typografi (begrænset brug — overskrifter/modaler) */
  --cm-font-size-heading-1: clamp(1.25rem, 1.08rem + 0.85vw, 1.75rem);
  --cm-font-size-heading-2: clamp(1.125rem, 1rem + 0.55vw, 1.375rem);
  --cm-font-size-modal-title: clamp(1.125rem, 1.02rem + 0.45vw, 1.35rem);

  /* Spacing */
  --cm-space-xs: 4px;
  --cm-space-sm: 8px;
  --cm-space-md: 12px;
  --cm-space-lg: 16px;

  /* Radius */
  --cm-radius-sm: 4px;
  --cm-radius-md: 6px;
  --cm-radius-lg: 12px;

  /* Shadow */
  --shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  --shadow-color: rgba(0, 0, 0, 0.1);
  --shadow-color-lg: rgba(0, 0, 0, 0.2);
  --transition-default: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ===== BASE STYLES ===== */
/* Global modul-container (typografi, tekstfarve) */
.module-container {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  line-height: 1.6;
  color: var(--text-primary);
}

/* Global modul-base – hvidt kort med skygge.
 * Bruges fremadrettet som eneste basis-klasse for modul-kort layout.
 * Eksisterende markup med .module-container.common-container er stadig understøttet via kombineret selector.
 */
.module,
.module-container.common-container {
  background: var(--bg-primary);
  border-radius: 16px;
  padding: 30px;
  margin-bottom: 30px;
  box-shadow: 0 8px 25px rgba(0,0,0,0.1);
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
}
.module::before,
.module-container.common-container::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #17a2b8, #6f42c1);
}

/* Ugemte ændringer: JS sætter data-dirty="1" (fx booking setup-kort) */
.module[data-dirty="1"] {
  background: var(--warning-bg);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1), inset 0 0 0 1px var(--warning-border);
}

/* Modul-containere som direkte børn af .entry-content: spænd alle kolonner (tema-grid) */
.entry-content > .module-container.common-container {
  grid-column: 1 / -1;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

/* BuddyBoss: .bb-grid .site-content-grid har grid – lad cellen der indeholder shortcode-modul spænde fuld bredde */
.bb-grid.site-content-grid .bb-grid-cell:has(.module-container.common-container) {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: 100% !important;
}
/* Fallback uden :has() når side har modul-body-klasse fra PHP */
.coachment-has-module .bb-grid.site-content-grid .bb-grid-cell {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* BuddyBoss compat: Progressions scope-root (§10 tjekliste) — fuld grid-celle når modul ligger i BB content grid */
.bb-grid.site-content-grid .bb-grid-cell:has(.pr-frontend-root.module-container.common-container) {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* ===== Virksomhed logs — shortcode [context_user_logs_combined] (.vl-logs-root) =====
   Delte responsive-regler (pilot): undgå at .module overflow:hidden klipper brede tabeller;
   mindre padding på smal viewport; toolbar-/chip-rækker wrappes. */
.vl-logs-root.module.module-container.common-container {
  max-width: 100%;
  box-sizing: border-box;
  overflow-x: auto;
  overflow-y: visible;
}

.vl-logs-root .module.card.cm-card.virksomhed-box {
  max-width: 100%;
  box-sizing: border-box;
  overflow-x: auto;
  overflow-y: visible;
}

.vl-logs-root .virksomhed-logs-toolbar .virksomhed-logs-actions-row,
.vl-logs-root .virksomhed-logs-toolbar .virksomhed-logs-row1,
.vl-logs-root .virksomhed-logs-toolbar .cm-actions.u-flex-gap-8 {
  flex-wrap: wrap;
  align-items: flex-start;
  row-gap: 0.5rem;
}

.vl-logs-root #virksomhed-filter-bar.virksomhed-chip-bar,
.vl-logs-root .virksomhed-extended-inline-row {
  flex-wrap: wrap;
  align-items: flex-start;
  row-gap: 0.5rem;
}

.vl-logs-root .virksomhed-date-filter-row-inline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.75rem;
}

.vl-logs-root .vl-log-table-scroll {
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 0 0 0.75rem 0;
}

@media (max-width: 1200px) {
  .vl-logs-root.module.module-container.common-container {
    padding: 1.125rem 1rem;
    margin-bottom: 1.25rem;
  }
}

@media (max-width: 900px) {
  .vl-logs-root.module.module-container.common-container {
    padding: 0.75rem 0.625rem;
  }
}

/* ===== JobMatch frontend shortcodes (.jm-frontend-root) ===== */
.jm-frontend-root.module.module-container.common-container {
  max-width: 100%;
  box-sizing: border-box;
  overflow-x: auto;
  overflow-y: visible;
}

.jm-frontend-root .cm-actions,
.jm-frontend-root .rapport-actions,
.jm-frontend-root .module-actions,
.jm-frontend-root .form-actions {
  flex-wrap: wrap;
  align-items: flex-start;
  row-gap: 0.5rem;
}

@media (max-width: 1200px) {
  .jm-frontend-root.module.module-container.common-container {
    padding: 1.125rem 1rem;
    margin-bottom: 1.25rem;
  }
}

@media (max-width: 900px) {
  .jm-frontend-root.module.module-container.common-container {
    padding: 0.75rem 0.625rem;
  }
}

/* ===== Borgerdata / JobSøgning / Analysis frontend (.bd- / .js- / .jsa-frontend-root) ===== */
.bd-frontend-root.module.module-container.common-container,
.js-frontend-root.module.module-container.common-container,
.jsa-frontend-root.module.module-container.common-container {
  max-width: 100%;
  box-sizing: border-box;
  overflow-x: auto;
  overflow-y: visible;
}

.bd-frontend-root .cm-actions,
.bd-frontend-root .form-actions,
.js-frontend-root .cm-actions,
.js-frontend-root .form-actions,
.jsa-frontend-root .cm-actions,
.jsa-frontend-root .form-actions {
  flex-wrap: wrap;
  align-items: flex-start;
  row-gap: 0.5rem;
}

@media (max-width: 1200px) {
  .bd-frontend-root.module.module-container.common-container,
  .js-frontend-root.module.module-container.common-container,
  .jsa-frontend-root.module.module-container.common-container {
    padding: 1.125rem 1rem;
    margin-bottom: 1.25rem;
  }
}

@media (max-width: 900px) {
  .bd-frontend-root.module.module-container.common-container,
  .js-frontend-root.module.module-container.common-container,
  .jsa-frontend-root.module.module-container.common-container {
    padding: 0.75rem 0.625rem;
  }
}

/* ===== Rapport-generator / Log-board / Menu-visibility (.rg- / .lb- / .mv-frontend-root) ===== */
.rg-frontend-root.module.module-container.common-container,
.lb-frontend-root.module.module-container.common-container,
.mv-frontend-root.module.module-container.common-container {
  max-width: 100%;
  box-sizing: border-box;
  overflow-x: auto;
  overflow-y: visible;
}

/* Progressions bruger ofte kun .module-container.common-container uden .module */
.pr-frontend-root.module-container.common-container {
  max-width: 100%;
  box-sizing: border-box;
  overflow-x: auto;
  overflow-y: visible;
}

.rg-frontend-root .cm-actions,
.lb-frontend-root .cm-actions,
.mv-frontend-root .cm-actions,
.pr-frontend-root .cm-actions {
  flex-wrap: wrap;
  align-items: flex-start;
  row-gap: 0.5rem;
}

@media (max-width: 1200px) {
  .rg-frontend-root.module.module-container.common-container,
  .lb-frontend-root.module.module-container.common-container,
  .mv-frontend-root.module.module-container.common-container,
  .pr-frontend-root.module-container.common-container {
    padding: 1.125rem 1rem;
    margin-bottom: 1.25rem;
  }
}

@media (max-width: 900px) {
  .rg-frontend-root.module.module-container.common-container,
  .lb-frontend-root.module.module-container.common-container,
  .mv-frontend-root.module.module-container.common-container,
  .pr-frontend-root.module-container.common-container {
    padding: 0.75rem 0.625rem;
  }
}

/* ===== Små addons: CVR, link-groups, tone, kandidat-type, wizard, feedback, AI-præferencer ===== */
.cvr-frontend-root.module.module-container.common-container,
.lg-frontend-root.module.module-container.common-container,
.tv-frontend-root.module.module-container.common-container,
.kt-frontend-root.module.module-container.common-container,
.kw-frontend-root.module.module-container.common-container,
.fb-frontend-root.module.module-container.common-container,
.aiw-frontend-root.module.module-container.common-container {
  max-width: 100%;
  box-sizing: border-box;
  overflow-x: auto;
  overflow-y: visible;
}

.cvr-frontend-root .cm-actions,
.lg-frontend-root .cm-actions,
.tv-frontend-root .cm-actions,
.kt-frontend-root .cm-actions,
.kw-frontend-root .cm-actions,
.fb-frontend-root .cm-actions,
.aiw-frontend-root .cm-actions {
  flex-wrap: wrap;
  align-items: flex-start;
  row-gap: 0.5rem;
}

@media (max-width: 1200px) {
  .cvr-frontend-root.module.module-container.common-container,
  .lg-frontend-root.module.module-container.common-container,
  .tv-frontend-root.module.module-container.common-container,
  .kt-frontend-root.module.module-container.common-container,
  .kw-frontend-root.module.module-container.common-container,
  .fb-frontend-root.module.module-container.common-container,
  .aiw-frontend-root.module.module-container.common-container {
    padding: 1.125rem 1rem;
    margin-bottom: 1.25rem;
  }
}

@media (max-width: 900px) {
  .cvr-frontend-root.module.module-container.common-container,
  .lg-frontend-root.module.module-container.common-container,
  .tv-frontend-root.module.module-container.common-container,
  .kt-frontend-root.module.module-container.common-container,
  .kw-frontend-root.module.module-container.common-container,
  .fb-frontend-root.module.module-container.common-container,
  .aiw-frontend-root.module.module-container.common-container {
    padding: 0.75rem 0.625rem;
  }
}

/* Filter-chips – arver .badge (se BADGES sektion). .cm-chip--active = .badge.active */
.chip,
.cm-chip {
  cursor: pointer;
  margin-right: 4px;
}

/* Firkantet chip-variant til sub-status (samme chip-basis, kun border-radius). */
.cm-chip-square {
  border-radius: var(--cm-radius-sm, 4px);
}

/* Cards / bokse – ÉN base. Alle *-card aliases her. */
.module-card,
.module,
.cm-card,
.card,
.tone-voice-card,
.profile-card,
.skabelon-card,
.model-card,
.assistant-card,
.stat-card,
.jobmatch-match-card,
.feedback-view-card {
  background: var(--cm-color-bg-card);
  border: 1px solid var(--cm-color-border);
  border-radius: var(--cm-radius-lg);
  padding: var(--cm-space-md);
  box-sizing: border-box;
}

/* Modul/card header + body */
.module-header,
.cm-card__header,
.section-header,
.tone-voice-header,
.model-header,
.card-header,
.log-board-column-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: var(--cm-space-sm);
  font-weight: 600;
}

/* Modul-titel + beskrivelse (link_groups, brugerstyring, borgerdata): stå under hinanden, ikke side om side */
.section-header.admin-header.module-header {
  flex-direction: column;
  align-items: stretch;
  gap: 0.25em;
}
.section-header.admin-header.module-header h2,
.section-header.admin-header.module-header h1 {
  margin: 0 0 0.1em 0;
}
.section-header.admin-header.module-header h1 {
  font-size: var(--cm-font-size-heading-1);
  line-height: 1.25;
  font-weight: 600;
}
.section-header.admin-header.module-header h2 {
  font-size: var(--cm-font-size-heading-2);
  line-height: 1.3;
  font-weight: 600;
}
.section-header.admin-header.module-header p {
  margin: 0;
  font-weight: normal;
  color: var(--text-primary);
}

.module-body,
.cm-card__body,
.tone-voice-content,
.model-body,
.card-body {
  font-size: var(--cm-font-size-base);
}
/* Card body fylder plads i flex-kort */
.module-card .module-body { flex: 1; }
/* Card actions ved kortbund */
.module-card .module-actions { margin-top: auto; }

/* ===== TABELLER ===== */
.table,
.module-container table {
  width: 100%;
  border-collapse: collapse;
  margin: 1em 0;
}

.table th,
.module-container th {
  background: var(--primary);
  color: var(--bg-primary);
  padding: 12px;
  text-align: left;
  font-weight: 600;
}

.table td,
.module-container td {
  padding: 12px;
  border-bottom: 1px solid var(--border-light);
}

.table tr:hover,
.module-container tr:hover {
  background: var(--hover-bg);
}

/* Responsiv tabel – bruger data-label på td for mobile */
.table-responsive,
.table.table-responsive {
  width: 100%;
  border-collapse: collapse;
}

@media (max-width: 768px) {
  /* Rettighedsstyret skjulning (data-attribut sættes i PHP — se docs/CSS-GOVERNANCE.md §5a) */
  [data-coachment-narrow-hide="1"] {
    display: none !important;
  }
  .table-responsive { border: 0; }
  .table-responsive thead { display: none; }
  .table-responsive tr {
    margin-bottom: 15px;
    display: block;
    border: 1px solid var(--border);
    border-radius: 4px;
  }
  .table-responsive td {
    display: block;
    text-align: right;
    border: none;
    border-bottom: 1px solid var(--border-light);
    position: relative;
    padding-left: 50%;
  }
  .table-responsive td:before {
    content: attr(data-label);
    position: absolute;
    left: 6px;
    width: 45%;
    padding-right: 10px;
    text-align: left;
    font-weight: 600;
  }
  .table-responsive td:last-child { border-bottom: 0; }
  .table-responsive td[data-label="Handling"] { padding-left: 0; text-align: center; }
  .table-responsive td[data-label="Handling"] button,
  .table-responsive td[data-label="Handling"] .button { width: 100%; margin: 0; box-sizing: border-box; }
  .table-responsive td[data-label="Handling"]:before { display: none; }
  .table-responsive td[data-label="Indhold"] { padding-left: 8px !important; word-break: break-word; white-space: pre-line; overflow-wrap: anywhere; }
  .table-responsive td[data-label="Indhold"]:before { left: 8px; width: auto; min-width: 60px; max-width: 40vw; white-space: normal; }
}

/* ===== LABELS (fælles - label-text / .cm-label) ===== */
/* Bruges af: borgerdata, rapport-generator, ai-widget, feedback, jobmatch-admin */
.label-text,
.cm-label {
  display: block;
  font-weight: 600;
  margin-bottom: 5px;
  color: var(--text-primary);
}

/* Label-variationer – brug .cm-label + .cm-mb-10 for margin under label */
.cm-label-help { margin: 10px 0 5px 0; font-weight: 600; }

/* ===== FORM ELEMENTER ===== */
/* Kanonisk definition – padding 12px, border 1px, radius 8px. Bruges af .module-container, .form-group, .form-row. */
input.input-field,
input[type="text"].input-field,
input[type="email"].input-field,
input[type="password"].input-field,
input[type="number"].input-field,
input[type="date"].input-field,
input[type="url"].input-field,
input[type="time"].input-field,
select.select-field,
textarea.textarea-field,
.module-container input[type="text"],
.module-container input[type="email"],
.module-container input[type="password"],
.module-container input[type="number"],
.module-container input[type="date"],
.module-container input[type="url"],
.module-container input[type="time"],
.module-container select,
.module-container textarea,
.form-group input,
.form-group textarea,
.form-group select,
.form-row input,
.form-row textarea,
.form-row select,
.cm-input-w-80,
.cm-input-w-100,
.cm-input-w-auto,
.cm-input-full,
.cm-textarea-help,
.rapport-del-header-toggle input.rapport-del-overskrift-input {
  width: 100%;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  font-size: 0.875rem;
  line-height: 1.4;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  box-sizing: border-box;
}

/* Select-felter – brug naturlig line-height og en anelse mindre vertikal padding,
   så tekst som j/g/q ikke bliver visuelt klippet i bunden. */
select.select-field,
.module-container select,
.form-group select,
.form-row select {
  line-height: normal;
  padding-top: 8px;
  padding-bottom: 8px;
}

input.input-field:focus,
select.select-field:focus,
textarea.textarea-field:focus,
.module-container input:focus,
.module-container select:focus,
.module-container textarea:focus,
.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus,
.form-row input:focus,
.form-row textarea:focus,
.form-row select:focus,
.cm-input-w-80:focus,
.cm-input-w-100:focus,
.cm-input-w-auto:focus,
.cm-input-full:focus,
.cm-textarea-help:focus,
.rapport-del-header-toggle input.rapport-del-overskrift-input:focus {
  outline: none;
  border-color: var(--focus-border);
  box-shadow: 0 0 0 2px var(--focus-shadow);
}

/* Valgfri fremhævning af planlægningsfelter (fx opfølgningsdato/tid) – lys primær baggrund via design token */
input.input-field.cm-input-emphasis,
input[type="date"].input-field.cm-input-emphasis,
input[type="time"].input-field.cm-input-emphasis {
  background: var(--primary-light);
}
input.input-field.cm-input-emphasis:focus,
input[type="date"].input-field.cm-input-emphasis:focus,
input[type="time"].input-field.cm-input-emphasis:focus {
  background: var(--primary-light);
}

/* Input/textarea bredde-utilities – fælles for alle plugins (layout, ikke varianter) */
.cm-input-w-80 { width: 80px; }
.cm-input-w-100 { width: 100px; }
.cm-input-w-auto,
.form-group select.cm-input-w-auto,
.form-group .cm-input-w-auto {
  width: auto;
  min-width: max-content;
  max-width: none;
}
.cm-input-full { width: 100%; }
.cm-input-padding-sm { padding: 5px; box-sizing: border-box; }
.cm-input-flex { flex: 1; }
.cm-textarea-help,
.field-help-textarea { min-height: 80px; font-size: 0.95em; color: var(--text-secondary); }
.cm-textarea-help::placeholder,
.field-help-textarea::placeholder { font-style: italic; color: var(--text-muted); }
.cm-input-title,
.field-item .field-title-input { font-size: 1.1em; font-weight: 600; margin-bottom: 10px; }
.field-item input.field-title-input,
.field-item input.cm-input-title { margin-bottom: 10px; }

/* ===== FÆLLES GRID LAYOUT (whitelist – CSS-GOVERNANCE.md) ===== */
.cm-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 20px;
}
.cm-grid-tight {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 16px;
}
/* Single-column grid – hvert element i fuld bredde */
.cm-grid-1col {
  grid-template-columns: 1fr;
}
/* To kolonner – fx knapper 2x2 */
.cm-grid-2col {
  grid-template-columns: 1fr 1fr;
}
.cm-grid-2col .cm-grid-span-full {
  grid-column: 1 / -1;
}

/* Form grid – felter i række (form-grid, log-form-row alias) */
.form-grid,
.log-form-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 12px;
  margin-bottom: 12px;
}
.form-grid label,
.log-form-row label {
  display: block;
  margin-bottom: 4px;
  font-weight: 600;
}

/* Flex-række: første felt (fx liste) beholder indholdsbredde, øvrige form-group deler resten */
.u-flex-gap-10 > .form-group {
  flex: 1 1 0;
  min-width: 0;
  align-self: flex-start;
}
.u-flex-gap-10 > .form-group:first-child {
  flex: 0 0 auto;
  min-width: max-content;
  margin-right: 10px; /* ekstra gap → dobbelt afstand til næste felt */
}
.u-flex-gap-10 > .form-group:has(.cm-input-w-100) {
  flex: 0 0 100px;
  width: 100px;
  max-width: 100px;
}
.u-flex-gap-10 > .form-group:has(.cm-input-w-auto) {
  flex: 0 0 auto;
  width: auto;
  max-width: none;
}
.u-flex-gap-10 > .form-grid {
  flex: 1 1 auto;
  min-width: 0;
}

/* Status-række (log): mobile-first – dropdown fuld bredde, knap under; ingen inline */
.log-status-flex-row {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
}
.log-status-flex-row .log-status-dropdown-wrap {
  flex: none;
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
}
.log-status-flex-row .log-status-dropdown-wrap .log-status-dropdown,
.log-status-flex-row .log-status-dropdown-wrap select {
  width: 100%;
  box-sizing: border-box;
}
.log-status-flex-row .log-status-manage-btn {
  align-self: flex-start;
  flex-shrink: 0;
}
/* Log tidsfelter: hold dem kompakte i stedet for fuld bredde. */
.log-status-flex-row [name="log_followup_time"],
.log-status-flex-row [name="log_followup_time_to"] {
  width: 120px;
  min-width: 120px;
  max-width: 120px;
}
/* Log: opfølgningsrække – handling + kalender inviterer (ét flex-felt der fylder resten af linjen). */
.log-status-flex-row .log-followup-action-calendar-cluster {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
  flex: 1 1 auto;
  min-width: 0;
}
.log-status-flex-row .log-followup-action-wrap--in-cluster {
  flex: 1 1 auto;
  min-width: 0;
}
@media (min-width: 769px) {
  .log-status-flex-row .log-followup-action-calendar-cluster {
    flex-direction: row;
    align-items: flex-end;
  }
}
.log-status-flex-row .log-followup-action-calendar-cluster .log-send-calendar-invite-field {
  flex: 0 0 auto;
}
.log-status-flex-row .log-send-calendar-invite-field .log-send-calendar-invite-label {
  display: block;
  text-align: right;
}
.log-status-flex-row .log-send-calendar-invite-input-line {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  box-sizing: border-box;
  min-height: 38px;
}
@media (max-width: 768px) {
  .log-status-flex-row .log-send-calendar-invite-input-line {
    min-height: 0;
  }
}
.cm-time-with-clock {
  -webkit-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='6.5' stroke='%236b7280' stroke-width='1.5'/%3E%3Cpath d='M10 6.6v3.9l2.6 1.5' stroke='%236b7280' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-position: right 10px center;
  background-repeat: no-repeat;
  background-size: 16px 16px;
  padding-right: 34px;
}
.cm-time-with-clock::-webkit-calendar-picker-indicator {
  display: none !important;
  -webkit-appearance: none;
  opacity: 0;
  pointer-events: none;
}
@media (min-width: 769px) {
  .log-status-flex-row {
    flex-direction: row;
    align-items: flex-end;
  }
  .log-status-flex-row .log-status-dropdown-wrap {
    flex: 1;
    width: auto;
  }
}

/* Log status: søgbar dropdown (desktop) */
.log-status-search-wrap {
  position: relative;
  width: 100%;
  box-sizing: border-box;
}
.log-status-search-wrap .log-status-search-native-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  clip: rect(0, 0, 0, 0);
  overflow: hidden;
}
.log-status-search-field {
  display: flex;
  align-items: stretch;
  width: 100%;
  box-sizing: border-box;
}
.log-status-search-input {
  flex: 1 1 auto;
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
}
.log-status-search-field .log-status-search-arrow {
  display: none !important;
}
.log-status-search-input {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%23646970' stroke-width='1.5' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 12px 8px;
  padding-right: 30px;
}
.log-status-search-panel {
  display: none;
  position: absolute;
  left: 0;
  right: 0;
  z-index: 200;
  margin-top: 4px;
  max-height: min(280px, 50vh);
  overflow-y: auto;
  background: var(--bg-primary, var(--bg-primary, var(--bg-primary, #fff)));
  border: 1px solid var(--border, var(--border, var(--border, var(--border, var(--border, #c3c4c7)))));
  border-radius: 4px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
  box-sizing: border-box;
}
.log-status-search-wrap.is-open .log-status-search-panel {
  display: block;
}
.log-status-search-list {
  list-style: none;
  margin: 0;
  padding: 4px 0;
}
.log-status-search-list li {
  padding: 8px 12px;
  cursor: pointer;
  font-size: 0.875rem;
  line-height: 1.35;
}
.log-status-search-list li.is-group {
  cursor: default;
  font-weight: 600;
  color: var(--text-muted, var(--text-muted, var(--text-muted, #646970)));
  padding-top: 10px;
  padding-bottom: 4px;
}
.log-status-search-list li.is-group:first-child {
  padding-top: 6px;
}
.log-status-search-list li.is-selected {
  background: var(--bg-secondary, #f0f0f1);
}
.log-status-search-list li:not(.is-group):not(.is-empty):hover,
.log-status-search-list li:not(.is-group):focus {
  background: var(--bg-secondary, #f0f0f1);
}
.log-status-search-list li.is-empty {
  cursor: default;
  color: var(--text-muted, var(--text-muted, var(--text-muted, #646970)));
}

/* ===== FÆLLES FANE-ELEMENTER (én base) ===== */
.tab-nav,
.cm-tab-nav,
.nav-tab-wrapper {
  display: flex;
  gap: 10px;
  margin-bottom: 20px;
  border-bottom: 2px solid var(--border);
}
.tab-btn,
.cm-tab-btn,
.nav-tab {
  padding: 12px 20px;
  background: var(--secondary);
  border: 1px solid var(--border);
  border-bottom: 3px solid transparent;
  cursor: pointer;
  font-size: 1rem;
  font-weight: 500;
  color: var(--text-secondary);
  transition: all 0.3s ease;
}
.tab-btn:hover,
.cm-tab-btn:hover,
.nav-tab:hover { color: var(--primary); background: var(--secondary-dark); }
.tab-btn.active,
.cm-tab-btn.active,
.cm-tab-btn.nav-tab-active,
.nav-tab-active,
.nav-tab.active { color: var(--primary); border-bottom-color: var(--primary); background: var(--bg-primary); }

/* Tab-like content – skjult som standard, .active viser
   IMPORTANT: Begræns til frontend-moduler (.module-container.common-container),
   så admin-sider som JobMatch Struktur (der også bruger .category-content)
   ikke får skjult deres indhold. */
.tab-content,
.attach-tab-content,
.module-container.common-container .category-content,
.progressions-tab-content {
    display: none;
}
.tab-content.active,
.attach-tab-content.active,
.module-container.common-container .category-content.active,
.progressions-tab-content.active {
    display: block;
}
/* ===== STATUS INDICATORER (badge-baseret) ===== */
.badge-status,
.module-container .status-publish,
.module-container .status-draft {
  display: inline-flex;
  align-items: center;
  padding: 4px 8px;
  border-radius: 6px;
  font-size: 0.75rem;
  font-weight: 600;
}

.badge-status--publish,
.module-container .status-publish {
  background: var(--success);
  color: var(--bg-primary);
}

.badge-status--draft,
.module-container .status-draft {
  background: var(--warning);
  color: var(--bg-primary);
}

/* ===== NOTICES OG MESSAGES (generisk notice) ===== */
.notice,
.module-container .notice {
  padding: 12px 15px;
  margin: 1em 0;
  border-radius: 6px;
  border-left: 4px solid;
}

.notice-success,
.module-container .notice-success {
  background: var(--primary-lighter);
  border-left-color: var(--success);
  color: var(--text-primary);
}

.notice-error,
.module-container .notice-error {
  background: var(--error-bg);
  border-left-color: var(--error);
  color: var(--text-primary);
}

.notice-warning,
.module-container .notice-warning {
  background: var(--warning-bg);
  border-left-color: var(--warning);
  color: var(--text-primary);
}

/* ===== MODAL STYLING (fælles base) ===== */
/* Generisk modal overlay – ældre varianter peger herind. */
.modal,
.module-container .modal,
.kandidat-modal,
#view-modal,
#edit-modal,
#edit-rapport-modal,
#tone-edit-modal,
#tone-details-modal,
.gemte-rapporter .modal,
.rapportskabelon-admin .modal,
.log-board-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 9999;
  display: none;
}

.modal.show,
.module-container .modal.show,
.kandidat-modal.is-visible,
#tone-edit-modal.show,
#tone-details-modal.show,
.gemte-rapporter .modal.show,
.rapportskabelon-admin .modal.show {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Fælles modal-indre størrelser (standard popup) */
.modal-inner-lg,
.cm-modal-inner-lg {
  background: var(--bg-primary);
  border-radius: 12px;
  padding: 20px;
  width: 80%;
  max-width: 900px;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 0 10px 40px rgba(0,0,0,0.2);
  box-sizing: border-box;
}
.modal-inner,
.cm-modal-inner {
  background: var(--bg-primary);
  border-radius: 12px;
  padding: 24px;
  width: 95%;
  max-width: 95%;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 0 10px 40px rgba(0,0,0,0.2);
  box-sizing: border-box;
}
.modal-inner-sm,
.cm-modal-inner-sm {
  background: var(--bg-primary);
  border-radius: 12px;
  padding: 20px;
  width: 95%;
  max-width: 480px;
  max-height: 80vh;
  overflow-y: auto;
  box-shadow: 0 10px 40px rgba(0,0,0,0.2);
  box-sizing: border-box;
}
.cm-modal-inner-md {
  background: var(--bg-primary);
  border-radius: 12px;
  padding: 20px;
  width: 90%;
  max-width: 520px;
  max-height: 85vh;
  overflow-y: auto;
  box-shadow: 0 10px 40px rgba(0,0,0,0.2);
  box-sizing: border-box;
}
.cm-modal-inner-700 { max-width: 700px; max-height: 90vh; overflow-y: auto; box-sizing: border-box; }
.cm-modal-inner-800 { max-width: 800px; max-height: 90vh; overflow-y: auto; box-sizing: border-box; }
.cm-modal-inner-900 { max-width: 900px; max-height: 90vh; overflow-y: auto; box-sizing: border-box; }

/* Import-skabelon: skjul "Gælder for"-kolonnen når scope styres automatisk */
.virksomhed-import-scope-header,
.virksomhed-import-scope {
  display: none !important;
}

/* Import-skabelon: felter minimum størrelse i forhold til indhold */
.virksomhed-import-mapping-table .virk-import-kolonne-line {
  flex-wrap: nowrap;
  align-items: center;
  margin-top: 0; /* Overstyrer generel .cm-actions margin-top */
}
.virksomhed-import-mapping-table td {
  vertical-align: top;
}
.virksomhed-import-mapping-table .virksomhed-import-separator {
  min-width: 1ch;
  width: 3ch;
  max-width: 5ch;
  box-sizing: border-box;
}
.virksomhed-import-mapping-table .virk-import-add-source {
  width: auto;
  min-width: 12ch;
  max-width: 22em;
}
.virksomhed-import-mapping-table .virk-import-chip {
  display: inline-flex;
  align-items: center;
  max-width: 14em;
  padding: 2px 6px;
  border: 1px solid var(--border, var(--border, #dadde1));
  border-radius: 3px;
  background: var(--bg-primary, var(--bg-primary, #fff));
  font-size: 0.75rem;
  line-height: 1.4;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.virksomhed-import-mapping-table .virk-import-chip .button-link {
  padding: 0 4px;
}
.virksomhed-import-mapping-table .virk-import-chip,
.virksomhed-import-mapping-table .virk-import-add-source,
.virksomhed-import-mapping-table .virksomhed-import-entity,
.virksomhed-import-mapping-table .virksomhed-import-field {
  height: 32px;
  line-height: 1.875rem;
}
.virksomhed-import-mapping-table .virksomhed-import-entity,
.virksomhed-import-mapping-table .virksomhed-import-field {
  width: auto;
  min-width: 10ch;
  max-width: 280px;
}

/* Virksomhed logs – udvidet søgning (statusfiltre) */
.cm-width-60-center {
  width: 90%;
  margin-left: 5%;
  margin-right: 5%;
  box-sizing: border-box;
}

#virksomhed-company-status-filter-bar .company-status-filter-radio {
  width: auto;
  max-width: 220px;
}

/* Tekstfilter + «Eksakt»: samme linje (input-field er ellers width:100% og skubber checkbox ned) */
#virksomhed-company-status-filter-bar .company-status-filter-text-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  flex-wrap: nowrap;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
#virksomhed-company-status-filter-bar .company-status-filter-text-row .company-status-filter-text {
  flex: 1 1 auto;
  min-width: 0;
  width: auto;
  max-width: 100%;
}
#virksomhed-company-status-filter-bar .company-status-filter-text-row > label {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
  margin: 0;
  width: auto;
}

/* Udvidet søgning: datointerval-felter vises på samme linje */
.company-status-filter-date-range {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  gap: 8px;
}

.company-status-filter-date-range > label {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  margin-right: 0 !important;
}

.company-status-filter-date-range > label .input-field,
.company-status-filter-date-range > label input[type="date"] {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

/* Standard mellemrum for inline radiogrupper (bruges både i visning og Udvidet søgning) */
.company-status-radio-group label,
#virksomhed-company-status-filter-bar .company-status-filter-radio-wrap label {
  margin-right: 10px;
}

.modal-content,
.module-container .modal-content,
.kandidat-modal-content,
#view-modal .modal-content,
#edit-modal .modal-content,
#edit-rapport-modal .modal-content,
.gemte-rapporter .modal-content,
.rapportskabelon-admin .modal-content {
  background: var(--bg-primary);
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  max-width: 95%;
  max-height: 95%;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.modal-header,
.module-container .modal-header,
.kandidat-modal-header,
#view-modal .modal-header,
#edit-modal .modal-header,
#edit-rapport-modal .modal-header,
.gemte-rapporter .modal-header,
.rapportskabelon-admin .modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 20px 10px;
  margin-bottom: 14px;
  border-bottom: 2px solid var(--border, var(--border, var(--border, var(--border, #c3c4c7))));
  flex-shrink: 0;
}

/* Modal- og panel-titler: clamp så titler skalerer på smalle viewports */
.modal-header h1,
.module-container .modal-header h1,
.kandidat-modal-header h1,
#view-modal .modal-header h1,
#edit-modal .modal-header h1,
#edit-rapport-modal .modal-header h1,
.gemte-rapporter .modal-header h1,
.rapportskabelon-admin .modal-header h1,
.modal-header h2,
.module-container .modal-header h2,
.kandidat-modal-header h2,
#view-modal .modal-header h2,
#edit-modal .modal-header h2,
#edit-rapport-modal .modal-header h2,
.gemte-rapporter .modal-header h2,
.rapportskabelon-admin .modal-header h2,
.modal-header h3,
.module-container .modal-header h3,
.kandidat-modal-header h3,
#view-modal .modal-header h3,
#edit-modal .modal-header h3,
#edit-rapport-modal .modal-header h3,
.gemte-rapporter .modal-header h3,
.rapportskabelon-admin .modal-header h3 {
  font-size: var(--cm-font-size-modal-title);
  line-height: 1.3;
}

.modal-body,
.module-container .modal-body,
.kandidat-modal-body,
#view-modal .modal-body,
#edit-modal .modal-body,
#edit-rapport-modal .modal-body,
.gemte-rapporter .modal-body,
.rapportskabelon-admin .modal-body {
  padding: 20px;
  flex: 1 1 auto;
  min-height: 0;
  max-height: 70vh;
  overflow-y: auto;
}

.modal-footer,
.module-container .modal-footer,
.kandidat-modal-footer,
#view-modal .modal-footer,
#edit-modal .modal-footer,
#edit-rapport-modal .modal-footer,
.gemte-rapporter .modal-footer,
.rapportskabelon-admin .modal-footer {
  padding: 20px;
  border-top: 2px solid var(--border, var(--border, var(--border, var(--border, #c3c4c7))));
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  align-items: center;
  flex-wrap: nowrap;
  flex-shrink: 0;
}
.modal-footer .btn,
.modal-footer .button,
.module-container .modal-footer .btn,
.module-container .modal-footer .button {
  white-space: nowrap;
  flex-shrink: 0;
}
/* Ens højde på footer-knapper (primær og sekundær) – undtagen .btn-small */
.modal-footer .form-actions .btn:not(.btn-small),
.modal-footer .form-actions .button:not(.button-small),
.module-container .modal-footer .form-actions .btn:not(.btn-small),
.module-container .modal-footer .form-actions .button:not(.button-small) {
  min-height: 38px;
  box-sizing: border-box;
}
.modal-content .coachment-feedback-footer {
  flex-shrink: 0;
}

/* ===== LUK-KNAP (modal-close) – fælles for alle modals ===== */
/* Kun ikon-luk (×): undtagen .btn/.button så footer-Annuller ikke får 30×30-styling */
.modal-close,
.close,
.modal .close,
.kandidat-modal-close:not(.btn):not(.button),
.kandidat-create-modal-close:not(.btn):not(.button),
.jobmatch-match-details-close,
.gemte-rapporter .close,
.rapportskabelon-admin .close,
#edit-modal .close {
  background: none;
  border: none;
  font-size: 1.5rem;
  font-weight: bold;
  cursor: pointer;
  color: var(--text-muted);
  padding: 0;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}
.modal-close:hover,
.close:hover,
.modal .close:hover,
.kandidat-modal-close:not(.btn):not(.button):hover,
.kandidat-create-modal-close:not(.btn):not(.button):hover,
.jobmatch-match-details-close:hover,
.gemte-rapporter .close:hover,
.rapportskabelon-admin .close:hover,
#edit-modal .close:hover,
.modal-close:focus,
.close:focus,
.modal .close:focus,
.kandidat-modal-close:not(.btn):not(.button):focus,
.kandidat-create-modal-close:not(.btn):not(.button):focus,
.jobmatch-match-details-close:focus,
.gemte-rapporter .close:focus,
.rapportskabelon-admin .close:focus,
#edit-modal .close:focus {
  color: var(--error);
  text-decoration: none;
}

/* ===== RESPONSIVE DESIGN ===== */
/* Generelle modul-responsive regler. Plugin-specifikke responsive blokke findes i respektive plugin-sektioner. */
@media (max-width: 768px) {
  .module-container .modal-content {
    width: 95%;
    margin: 10px;
  }
  
  .module-container table {
    font-size: 0.875rem;
  }
  
  .module-container th,
  .module-container td {
    padding: 8px;
  }
}

/* ===== UTILITY KLASSER (generiske) ===== */
.text-primary,
.module-container .text-primary { color: var(--primary); }
.text-success,
.module-container .text-success { color: var(--success); }
.text-error,
.module-container .text-error { color: var(--error); }
.text-warning,
.module-container .text-warning { color: var(--warning); }
.text-muted,
.module-container .text-muted { color: var(--text-muted); }

.bg-primary,
.module-container .bg-primary { background: var(--primary); }
.bg-success,
.module-container .bg-success { background: var(--success); }
.bg-error,
.module-container .bg-error { background: var(--error); }
.bg-warning,
.module-container .bg-warning { background: var(--warning); }
.bg-light,
.module-container .bg-light { background: var(--bg-light); }

.border-primary,
.module-container .border-primary { border-color: var(--primary); }
.border-success,
.module-container .border-success { border-color: var(--success); }
.border-error,
.module-container .border-error { border-color: var(--error); }
.border-warning,
.module-container .border-warning { border-color: var(--warning); }

/* Display utilities (for inline cleanup - toggle via JS via addClass/removeClass) */
.u-hidden { display: none !important; }
.u-hidden-toggle { display: none; }
.u-cursor-pointer { cursor: pointer; }
.u-text-muted { color: var(--text-muted); }
.u-text-secondary { color: var(--text-secondary); }
.u-flex-between { display: flex; justify-content: space-between; align-items: center; }
.u-flex-gap-5 { display: flex; gap: 5px; }
.u-flex-gap-8 { display: flex; gap: 8px; }
.u-flex-gap-10 { display: flex; gap: 10px; }
.u-flex-col { display: flex; flex-direction: column; }
/* Standard afstand mellem checkbox og label-tekst i flex-rækker */
.u-flex-gap-8 > input[type="checkbox"],
.u-flex-gap-10 > input[type="checkbox"] {
  margin-right: 8px;
  flex-shrink: 0;
}
.cm-empty-state { text-align: center; padding: 40px; color: var(--text-secondary); }
.cm-empty-state-lg { text-align: center; padding: 60px 20px; color: var(--text-secondary); }
.cm-info-box,
.borgerdata-info-box-blue { padding: 15px; background: var(--secondary-dark); border-left: 4px solid var(--primary); border-radius: 4px; }
/* Blå variant (#e7f3ff) – jobmatch */
.cm-info-box-blue,
.jobmatch-kandidat-info-box { padding: 15px; background: var(--primary-light, var(--primary-light, #e7f3ff)); border-left: 4px solid var(--primary); border-radius: 3px; }
.cm-notice-success { background: var(--success-bg); color: var(--success-text); padding: 15px; border: 1px solid var(--success-border); border-radius: 4px; }
.cm-notice-error { background: var(--error-bg-alt); color: var(--error-text); padding: 15px; border: 1px solid var(--error-border); border-radius: 4px; }

/* ===== COACHMENT STANDARD NOTICE (ensartet på tværs af plugins) ===== */
/* Brug .cm-notice og .cm-notice--success | --error | --warning | --info til brugerfeedback (gemt, fejl, advarsel). */
.cm-notice {
  padding: 12px 16px;
  margin: 0 0 1em 0;
  border-radius: 6px;
  border-left: 4px solid;
  box-sizing: border-box;
}
.cm-notice--success {
  background: var(--success-bg);
  color: var(--success-text);
  border-left-color: var(--success);
}
.cm-notice--error {
  background: var(--error-bg-alt);
  color: var(--error-text);
  border-left-color: var(--error);
}
.cm-notice--warning {
  background: var(--warning-bg);
  color: var(--warning-text, var(--text-primary));
  border-left-color: var(--warning);
}
.cm-notice--info {
  background: var(--primary-lighter);
  color: var(--text-primary);
  border-left-color: var(--primary);
}

/* ===== VIRKSOMHEDSSTATUS – FANEBLADSLINJE (LOGS) ===== */
.company-status-tabs-row {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}
.company-status-tab-label-active {
  font-weight: 600;
  color: var(--text-primary);
}

/* QUICK STATUS KNAPPER – [context_user_logs_combined] */
/* Tillad flere rækker, men hold hver chip-tekst på én linje under "Tilføj Ny Log" */
.log-quick-status-row {
  flex-wrap: wrap;
}
.log-quick-status-row .cm-chip,
.log-quick-status-row .chip,
.log-quick-status-row .btn {
  white-space: nowrap;
  text-align: center;
  max-width: none;
}
/* Toast-container: fixed øverst, til CoachmentNotify.show() */
.coachment-notice-toast-container {
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 99999;
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-width: 360px;
  pointer-events: none;
}
.coachment-notice-toast-container .cm-notice {
  margin: 0;
  pointer-events: auto;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

/* Center-popup: fixed overlay, notice centreret, fader ind og ud */
.coachment-notice-center-overlay {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  box-sizing: border-box;
  background: rgba(0, 0, 0, 0.25);
  animation: coachment-notice-overlay-in 0.2s ease-out;
}
.coachment-notice-center-overlay.coachment-notice-center-out {
  animation: coachment-notice-overlay-out 0.3s ease-in forwards;
}
.coachment-notice-center-overlay .coachment-notice-center-box {
  margin: 0;
  max-width: 400px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
  animation: coachment-notice-box-in 0.25s ease-out;
}
.coachment-notice-center-out .coachment-notice-center-box {
  animation: coachment-notice-box-out 0.25s ease-in forwards;
}
@keyframes coachment-notice-overlay-in {
  from { opacity: 0; }
  to { opacity: 1; }
}
@keyframes coachment-notice-overlay-out {
  from { opacity: 1; }
  to { opacity: 0; }
}
@keyframes coachment-notice-box-in {
  from { opacity: 0; transform: scale(0.95); }
  to { opacity: 1; transform: scale(1); }
}
@keyframes coachment-notice-box-out {
  from { opacity: 1; transform: scale(1); }
  to { opacity: 0; transform: scale(0.98); }
}

/* ===== FÆLLES STANDARD-KLASSER (cm-*) ===== */
/* Overskrifter – brug .cm-heading på h2, h3, h4 for ensartet styling */
.cm-heading { margin: 0 0 12px 0; font-weight: 600; color: var(--text-primary); }
.cm-heading h2, .cm-heading h3, .cm-heading h4 { margin: 0; font-weight: inherit; color: inherit; }

/* Knap-grupper / handlinger – én base */
.cm-actions,
.form-actions,
.card-actions,
.button-group,
.action-buttons,
.rapport-actions,
.rapport-del-actions,
.module-actions,
.submit {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 20px;
}
@media (max-width: 768px) {
  .cm-actions, .form-actions, .card-actions, .button-group, .action-buttons, .rapport-actions, .rapport-del-actions, .module-actions, .submit {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
  }
  .cm-actions .btn, .cm-actions .button,
  .form-actions .btn, .form-actions .button,
  .card-actions .btn, .card-actions .button,
  .button-group .btn, .button-group .button,
  .rapport-actions .btn, .rapport-actions .button,
  .rapport-del-actions .btn, .rapport-del-actions .button,
  .module-actions .btn, .module-actions .button,
  .submit .btn, .submit .button {
    width: 100%;
    text-align: center;
  }
}

/* Loading / empty states */
.cm-loading { opacity: 0.6; pointer-events: none; }
.cm-empty { text-align: center; padding: 30px 20px; color: var(--text-muted); font-size: 0.875rem; }

/* Spacing utilities – erstatter jobsoegning-mt20 osv. */
.cm-mt-20 { margin-top: 20px; }
.cm-mt-15 { margin-top: 15px; }
.cm-mt-5  { margin-top: 5px; }
.cm-mb-10 { margin-bottom: 10px; }
.cm-mb-15 { margin-bottom: 15px; }
.cm-mb-5  { margin-bottom: 5px; }
.cm-mb-20 { margin-bottom: 20px; }
.cm-ml-20-block { display: block; margin-left: 20px; }
.cm-ml-20-block-mb8 { display: block; margin-left: 20px; margin-bottom: 8px; }
.cm-min-height-150 { min-height: 150px; }
.cm-small-mt5 { margin-top: 5px; color: var(--text-secondary); display: block; }
.cm-small-gray { color: var(--text-secondary); }
.cm-mb-15-gray { margin-bottom: 15px; color: var(--text-secondary); }

/* Sektionsheader (kategori, gruppe) */
.cm-section-header {
  margin-top: 32px;
  background: var(--bg-secondary);
  padding: 8px 12px;
  border-radius: 6px;
  font-size: 1.1em;
}
.cm-section-header .kategori-count {
  font-weight: 600;
  color: var(--primary);
}

/* Filter-chip / aktiv visningsknap */
.cm-chip.active,
.virksomhed-filter-btn.active,
.toggle-view-btn.button-primary {
  background: var(--primary) !important;
  color: var(--bg-primary) !important;
  border-color: var(--primary-dark) !important;
}

/* ui-debug fjernet – brug aldrig. Se docs/common-css.old */

/* ===== VIRKSOMHED LOGS (coachment-addon-virksomhed-logs) ===== */
/**
 * NOTE: Modal, Toast, Forms kommer fra CORE!
 * Denne sektion indeholder KUN virksomhed-logs-specifikke styles,
 * flyttet fra coachment-addon-virksomhed-logs/assets/css/virksomhed-logs.css
 */

/* wp-admin: virksomhed-logs (log contact sync, inbound preview, string tools) */
body.wp-admin .vl-ref-summary {
  margin-bottom: 8px;
  padding: 8px;
  background: var(--bg-secondary, var(--bg-secondary, #f6f7f7));
  border: 1px solid var(--border, var(--border, var(--border, var(--border, #c3c4c7))));
  border-radius: 2px;
  font-size: var(--cm-font-size-sm);
  line-height: 1.45;
}
body.wp-admin .vl-ref-summary .cm-vl-ref-list {
  margin: 0.35em 0 0 1em;
  padding: 0;
  font-size: inherit;
}
body.wp-admin .vl-upd-summary .cm-vl-muted-note {
  margin: 0;
  color: var(--text-muted, var(--text-muted, #646970));
  font-size: var(--cm-font-size-sm);
}
body.wp-admin .vl-upd-summary .cm-vl-upd-intro {
  margin: 0 0 0.35em;
  font-size: var(--cm-font-size-sm);
}
body.wp-admin .vl-upd-summary .cm-vl-upd-list {
  margin: 0 0 0 1em;
  padding: 0;
  font-size: var(--cm-font-size-sm);
  line-height: 1.55;
}
body.wp-admin .vl-upd-summary .cm-vl-upd-li {
  margin-bottom: 0.35em;
}
body.wp-admin .vl-upd-summary .cm-vl-patch-line {
  margin-left: 0.35em;
}
body.wp-admin .vl-ref-summary .cm-vl-empty-em {
  color: var(--text-muted, var(--text-muted, #646970));
}
body.wp-admin .cm-vl-inbound-pre {
  white-space: pre-wrap;
  word-break: break-word;
  margin: 0 0 14px 0;
  font-size: var(--cm-font-size-sm);
  line-height: 1.55;
  color: var(--text-primary, var(--text-primary, var(--text-primary, var(--text-primary, #1d2327))));
}
body.wp-admin .cm-vl-inbound-pre--compact {
  margin: 0;
}
body.wp-admin h3.cm-vl-mail-subject {
  margin: 0 0 10px 0;
  font-size: 0.9375rem;
}
body.wp-admin .cm-vl-pre-diff {
  white-space: pre-wrap;
  margin: 0;
  max-width: 22em;
  font-size: var(--cm-font-size-sm);
}
body.wp-admin .widefat.striped.cm-vl-table-sm {
  margin-top: 8px;
  font-size: var(--cm-font-size-sm);
}

/* wp-admin: jobsoegning-analysis application meta */
body.wp-admin .cm-jsa-app-meta {
  padding: 10px;
  box-sizing: border-box;
}
body.wp-admin .cm-jsa-app-panel {
  background: var(--bg-secondary);
  padding: 15px;
  border-radius: 6px;
  margin-bottom: 15px;
}
body.wp-admin .cm-jsa-version-card {
  background: var(--bg-primary);
  padding: 15px;
  margin-bottom: 15px;
  border-radius: 4px;
  border-left: 4px solid var(--primary, var(--primary, #2271b1));
}
body.wp-admin .cm-jsa-version-card--latest {
  border-left-color: var(--success-dark, var(--success-dark, #28a745));
}
body.wp-admin .cm-badge-success {
  display: inline-block;
  background: var(--success-dark, var(--success-dark, #28a745));
  color: var(--bg-primary, var(--bg-primary, #fff));
  padding: 2px 8px;
  border-radius: 3px;
  font-size: var(--cm-font-size-sm);
  font-weight: 600;
  margin-bottom: 10px;
}
body.wp-admin .cm-jsa-section-block {
  background: var(--bg-secondary);
  padding: 12px;
  margin: 10px 0;
  border-radius: 4px;
  border-left: 3px solid var(--primary, var(--primary, #2271b1));
}
body.wp-admin .cm-jsa-section-block h4 {
  margin: 0 0 8px 0;
  color: var(--primary, var(--primary, #2271b1));
  text-transform: capitalize;
}
body.wp-admin .cm-jsa-section-body {
  white-space: pre-wrap;
  line-height: 1.6;
  color: var(--text-primary);
  max-height: 300px;
  overflow-y: auto;
  padding: 8px;
  background: var(--bg-primary);
  border-radius: 3px;
}
body.wp-admin .cm-jm-placeholder-list {
  margin-left: 1em;
  font-size: var(--cm-font-size-sm);
}

/* wp-admin: jobsoegning søgeprofil CV-meta (class-job-search-profile-post-type) */
body.wp-admin .cm-js-profile-h3-spaced {
  margin-top: 30px;
}
body.wp-admin .cm-js-profile-warn-box {
  padding: 20px;
  background: var(--warning-bg-alt, var(--warning-bg-alt, #fff3cd));
  border: 1px solid var(--warning-border, var(--warning-border, #ffc107));
  border-radius: 5px;
}
body.wp-admin .cm-js-profile-alert {
  padding: 12px 15px;
  margin-bottom: 12px;
  border-radius: 4px;
  border: 1px solid var(--error, var(--error, #cc0000));
  background: var(--error-bg, var(--error-bg, #fff5f5));
}
body.wp-admin .cm-js-profile-alert strong {
  color: var(--error, var(--error, #cc0000));
}
body.wp-admin .cm-js-profile-alert-p {
  margin: 6px 0 0 0;
  font-size: var(--cm-font-size-sm);
  color: var(--error-text, var(--error-text, #7a0000));
}
body.wp-admin .cm-js-profile-alert-ul {
  margin: 6px 0 0 18px;
  font-size: var(--cm-font-size-sm);
  color: var(--error-text, var(--error-text, #7a0000));
  list-style: disc;
}
body.wp-admin .cm-js-profile-help {
  color: var(--text-secondary);
  font-size: var(--cm-font-size-sm);
  margin-bottom: 15px;
}
body.wp-admin .cm-js-profile-scroll {
  max-height: 400px;
  overflow-y: auto;
  border: 1px solid var(--border);
  border-radius: 5px;
  padding: 10px;
  background: var(--bg-light, var(--bg-light, #f9f9f9));
}
body.wp-admin .cm-js-profile-card {
  margin-bottom: 15px;
  padding: 10px;
  background: var(--bg-primary, var(--bg-primary, #fff));
  border-radius: 3px;
}
body.wp-admin .cm-js-profile-h4 {
  margin: 0 0 10px 0;
  color: var(--primary, var(--primary, #0073aa));
}
body.wp-admin .cm-js-profile-indent {
  margin-left: 15px;
  margin-bottom: 10px;
}
body.wp-admin .cm-js-profile-kategori {
  color: var(--text-secondary, var(--text-secondary, #666));
}
body.wp-admin .cm-js-profile-fields {
  margin-left: 15px;
  margin-top: 5px;
}
body.wp-admin .cm-js-profile-label {
  display: block;
  margin: 3px 0;
  cursor: pointer;
}
body.wp-admin .cm-js-profile-label--missing {
  padding: 4px 8px;
  background: var(--error-bg, var(--error-bg, #fff5f5));
  border: 1px solid var(--error, var(--error, #cc0000));
  border-radius: 3px;
}
body.wp-admin .cm-js-profile-field-name {
  font-size: var(--cm-font-size-sm);
}
body.wp-admin .cm-js-profile-field-name--missing {
  color: var(--error, var(--error, #cc0000));
  font-weight: 600;
}
body.wp-admin .cm-js-profile-missing-badge {
  color: var(--error, var(--error, #cc0000));
  font-weight: 600;
  margin-left: 4px;
}
body.wp-admin .cm-js-profile-field-preview {
  color: var(--text-muted);
  font-size: var(--cm-font-size-sm);
}
body.wp-admin .cm-js-profile-error-section {
  margin-bottom: 15px;
  padding: 10px;
  background: var(--error-bg, var(--error-bg, #fff5f5));
  border: 2px solid var(--error, var(--error, #cc0000));
  border-radius: 3px;
}
body.wp-admin .cm-js-profile-error-h4 {
  margin: 0 0 10px 0;
  color: var(--error, var(--error, #cc0000));
}
body.wp-admin .cm-js-profile-kategori-error {
  color: var(--error, var(--error, #cc0000));
}
body.wp-admin .cm-js-profile-subheading {
  color: var(--error-text, var(--error-text, #990000));
  font-size: var(--cm-font-size-sm);
}
body.wp-admin .cm-js-profile-missing-block {
  margin-bottom: 8px;
}
body.wp-admin .cm-js-profile-missing-inner {
  margin-left: 15px;
  margin-top: 3px;
}
body.wp-admin .cm-js-profile-label-missing-only {
  display: block;
  margin: 3px 0;
  cursor: pointer;
  padding: 4px 8px;
  background: var(--error-bg, var(--error-bg, #fff5f5));
  border: 1px solid var(--error, var(--error, #cc0000));
  border-radius: 3px;
}
body.wp-admin .cm-js-profile-field-name-missing {
  font-size: var(--cm-font-size-sm);
  color: var(--error, var(--error, #cc0000));
  font-weight: 600;
}
body.wp-admin .cm-js-profile-info-box {
  margin-top: 10px;
  padding: 10px;
  background: var(--primary-light, var(--primary-light, #e7f3ff));
  border-radius: 5px;
}
body.wp-admin .cm-js-profile-info-p {
  margin: 0;
  font-size: var(--cm-font-size-sm);
  color: var(--info-text, var(--info-text, #0066aa));
}
body.wp-admin .cm-badge-warn {
  display: inline-block;
  padding: 3px 8px;
  background: var(--warning, var(--warning, #ff9800));
  color: var(--bg-primary, var(--bg-primary, #fff));
  border-radius: 3px;
  font-size: var(--cm-font-size-sm);
  font-weight: 600;
}
body.wp-admin .cm-badge-danger {
  display: inline-block;
  padding: 3px 8px;
  background: var(--error, var(--error, #cc0000));
  color: var(--bg-primary, var(--bg-primary, #fff));
  border-radius: 3px;
  font-size: var(--cm-font-size-sm);
  font-weight: 600;
}
body.wp-admin .cm-badge-ok {
  color: var(--success-dark, var(--success-dark, #28a745));
}
body.wp-admin .cm-text-unk {
  color: var(--text-muted);
}


/* Linje 1: knapper + søg på samme linje */
.virksomhed-logs-row1 {
    flex-wrap: nowrap !important;
    align-items: center;
}
/* Søgefelt – samme styling som virk-hjemmeside-input, begrænset bredde i toolbar */
.virksomhed-logs-row1 .virk-hjemmeside-input {
    width: 260px !important;
    min-width: 180px;
    flex-shrink: 0;
}

.virksomhed-udvidet-soegning-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: nowrap;
    margin-top: 0 !important;
}

/* Toprække: ens højde/flugtning på controls */
.virksomhed-logs-row1 .input-field,
.virksomhed-logs-row1 .btn,
.virksomhed-logs-row1 .button {
    height: 40px;
}

.virksomhed-logs-row1 .virksomhed-kollega-filter {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 40px;
}

.virksomhed-logs-row1 .virksomhed-kollega-filter-label {
    margin: 0;
    white-space: nowrap;
}

/* Dynamiske chips ud over "top 10" skjules indtil "Vis flere" klikkes */
.virksomhed-chip-bar .virksomhed-chip-dynamic-extra {
    display: none !important;
}

/* Tilføj log: hurtigstatus ud over "top 10" skjules indtil "Vis alle" */
.log-quick-status-row .log-quick-status-extra {
    display: none !important;
}

/* Periode-filter (dropdown + fra/til) */
.virksomhed-date-filter-row {
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}
.virksomhed-date-filter-row label {
    margin: 0;
    font-weight: normal;
}
.virksomhed-extended-inline-row {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: nowrap;
}
.virksomhed-date-filter-row-inline {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-wrap: nowrap;
    margin-top: 0 !important;
}
#virksomhed-date-field-select {
    width: auto;
    min-width: 140px;
}
#virksomhed-date-from,
#virksomhed-date-to {
    width: auto;
    min-width: 130px;
}

/* Virksomhedsform-filter i logs-toolbar: kompakt dropdown */
#virksomhedsform-filter {
    width: auto;
    min-width: 160px;
    -webkit-appearance: none;
    appearance: none;
    padding-right: 34px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4' fill='none' stroke='%23333' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 1.5em 1.5em;
}

/* Udvidet søgning: vis tydelig åben/lukket indikator på toggle-knap */
.virksomhed-udvidet-soegning-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    white-space: nowrap;
}
.virksomhed-udvidet-soegning-toggle::after {
    content: "▾";
    font-size: 1em;
    display: inline-block;
    transform: scale(1.5);
    transform-origin: center;
    line-height: 1;
    margin-left: 6px;
}
.virksomhed-udvidet-soegning-toggle[aria-expanded="true"]::after {
    content: "▴";
}

@media (max-width: 768px) {
    .virksomhed-logs-row1 {
        flex-wrap: wrap !important;
    }
    .cm-width-60-center {
        width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    .virksomhed-logs-row1 .virk-hjemmeside-input {
        width: 100% !important;
        min-width: 0;
        flex: 1 1 auto;
    }
    .virksomhed-udvidet-soegning-actions {
        flex-direction: row !important;
        align-items: center !important;
        flex-wrap: wrap;
        width: 100%;
    }
    .virksomhed-udvidet-soegning-actions .virksomhed-udvidet-soegning-toggle,
    .virksomhed-udvidet-soegning-actions #virksomhed-soegning-nulstil {
        flex: 1 1 0;
        width: calc(50% - 4px) !important;
        min-width: 0;
        text-align: center;
    }
    .virksomhed-udvidet-soegning-actions .virksomhed-udvidet-soegning-toggle::after {
        transform: scale(1.2);
        margin-left: 4px;
    }
    .virksomhed-udvidet-soegning-actions .virksomhed-kollega-filter {
        flex: 0 0 100%;
        width: 100%;
        order: 3;
    }
    .virksomhed-udvidet-soegning-actions .virksomhed-kollega-filter .input-field {
        flex: 1 1 auto;
        min-width: 0;
    }
    .virksomhed-extended-inline-row {
        flex-wrap: wrap;
    }
    .virksomhed-date-filter-row-inline {
        width: 100%;
        flex-wrap: wrap;
    }
    .virksomhed-layout-toggle-row {
        flex-direction: row !important;
        align-items: center !important;
        flex-wrap: wrap;
    }
    .virksomhed-layout-toggle-row .cm-label {
        margin: 0;
        width: auto;
    }
    .virksomhed-layout-toggle-row .button,
    .virksomhed-layout-toggle-row .btn {
        width: calc(50% - 4px) !important;
        flex: 1 1 0;
        min-width: 0;
    }
    .virksomhed-chip-bar {
        flex-direction: row !important;
        align-items: stretch !important;
        flex-wrap: wrap;
    }
    .virksomhed-chip-bar .virksomhed-filter-btn:not([data-coachment-narrow-hide="1"]) {
        flex: 0 0 calc(50% - 4px);
        width: calc(50% - 4px) !important;
        min-width: 0;
        text-align: center;
    }
    .virksomhed-chip-bar .virksomhed-filter-btn:not([data-coachment-narrow-hide="1"]):nth-child(1 of .virksomhed-filter-btn:not([data-coachment-narrow-hide="1"])):nth-last-child(1 of .virksomhed-filter-btn:not([data-coachment-narrow-hide="1"])) {
        flex: 0 0 100%;
        width: 100% !important;
    }
    .virksomhed-chip-bar:has(> .virksomhed-filter-btn:not([data-coachment-narrow-hide="1"]):nth-child(3 of .virksomhed-filter-btn:not([data-coachment-narrow-hide="1"]))) .virksomhed-filter-btn:not([data-coachment-narrow-hide="1"]) {
        flex: 0 0 calc((100% - 16px) / 3);
        width: calc((100% - 16px) / 3) !important;
    }
    .company-status-mobile-original-label,
    .company-status-mobile-original-group {
        display: none !important;
    }
    .company-status-mobile-proxy-wrap {
        display: block;
    }
    .company-status-mobile-proxy-wrap .input-field,
    .company-status-mobile-proxy,
    .company-status-filter-checkbox,
    .company-status-filter-radio,
    #virksomhed-company-status-filter-bar select.input-field {
        font-size: 1.0625rem !important;
        line-height: 1.4 !important;
        min-height: 44px;
        padding-top: 10px;
        padding-bottom: 10px;
    }
    #virksomhed-company-status-filter-bar .company-status-filter-text-exact {
        min-width: 44px;
        min-height: 44px;
        flex-shrink: 0;
    }
    .company-status-mobile-proxy option,
    .company-status-filter-checkbox option,
    .company-status-filter-radio option,
    #virksomhed-company-status-filter-bar select.input-field option {
        font-size: 1rem !important;
        line-height: 1.35;
    }
    .mobile-status-picker-native-hidden {
        position: absolute !important;
        left: -9999px !important;
        width: 1px !important;
        height: 1px !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }
    .mobile-company-picker-open {
        width: 100% !important;
        text-align: left !important;
        min-height: 44px;
        font-size: 1.0625rem !important;
        line-height: 1.35 !important;
        padding: 10px 12px !important;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        margin: 0 !important;
    }
}

@media (min-width: 769px) {
    .company-status-mobile-proxy-wrap {
        display: none !important;
    }
}

/* Kategori-overskrift for log-sektioner (virksomhed-logs) */
.kategori-header {
    margin-top: 32px;
    background: var(--bg-secondary);
    padding: 8px 12px;
    border-radius: 6px;
    font-size: 1.1em;
}
.kategori-count {
    font-weight: bold;
    color: var(--primary);
}

/* virksomhed-box li – structure */
.virksomhed-box li {
    list-style: none;
    margin: 0;
    padding: 0;
    display: block;
    width: 100%;
}

/* Log-tabeller i fuld bredde */
.log-table-wrap {
    width: 100%;
    min-width: 100%;
}
.log-table-wrap table.table-responsive.widefat {
    width: 100% !important;
    min-width: 100% !important;
    table-layout: fixed;
}

/* followup-row highlight */
.table-responsive .followup-row {
    background: var(--warning-bg-alt); /* specifik highlight-farve for followup */
}

/* log-related-client-row: hovedrække (detail-row) med tilknyttet klient/kandidat */
.responsive-log-table tr.detail-row.log-related-client-row,
.table-responsive tr.detail-row.log-related-client-row {
    background: var(--success-bg);
}
.responsive-log-table tr.detail-row.log-related-client-row td,
.table-responsive tr.detail-row.log-related-client-row td {
    background: var(--success-bg);
}
.responsive-log-table tr.detail-row.followup-row.log-related-client-row,
.responsive-log-table tr.detail-row.followup-row.log-related-client-row td,
.table-responsive tr.detail-row.followup-row.log-related-client-row,
.table-responsive tr.detail-row.followup-row.log-related-client-row td {
    background: var(--success-bg);
}

/* .log-row-clickable → .u-cursor-pointer */

.log-indhold-text {
    line-clamp: 3;
    -webkit-line-clamp: 3;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.4;
}

/* .log-indhold-toggle → .u-cursor-pointer */

/* .log-indhold-expand-row → .u-hidden-toggle */
.log-indhold-expand-row td {
    padding: 12px;
    background: var(--bg-primary);
    border-top: none;
    vertical-align: top;
    line-height: 1.5;
}

/* ========================================
   RESPONSIVE DESIGN (LOGS)
   ======================================== */

@media (max-width: 768px) {
    .form-grid,
    .log-form-row {
        grid-template-columns: 1fr;
    }
    .virksomhed-actions {
        flex-direction: column;
    }
    .virk-hjemmeside-input,
    .input-field.virk-hjemmeside-input {
        width: 100%;
    }

    /* Mobilkort for virksomhedslogs (samme idé som .table-responsive, men for faktisk markup: .responsive-log-table) */
    .responsive-log-table {
        width: 100%;
        border-collapse: separate;
        border-spacing: 0;
    }

    .responsive-log-table thead {
        display: none;
    }

    .responsive-log-table tbody {
        display: block;
        width: 100%;
    }

    .responsive-log-table tr.detail-row {
        display: block;
        width: 100%;
        margin: 0 0 12px 0;
        border: 1px solid var(--border);
        border-radius: 8px;
        background: var(--bg-primary);
        overflow: hidden;
    }

    .responsive-log-table tr.detail-row.followup-row {
        border-color: var(--warning-border);
        background: var(--warning-bg-alt);
    }

    .responsive-log-table tr.detail-row.log-related-client-row {
        border-color: var(--success-border);
        background: var(--success-bg);
    }

    .responsive-log-table tr.detail-row.followup-row.log-related-client-row {
        border-color: var(--success-border);
        background: var(--success-bg);
    }

    .responsive-log-table tr.detail-row td {
        display: block;
        width: 100%;
        border: none;
        border-bottom: 1px solid var(--border-light);
        padding: 8px 10px 8px 124px;
        position: relative;
        text-align: left;
        min-height: 34px;
        box-sizing: border-box;
    }

    .responsive-log-table tr.detail-row td:before {
        content: attr(data-label);
        position: absolute;
        left: 10px;
        top: 8px;
        width: 104px;
        font-weight: 600;
        color: var(--primary);
        text-align: left;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .responsive-log-table tr.detail-row td:last-child {
        border-bottom: 0;
    }

    .responsive-log-table tr.detail-row td[data-label="Handling"] {
        padding-left: 10px;
    }

    .responsive-log-table tr.detail-row td[data-label="Handling"]:before {
        display: none;
    }

    .responsive-log-table tr.detail-row td[data-label="Handling"] .button,
    .responsive-log-table tr.detail-row td[data-label="Handling"] button {
        width: 100%;
        margin: 0;
        box-sizing: border-box;
    }

    .responsive-log-table tr.detail-row td[data-label="Indhold"] .log-indhold-text {
        -webkit-line-clamp: 2;
        line-clamp: 2;
        line-height: 1.35;
    }

    /* Expand-rækken vises som separat kort under sin log-række */
    .responsive-log-table tr.log-indhold-expand-row {
        display: block;
        width: 100%;
        margin: -8px 0 12px 0;
        border: 1px solid var(--border);
        border-top: 0;
        border-radius: 0 0 8px 8px;
        overflow: hidden;
        background: var(--bg-primary);
    }

    .responsive-log-table tr.log-indhold-expand-row td {
        display: block;
        width: 100%;
        border: 0;
        padding: 10px;
        box-sizing: border-box;
    }

    .responsive-log-table tr.log-indhold-expand-row .log-indhold-expand-inner {
        width: 100%;
        overflow-wrap: anywhere;
        word-break: break-word;
    }
}

/* ========================================
   INLINE FORMS
   ======================================== */

.inline-status-form,
.inline-mail-text-form {
    display: none;
    margin-top: 8px;
    padding: 12px;
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: 4px;
}

.create-status-inline {
    margin-top: 6px;
}

.inline-status-form input,
.inline-mail-text-form input,
.inline-mail-text-form textarea {
    margin-bottom: 8px;
}

.log-form textarea,
.inline-mail-text-form textarea {
    min-height: 100px;
    resize: vertical;
}

.inline-mail-text-title,
.inline-mail-text-subject,
.inline-mail-text-content {
    width: 100%;
}

.log-add-content-block {
  margin-bottom: 12px;
}
.log-add-content-block label {
  display: block;
  margin-bottom: 4px;
  font-weight: 600;
}
.log-mail-template-row {
  margin: 0 0 1em;
}
.log-mail-template-row .log-mail-text-dropdown {
  width: 100%;
  box-sizing: border-box;
}
.log-form [data-action="add-log"] {
    margin-top: 8px;
}

.log-mail-send-options {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 20px;
    margin-top: 12px;
}
.log-mail-send-options--inline {
    margin-top: 8px;
    margin-bottom: 8px;
}
.log-mail-send-options .send-email-label {
    display: inline-flex;
    align-items: center;
    margin-top: 0;
}
.send-email-label {
    display: block;
    margin-top: 12px;
}

.log-mail-actions {
    margin-top: 8px; /* Override cm-actions margin for compact form */
}

/* ========================================
   LOADING STATES
   ======================================== */

.hjemmeside-loading {
    margin-left: 10px;
    font-style: italic;
    color: var(--text-secondary);
}

/* ========================================
   LOG MODAL
   ======================================== */

.log-modal-meta {
    padding: 10px 12px;
    background: var(--bg-secondary);
    border-radius: 6px;
    margin-bottom: 16px;
    border: 1px solid var(--border);
}

.log-modal-label {
    font-size: var(--cm-font-size-sm);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    line-height: 1.2;
}

.log-modal-value {
    font-size: 0.8125rem;
    color: var(--text-primary);
    line-height: 1.2;
}

.log-modal-indhold {
    margin-top: 0;
}

.log-modal-indhold-label {
    display: block;
    font-size: var(--cm-font-size-sm);
    font-weight: 600;
    margin-bottom: 6px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.log-modal-indhold-box {
    padding: 16px;
    background: var(--bg-primary);
    border: 1px solid var(--border);
    border-left: 4px solid var(--primary);
    border-radius: 6px;
    font-size: 0.875rem;
    line-height: 1.5;
    color: var(--text-primary);
    min-height: 80px;
}

/* log-modal-input arver fra .form-group (via form-group på log-modal-meta-item) */

.log-modal-textarea {
    min-height: 120px;
    resize: vertical;
}

/* ===== FEEDBACK (coachment-feedback) ===== */
/**
 * Frontend + admin feedback-styles
 * Flyttet fra:
 *  - coachment-feedback/assets/css/feedback.css
 *  - coachment-feedback/assets/css/feedback-frontend.css
 */

/* Footer-link i admin og andre moduler */
.coachment-feedback-links {
    font-size: 0.75rem;
}

.coachment-feedback-link {
    color: var(--primary);
    text-decoration: none;
    margin-right: 15px;
    transition: color 0.2s ease;
}

.coachment-feedback-link:hover {
    color: var(--primary-dark, var(--primary-dark, #005177));
    text-decoration: underline;
}

.coachment-feedback-link:last-child {
    margin-right: 0;
}

/* Frontend feedback: bruger generelle layout- og form-klasser (cm-mt-20, cm-mb-20, cm-actions, select-field) */

/* Filtre på én eller flere linier – inden for modulet, ingen overflow */
.coachment-feedback-filters {
  flex-wrap: wrap;
  margin-top: 0;
}
.coachment-feedback-filters .select-field {
  min-width: 100px;
  max-width: 180px;
  flex: 1 1 auto;
}

/* coachment-feedback-items: brug .cm-grid */

/* List view (table) */
.feedback-view-list .coachment-feedback-items {
    display: block;
}


.coachment-feedback-table thead {
    background: var(--bg-light);
}

.coachment-feedback-table th {
    padding: 12px 10px;
    text-align: left;
    font-weight: 600;
    font-size: 0.8125rem;
    color: var(--text-primary);
    border-bottom: 2px solid var(--border);
}

.coachment-feedback-table td {
    padding: 10px;
    border-bottom: 1px solid var(--border-light);
    vertical-align: top;
    font-size: 0.875rem;
}

.coachment-feedback-table tbody tr:hover {
    background: var(--bg-secondary);
}

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

.feedback-view-list .feedback-header {
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin-bottom: 0;
}

.feedback-view-list .feedback-type,
.feedback-view-list .feedback-priority,
.feedback-view-list .feedback-status {
    display: inline-block;
    width: fit-content;
    font-size: 0.6875rem;
    padding: 3px 8px;
}

.feedback-view-list .feedback-message {
    margin-bottom: 0;
    line-height: 1.5;
    color: var(--text-primary);
}

.feedback-view-list .feedback-plugin {
    font-weight: 600;
    color: var(--text-primary);
}

.feedback-view-list .plugin-version {
    color: var(--text-secondary);
    font-weight: normal;
    font-size: 0.75rem;
}

.feedback-view-list .feedback-author {
    color: var(--text-secondary);
}

.feedback-view-list .feedback-date {
    color: var(--text-muted);
    font-size: 0.75rem;
}

.feedback-view-list .feedback-votes {
    margin-top: 0;
    padding-top: 0;
    border-top: none;
}

.feedback-view-list .vote-button {
    padding: 6px 12px;
    font-size: 0.8125rem;
}

.feedback-header {
    margin-bottom: 15px;
    flex-wrap: wrap;
    justify-content: flex-start;
}

.feedback-type,
.feedback-priority,
.feedback-status {
    padding: 4px 10px;
    border-radius: 4px;
    font-size: 0.75rem;
    font-weight: bold;
    color: var(--bg-primary);
}

.feedback-type.type-ide {
    background: var(--success-dark, #5cb85c);
}

.feedback-type.type-fejl {
    background: var(--error, #d9534f);
}

.feedback-priority.priority-mindre {
    background: var(--success-dark, #5cb85c);
}

.feedback-priority.priority-vigtigt {
    background: var(--warning, #f0ad4e);
}

.feedback-priority.priority-kritisk {
    background: var(--error, #d9534f);
}

.feedback-status.status-ny {
    background: var(--warning, #f0ad4e);
}

.feedback-status.status-under-behandling {
    background: var(--info, #5bc0de);
}

.feedback-status.status-faerdig {
    background: var(--success-dark, #5cb85c);
}

.feedback-status.status-afvist {
    background: var(--error, #d9534f);
}

.feedback-content h3 {
    margin-top: 0;
    margin-bottom: 10px;
    color: var(--text-primary);
}

.feedback-message {
    color: var(--text-secondary);
    line-height: 1.6;
    margin-bottom: 15px;
}

.feedback-meta {
    display: flex;
    gap: 15px;
    font-size: 0.75rem;
    color: var(--text-muted);
    margin-bottom: 15px;
    flex-wrap: wrap;
}

.feedback-plugin {
    font-weight: bold;
}

.plugin-version {
    color: var(--text-secondary);
    font-weight: normal;
}

.feedback-votes {
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid var(--border-light);
}

.vote-button {
    background: var(--bg-light);
    border: 1px solid var(--border);
    border-radius: 4px;
    padding: 6px 10px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 0.8125rem;
}

.vote-button:hover {
    background: var(--secondary-dark);
}

.vote-button .dashicons {
    width: 16px;
    height: 16px;
    font-size: 1rem;
}

.vote-count {
    font-size: 0.8125rem;
    color: var(--text-secondary);
}

/* ===== TONE VOICE (coachment-addon-tone-voice) ===== */
/**
 * Frontend tone-of-voice selector styles
 * Flyttet fra: coachment-addon-tone-voice/assets/css/tone-voice-selector.css
 */

/* Individual tone voice card */
.tone-voice-card {
    display: flex;
    flex-direction: column;
    min-height: 120px;
}

.tone-voice-card:hover {
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
    transform: translateY(-2px);
}

/* Card states */
.tone-voice-card.assigned {
    border-left: 4px solid var(--success);
    background: var(--primary-lighter);
}

.tone-voice-card.unassigned {
    border-left: 4px solid var(--border);
    background: var(--bg-primary);
}

/* Egne tone of voice kort - svagt mørkere baggrund */
.tone-voice-card.own-tone {
    background: var(--bg-secondary);
    border: 2px solid var(--border-light, var(--border-light, #dee2e6));
}

.tone-voice-card.own-tone:hover {
    background: var(--bg-gray, #f1f3f4);
    border-color: var(--border-dark, #ced4da);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2);
}

.tone-voice-header h3 {
    margin: 0;
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--text-primary);
    flex: 1;
}

.tone-description {
    color: var(--text-secondary);
    font-size: 0.875rem;
    line-height: 1.5;
    margin-bottom: 8px;
    font-style: italic;
    min-height: 40px;
}

.tone-status {
    margin-bottom: 8px;
    font-size: 0.875rem;
}

.tone-status strong {
    color: var(--text-primary);
}

.status-assigned {
    color: var(--success);
    font-weight: 600;
}

.status-unassigned {
    color: var(--warning);
    font-weight: 600;
}

.visibility-info {
    font-size: 0.8125rem;
    color: var(--text-muted);
    background: var(--bg-secondary);
    padding: 8px 12px;
    border-radius: 4px;
    border-left: 3px solid var(--info);
    margin-bottom: 8px;
}

.tone-voice-actions .btn,
.tone-voice-actions .button {
    flex: 1;
    min-width: 120px;
    text-align: center;
}

/* Tone-voice modal bruger fælles .modal base */
#tone-details-content h3 {
    color: var(--primary);
    margin-bottom: 15px;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--primary-light);
}

#tone-details-content .tone-meta {
    background: var(--bg-secondary);
    padding: 15px;
    border-radius: 6px;
    margin-bottom: 20px;
}

#tone-details-content .tone-meta strong {
    color: var(--text-primary);
    display: inline-block;
    min-width: 120px;
}

/* Header actions */
.header-actions {
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid var(--border);
}

.header-actions .button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.875rem;
    padding: 10px 16px;
}

.header-actions .dashicons {
    width: 20px;
    height: 20px;
    font-size: 1.125rem;
}

/* ===== MENU VISIBILITY (coachment-addon-menu-visibility) ===== */
/**
 * Admin + frontend menu visibility styles
 * Flyttet fra:
 *  - coachment-addon-menu-visibility/assets/css/admin.css
 *  - coachment-addon-menu-visibility/assets/css/frontend.css
 */

/* Admin page layout */
.menu-visibility-admin-page {
    max-width: 1200px;
}

.menu-visibility-admin-page .form-table th {
    width: 200px;
    padding: 15px 10px 15px 0;
    text-align: left;
    font-weight: 600;
}

.menu-visibility-admin-page .form-table td {
    padding: 15px 10px;
}

.menu-visibility-admin-page fieldset label {
    display: block;
    padding: 8px 0;
    margin-bottom: 5px;
}

.menu-visibility-admin-page fieldset input[type="checkbox"] {
    margin-right: 8px;
    width: 18px;
    height: 18px;
}

.menu-visibility-admin-page .description {
    color: var(--text-secondary);
    font-size: 0.8125rem;
    margin-left: 5px;
}

.menu-admin-group {
    background: var(--bg-primary);
    transition: box-shadow 0.2s;
}

.menu-admin-group:hover {
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.menu-items-admin {
    background: var(--bg-secondary);
    padding: 15px;
    border-radius: 4px;
    margin-top: 10px;
}

.menu-item-admin-row {
    padding: 5px 0;
}

.menu-item-admin-row label {
    cursor: pointer;
    align-items: center;
}

.menu-item-admin-row input[type="checkbox"] {
    margin-right: 8px;
    width: 18px;
    height: 18px;
    cursor: pointer;
}

.menu-item-admin-row:hover {
    background-color: var(--secondary-dark);
    border-radius: 3px;
}

/* Frontend container */
.menu-visibility-container {
    max-width: 1000px;
}


.menu-group {
    margin-bottom: 30px;
    border: 1px solid var(--border);
    border-radius: 4px;
    padding: 15px;
    background: var(--bg-primary);
}

.menu-group-title {
    margin: 0 0 15px 0;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--border-light, var(--border-light, #eee));
    font-size: 1.125rem;
    font-weight: 600;
    align-items: center;
}

.menu-group-title input[type="checkbox"] {
    width: 20px;
    height: 20px;
    cursor: pointer;
}

.menu-items-list {
    margin-left: 30px;
}

.menu-item-row {
    margin-bottom: 5px;
    padding: 4px;
    border-radius: 3px;
    transition: background-color 0.2s;
}

.menu-item-row:hover {
    background-color: var(--bg-light, var(--bg-light, #f5f5f5));
}

.menu-item-row label {
    align-items: center;
    cursor: pointer;
    font-size: 0.875rem;
}

.menu-item-row input[type="checkbox"] {
    margin-right: 10px;
    width: 18px;
    height: 18px;
    cursor: pointer;
}

@media (max-width: 768px) {
    .menu-items-list {
        margin-left: 10px;
    }
    
    .menu-item-row {
        margin-left: 0 !important;
    }
    
    .menu-group {
        padding: 10px;
    }
}

/* ===== LOG BOARD (coachment-addon-log-board) ===== */
/**
 * Trello-lignende log board styling
 * Flyttet fra: coachment-addon-log-board/assets/css/log-board.css
 */


/* Feedback footer spacing to match other plugins */
.log-board-wrapper .coachment-feedback-footer {
    margin-top: 20px;
    margin-bottom: 20px; /* Match padding from wrapper */
}


.log-board-header h2 {
    margin: 0;
    font-size: 1.5rem;
    color: var(--text-primary);
}



.log-board-filters {
    margin-bottom: 20px;
    align-items: center;
    width: calc((240px * 2) + 15px); /* 2 kolonner bredde */
    max-width: calc((240px * 2) + 15px);
}

.log-board-search {
    flex: 0 0 75%;
    width: 75%;
    padding: 8px 12px;
    border: 1px solid var(--border);
    border-radius: 4px;
    font-size: 0.875rem;
    box-sizing: border-box;
}

.log-board-filter {
    flex: 0 0 25%;
    width: 25%;
    padding: 8px 12px;
    border: 1px solid var(--border);
    border-radius: 4px;
    font-size: 0.875rem;
    box-sizing: border-box;
}

/* .log-board-loading, .log-board-empty: text-align, padding, color nu via .cm-empty-state */

/* Board View */
.log-board-columns {
    display: flex;
    gap: 15px;
    overflow-x: auto;
    padding-bottom: 10px;
    min-height: 400px;
}

.log-board-column {
    flex: 1 1 240px; /* Fleksibel bredde - kan vokse og skrumpe baseret på tilgængelig plads */
    min-width: 240px; /* Minimum bredde for læsbarhed */
    max-width: 400px; /* Maksimum bredde for at undgå for brede kolonner */
    max-height: 500px;
    background: var(--bg-light);
    border-radius: 8px;
    padding: 15px;
    display: flex;
    flex-direction: column;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    overflow: hidden;
    transition: all 0.3s ease;
}

.log-board-column-variable .log-board-column-header {
    cursor: move;
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

.log-board-column-variable .log-board-column-header * {
    pointer-events: none;
}

.log-board-column-variable .log-board-column-header button {
    pointer-events: auto;
    cursor: pointer;
}

.log-board-column-variable.column-dragging {
    opacity: 0.5;
    transform: scale(0.95);
}

.log-board-column-variable.column-drag-over {
    border: 2px dashed #2196f3;
    background: var(--primary-light);
}

.log-board-column.collapsed {   
    min-width: 20px;
    max-width: 20px;
    padding: 5px;
    cursor: pointer;
}

/* Når en kollapsede kolonne har et tæller-tal > 0 (JS sætter klassen),
   markér den med advarselsfarve */
.log-board-column.collapsed.log-board-column-has-cards {
    background: var(--warning-bg-alt);
}

.log-board-column.collapsed .log-board-column-body {
    display: none;
}

.log-board-column.collapsed .log-board-column-header {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    width: 100%;
    height: auto;
    min-height: auto;
    position: relative;
}

.log-board-column.collapsed .log-board-column-header-content {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 5px;
    transform: rotate(90deg);
    transform-origin: left top;
    position: absolute;
    left: 20px;
    top: 0;
    white-space: nowrap;
}

.log-board-column.collapsed .log-board-column-header h3 {
    font-size: 0.875rem;
    white-space: nowrap;
    margin: 0;
    text-align: left;
}

.log-board-column.collapsed .log-board-column-count {
    display: none;
}

.log-board-column.collapsed .log-board-column-collapse-btn {
    display: flex;
    order: -1;
    width: 18px;
    height: 18px;
    font-size: 0.875rem;
    margin: 0;
    flex-shrink: 0;
}

.log-board-column-header {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--border);
    position: relative;
}

.log-board-column-header-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex: 1;
    gap: 10px;
}

.log-board-column-header h3 {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-primary);
    flex: 1;
}

.log-board-column-header h3.log-board-column-title[data-editable=\"true\"] {
    cursor: pointer;
    padding: 2px 4px;
    border-radius: 3px;
    transition: background 0.2s ease;
}

.log-board-column-header h3.log-board-column-title[data-editable=\"true\"]:hover {
    background: var(--border-gray);
}

/* log-board-column-title-input arver fra .form-group */
.log-board-column-title-input {
    font-size: 1rem !important;
    font-weight: 600 !important;
    color: var(--text-primary, var(--text-primary, #333)) !important;
    background: var(--bg-primary, var(--bg-primary, #fff)) !important;
    outline: none !important;
}

.log-board-column-count {
    background: var(--border-gray);
    padding: 2px 8px;
    border-radius: 12px;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--text-secondary);
    white-space: nowrap;
}

.log-board-column-collapse-btn {
    background: transparent;
    border: 1px solid var(--border);
    border-radius: 4px;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

/* Toggle farver – følger standard: blå når åben, lys grå når lukket */
.log-board-column:not(.collapsed) .log-board-column-collapse-btn {
    background: var(--primary);
    border-color: var(--primary);
    color: var(--bg-primary, var(--bg-primary, #fff));
}

.log-board-column.collapsed .log-board-column-collapse-btn {
    background: var(--bg-secondary);
    border-color: var(--border);
    color: var(--text-primary);
}

/* Kolonne-body: flex-container for kort – nødvendig for Sortable.js drag & drop */
.log-board-column-body {
    flex: 1;
    min-height: 100px;
    max-height: calc(500px - 90px);
    display: flex;
    flex-direction: column;
    gap: 10px;
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 5px;
    margin-right: -5px;
    position: relative;
    contain: layout style paint;
}

.log-board-column-body.drag-over {
    background: var(--primary-lighter);
    border: 2px dashed var(--primary);
}

/* Kort: cursor move og user-select så drag starter korrekt */
.log-board-card {
    cursor: move;
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

.log-board-card button,
.log-board-card a {
    cursor: pointer;
    pointer-events: auto;
}

/* Sortable.js klasser under drag – fra oprindelig log-board.css */
.log-board-card.dragging,
.log-board-card-dragging {
    opacity: 0.5;
    cursor: grabbing;
}

.log-board-card-ghost {
    opacity: 0.4;
    background: var(--bg-secondary);
}

.log-board-card-chosen {
    cursor: grabbing;
}

/* Kort-header, -body, -footer og urgency (log-board visning) */
.log-board-card-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 10px;
}

.log-board-card-title {
    margin: 0;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--text-primary);
    flex: 1;
}

.log-board-card-badge {
    padding: 2px 6px;
    border-radius: 3px;
    font-size: var(--cm-font-size-sm);
    font-weight: 600;
    text-transform: uppercase;
}

.log-board-card-body {
    margin-bottom: 10px;
}

.log-board-card-field {
    font-size: 0.75rem;
    color: var(--text-secondary);
    margin-bottom: 5px;
}

.log-board-card-field strong {
    color: var(--text-primary);
}

.log-board-card-content {
    font-size: 0.75rem;
    color: var(--text-secondary);
    margin-top: 8px;
    line-height: 1.4;
    max-height: 60px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.log-board-card-footer {
    display: flex;
    gap: 5px;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid var(--border);
}

/* Urgency farver på kort */
.log-board-card.urgency-overdue { border-left: 4px solid var(--error); }
.log-board-card.urgency-today { border-left: 4px solid var(--warning, var(--warning, #ff9800)); }
.log-board-card.urgency-this_week { border-left: 4px solid var(--warning-border, var(--warning-border, #ffc107)); }
.log-board-card.urgency-next_week { border-left: 4px solid var(--success); }
.log-board-card.urgency-later { border-left: 4px solid var(--primary); }
.log-board-card.urgency-completed { border-left: 4px solid var(--text-secondary); opacity: 0.7; }
.log-board-card.urgency-none { border-left: 4px solid var(--border); }

/* Kandidat Details (coachment-addon-kandidat-details) */
.kandidat-details-form {
    max-width: 800px;
}

.kandidat-details-form .form-table {
    width: 100%;
    margin-bottom: 20px;
}

.kandidat-details-form .form-table th {
    width: 200px;
    padding: 15px 10px 15px 0;
    text-align: left;
    font-weight: 600;
}

.kandidat-details-form .form-table td {
    padding: 15px 10px;
}

.kandidat-details-form .regular-text {
    width: 100%;
    max-width: 500px;
}

.kandidat-details-form .submit-wrapper {
    padding-top: 20px;
    border-top: 1px solid var(--border);
    margin-top: 20px;
    margin-bottom: 0;
}

/* Success/Error Messages */
.kandidat-details-form .notice {
    margin: 0 0 20px 0;
    padding: 12px;
    border-left: 4px solid;
    border-radius: 4px;
}

.kandidat-details-form .notice-success {
    background: var(--primary-lighter);
    border-color: var(--primary);
    color: var(--success-text);
}

.kandidat-details-form .notice-error {
    background: var(--error-bg);
    border-color: var(--error);
    color: var(--error-text);
}

@media (max-width: 768px) {
    .kandidat-details-form .form-table th {
        width: 120px;
        font-size: 0.875rem;
    }
    
    .kandidat-details-form .regular-text {
        max-width: 100%;
    }
}

@media (max-width: 480px) {
    .kandidat-details-form .form-table {
        display: block;
    }
    
    .kandidat-details-form .form-table tr {
        display: block;
        margin-bottom: 15px;
    }
    
    .kandidat-details-form .form-table th,
    .kandidat-details-form .form-table td {
        display: block;
        width: 100%;
        padding: 5px 0;
    }
}

/* ===== LOG BOARD INLINE CLEANUP ===== */
/* Øvrige berørte elementer: log-board-loading, log-board-empty, u-hidden */
.log-board-loading.u-hidden,
.log-board-empty.u-hidden,
.log-board-modal.u-hidden { display: none !important; }
.coachment-feedback-footer-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}
.coachment-feedback-footer-version { font-size: 0.6875rem; color: var(--text-secondary); }
.coachment-feedback-footer--modal {
    margin-top: 20px;
    margin-bottom: 5px;
    padding-top: 15px;
    padding-bottom: 5px;
    border-top: 1px solid var(--border-gray);
}
.log-board-edit-form-row { display: flex; gap: 15px; margin-bottom: 15px; }
.log-board-edit-form-field { flex: 1; }
/* log-board-edit-form-actions: arver .form-actions / .cm-actions */
.log-board-edit-form-textarea-wrap { margin-bottom: 15px; }
/* log-board detalje-modal bruger .modal-header, .modal-body, .cm-actions */

/* ===== coachment-addon-intro-tours-menu ===== */
.dpit-tooltip {
  border: 3px solid rgba(29, 97, 149, 0.9) !important;
  box-shadow: 0 0 3px 2px rgba(72, 72, 72, 0.71) !important;
}
.dpit-arrow {
  border-color: transparent !important;
}

/* ===== coachment-addon-cvr-search ===== */
@media screen and (max-width: 700px) {
    .module-container .search-action-buttons {
        flex-direction: column;
        gap: 6px;
    }
    .module-container .search-action-buttons .button {
        width: 100%;
        margin: 0;
        font-size: 1.1em;
        box-sizing: border-box;
        flex: none;
    }
    .module-container .help-text {
        margin-bottom: 0;
    }
    .module-container .hovedbranche-select-all-row {
        flex-direction: column;
        gap: 6px;
    }
    .module-container .hovedbranche-select-all-row .button {
        width: 100%;
        margin: 0;
        font-size: 1em;
        box-sizing: border-box;
    }
    .module-container .branche-section {
        padding: 10px;
        margin-bottom: 15px;
    }
    .module-container .branche-section h4 {
        font-size: 1em;
    }
}
.module-container .scroll-container::-webkit-scrollbar {
    width: 8px;
}
.module-container .scroll-container::-webkit-scrollbar-track {
    background: var(--bg-gray);
    border-radius: 4px;
}
.module-container .scroll-container::-webkit-scrollbar-thumb {
    background: var(--text-muted, #888);
    border-radius: 4px;
}
.module-container .scroll-container::-webkit-scrollbar-thumb:hover {
    background: var(--text-secondary, var(--text-secondary, #555));
}
.module-container .branche-details {
    margin-left: 20px;
    padding: 10px;
    font-size: 0.9em;
    border-radius: 4px;
    margin-bottom: 10px;
}
.module-container .branche-exclude {
    background-color: var(--error-bg-alt, #ffdddd);
    border: 1px solid red;
    padding: 5px;
    border-radius: 3px;
    margin-top: 8px;
}
.module-container .hovedbranche-select-all-row {
    margin-bottom: 10px;
}
.module-container .hovedbranche-select-all-row .button {
    flex: 1;
    padding: 8px 12px;
    font-size: 0.9em;
}
.module-container .branche-section {
    margin-bottom: 20px;
    padding: 15px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background-color: var(--bg-gray-light);
}
.module-container .branche-section h4 {
    margin: 0 0 15px 0;
    color: var(--text-primary);
    font-size: 1.1em;
    border-bottom: 2px solid var(--primary);
    padding-bottom: 5px;
}
.module-container .branche-section:last-child {
    background-color: var(--primary-light, #f0f8ff);
    border-color: var(--primary);
}
.module-container .branche-section:last-child h4 {
    color: var(--primary);
}
.module-container .valgte-brancher-count-row {
    margin-bottom: 10px;
    text-align: right;
}
.module-container .valgte-brancher-count-row .filter-count {
    font-weight: bold;
    color: var(--primary);
}
.module-container .selected-company-row,
.module-container .selected-branch-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 0;
}
.module-container .selected-branch-row button.remove-selected-branch,
.module-container .selected-company-row .remove-selected-company {
    margin: 0;
}
.module-container.common-container .cvr-soegning-container {
  background: var(--bg-primary);
  border: 1px solid var(--border);
  border-radius: 4px;
  padding: 15px;
  margin-bottom: 20px;
}
.module-container.common-container .search-fields {
  margin-bottom: 20px;
  gap: 10px;
}
.module-container.common-container .filters {
  margin-bottom: 20px;
}
.module-container.common-container .filter-section {
  background: var(--bg-secondary);
  padding: 10px;
  border-radius: 8px;
}
.module-container.common-container #cvr-add-virksomhed-button {
  margin-top: 20px;
  width: 100%;
  padding: 10px;
}
.module-container.common-container .cvr-filter-toggle-btn {
  margin-bottom: 20px;
  width: 100%;
  padding: 10px;
}
/* cvr-filters-container: arver .cm-grid-tight, men max 2 kolonner (Virksomhedsform + Hovedbranche) */
.module-container.common-container .cvr-filters-container {
  grid-template-columns: repeat(2, 1fr);
}
.module-container.common-container .filter-section label {
  display: block;
  margin-bottom: 5px;
}
.module-container.common-container .filter-section input[type="checkbox"] {
  margin-right: 5px;
}
.module-container.common-container .postnummer-search {
  position: relative;
}
.module-container.common-container .help-text {
  font-size: 0.8em;
  margin-top: 4px;
  display: block;
}
.module-container.common-container .search-action-buttons {
  margin-top: 8px;
}
.module-container.common-container .search-action-buttons .button {
  flex: 1;
}
.module-container.common-container #cvr-postnr-search.error {
  border-color: var(--error);
}
.module-container.common-container .pagination-controls {
  justify-content: center;
  align-items: center;
  margin-top: 20px;
  padding: 10px;
  border-radius: 8px;
}
.module-container.common-container .pagination-controls button {
  padding: 5px 15px;
  border-radius: 8px;
  transition: background-color 0.2s;
}
.module-container.common-container .pagination-controls button:disabled {
  background: var(--border-dark, var(--border-dark, #ccc));
  cursor: not-allowed;
}
.module-container.common-container .page-info {
  font-size: 0.9em;
}
.module-container.common-container #loading-more {
  text-align: center;
  padding: 10px;
  font-style: italic;
}
.module-container.common-container .scroll-container {
  max-height: 200px;
  overflow-y: auto;
  padding: 10px;
  border-radius: 8px;
}
.module-container.common-container .scroll-container::-webkit-scrollbar {
  width: 8px;
}
.module-container.common-container .scroll-container::-webkit-scrollbar-track {
  background: var(--bg-gray);
  border-radius: 4px;
}
.module-container.common-container .scroll-container::-webkit-scrollbar-thumb {
  background: var(--text-muted, #888);
  border-radius: 4px;
}
.module-container.common-container .scroll-container::-webkit-scrollbar-thumb:hover {
  background: var(--text-secondary, var(--text-secondary, #555));
}
.module-container.common-container .branche-details {
  margin-left: 20px;
  padding: 10px;
  font-size: 0.9em;
  border-radius: 4px;
  margin-bottom: 10px;
}
.module-container.common-container .branche-exclude {
  background-color: var(--error-bg-alt, #ffdddd);
  border: 1px solid red;
  padding: 5px;
  border-radius: 3px;
  margin-top: 8px;
}
.module-container.common-container .hovedbranche-select-all-row {
  margin-bottom: 10px;
}
.module-container.common-container .hovedbranche-select-all-row .button {
  flex: 1;
  padding: 8px 12px;
  font-size: 0.9em;
}
.module-container.common-container .branche-section {
  margin-bottom: 20px;
  padding: 15px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background-color: var(--bg-light, var(--bg-light, #f9f9f9));
}
.module-container.common-container .branche-section h4 {
  margin: 0 0 15px 0;
  color: var(--text-primary);
  font-size: 1.1em;
  border-bottom: 2px solid var(--primary);
  padding-bottom: 5px;
}
.module-container.common-container .branche-section:last-child {
  background-color: var(--primary-light, #f0f8ff);
  border-color: var(--primary);
}
.module-container.common-container .branche-section:last-child h4 {
  color: var(--primary);
}
.module-container.common-container .valgte-brancher-count-row {
  margin-bottom: 10px;
  text-align: right;
}
.module-container.common-container .valgte-brancher-count-row .filter-count {
  font-weight: bold;
  color: var(--primary);
}

/* ===== coachment-addon-cvr-search INLINE CLEANUP ===== */
/* Øvrige berørte elementer: cvr-google-search-button, cvr-route-button */
.cvr-google-search-button,
.cvr-route-button {
    width: auto !important;
    min-width: 80px;
    margin-left: 8px;
    display: inline-block;
}
.cvr-selected-summary { margin-bottom: 10px; }
.cvr-hovedbranche-select-all-row { margin-top: 10px; }
/* cvr-success-message: arver .cm-notice-success ved brug */
.cvr-success-message-popup {
    position: fixed;
    top: 20px;
    right: 20px;
    background: var(--success-bg);
    color: var(--success-text);
    padding: 12px 16px;
    border: 1px solid var(--success-border);
    border-radius: 4px;
    z-index: 999999;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
    max-width: 300px;
}
.cvr-success-message-popup.u-hidden { display: none !important; }

/* ===== coachment-addon-link-groups ===== */
.link-groups-container + #no-groups-message p {
    text-align: right;
}
.link-group {
    background: var(--bg-primary);
    border: 1px solid var(--border);
    border-radius: 6px;
    margin-bottom: 20px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    transition: all 0.3s ease;
}
.link-group:hover {
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    border-color: var(--border);
    transform: translateY(-1px);
}
.group-header {
    align-items: flex-start;
    padding: 15px 20px;
    background: var(--bg-secondary);
    border-bottom: 1px solid var(--border-light);
    cursor: pointer;
    border-radius: 6px 6px 0 0;
    transition: background-color 0.2s ease;
}
.group-header:hover {
    background: var(--bg-gray, #f0f2f4);
}
.group-info {
    flex: 1;
    margin-right: 15px;
}
.group-title {
    margin: 0 0 5px 0;
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--text-primary);
    align-items: center;
}
.links-count {
    font-size: 0.875rem;
    font-weight: normal;
    color: var(--text-muted);
    background: var(--bg-gray, var(--bg-gray, #e8e8e8));
    padding: 2px 8px;
    border-radius: 12px;
}
.group-description {
    margin: 0;
    color: var(--text-muted);
    font-size: 0.875rem;
    line-height: 1.4;
}
.group-actions {
    flex-shrink: 0;
}
.group-actions .button {
    padding: 4px 8px;
    font-size: 0.75rem;
    height: auto;
    line-height: 1.4;
}
.group-actions .button .dashicons {
    font-size: 0.875rem;
    width: 14px;
    height: 14px;
}
.group-content {
    padding: 0;
    transition: all 0.3s ease;
    overflow: hidden;
}
.link-group.collapsed .group-content {
    max-height: 0;
    padding: 0;
}
.link-group:not(.collapsed) .group-content {
    max-height: none;
}
.group-drag-handle,
.link-drag-handle {
    cursor: move;
    color: var(--text-muted);
    padding: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    border-radius: 4px;
    position: relative;
}
.group-drag-handle:hover,
.link-drag-handle:hover {
    color: var(--primary);
    transform: scale(1.1);
}
.group-drag-handle:active,
.link-drag-handle:active {
    transform: scale(0.95);
}
.link-group.ui-sortable-helper {
    background: var(--bg-primary);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
    transform: rotate(2deg);
    z-index: 1000;
    border: 2px solid var(--primary);
}
.link-item.ui-sortable-helper {
    background: var(--bg-primary);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    transform: rotate(1deg);
    z-index: 1000;
    border: 2px solid var(--primary);
}
.ui-sortable-placeholder {
    background: var(--secondary-dark);
    border: 2px dashed var(--primary);
    opacity: 0.5;
    visibility: visible !important;
}
.ui-sortable-dragging .group-drag-handle,
.ui-sortable-dragging .link-drag-handle {
    color: var(--primary);
    transform: scale(1.2);
}
.links-list {
    padding: 15px 20px 20px;
}
.link-item {
    align-items: center;
    padding: 12px 15px;
    margin-bottom: 10px;
    background: var(--bg-secondary);
    border: 1px solid var(--bg-gray, var(--bg-gray, #e8e8e8));
    border-radius: 4px;
    transition: all 0.2s ease;
}
.link-item:hover {
    background: var(--bg-gray, #f0f2f4);
    border-color: var(--border);
    transform: translateX(2px);
}
.link-item:last-child {
    margin-bottom: 0;
}
.link-info {
    flex: 1;
    margin-right: 10px;
    min-width: 0;
}
.link-name {
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: 4px;
    font-size: 0.875rem;
}
.link-description {
    color: var(--text-muted);
    font-size: 0.75rem;
    line-height: 1.4;
    margin-top: 4px;
}
.link-actions {
    flex-shrink: 0;
}
.link-actions .button {
    padding: 3px 6px;
    font-size: 0.6875rem;
    height: auto;
    line-height: 1.3;
}
.link-actions .button .dashicons {
    font-size: 0.75rem;
    width: 12px;
    height: 12px;
}
.no-links-message {
    text-align: center;
    color: var(--text-muted);
    font-style: italic;
    padding: 20px;
    background: var(--bg-secondary);
    border: 1px dashed var(--border);
    border-radius: 4px;
}
.link-item.moved-success {
    animation: linkMovedSuccess 2s ease-out;
    border-color: var(--success-dark, var(--success-dark, #46b450));
    background: var(--success-bg, #f7fcf0);
}
@keyframes linkMovedSuccess {
    0% { transform: scale(1); box-shadow: 0 0 0 0 rgba(70, 180, 80, 0.7); }
    50% { transform: scale(1.02); box-shadow: 0 0 0 10px rgba(70, 180, 80, 0); }
    100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(70, 180, 80, 0); }
}
.link-item.reverting-move {
    animation: revertMove 0.5s ease-out;
    border-color: var(--error);
    background: var(--error-bg);
}
@keyframes revertMove {
    0% { transform: scale(1.05); box-shadow: 0 0 0 0 rgba(220, 50, 50, 0.7); }
    50% { transform: scale(0.98); box-shadow: 0 0 0 10px rgba(220, 50, 50, 0); }
    100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(220, 50, 50, 0); }
}
.link-item.moving-link {
    opacity: 0.7;
    pointer-events: none;
}
.links-list.empty-group {
    background: var(--bg-gray-light);
    border: 2px dashed var(--border-gray);
    min-height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.links-list.empty-group::after {
    content: 'Træk links her for at tilføje dem til denne gruppe';
    color: var(--text-muted);
    font-style: italic;
    font-size: 0.875rem;
    text-align: center;
    padding: 20px;
}
.admin-header .header-actions {
    display: flex;
    gap: 10px;
    align-items: center;
}
.updating-order {
    opacity: 0.7;
    pointer-events: none;
}
.updating-order .group-drag-handle,
.updating-order .link-drag-handle {
    opacity: 0.5;
}
@media (max-width: 768px) {
    .group-header {
        flex-direction: column;
        align-items: stretch;
    }
    .group-info {
        margin-right: 0;
        margin-bottom: 10px;
    }
    .group-actions {
        justify-content: flex-end;
    }
    .link-item {
        flex-direction: column;
        align-items: stretch;
    }
    .link-info {
        margin-right: 0;
        margin-bottom: 10px;
    }
    .link-actions {
        justify-content: flex-end;
    }
    .admin-header .header-actions {
        flex-direction: column;
        align-items: stretch;
        gap: 5px;
    }
    .group-drag-handle,
    .link-drag-handle {
        min-height: 44px;
        min-width: 44px;
    }
}
@media (max-width: 480px) {
    .group-title {
        font-size: 1rem;
    }
    .links-count {
        font-size: 0.75rem;
    }
}
.group-drag-handle:focus,
.link-drag-handle:focus {
    outline: 2px solid var(--primary);
    outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
    .link-group,
    .link-item,
    .group-drag-handle,
    .link-drag-handle {
        transition: none;
        animation: none;
    }
}
.spin {
    animation: spin 1s linear infinite;
}
/* ===== coachment-addon-kandidat-type ===== */
/* #type-description, #preview-section, #preview-content: samlet i INLINE CLEANUP (linje ~3072) */
#results-section {
    margin-top: 20px;
}
.kandidat-type-selector .role-badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 3px;
    font-size: 0.6875rem;
    font-weight: 600;
    margin-left: 5px;
}
.kandidat-type-selector .role-badge.administrator {
    background: var(--primary);
    color: white;
}
.kandidat-type-selector .role-badge.personlig {
    background: var(--info, #72aee6);
    color: white;
}
.kandidat-type-selector .form-table th {
    width: 200px;
}
.kandidat-type-selector .form-table textarea,
.kandidat-type-selector .form-table select {
    width: 100%;
    max-width: 600px;
}
.kandidat-type-selector fieldset label {
    margin-bottom: 10px;
}
.kandidat-type-selector .button:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

/* ===== coachment-addon-kandidat-wizard ===== */
.wizard-container {
    max-width: 900px;
    margin: 40px auto;
    padding: 30px;
    background: var(--bg-primary);
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    position: relative;
}
.wizard-progress {
    margin-bottom: 30px;
}
.wizard-progress-bar {
    height: 8px;
    background: var(--border-gray);
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 10px;
}
.wizard-progress-fill {
    height: 100%;
    width: 0%;
    background: linear-gradient(90deg, var(--primary) 0%, var(--primary-dark) 100%);
    transition: width 0.5s ease;
}
.wizard-progress-text {
    text-align: center;
    font-size: 0.875rem;
    color: var(--text-secondary);
    font-weight: 500;
}
.wizard-steps-nav {
    margin-bottom: 40px;
    overflow-x: auto;
    padding: 10px 0;
}
.wizard-step-indicator {
    flex: 1;
    min-width: 80px;
    text-align: center;
    opacity: 0.4;
    transition: opacity 0.3s ease;
    cursor: pointer;
}
.wizard-step-indicator.active {
    opacity: 1;
}
.wizard-step-indicator.completed {
    opacity: 0.7;
}
.wizard-step-icon {
    font-size: 2rem;
    margin-bottom: 5px;
}
.wizard-step-title {
    font-size: 0.6875rem;
    color: var(--text-primary);
    font-weight: 500;
}
.wizard-content {
    min-height: 400px;
    position: relative;
}
.wizard-step-content {
    animation: wizardFadeIn 0.3s ease;
}
.wizard-step-content.wizard-step-hidden {
    display: none;
}
@keyframes wizardFadeIn {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}
.wizard-step-header {
    margin-bottom: 30px;
    padding-bottom: 20px;
    border-bottom: 2px solid var(--secondary-dark);
}
.wizard-step-header h2 {
    font-size: 1.75rem;
    margin: 0 0 10px 0;
    color: var(--text-primary);
}
.wizard-step-description {
    font-size: 1rem;
    color: var(--text-secondary);
    margin: 0;
}
.wizard-step-fields {
    margin-bottom: 30px;
}
.wizard-required {
    color: var(--error, #e74c3c);
    margin-left: 3px;
}
.wizard-textarea {
    resize: vertical;
    min-height: 100px;
}
.wizard-help {
    display: block;
    margin-top: 5px;
    font-size: 0.8125rem;
    color: var(--text-secondary);
    font-style: italic;
}
.wizard-field-info {
    background: var(--bg-secondary);
    padding: 20px;
    border-radius: 8px;
    border-left: 4px solid var(--primary);
}
.wizard-field-info h2 {
    margin-top: 0;
    color: var(--text-primary);
}
.wizard-field-info ul {
    margin: 15px 0;
    padding-left: 25px;
}
.wizard-field-info li {
    margin: 8px 0;
    line-height: 1.6;
}
.wizard-radio-group,
.wizard-checkbox-group {
    flex-direction: column;
}
.wizard-radio-label,
.wizard-checkbox-label {
    align-items: center;
    padding: 12px 15px;
    border: 2px solid var(--border);
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.3s ease;
}
.wizard-radio-label:hover,
.wizard-checkbox-label:hover {
    border-color: var(--primary);
    background: var(--success-bg, #f8fff9);
}
.wizard-radio-label input,
.wizard-checkbox-label input {
    cursor: pointer;
}
.wizard-radio-label input:checked + span,
.wizard-checkbox-label input:checked + span {
    font-weight: 600;
    color: var(--primary);
}
.wizard-step-actions {
    margin-top: 40px;
    padding-top: 30px;
    border-top: 2px solid var(--secondary-dark);
}
.wizard-actions-left,
.wizard-actions-center,
.wizard-actions-right {
    align-items: center;
}
.wizard-actions-center {
    flex: 1;
    justify-content: center;
}
/* Wizard-knapper bruger .button .button-primary/secondary (joblog-defaults design) */
.wizard-btn-finish {
    margin: 0 auto;
}
.wizard-loading.wizard-loading-hidden {
    display: none;
}
.wizard-loading {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.95);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    z-index: 1000;
    border-radius: 12px;
}
.wizard-spinner {
    width: 50px;
    height: 50px;
    border: 4px solid var(--bg-light, var(--bg-light, #f3f3f3));
    border-top: 4px solid var(--primary);
    border-radius: 50%;
    animation: wizardSpin 1s linear infinite;
    margin-bottom: 20px;
}
@keyframes wizardSpin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}
.wizard-loading p {
    font-size: 1rem;
    color: var(--text-secondary);
    margin: 0;
}
.form-group.error input,
.form-group.error textarea,
.form-group.error select {
    border-color: var(--error, #e74c3c);
}
.wizard-field-error {
    display: block;
    margin-top: 5px;
    color: var(--error, #e74c3c);
    font-size: 0.8125rem;
    font-weight: 500;
}
.wizard-success-message {
    background: var(--success-bg);
    border: 1px solid var(--success-border);
    color: var(--success-text);
    padding: 15px;
    border-radius: 6px;
    margin-bottom: 20px;
}
@media (max-width: 768px) {
    .wizard-container {
        padding: 20px;
        margin: 20px auto;
    }
    .wizard-steps-nav {
        flex-wrap: nowrap;
        justify-content: flex-start;
    }
    .wizard-step-indicator {
        min-width: 60px;
    }
    .wizard-step-icon {
        font-size: 1.5rem;
    }
    .wizard-step-title {
        font-size: var(--cm-font-size-sm);
    }
    .wizard-step-actions {
        flex-wrap: wrap;
        gap: 10px;
    }
    .wizard-actions-left,
    .wizard-actions-center,
    .wizard-actions-right {
        width: 100%;
        justify-content: center;
    }
    .wizard-btn {
        flex: 1;
        min-width: 120px;
    }
    .wizard-btn-test {
        width: 100%;
    }
}

/* ===== coachment-admin-setup-assistant ===== */
.coachment-setup-assistant {
    margin-left: 20px;
    margin-right: 20px;
}
.coachment-setup-assistant .subtitle {
    font-size: 0.875rem;
    color: var(--text-secondary);
    margin-top: -10px;
    margin-bottom: 20px;
}
.coachment-setup-assistant .nav-tab-wrapper {
    margin-bottom: 30px;
}
.coachment-setup-assistant .nav-tab {
    font-size: 0.9375rem;
    padding: 10px 20px;
}
.assistant-tab-content {
    background: var(--bg-primary);
    padding: 30px;
    border: 1px solid var(--border, var(--border, #ccd0d4));
    border-radius: 4px;
}
.assistant-header {
    margin-bottom: 30px;
    padding-bottom: 20px;
    border-bottom: 2px solid var(--secondary-dark);
}
.assistant-header h2 {
    margin: 0 0 10px 0;
    font-size: 1.5rem;
}
.assistant-header p {
    margin: 0;
    color: var(--text-secondary);
    font-size: 0.875rem;
}
.assistant-card {
    margin-bottom: 30px;
}
.assistant-card h3 {
    margin-top: 0;
    font-size: 1.125rem;
    color: var(--text-primary);
}
.assistant-card .form-group {
    margin-bottom: 20px;
}
.assistant-card .form-group label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    font-size: 0.875rem;
}
.assistant-card .form-group .description {
    margin-top: 5px;
    font-style: italic;
    color: var(--text-secondary);
}
.model-category {
    margin-bottom: 40px;
}
.model-category h4 {
    font-size: 1rem;
    color: var(--text-secondary);
    margin-bottom: 15px;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--border);
}
.model-card:hover {
    border-color: var(--primary);
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}
.model-card.model-created {
    border-color: var(--success-dark, var(--success-dark, #46b450));
    background: var(--success-bg, #f7fcf8);
}
.model-card.model-created:hover {
    border-color: var(--success-dark, var(--success-dark, #46b450));
    box-shadow: 0 4px 12px rgba(70, 180, 80, 0.2);
}
.model-card.model-inactive {
    border-color: var(--warning);
    background: var(--warning-bg);
}
.model-card.model-inactive:hover {
    border-color: var(--warning);
    box-shadow: 0 4px 12px rgba(240, 173, 78, 0.2);
}
.model-status-toggle {
    display: inline-block;
    color: white;
    font-size: 0.75em;
    padding: 4px 10px;
    border-radius: 12px;
    margin-left: 8px;
    font-weight: normal;
    border: none;
    cursor: pointer;
    transition: all 0.2s ease;
}
.assistant-system-prompt-details {
    margin: 20px 0;
    padding: 15px;
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: 4px;
}
.assistant-system-prompt-summary {
    cursor: pointer;
    font-weight: 600;
    padding: 5px;
}
.assistant-system-prompt-body {
    margin-top: 15px;
}
.assistant-system-prompt-description {
    margin-bottom: 10px;
}
.assistant-system-prompt-textarea {
    font-family: monospace;
    font-size: 0.75rem;
}
.assistant-system-prompt-actions {
    margin-top: 10px;
    /* display/gap arver cm-actions u-flex-gap-10 */
}
.assistant-standard-header-row {
    margin-bottom: 10px;
}
.assistant-standard-header-row h3 {
    margin: 0;
}
.assistant-standard-header-row p {
    margin: 5px 0 0 0;
}
.assistant-info-box-blue {
    background: var(--info-bg);
    border-left: 4px solid var(--info-text);
    padding: 12px;
    margin-bottom: 20px;
    border-radius: 4px;
}
.assistant-info-box-blue p {
    margin: 8px 0 0 0;
}
.assistant-update-helptext-btn {
    white-space: nowrap;
}
.assistant-label-block {
    margin: 5px 0;
}
.assistant-ai-widget-error {
    color: red;
}

/* ===== coachment-addon-ai-widget INLINE CLEANUP ===== */
/* Øvrige berørte elementer: ai-widget-filters-box, ai-widget-model-selector, ai-widget-filter-select-frontend */
.ai-widget-tier-row { margin-bottom: 15px; }
.ai-widget-textarea-full { width: 100%; max-width: 600px; }
.ai-widget-tier-desc-mt { margin-top: 3px; }
.ai-widget-filters-box {
    background: var(--bg-primary);
    padding: 15px;
    margin: 20px 0;
    border: 1px solid var(--border, var(--border, #ccd0d4));
    box-shadow: 0 1px 1px rgba(0,0,0,.04);
}
.ai-widget-filters-box h3 { margin-top: 0; }
.ai-widget-filters-inner { align-items: flex-end; }
/* ai-widget-filter-input arver fra .form-group */
.ai-widget-filter-select { padding: 5px; }
.ai-widget-filter-results { margin-top: 10px; margin-bottom: 0; }
.ai-widget-th-id { width: 30%; }
.ai-widget-th-name { width: 20%; }
.ai-widget-th-tier { width: 10%; }
.ai-widget-th-strengths { width: 20%; }
.ai-widget-th-rec { width: 10%; }
.ai-widget-th-actions { width: 10%; }
.ai-widget-empty-cell { text-align: center; padding: 20px; }
.ai-widget-toggle-recommended {
    text-decoration: none;
    cursor: pointer;
    display: inline-block;
}
.ai-widget-rec-yes { color: var(--success-dark, var(--success-dark, #00a32a)); font-weight: 600; }
.ai-widget-btn-ml10 { margin-left: 10px; }
.ai-widget-sync-status {
    margin: 20px 0;
    padding: 15px;
    background: var(--secondary-dark);
    border-left: 4px solid var(--primary);
    display: none;
}
.ai-widget-sync-status-box {
    margin-top: 20px;
    padding: 10px;
    background: var(--bg-primary);
    border: 1px solid var(--border);
}
#models-table-container { overflow-x: auto; }
.ai-widget-tab-content { margin-top: 20px; }
.ai-widget-tab-content h3 {
    margin-top: 30px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--border);
}
.ai-widget-model-selector { margin-bottom: 10px; }
.ai-widget-model-selector-row { display: flex; align-items: center; justify-content: space-between; margin-bottom: 5px; }
.ai-widget-model-selector-label { font-weight: 600; font-size: 0.75rem; margin: 0; }
.ai-widget-filter-select-frontend {
    font-size: 0.6875rem;
    padding: 4px 8px;
    border: 1px solid var(--border-dark, #ced4da);
    border-radius: 4px;
    cursor: pointer;
}
.ai-widget-model-select { width: 100%; padding: 6px; }
.ai-widget-prefs-link-wrap { text-align: right; margin-top: 4px; }
.ai-widget-prefs-link { font-size: var(--cm-font-size-sm); color: var(--text-caption); text-decoration: none; }
.ai-widget-prefs-link:hover { color: var(--text-primary); text-decoration: underline; }
.ai-widget-toggle-all-wrap { margin-top: 5px; text-align: right; }
.ai-widget-toggle-all-link { font-size: 0.6875rem; color: var(--primary); text-decoration: none; }
/* ai-widget-buttons: arver .cm-actions */
.ai-widget-status { margin-top: 10px; font-size: 0.75rem; color: var(--text-secondary); }
.ai-widget-progress { margin-top: 10px; display: none; }
.ai-widget-progress-track {
    background: var(--secondary-dark);
    height: 8px;
    border-radius: 4px;
    overflow: hidden;
}
.ai-widget-progress-bar {
    background: linear-gradient(90deg, var(--primary) 0%, var(--primary-dark) 100%);
    height: 100%;
    width: 0%;
    transition: width 0.3s ease;
}

/* ===== coachment-addon-kandidat-type INLINE CLEANUP ===== */
/* Øvrige berørte elementer: #type-description, #preview-section, #results-section, kandidat-type-label-block, kandidat-type-success-box, kandidat-type-error-box */
#type-description {
    margin-top: 10px;
    padding: 10px;
    background: var(--secondary-dark);
    border-left: 4px solid var(--primary);
    display: none;
}
#type-description p { margin: 0; }
#preview-section {
    display: none;
    margin-top: 20px;
    padding: 15px;
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: 4px;
}
#preview-section h3 { margin-top: 0; color: var(--primary); }
#preview-content {
    background: var(--bg-secondary);
    padding: 15px;
    border: 1px solid var(--border);
    border-radius: 4px;
}
#preview-content h4 { margin-top: 0; color: var(--text-primary); }
#preview-content h5 { color: var(--primary); margin-top: 15px; margin-bottom: 10px; }
#preview-content ul { margin-left: 20px; }
#preview-content ul li { margin-bottom: 5px; }
#results-section { display: none; margin-top: 20px; }
.kandidat-type-error-text { color: red; }
/* .kandidat-type-success-box, .kandidat-type-error-box: nu via .cm-notice-success, .cm-notice-error */
.kandidat-type-back-box p { margin: 10px 0 0 0; }
.kandidat-type-back-link {
    text-decoration: none;
    /* styling arver btn button button-primary */
}
.kandidat-type-scroll-box {
    max-height: 300px;
    overflow-y: auto;
    border: 1px solid var(--border);
    padding: 10px;
    background: var(--bg-secondary);
}
.kandidat-type-scroll-label {
    padding: 5px;
    background: var(--bg-primary);
    border: 1px solid var(--border);
}

/* ===== coachment-addon-link-groups INLINE CLEANUP ===== */
/* Øvrige berørte elementer: #loading-indicator, #no-groups-message, model-status-toggle */
#loading-indicator { display: none; }
#no-groups-message { display: none; }

.model-status-toggle:hover {
    transform: scale(1.05);
    box-shadow: 0 2px 6px rgba(0,0,0,0.15);
}
.model-status-toggle.status-active {
    background: var(--success-dark, var(--success-dark, #46b450));
}
.model-status-toggle.status-active:hover {
    background: var(--success-dark, #3d9e46);
}
.model-status-toggle.status-inactive {
    background: var(--error);
}
.model-status-toggle.status-inactive:hover {
    background: var(--error, #c82333);
}
.model-status-toggle.status-create {
    background: var(--primary);
    color: var(--bg-primary);
}
.model-status-toggle.status-create:hover {
    background: var(--primary-dark, var(--primary-dark, #135e96));
}
.model-status-toggle.is-loading {
    opacity: 0.7;
    pointer-events: none;
    position: relative;
}
.model-status-toggle.is-loading:after {
    content: "⟳";
    animation: assistantSpin 1s linear infinite;
    margin-left: 5px;
}
@keyframes assistantSpin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}
.model-header h5 {
    margin: 0 0 10px 0;
    font-size: 1rem;
    color: var(--primary);
}
.model-body p {
    margin: 0 0 15px 0;
    color: var(--text-secondary);
    font-size: 0.8125rem;
    line-height: 1.5;
}
.model-info {
    margin-bottom: 15px;
}
/* .badge, .badge-shared, .badge-private defineret i BADGES sektion */
.model-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    align-items: stretch;
}
.model-actions button,
.model-actions a,
.model-actions span {
    flex: 0 1 auto;
    min-width: fit-content;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    white-space: nowrap;
    padding: 6px 12px;
}
.model-actions .button-disabled {
    background: var(--bg-light, var(--bg-light, #f5f5f5)) !important;
    color: var(--text-muted, var(--text-muted, #999)) !important;
    border-color: var(--border) !important;
}
.checkbox-list {
    max-height: 200px;
    overflow-y: auto;
    border: 1px solid var(--border);
    padding: 15px;
    background: var(--bg-primary);
    border-radius: 4px;
}
.checkbox-list label {
    display: block;
    padding: 8px 0;
    font-weight: normal;
}
.checkbox-list input[type="checkbox"] {
    margin-right: 8px;
}
#model-preview-body {
    margin-top: 20px;
}
.preview-category h4 {
    margin-top: 0;
    color: var(--primary);
}
.preview-category ul {
    margin: 10px 0 0 20px;
}
.preview-rapport-del h4 {
    margin-top: 0;
    color: var(--success-dark, var(--success-dark, #00a32a));
}
.modal-actions button,
.modal-actions a {
    margin-left: 10px;
    display: inline-block;
}
.button-disabled {
    opacity: 0.5;
    cursor: not-allowed !important;
    pointer-events: none;
}
#deactivate-from-preview {
    background: var(--secondary-dark);
    border-color: var(--text-secondary);
    color: var(--text-primary);
}
#deactivate-from-preview:hover {
    background: var(--border);
    border-color: var(--text-primary);
}
.button.is-loading {
    position: relative;
    color: transparent !important;
}
.button.is-loading:after {
    content: "";
    position: absolute;
    width: 16px;
    height: 16px;
    top: 50%;
    left: 50%;
    margin-left: -8px;
    margin-top: -8px;
    border: 2px solid var(--bg-primary, var(--bg-primary, #fff));
    border-radius: 50%;
    border-top-color: transparent;
    animation: assistantSpin 0.6s linear infinite;
}
.assistant-notice {
    padding: 15px;
    margin-bottom: 20px;
    border-left: 4px solid;
    border-radius: 4px;
}
@media (max-width: 782px) {
    .cm-grid,
    .cm-grid-tight {
        grid-template-columns: 1fr;
    }
}

/* ===== coachment-addon-ai-widget ===== */
.coachment-ai-widget {
    background: var(--bg-secondary);
    padding: 15px;
    border-radius: 8px;
    border: 1px solid var(--border-light, var(--border-light, #dee2e6));
}
.ai-widget-model-selector {
    margin-bottom: 10px;
}
.ai-widget-model-selector label {
    font-weight: 600;
    font-size: 0.75rem;
    margin-bottom: 5px;
    display: block;
}
.ai-widget-model-select {
    width: 100%;
    padding: 6px 10px;
    border: 1px solid var(--border-dark, #ced4da);
    border-radius: 4px;
    font-size: 0.8125rem;
    background-color: var(--bg-primary);
}
.ai-widget-model-select:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 0.2rem rgba(102, 126, 234, 0.25);
}
.ai-widget-filter-select {
    cursor: pointer;
    background-color: var(--bg-primary);
    font-size: 0.6875rem;
    padding: 4px 8px;
    border: 1px solid var(--border-dark, #ced4da);
    border-radius: 4px;
}
.ai-widget-filter-select:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 0.2rem rgba(102, 126, 234, 0.25);
}
.ai-widget-buttons {
    margin-top: 10px;
}
.ai-widget-action {
    transition: all 0.2s ease;
}
.ai-widget-action:hover {
    opacity: 0.9;
    transform: translateY(-1px);
}
.ai-widget-action:active {
    transform: translateY(0);
}
.ai-widget-status {
    margin-top: 10px;
    font-size: 0.75rem;
    color: var(--text-secondary);
    min-height: 18px;
    display: flex;
    align-items: center;
}
.ai-widget-status:empty {
    display: none;
}
.ai-widget-progress {
    margin-top: 10px;
}
.ai-widget-progress > div {
    background: var(--secondary-dark);
    height: 8px;
    border-radius: 4px;
    overflow: hidden;
}
.ai-widget-progress-bar {
    background: linear-gradient(90deg, var(--primary) 0%, var(--primary-dark) 100%);
    height: 100%;
    width: 0%;
    transition: width 0.3s ease;
    border-radius: 4px;
}
@keyframes ai-widget-pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.5; }
}
.ai-widget-status.loading {
    animation: ai-widget-pulse 1.5s ease-in-out infinite;
}
@media (max-width: 768px) {
    .coachment-ai-widget {
        padding: 12px;
    }
    .ai-widget-model-select {
        font-size: 0.75rem;
    }
}

/* ===== coachment-addon-ai-widget preferences-frontend ===== */
.ai-model-preferences-container {
    max-width: 1200px;
    margin: 20px auto;
    padding: 20px;
    background: var(--bg-primary);
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
.ai-model-preferences-container h2 {
    margin-top: 0;
    color: var(--text-primary);
}
.ai-model-preferences-container h3 {
    margin-top: 30px;
    margin-bottom: 10px;
    color: var(--text-secondary);
    font-size: 1.2em;
}
.preferences-section {
    margin-bottom: 30px;
    padding: 20px;
    background: var(--bg-secondary);
    border-radius: 4px;
}
.preferences-section .description {
    color: var(--text-secondary);
    font-size: 0.9em;
    margin-bottom: 15px;
}
.provider-group {
    margin-bottom: 20px;
    border: 1px solid var(--border);
    border-radius: 4px;
    overflow: hidden;
}
.provider-group-title {
    align-items: center;
    padding: 12px 15px;
    background: var(--bg-light);
    margin: 0;
    cursor: pointer;
    font-size: 1.1em;
    font-weight: 600;
    border-bottom: 1px solid var(--border);
}
.provider-group-title input[type="checkbox"] {
    margin-right: 10px;
    cursor: pointer;
}
.provider-group-title:hover {
    background: var(--border-light, var(--border-light, #eee));
}
.models-list-items {
    padding: 15px;
    max-height: 400px;
    overflow-y: auto;
}
.ai-model-preferences-container .model-item-row {
    padding: 8px 0;
    border-bottom: 1px solid var(--border-light);
}
.ai-model-preferences-container .model-item-row:last-child {
    border-bottom: none;
}
.ai-model-preferences-container .model-item-row label {
    display: flex;
    align-items: center;
    cursor: pointer;
    font-size: 0.95em;
}
.ai-model-preferences-container .model-item-row input[type="checkbox"] {
    margin-right: 10px;
    cursor: pointer;
}
.model-name {
    font-weight: 500;
    color: var(--text-primary);
}
.model-strengths {
    margin-left: 10px;
    color: var(--text-secondary);
    font-size: 0.9em;
    font-style: italic;
}
.preferences-actions-top {
    margin-bottom: 30px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--border);
}
.preferences-actions-bottom {
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid var(--border);
}
.save-status {
    color: var(--success);
    font-weight: 500;
    opacity: 0;
    transition: opacity 0.3s;
}
.save-status.show {
    opacity: 1;
}
.save-status.error {
    color: var(--error);
}
.model-filter-section {
    margin-bottom: 20px;
    padding: 15px;
    background: var(--bg-primary);
    border: 1px solid var(--border);
    border-radius: 4px;
}
.filter-label {
    display: block;
    margin-bottom: 8px;
    font-weight: 600;
    color: var(--text-secondary);
}
/* model-filter-input arver fra .form-group (via form-group på model-filter-section) */
.model-filter-section.form-group { margin-bottom: 10px; }
.filter-tags {
    flex-wrap: wrap;
}
.filter-tag {
    display: inline-block;
    padding: 5px 12px;
    background: var(--secondary-dark);
    border: 1px solid var(--border);
    border-radius: 15px;
    font-size: 0.85em;
    cursor: pointer;
    transition: all 0.2s;
}
.filter-tag:hover {
    background: var(--primary);
    color: var(--bg-primary);
    border-color: var(--primary);
}
.ai-model-preferences-container .model-info {
    margin-left: 30px;
}
.ai-model-preferences-container .model-header {
    margin-bottom: 5px;
    flex-wrap: wrap;
}
.ai-model-preferences-container .model-description {
    color: var(--text-secondary);
    font-size: 0.9em;
    line-height: 1.5;
    margin-top: 5px;
    padding-left: 0;
}
/* ===== coachment-addon-jobsoegning ===== */

/* Cache Analysis Modal – bruger nu fælles .modal */
#jobsoegning-cache-analysis-modal { z-index: 100000; }
#jobsoegning-analysis-output {
    font-family: 'Courier New', monospace;
    font-size: 0.75rem;
    line-height: 1.6;
    color: var(--text-primary);
    margin: 0;
}

#jobsoegning-copy-results {
    margin-right: 10px;
}

/* Tabs – .jobsoegning-tabs arver .cm-tab-nav, .tab-btn arver .cm-tab-btn */
/* Cache Analyse Button - skal ikke påvirkes af tab-btn styling */
#jobsoegning-analyze-cache-btn {
    padding: 6px 12px !important;
    background: var(--bg-secondary) !important;
    border: 1px solid var(--border) !important;
    border-radius: 3px !important;
    border-bottom: 1px solid var(--border) !important;
    font-size: 0.8125rem !important;
    font-weight: normal !important;
    color: var(--text-primary) !important;
    margin-bottom: 0 !important;
    align-self: center;
}

#jobsoegning-analyze-cache-btn:hover {
    background: var(--secondary-dark) !important;
    border-color: var(--border-dark) !important;
    color: var(--text-primary) !important;
}

#jobsoegning-analyze-cache-btn:focus {
    border-color: var(--primary) !important;
    box-shadow: 0 0 0 1px var(--primary), 0 0 0 3px rgba(34, 113, 177, 0.1) !important;
}

/* .tab-content defineret i cm-tab-nav sektion */

/* ============================================
   STANDARD FILTER BADGES - Base Styles
   ============================================ */

/* Common base class for ALL filter badges */
/* Using unique class names (js- prefix) to avoid conflicts with theme CSS */
/* Force height to be calculated from content, not fixed */
/* .js-filter-badge arver .badge – defineret i BADGES sektion. cursor: pointer via .u-cursor-pointer */
.js-filter-badge { transition: all 0.2s ease; }
.js-filter-badge:hover { border-color: var(--primary); }
.js-filter-badge .js-badge-count, .js-filter-badge .badge-count {
    background: rgba(255, 255, 255, 0.2);
    padding: 2px 6px;
    border-radius: 10px;
    font-size: 0.6875rem;
    font-weight: 600;
}
.js-filter-badge:not(.active) .js-badge-count, .js-filter-badge:not(.active) .badge-count {
    background: rgba(0,0,0,0.06);
    color: inherit;
}

/* ============================================
   Profile Category Filters
   ============================================ */

.profile-category-filters {
    margin-bottom: 20px;
}

.category-filters-label {
    font-weight: 600;
    margin-right: 10px;
    flex-shrink: 0;
}

.category-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

/* Category badges arver .badge fra BADGES sektion */

/* Portal Suggestions */
.portal-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.portal-list li {
    padding: 10px;
    margin-bottom: 8px;
    background: var(--bg-secondary);
    border-radius: 6px;
}

.suggestions-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.suggestion-item {
    padding: 16px;
    margin-bottom: 12px;
    background: var(--bg-primary);
    border: 1px solid var(--border);
    border-radius: 8px;
}

.suggestion-header {
    margin-bottom: 8px;
}

.vote-count {
    padding: 4px 12px;
    background: var(--primary);
    color: white;
    border-radius: 12px;
    font-size: 0.875rem;
    font-weight: 600;
}

.suggestion-meta {
    margin-bottom: 12px;
    color: var(--text-secondary);
}

.voted-label {
    color: var(--success-dark, #4caf50);
    font-weight: 600;
}

/* Dashboard Styles */
.jobsoegning-dashboard {
    max-width: 1400px;
    margin: 0 auto;
    padding: 30px;
    background: var(--bg-secondary);
    border-radius: 12px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.dashboard-header {
    text-align: center;
    margin-bottom: 40px;
    padding: 30px;
    background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);
    border-radius: 12px;
    color: white;
}

.dashboard-header h2 {
    color: white;
    margin-bottom: 15px;
    font-size: 2.5rem;
    font-weight: 500;
    text-shadow: 0 2px 4px rgba(0,0,0,0.3);
}

.dashboard-header p {
    color: rgba(255, 255, 255, 0.9);
    font-size: 1.1rem;
    margin: 0;
}

/* Statistics Cards – grid fra .cm-grid */
.dashboard-stats {
    margin-bottom: 40px;
}

.stat-card {
    text-align: center;
}

.stat-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 35px rgba(0,0,0,0.15);
}

.stat-card h3 {
    margin: 0 0 15px 0;
    color: var(--text-muted);
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 600;
}

.stat-number {
    font-size: 3rem;
    font-weight: 700;
    background: linear-gradient(135deg, var(--primary), var(--primary-dark));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin: 0;
    line-height: 1;
}

/* API Key Section – arver .module-container.common-container */
.api-key-section h3 {
    margin-top: 0;
    margin-bottom: 20px;
    color: var(--text-primary);
    font-size: 1.5rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 10px;
}

.api-key-section h3::before {
    content: '';
    font-size: 1.2rem;
}

.api-key-container {
    display: flex;
    gap: 15px;
    margin-bottom: 15px;
    align-items: stretch;
}

/* API Key Row - Specific styling for the API key input and buttons */
.api-key-row {
    display: flex !important;
    gap: 10px !important;
    height: 30px;
}

.api-key-row input {
    flex: 1;
    max-width: 420px;
}

.api-key-row button {
    padding: 0 12px;
}

.api-key-container input {
    flex: 1;
    padding: 15px;
    border: 2px solid var(--secondary-dark);
    border-radius: 8px;
    font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
    background: var(--bg-secondary);
    font-size: 0.875rem;
    transition: all 0.3s ease;
}

.api-key-container input:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
}

.api-key-container button {
    padding: 15px 20px;
    border: none;
    border-radius: 8px;
    background: linear-gradient(135deg, var(--primary), var(--primary-dark));
    color: white;
    cursor: pointer;
    transition: all 0.3s ease;
    font-weight: 600;
    min-width: 120px;
}

.api-key-container button:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(102, 126, 234, 0.3);
}

.api-key-container button:active {
    transform: translateY(0);
}

.api-key-help {
    color: var(--text-muted);
    font-size: 0.875rem;
    margin: 0;
    padding: 15px;
    background: var(--bg-secondary);
    border-radius: 8px;
    border-left: 4px solid var(--success);
}

/* Search Input */
#jobsoegning-search-input {
    flex: 1;
    max-width: 500px;
    padding: 8px 12px;
    border: 1px solid var(--border);
    border-radius: 4px;
    font-size: 0.875rem;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

#jobsoegning-search-input:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
}

#jobsoegning-search-input::placeholder {
    color: var(--text-muted);
}

/* Section Headers – fælles for section-header, application-section-header, analysis-section-header */
.section-header,
.application-section-header,

/* Ensartet afstand mellem modul-header og indhold på tværs af plugins */
.module-container.common-container > .section-header.module-header,
.module.module-container.common-container > .section-header.module-header {
    margin-bottom: 20px;
}
.module-container.common-container > .section-header.module-header + *,
.module.module-container.common-container > .section-header.module-header + * {
    margin-top: 0;
}

.section-header h3 {
    margin: 0;
    color: var(--text-primary);
}

#print-listings-button,
#send-all-listings-email-button {
    background: var(--border-gray) !important;
    color: var(--text-primary, var(--text-primary, #333)) !important;
    border: 1px solid var(--border-dark, var(--border-dark, #ccc)) !important;
}

#print-listings-button:hover,
#send-all-listings-email-button:hover {
    background: var(--border-light, #d0d0d0) !important;
    border-color: var(--border, #bbb) !important;
}

#print-listings-button:disabled,
#send-all-listings-email-button:disabled {
    background: var(--border-gray) !important;
    color: var(--text-primary, var(--text-primary, #333)) !important;
    border: 1px solid var(--border-dark, var(--border-dark, #ccc)) !important;
    opacity: 1 !important;
    cursor: default !important;
}

/* ===== KNAPPER (btn, btn-small – fælles base + semantiske varianter) ===== */
/* Kontrakt for primary/secondary: se docs/responsive-coachment-rollout-checklist.md §8. */
.btn,
.button,
.cm-button,
.btn-primary,
.button-primary,
.btn-secondary,
.button-secondary,
.btn-success,
.button-success,
.btn-warning,
.button-warning,
.button-danger,
.cm-button--primary,
.cm-button--secondary,
.cm-button--danger,
.cm-button--ghost,
.button-link,
.button-link-delete {
    display: inline-block;
    padding: 8px 16px;
    font-size: 0.875rem;
    line-height: 1.4;
    border-radius: 6px;
    border: 1px solid var(--border);
    cursor: pointer;
    text-decoration: none;
    transition: all 0.2s ease;
    background: var(--bg-primary);
    color: var(--text-primary);
    vertical-align: top;
}

.btn-primary,
.button-primary,
.cm-button--primary {
    background: var(--primary);
    border-color: var(--primary-dark);
    color: var(--bg-primary, var(--bg-primary, #fff));
}

.button-danger,
.cm-button--danger {
    background: var(--error);
    border-color: var(--error);
    color: var(--bg-primary, var(--bg-primary, #fff));
}

.btn:hover:not(:disabled):not(.disabled),
.button:hover:not(:disabled):not(.disabled),
.cm-button:hover:not(:disabled):not(.disabled),
.btn-primary:hover:not(:disabled):not(.disabled),
.button-primary:hover:not(:disabled):not(.disabled),
.btn-secondary:hover:not(:disabled):not(.disabled),
.button-secondary:hover:not(:disabled):not(.disabled),
.btn-success:hover:not(:disabled):not(.disabled),
.button-success:hover:not(:disabled):not(.disabled),
.btn-warning:hover:not(:disabled):not(.disabled),
.button-warning:hover:not(:disabled):not(.disabled),
.button-danger:hover:not(:disabled):not(.disabled),
.cm-button--primary:hover:not(:disabled):not(.disabled),
.cm-button--secondary:hover:not(:disabled):not(.disabled),
.cm-button--danger:hover:not(:disabled):not(.disabled),
.cm-button--ghost:hover:not(:disabled):not(.disabled),
.button-link:hover:not(:disabled):not(.disabled),
.button-link-delete:hover:not(:disabled):not(.disabled) {
    background: var(--bg-gray, var(--bg-gray, #f0f0f0));
    border-color: var(--border-light, #d0d0d0);
    color: var(--text-primary, #000);
}

.btn-primary:hover:not(:disabled):not(.disabled),
.button-primary:hover:not(:disabled):not(.disabled),
.cm-button--primary:hover:not(:disabled):not(.disabled) {
    background: var(--primary-dark);
    border-color: var(--primary-dark);
    color: var(--bg-primary, var(--bg-primary, #fff));
}

.btn-secondary:hover:not(:disabled):not(.disabled),
.button-secondary:hover:not(:disabled):not(.disabled),
.cm-button--secondary:hover:not(:disabled):not(.disabled) {
    background: var(--secondary-dark);
    border-color: var(--border-dark);
    color: var(--text-primary);
}

.button-danger:hover:not(:disabled):not(.disabled),
.cm-button--danger:hover:not(:disabled):not(.disabled) {
    background: var(--error-text, var(--error-text, #991b1b));
    border-color: var(--error-text, var(--error-text, #991b1b));
    color: var(--bg-primary, var(--bg-primary, #fff));
}

.btn:focus,
.button:focus,
.cm-button:focus,
.btn-primary:focus,
.button-primary:focus,
.btn-secondary:focus,
.button-secondary:focus,
.btn-success:focus,
.button-success:focus,
.btn-warning:focus,
.button-warning:focus,
.button-danger:focus,
.cm-button--primary:focus,
.cm-button--secondary:focus,
.cm-button--danger:focus,
.cm-button--ghost:focus,
.button-link:focus,
.button-link-delete:focus {
    outline: 1px solid transparent;
    outline-offset: 2px;
    box-shadow: 0 0 0 1px var(--primary), 0 0 0 3px var(--focus-shadow);
}

.btn:disabled,
.btn.disabled,
.button:disabled,
.button.disabled,
.cm-button:disabled,
.cm-button.disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.btn-small,
.button-small {
    padding: var(--cm-space-xs) var(--cm-space-sm);
    font-size: var(--cm-font-size-sm);
    line-height: 1.4;
}

/* Button in profile actions */
/* Profiles Section */
.profile-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 30px rgba(0,0,0,0.15);
    background: white;
}

.profile-content {
    font-size: 0.875rem;
}

.profile-words {
    margin-bottom: 15px;
    padding: 12px;
    background: white;
    border-radius: 8px;
    border-left: 4px solid var(--primary);
}

.profile-words strong {
    color: var(--text-primary);
    font-weight: 600;
    display: block;
    margin-bottom: 5px;
}


.profile-stats .stat {
    background: linear-gradient(135deg, var(--secondary-dark), var(--bg-secondary));
    padding: 6px 12px;
    border-radius: 20px;
    font-weight: 500;
}

/* Listings Section – arver .module-container.common-container. Kun layout-specifikke regler her. */
.listings-filters {
    margin-bottom: 25px;
}

.listings-filters select {
    padding: 12px 15px;
    border: 2px solid var(--secondary-dark);
    border-radius: 8px;
    background: white;
    font-size: 0.875rem;
    transition: all 0.3s ease;
    min-width: 150px;
}

.listings-filters select:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
}

.listings-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.listing-item {
    border: none;
    border-radius: 12px;
    padding: 25px;
    background: var(--bg-secondary);
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.listing-item::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #17a2b8, #6f42c1);
}

.listing-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.1);
    background: white;
}

.listing-header {
    margin-bottom: 15px;
}

.listing-header h4 {
    margin: 0;
    flex: 1;
    font-size: 1.1rem;
    font-weight: 600;
}

.listing-header h4 a {
    color: var(--text-primary);
    text-decoration: none;
    transition: color 0.3s ease;
}

.listing-header h4 a:hover {
    color: var(--primary);
}

.listing-meta {
    display: flex;
    gap: 15px;
    align-items: center;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
}

.status {
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 0.6875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.status-not_seen {
    background: linear-gradient(135deg, var(--secondary-dark), var(--border-dark));
    color: var(--text-primary);
}

.status-reviewed {
    background: linear-gradient(135deg, #d1ecf1, #74b9ff);
    color: var(--info-text);
}

.status-applied {
    background: linear-gradient(135deg, var(--success-bg, var(--success-bg, #d4edda)), #00b894);
    color: var(--success-text);
}

.status-pending {
    background: linear-gradient(135deg, var(--warning-bg-alt, var(--warning-bg-alt, #fff3cd)), var(--warning-border, var(--warning-border, #ffeaa7)));
    color: var(--warning-text);
}

.status-interview {
    background: linear-gradient(135deg, #cfe2ff, #6ea8fe);
    color: var(--info-text, #084298);
}

.status-got_job {
    background: linear-gradient(135deg, #d1e7dd, #198754);
    color: var(--success-text, #0a3622);
}

.status-rejected {
    background: linear-gradient(135deg, var(--error-bg-alt, var(--error-bg-alt, #f8d7da)), #e84393);
    color: var(--error-text);
}

.status-archived {
    background: linear-gradient(135deg, var(--secondary-dark, #e2e3e5), #636e72);
    color: var(--text-secondary, #383d41);
}

.date {
    font-size: 0.75rem;
    color: var(--text-muted);
    background: var(--secondary-dark);
    padding: 4px 8px;
    border-radius: 12px;
}

.portal-badge {
    font-size: 0.8125rem !important;
    font-weight: 500 !important;
    background: linear-gradient(135deg, var(--primary), var(--primary-dark));
    color: white;
    padding: 4px 10px !important;
    border-radius: 20px;
    white-space: nowrap;
    box-shadow: 0 2px 8px rgba(102, 126, 234, 0.3);
    display: inline-flex !important;
    align-items: center !important;
    vertical-align: middle !important;
    box-sizing: border-box !important;
    line-height: 1.4 !important;
    min-height: 0 !important;
    max-height: none !important;
    height: auto !important;
    height: fit-content !important;
    height: calc(1.4em + 8px) !important;
}

.profile-badge {
    font-size: 0.8125rem !important;
    font-weight: 500 !important;
    background: linear-gradient(135deg, var(--success), #20c997);
    color: white;
    padding: 4px 10px !important;
    border-radius: 20px;
    white-space: nowrap;
    box-shadow: 0 2px 8px rgba(40, 167, 69, 0.3);
    display: inline-flex !important;
    align-items: center !important;
    vertical-align: middle !important;
    box-sizing: border-box !important;
    line-height: 1.4 !important;
    min-height: 0 !important;
    max-height: none !important;
    height: auto !important;
    height: fit-content !important;
    height: calc(1.4em + 8px) !important;
}

/* CV Field Selection Buttons */
.add-cv-field-btn {
    transition: all 0.2s ease;
}

.add-cv-field-btn:hover:not(:disabled) {
    transform: translateY(-2px);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    font-weight: 600;
}

.add-cv-field-btn:active:not(:disabled) {
    transform: translateY(0);
}

/* CV Field Tags */
.cv-field-tag {
    transition: all 0.2s ease;
}

.cv-field-tag:hover {
    transform: translateY(-1px);
    box-shadow: 0 2px 6px rgba(0, 115, 170, 0.3);
}

.remove-cv-tag:hover {
    background: rgba(255, 255, 255, 0.2) !important;
    border-radius: 50%;
}

/* CV Match Badge */
.match-badge.cv-match {
    background: linear-gradient(135deg, #6f42c1, #e83e8c);
    box-shadow: 0 2px 8px rgba(111, 66, 193, 0.3);
}

.match-badge.cv-match.score-excellent {
    background: linear-gradient(135deg, var(--success), #20c997);
    box-shadow: 0 2px 8px rgba(40, 167, 69, 0.3);
}

.match-badge.cv-match.score-good {
    background: linear-gradient(135deg, var(--warning), var(--warning, #fd7e14));
    box-shadow: 0 2px 8px rgba(255, 193, 7, 0.3);
}

.match-badge.cv-match.score-fair {
    background: linear-gradient(135deg, var(--warning, #fd7e14), var(--error));
    box-shadow: 0 2px 8px rgba(253, 126, 20, 0.3);
}

.match-badge.cv-match.score-poor {
    background: linear-gradient(135deg, var(--error), #6f42c1);
    box-shadow: 0 2px 8px rgba(220, 53, 69, 0.3);
}

.score-badge {
    display: inline-flex !important;
    align-items: center !important;
    vertical-align: middle !important;
    box-sizing: border-box !important;
    line-height: 1.4 !important;
    padding: 4px 10px !important;
    border-radius: 20px;
    font-size: 0.8125rem !important;
    font-weight: 500 !important;
    white-space: nowrap !important;
    min-height: 0 !important;
    max-height: none !important;
    height: auto !important;
    height: fit-content !important;
    height: calc(1.4em + 8px) !important;
}

.score-badge.score-excellent {
    background: linear-gradient(135deg, var(--success), #20c997);
    box-shadow: 0 2px 8px rgba(40, 167, 69, 0.3);
}

.score-badge.score-good {
    background: linear-gradient(135deg, var(--warning), var(--warning, #fd7e14));
    box-shadow: 0 2px 8px rgba(255, 193, 7, 0.3);
}

.score-badge.score-fair {
    background: linear-gradient(135deg, var(--warning, #fd7e14), var(--error));
    box-shadow: 0 2px 8px rgba(253, 126, 20, 0.3);
}

.score-badge.score-poor {
    background: linear-gradient(135deg, var(--error), #6f42c1);
    box-shadow: 0 2px 8px rgba(220, 53, 69, 0.3);
}

.listing-details {
    margin-top: 10px;
    padding: 10px;
    background: white;
    border-radius: 6px;
    font-size: 0.8125rem;
    color: var(--text-primary);
    border-left: 3px solid var(--primary);
}

.listing-details small {
    display: block;
    line-height: 1.4;
}

.listing-details .listing-company {
    margin-top: 4px;
}

/* Contact info buttons - WordPress button styling */
.edit-contact-btn,
.add-contact-btn {
    display: inline-block;
    cursor: pointer;
    transition: opacity 0.2s ease, transform 0.1s ease;
    vertical-align: middle;
    flex-shrink: 0;
    font-size: 0.8125rem;
    line-height: 1.4;
    text-decoration: none;
}

/* Edit contact button - link style */
.edit-contact-btn {
    opacity: 0.7;
    color: var(--primary);
}

.edit-contact-btn:hover,
.edit-contact-btn:focus {
    opacity: 1;
    transform: scale(1.1);
    color: var(--primary-dark, var(--primary-dark, #135e96));
}

/* Add contact button - secondary style */
.add-contact-btn {
    opacity: 1;
}

.add-contact-btn::before {
    content: none !important;
}

.add-contact-btn:hover,
.add-contact-btn:focus {
    transform: scale(1.05);
}

.listing-contact {
    display: inline-block;
}

.listing-contacts {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.listing-contact-item {
    display: flex;
    align-items: center;
    margin-bottom: 2px;
    gap: 4px;
}

.listing-actions {
    display: flex;
    gap: 15px;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;
    margin-top: 10px;
}

.send-joblog-btn {
    padding: 4px 10px !important;
    font-size: 0.8125rem !important;
    line-height: 1.4 !important;
    border-radius: 6px;
    border: 1px solid var(--primary);
    background: var(--primary-light, #f0f6ff);
    color: var(--primary, #1d4ed8);
    cursor: pointer;
    transition: all 0.3s ease;
    font-weight: 500 !important;
    box-shadow: 0 1px 2px rgba(17, 24, 39, 0.08);
    display: inline-flex !important;
    align-items: center !important;
    vertical-align: middle !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
    min-height: 0 !important;
    max-height: none !important;
    height: auto !important;
    height: fit-content !important;
    height: calc(1.4em + 8px) !important;
}

.send-joblog-btn:hover,
.send-joblog-btn:focus {
    background: var(--primary-light, #e0ecff);
    border-color: var(--primary, #1d4ed8);
    outline: none;
    transform: translateY(-1px);
}

.send-joblog-btn--loading {
    cursor: progress;
    opacity: 0.75;
}

.send-joblog-btn--success {
    background: var(--success-bg, #dcfce7);
    border-color: var(--success-dark, #16a34a);
    color: var(--success, #166534);
}

.send-joblog-btn--error {
    background: var(--error-bg-alt, #fee2e2);
    border-color: var(--error, #dc2626);
    color: var(--error-text, var(--error-text, #991b1b));
}

/* Status select in listing-meta */
.listing-meta .status-select {
    padding: 4px 10px !important;
    border: 1px solid var(--border) !important;
    border-radius: 0 !important;
    background: white !important;
    font-size: 0.8125rem !important;
    font-weight: 500 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    line-height: 1.4 !important;
    box-sizing: border-box !important;
    vertical-align: middle !important;
    display: inline-flex !important;
    align-items: center !important;
    white-space: nowrap !important;
    min-height: 0 !important;
    max-height: none !important;
    height: auto !important;
    height: fit-content !important;
    height: calc(1.4em + 8px) !important;
}

.listing-meta .status-select:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
}

/* Dynamic styling based on selected value - using JavaScript to add class */
.listing-meta .status-select.status-not_seen {
    background: linear-gradient(135deg, var(--secondary-dark), var(--border-dark));
    color: var(--text-primary);
    border-color: var(--border-dark);
}

.listing-meta .status-select.status-reviewed {
    background: linear-gradient(135deg, var(--info-bg, #d1ecf1), var(--info-border, #74b9ff));
    color: var(--info-text);
    border-color: var(--info-border, #74b9ff);
}

.listing-meta .status-select.status-applied {
    background: linear-gradient(135deg, var(--success-bg, #d4edda), var(--success-dark, #00b894));
    color: var(--success-text);
    border-color: var(--success-dark, #00b894);
}

.listing-meta .status-select.status-pending {
    background: linear-gradient(135deg, var(--warning-bg-alt, var(--warning-bg-alt, #fff3cd)), var(--warning-border, var(--warning-border, #ffeaa7)));
    color: var(--warning-text);
    border-color: var(--warning-border);
}

.listing-meta .status-select.status-interview {
    background: linear-gradient(135deg, var(--primary-light, #cfe2ff), var(--primary, #6ea8fe));
    color: var(--info-text, #084298);
    border-color: var(--primary, #6ea8fe);
}

.listing-meta .status-select.status-got_job {
    background: linear-gradient(135deg, var(--success-bg, #d1e7dd), var(--success-dark, #198754));
    color: var(--success-text, #0a3622);
    border-color: var(--success-dark, #198754);
}

.listing-meta .status-select.status-rejected {
    background: linear-gradient(135deg, var(--error-bg-alt, #f8d7da), var(--error, #e84393));
    color: var(--error-text);
    border-color: var(--error, #e84393);
}

.listing-meta .status-select.status-archived {
    background: linear-gradient(135deg, var(--secondary-dark, #e2e3e5), var(--text-muted, #636e72));
    color: var(--text-secondary, #383d41);
    border-color: var(--text-muted, #636e72);
}

.listing-actions select {
    padding: 8px 12px;
    border: 2px solid var(--secondary-dark);
    border-radius: 6px;
    background: white;
    font-size: 0.75rem;
    transition: all 0.3s ease;
}

.listing-actions select:focus {
    outline: none;
    border-color: var(--primary);
}

.listing-actions button {
    padding: 4px 10px !important;
    font-size: 0.8125rem !important;
    line-height: 1.4 !important;
    border: none;
    border-radius: 6px;
    background: var(--primary);
    color: white;
    cursor: pointer;
    transition: all 0.3s ease;
    font-weight: 500 !important;
    display: inline-flex !important;
    align-items: center !important;
    vertical-align: middle !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
    min-height: 0 !important;
    max-height: none !important;
    height: auto !important;
    height: fit-content !important;
    height: calc(1.4em + 8px) !important;
}

.listing-actions button:hover {
    background: var(--primary-dark, var(--primary-dark, #135e96));
    transform: translateY(-1px);
}

/* JobMatch matches bruger .jobmatch-match-details-modal – fælles .modal base gælder andre */
/* Form Styles – .form-group og .form-row bruger samme base */
.form-group,
.form-row {
    margin-bottom: 25px;
}

.form-group label,
.form-row label {
    display: block;
    margin-bottom: 8px;
    font-weight: 600;
    color: var(--text-primary);
    font-size: 0.875rem;
}

.form-group textarea,
.form-row textarea {
    resize: vertical;
    min-height: 100px;
    font-family: inherit;
}

.form-group small,
.form-row small {
    display: block;
    margin-top: 8px;
    color: var(--text-muted);
    font-size: 0.75rem;
    font-style: italic;
}

.word-count {
    margin-top: 5px;
    text-align: right;
    font-size: 0.6875rem;
    color: var(--primary);
    font-weight: 600;
}

.word-count.warning {
    color: var(--warning);
}

.word-count.error {
    color: var(--error);
}

/* form-actions arver .cm-actions */
.form-actions {
    justify-content: flex-end;
}

/* Form validation styles */
.form-group input:invalid,
.form-group textarea:invalid,
.form-row input:invalid,
.form-row textarea:invalid {
    border-color: var(--error);
}

.form-group input:valid,
.form-group textarea:valid,
.form-row input:valid,
.form-row textarea:valid {
    border-color: var(--primary);
}

.form-group.required label::after,
.form-row.required label::after {
    content: ' *';
    color: var(--error);
}

/* Enhanced select styling */
.form-group select,
.form-row select {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");
    background-position: right 12px center;
    background-repeat: no-repeat;
    background-size: 16px;
    padding-right: 40px;
    appearance: none;
    cursor: pointer;
}

/* Form field focus – arver fra .form-group/.form-row base (linje ~5475) */
/* Form field hover states */
.form-group input:hover,
.form-group textarea:hover,
.form-group select:hover,
.form-row input:hover,
.form-row textarea:hover,
.form-row select:hover {
    border-color: var(--border-dark);
}

/* Loading state for form submission */
.form-loading {
    opacity: 0.6;
    pointer-events: none;
}

.form-loading .button,
.form-loading .btn {
    position: relative;
}

.form-loading .button::after,
.form-loading .btn::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 16px;
    height: 16px;
    margin: -8px 0 0 -8px;
    border: 2px solid transparent;
    border-top: 2px solid currentColor;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

/* Pagination */
.pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
    margin-top: 20px;
}

.pagination .page-link {
    display: inline-block;
    padding: 8px 12px;
    border: 1px solid var(--border);
    border-radius: 4px;
    text-decoration: none;
    color: var(--text-primary);
    background: var(--bg-primary);
}

.pagination .page-link:hover {
    background: var(--bg-gray);
}

.pagination .page-link.current {
    background: var(--primary);
    color: white;
    border-color: var(--primary);
}

.pagination .page-ellipsis {
    padding: 8px 12px;
    color: var(--text-secondary);
}

/* ============================================
   Status Filter Badges
   ============================================ */

.status-filter-badges {
    margin-bottom: 20px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

/* Status filter badges arver .badge/.js-filter-badge */

/* Legacy support - map old class to new */
.status-count {
    /* Use .badge-count instead - kept for backwards compatibility */
    background: rgba(255, 255, 255, 0.2);
    padding: 2px 6px;
    border-radius: 10px;
    font-size: 0.75rem;
    font-weight: 600;
}

/* Responsive Design */
@media (max-width: 768px) {
    .dashboard-stats.cm-grid {
        grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    }
    
    .api-key-container {
        flex-direction: column;
    }
    
    .section-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
    
    .listings-filters {
        flex-direction: column;
        align-items: stretch;
    }
    
    .listing-header {
        flex-direction: column;
        gap: 10px;
    }
    
    .listing-actions {
        flex-direction: column;
        align-items: stretch;
    }
    
    .form-actions {
        flex-direction: column;
    }
}

/* Loading States */
.loading {
    opacity: 0.6;
    pointer-events: none;
}

.loading::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 20px;
    margin: -10px 0 0 -10px;
    border: 2px solid var(--bg-light, var(--bg-light, #f3f3f3));
    border-top: 2px solid var(--primary);
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Error States */
.error {
    color: var(--error);
    font-size: 0.875rem;
    margin-top: 5px;
}

.success {
    color: var(--success-dark, var(--success-dark, #46b450));
    font-size: 0.875rem;
    margin-top: 5px;
}

/* Empty States */
.empty-state {
    text-align: center;
    padding: 40px 20px;
    color: var(--text-secondary);
}

.empty-state h3 {
    margin-bottom: 10px;
    color: var(--text-primary);
}

.empty-state p {
    margin-bottom: 20px;
}

/* Utility Classes */
.text-center {
    text-align: center;
}

.text-right {
    text-align: right;
}



.hidden {
    display: none;
}

.visible {
    display: block;
}

/* Enhanced Animations */
@keyframes pulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.05); }
    100% { transform: scale(1); }
}

@keyframes shake {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-5px); }
    75% { transform: translateX(5px); }
}

.loading-spinner {
    display: inline-block;
    width: 20px;
    height: 20px;
    border: 3px solid var(--bg-light, var(--bg-light, #f3f3f3));
    border-top: 3px solid var(--primary);
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

/* Enhanced Cards with Icons */
.stat-card[data-icon]::after {
    content: attr(data-icon);
    position: absolute;
    top: 20px;
    right: 20px;
    font-size: 2rem;
    opacity: 0.1;
}

/* Success/Error Messages – alias til .notice, bruger design tokens */
.message {
    padding: 15px 20px;
    border-radius: 8px;
    margin: 15px 0;
    font-weight: 500;
    border-left: 4px solid;
    animation: slideInDown 0.3s ease;
}

.message.success {
    background: var(--primary-lighter);
    border-left-color: var(--success);
    color: var(--text-primary);
}

.message.error {
    background: var(--error-bg);
    border-left-color: var(--error);
    color: var(--text-primary);
}

@keyframes slideInDown {
    from {
        opacity: 0;
        transform: translateY(-20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Print Styles */
@media print {
    .btn,
    .profile-card .cm-actions,
    .listing-actions,
    .modal {
        display: none !important;
    }
    
    .jobsoegning-dashboard {
        max-width: none;
        padding: 0;
        background: white;
        box-shadow: none;
    }
    
    .profile-card,
    .listing-item {
        break-inside: avoid;
        margin-bottom: 10px;
        box-shadow: none;
        border: 1px solid var(--border);
    }
}

/* ====================
   MATCH SCORE BADGES
   ==================== */

.match-badge {
    display: inline-flex !important;
    align-items: center !important;
    vertical-align: middle !important;
    box-sizing: border-box !important;
    padding: 4px 10px !important;
    border-radius: 20px !important;
    font-size: 0.8125rem !important;
    font-weight: 500 !important;
    margin-left: 8px;
    white-space: nowrap !important;
    line-height: 1.4 !important;
    min-height: 0 !important;
    max-height: none !important;
    height: auto !important;
    height: fit-content !important;
    height: calc(1.4em + 8px) !important;
}

.match-badge.score-excellent {
    background: linear-gradient(135deg, var(--success-bg, var(--success-bg, #d4edda)), var(--success-border, var(--success-border, #c3e6cb)));
    color: var(--success-text);
    border: 1px solid var(--success-border);
}

.match-badge.score-good {
    background: linear-gradient(135deg, #d1ecf1, #bee5eb);
    color: var(--info-text);
    border: 1px solid #bee5eb;
}

.match-badge.score-fair {
    background: linear-gradient(135deg, var(--warning-bg-alt, var(--warning-bg-alt, #fff3cd)), var(--warning-border, var(--warning-border, #ffeaa7)));
    color: var(--warning-text);
    border: 1px solid var(--warning-border);
}

.match-badge.score-poor {
    background: linear-gradient(135deg, var(--error-bg-alt, var(--error-bg-alt, #f8d7da)), #f5c6cb);
    color: var(--error-text);
    border: 1px solid var(--error-border);
}

.listing-item h4 {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

/* ============================================
   Score Filter Badges
   ============================================ */

.score-filter-badges {
    margin-bottom: 20px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

/* Score filter badges arver .badge/.js-filter-badge */

/* Legacy support - map old class to new */
/* .score-count: duplikat fjernet – brug .badge-count */


/* Joblog defaults form */
.joblog-defaults {
    max-width: 760px;
    margin: 0 auto;
}

.joblog-defaults__header {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 18px;
    align-items: flex-start;
}

.joblog-defaults__header h2 {
    margin-bottom: 6px;
}

.joblog-defaults__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

/* ===== BADGES (én base: .badge) ===== */
.badge,
.cm-chip,
.joblog-defaults__badge,
.js-filter-badge,
.js-status-filter-badge,
.js-score-filter-badge,
.js-category-badge,
.portal-badge,
.profile-badge,
.score-badge,
.match-badge,
.status-badge,
.assistant-card .badge,
.badge-shared,
.badge-private,
.rapport-del-missing-kildedata-badge,
.rapport-status-badge,
.jobsoegning-missing-fields-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--primary-light);
    border: 1px solid #c7dbff;
    border-radius: 999px;
    padding: 6px 12px;
    font-size: 0.75rem;
    color: var(--primary-dark, #1e3a8a);
    font-weight: 500;
    line-height: 1.4;
    white-space: nowrap;
    box-sizing: border-box;
}

.badge.active,
.cm-chip.cm-chip--active,
.js-filter-badge.active,
.js-status-filter-badge.active,
.js-score-filter-badge.active {
    background: var(--primary);
    border-color: var(--primary);
    color: var(--bg-primary);
}

.badge-shared {
    background: var(--success-bg);
    border-color: var(--success-border);
    color: var(--success-text);
}

.badge-private {
    background: var(--warning-bg-alt);
    border-color: var(--warning-border, #ffeeba);
    color: var(--warning-text);
}

.joblog-defaults__form {
    margin-top: 24px;
    display: grid;
    gap: 24px;
}

.joblog-defaults__fieldset {
    border: 1px solid #dce5f5;
    border-radius: 12px;
    background: var(--primary-lighter);
    padding: 18px 22px;
}

.joblog-defaults__fieldset legend {
    font-weight: 600;
    font-size: 0.9375rem;
    padding: 0 6px;
}

.joblog-defaults__options {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 16px 0 8px 0;
}

.joblog-defaults__option {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 12px;
    border: 1px solid #cbd5f5;
    border-radius: 999px;
    background: var(--bg-primary);
    cursor: pointer;
    transition: all 0.2s ease;
    font-weight: 500;
    font-size: 0.875rem;
}

.joblog-defaults__option input {
    margin: 0;
}

.joblog-defaults__option:hover,
.joblog-defaults__option:focus-within {
    border-color: var(--primary);
    box-shadow: 0 4px 12px var(--focus-shadow);
}

.joblog-defaults__row {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: 10px;
}

.joblog-defaults__row input,
.joblog-defaults__row textarea {
    max-width: 260px;
}

.joblog-defaults__row textarea {
    max-width: 100%;
}

.joblog-defaults__row .description {
    font-size: 0.75rem;
    color: var(--text-muted, #6b7280);
}

.joblog-defaults__actions {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: -8px;
}

.joblog-defaults__status {
    font-size: 0.8125rem;
    min-height: 20px;
}

.joblog-defaults__status.is-success {
    color: var(--success);
}

.joblog-defaults__status.is-error {
    color: var(--error);
}

.joblog-defaults__status.is-info {
    color: var(--info);
}

/* Bulk Actions */
#bulk-actions-container {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 0px;
    padding: 0px;
}

#bulk-actions-container input[type="checkbox"] {
    width: 18px;
    height: 18px;
    cursor: pointer;
    flex-shrink: 0;
}

#bulk-action-select {
    width: auto !important;
    min-width: 200px !important;
    padding: 4px 10px !important;
    border: 1px solid var(--border) !important;
    border-radius: 0 !important;
    background: white !important;
    font-size: 0.8125rem !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    box-sizing: border-box !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    min-height: 0 !important;
    max-height: none !important;
    vertical-align: middle !important;
    height: auto !important;
    height: fit-content !important;
    height: calc(1.4em + 8px) !important;
}

#bulk-action-execute {
    flex-shrink: 0;
}

#bulk-action-execute:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.listing-checkbox {
    width: 18px;
    height: 18px;
    cursor: pointer;
    margin-right: 8px;
}

@media (max-width: 640px) {
    .joblog-defaults__options {
        flex-direction: column;
        align-items: stretch;
    }

    .joblog-defaults__option {
        width: 100%;
        border-radius: 10px;
    }

    .joblog-defaults__row input,
    .joblog-defaults__row textarea {
        max-width: 100%;
    }

    .joblog-defaults__actions {
        flex-direction: column;
        align-items: stretch;
    }
}


/* ===== coachment-addon-jobsoegning admin ===== */
/* Cache analysis modal bruger .jobsoegning-modal-* fra jobsoegning sektion */

/* Admin Dashboard */
.jobsoegning-admin-dashboard {
    max-width: 1200px;
}

.admin-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px;
    margin-bottom: 30px;
}

.stat-box {
    background: var(--bg-primary);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 20px;
    text-align: center;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.stat-box h3 {
    margin: 0 0 10px 0;
    color: var(--text-primary);
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.stat-number {
    font-size: 2rem;
    font-weight: bold;
    color: var(--primary);
    margin: 0;
}

.admin-settings {
    background: var(--bg-primary);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 20px;
}

/* Meta Box Styles */

.jobsoegning-meta-box .form-table th {
    width: 150px;
    padding: 15px 10px 15px 0;
}

.jobsoegning-meta-box .form-table td {
    padding: 15px 10px;
}

.jobsoegning-meta-box .form-table input[type="text"],
.jobsoegning-meta-box .form-table textarea,
.jobsoegning-meta-box .form-table select {
    width: 100%;
    max-width: 400px;
}

.jobsoegning-meta-box .form-table textarea {
    resize: vertical;
    min-height: 80px;
}

.jobsoegning-meta-box .description {
    color: var(--text-secondary);
    font-style: italic;
    margin-top: 5px;
}

/* Post List Columns */
.wp-list-table .column-include_words,
.wp-list-table .column-exclude_words {
    width: 200px;
}

.wp-list-table .column-status {
    width: 100px;
}

.wp-list-table .column-matches {
    width: 80px;
    text-align: center;
}

.wp-list-table .column-source {
    width: 100px;
}

.wp-list-table .column-found_date {
    width: 100px;
}

/* Status Badges */
.status-badge {
    display: inline-block;
    padding: 3px 8px;
    border-radius: 12px;
    font-size: 0.6875rem;
    font-weight: bold;
    text-transform: uppercase;
}

.status-badge.pending {
    background: var(--warning-bg-alt);
    color: var(--warning-text);
}

.status-badge.reviewed {
    background: var(--info-bg);
    color: var(--info-text);
}

.status-badge.applied {
    background: var(--success-bg);
    color: var(--success-text);
}

.status-badge.rejected {
    background: var(--error-bg-alt);
    color: var(--error-text);
}

.status-badge.archived {
    background: var(--secondary-dark, #e2e3e5);
    color: var(--text-secondary, #383d41);
}

.status-badge.active {
    background: var(--success-bg);
    color: var(--success-text);
}

.status-badge.inactive {
    background: var(--error-bg-alt);
    color: var(--error-text);
}

/* Admin Notices */
.jobsoegning-notice {
    border-left: 4px solid var(--primary);
    background: var(--bg-primary);
    box-shadow: 0 1px 1px rgba(0,0,0,0.04);
    margin: 5px 15px 2px;
    padding: 1px 12px;
}

.jobsoegning-notice.notice-error {
    border-left-color: var(--error);
}

.jobsoegning-notice.notice-warning {
    border-left-color: var(--warning, var(--warning, #ffb900));
}

.jobsoegning-notice.notice-success {
    border-left-color: var(--primary);
}

/* Settings Page */

.jobsoegning-settings .form-table th {
    width: 200px;
}

.jobsoegning-settings .form-table td {
    padding: 15px 10px;
}

.jobsoegning-settings .form-table input[type="number"] {
    width: 100px;
}

.jobsoegning-settings .form-table .description {
    color: var(--text-secondary);
    font-style: italic;
    margin-top: 5px;
}

/* Quick Actions */

.quick-actions .button {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

/* Loading States */
.jobsoegning-loading {
    opacity: 0.6;
    pointer-events: none;
    position: relative;
}

.jobsoegning-loading::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 20px;
    margin: -10px 0 0 -10px;
    border: 2px solid var(--bg-light, var(--bg-light, #f3f3f3));
    border-top: 2px solid var(--primary);
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Responsive Design */
@media (max-width: 782px) {
    .admin-stats {
        grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    }
    
    
    .jobsoegning-meta-box .form-table th,
    .jobsoegning-meta-box .form-table td {
        display: block;
        width: 100%;
        padding: 10px 0;
    }
    
    .jobsoegning-meta-box .form-table input[type="text"],
    .jobsoegning-meta-box .form-table textarea,
    .jobsoegning-meta-box .form-table select {
        max-width: 100%;
    }
}

/* Print Styles */
@media print {
    .quick-actions,
    .button {
        display: none !important;
    }
    
    .admin-stats {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .stat-box {
        break-inside: avoid;
    }
}

/* ===== coachment-addon-jobsoegning-analysis ===== */

.jobsoegning-analysis {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    background: var(--bg-secondary);
    border-radius: 8px;
    overflow: hidden;
}

.analysis-header {
    background: linear-gradient(135deg, var(--primary), var(--primary-dark));
    color: white;
    padding: 20px;
    text-align: center;
}

.analysis-header h2 {
    margin: 0 0 8px 0;
    font-size: 1.5rem;
    font-weight: 600;
}

.analysis-header p {
    margin: 0;
    opacity: 0.9;
    font-size: 0.875rem;
}

.analysis-container {
    position: relative;
    height: calc(100% - 80px);
    overflow: hidden;
}

/* Lock body scroll when modal is open - ROBUST for iOS and Android */
body.analysis-modal-open,
html.analysis-modal-open {
    overflow: hidden !important;
    position: fixed !important;
    width: 100% !important;
    height: 100% !important;
    -webkit-overflow-scrolling: auto !important;
    overscroll-behavior: none !important;
    touch-action: none !important;
}

body.analysis-modal-open {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

/* iOS specific fixes */
@supports (-webkit-touch-callout: none) {
    body.analysis-modal-open {
        position: fixed !important;
        overflow: hidden !important;
    }
}

.analysis-loading {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    background: white;
}

/* ===== coachment-addon-jobsoegning-analysis INLINE CLEANUP ===== */
/* Øvrige berørte elementer: jobsoegning-analysis-layout, #jobsoegning-analysis-loading */
.jobsoegning-analysis-layout {
    height: 100%;
    padding: 20px;
}
.jobsoegning-analysis-column {
    flex: 1;
    border: 2px solid var(--secondary-dark);
    border-radius: 8px;
    padding: 20px;
    background: var(--bg-secondary);
}
.jobsoegning-analysis-column-header h3 { margin: 0; color: var(--text-primary); }
.jobsoegning-analysis-column-body { height: calc(100% - 60px); overflow-y: auto; -webkit-overflow-scrolling: touch; }
.jobsoegning-analysis-loading {
    text-align: center;
    padding: 40px;
    color: var(--text-muted);
}
.jobsoegning-analysis-spinner {
    width: 30px;
    height: 30px;
    border: 3px solid var(--bg-light, var(--bg-light, #f3f3f3));
    border-top: 3px solid var(--primary);
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin: 0 auto 15px;
    display: block;
}
.jobsoegning-analysis-section h4 { color: var(--text-primary); margin-bottom: 15px; }
.jobsoegning-analysis-error { padding: 20px; color: var(--error); }
.loading-spinner {
    width: 40px;
    height: 40px;
    border: 4px solid var(--bg-light, var(--bg-light, #f3f3f3));
    border-top: 4px solid var(--primary);
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin-bottom: 16px;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.analysis-content {
    height: 100%;
    display: flex;
    background: white;
}

/* Three-column layout */

.analysis-column {
    flex: 1;
    border-right: 1px solid var(--secondary-dark);
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: hidden;
}

.analysis-column:last-child {
    border-right: none;
}

.column-header {
    background: var(--bg-secondary);
    padding: 16px;
    border-bottom: 1px solid var(--secondary-dark);
    font-weight: 600;
    font-size: 1rem;
    color: var(--text-primary);
    align-items: center;
}

.column-content {
    flex: 1;
    padding: 16px;
    overflow-y: auto;
    position: relative;
    -webkit-overflow-scrolling: touch; /* Smooth scrolling on iOS */
}

/* CV Column */
.cv-column .column-header {
    background: linear-gradient(135deg, var(--success), #20c997);
    color: white;
}

.cv-item {
    background: white;
    border: 1px solid var(--secondary-dark);
    border-radius: 6px;
    padding: 12px;
    margin-bottom: 12px;
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
}

.cv-item:hover {
    border-color: var(--success);
    box-shadow: 0 2px 8px rgba(40, 167, 69, 0.1);
    transform: translateY(-1px);
}

.cv-item.selected {
    border-color: var(--success);
    background: var(--success-bg, #f8fff9);
    box-shadow: 0 2px 8px rgba(40, 167, 69, 0.2);
}

.cv-item-title {
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: 4px;
    font-size: 0.875rem;
}

.cv-item-content {
    color: var(--text-muted);
    font-size: 0.8125rem;
    line-height: 1.4;
}

.cv-category-header {
    font-weight: 600;
    color: var(--text-primary);
    margin: 16px 0 8px 0;
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.cv-category-header:first-child {
    margin-top: 0;
}

/* Job Column */
.job-column .column-header {
    background: linear-gradient(135deg, var(--error), var(--warning, #fd7e14));
    color: white;
}

.job-item {
    background: white;
    border: 1px solid var(--secondary-dark);
    border-radius: 6px;
    padding: 12px;
    margin-bottom: 12px;
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
}

.job-item:hover {
    border-color: var(--error);
    box-shadow: 0 2px 8px rgba(220, 53, 69, 0.1);
    transform: translateY(-1px);
}

.job-item.selected {
    border-color: var(--error);
    background: var(--error-bg, #fff8f8);
    box-shadow: 0 2px 8px rgba(220, 53, 69, 0.2);
}

.job-item-title {
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: 4px;
    font-size: 0.875rem;
}

.job-item-content {
    color: var(--text-muted);
    font-size: 0.8125rem;
    line-height: 1.4;
}

.job-item-importance {
    display: inline-block;
    padding: 2px 6px;
    border-radius: 12px;
    font-size: 0.6875rem;
    font-weight: 600;
    margin-top: 4px;
}

.job-item-importance.high {
    background: var(--error);
    color: white;
}

.job-item-importance.medium {
    background: var(--warning);
    color: var(--text-primary, #212529);
}

.job-item-importance.low {
    background: var(--text-muted, #6c757d);
    color: white;
}

/* Application Column */
.application-column .column-header {
    background: linear-gradient(135deg, var(--primary), #6f42c1);
    color: white;
}

.application-section {
    background: white;
    border: 1px solid var(--secondary-dark);
    border-radius: 6px;
    padding: 16px;
    margin-bottom: 16px;
    position: relative;
}


.application-section-title {
    font-weight: 600;
    color: var(--text-primary);
    font-size: 1rem;
    margin: 0;
}


.application-section-content {
    color: var(--text-primary);
    line-height: 1.6;
    font-size: 0.875rem;
    white-space: pre-wrap;
    margin-bottom: 12px;
}



.application-section-highlights h4 {
    font-size: 0.75rem;
    color: var(--text-muted);
    margin: 0 0 4px 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.application-section-highlights ul {
    margin: 0;
    padding-left: 16px;
    font-size: 0.75rem;
    color: var(--text-primary);
}

/* Connections */



.connection-line.full-match {
    stroke: var(--success);
    stroke-width: 3;
}

.connection-line.partial-match {
    stroke: var(--warning);
    stroke-width: 3;
}

.connection-line.missing-requirement {
    stroke: var(--error);
    stroke-width: 3;
    stroke-dasharray: 5,5;
}

.connection-line.transferable-skill {
    stroke: var(--primary);
    stroke-width: 3;
}

/* Connection tooltips */

.connection-tooltip.show {
    opacity: 1;
}

.connection-tooltip::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border: 5px solid transparent;
    border-top-color: rgba(0, 0, 0, 0.9);
}

/* Analysis controls */



.analysis-control-btn.active {
    background: var(--primary);
    color: white;
    border-color: var(--primary);
}

/* filter-toggle/filter-toggles fjernet – ubrugt. Se docs/common-css.old */

/* Analysis summary */







.analysis-stat-number.full-match {
    color: var(--success);
}

.analysis-stat-number.partial-match {
    color: var(--warning);
}

.analysis-stat-number.missing-requirement {
    color: var(--error);
}

.analysis-stat-number.transferable-skill {
    color: var(--primary);
}


/* Recommendations */

.analysis-recommendations h4 {
    color: var(--warning-text);
    margin: 0 0 12px 0;
    font-size: 0.875rem;
    font-weight: 600;
}




.recommendation-priority.high {
    background: var(--error);
    color: white;
}

.recommendation-priority.medium {
    background: var(--warning);
    color: var(--text-primary, #212529);
}

.recommendation-priority.low {
    background: var(--text-muted, #6c757d);
    color: white;
}

/* Responsive design */
@media (max-width: 1200px) {
    
    .analysis-column {
        border-right: none;
        border-bottom: 1px solid var(--secondary-dark);
        height: 33.333%;
    }
    
    .analysis-column:last-child {
        border-bottom: none;
    }
}

@media (max-width: 768px) {
    .analysis-header {
        padding: 16px;
    }
    
    .analysis-header h2 {
        font-size: 1.25rem;
    }
    
    
    
    /* Fix body scroll on mobile - iOS and Android optimized */
    .jobsoegning-analysis {
        position: fixed !important;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100vw !important;
        height: 100vh !important;
        max-height: 100vh !important;
        max-height: -webkit-fill-available !important; /* iOS Safari fix */
        z-index: 999999;
        overflow: hidden !important;
        overscroll-behavior: none !important;
        -webkit-overflow-scrolling: auto;
    }
    
    .analysis-container {
        height: calc(100vh - 80px) !important;
        max-height: calc(100vh - 80px) !important;
        overflow-y: scroll !important; /* Force scrollbar on iOS */
        overflow-x: hidden !important;
        -webkit-overflow-scrolling: touch !important;
        overscroll-behavior-y: contain;
        overscroll-behavior-x: none;
        position: relative;
        touch-action: pan-y pinch-zoom;
        will-change: scroll-position;
    }
    
    /* iOS Safari specific container fixes */
    @supports (-webkit-touch-callout: none) {
        .analysis-container {
            height: calc(100vh - 80px) !important;
            min-height: -webkit-fill-available;
        }
        
        .jobsoegning-analysis {
            min-height: -webkit-fill-available;
        }
    }
    
    /* Mobile: Stack columns vertically */
    .analysis-layout {
        flex-direction: column !important;
        gap: 16px !important;
        padding: 12px !important;
        height: auto !important;
        min-height: calc(100vh - 80px);
    }
    
    .analysis-column {
        flex: none !important;
        width: 100% !important;
        height: auto !important;
        min-height: 400px;
        margin-bottom: 0;
        display: flex;
        flex-direction: column;
        overflow: hidden;
        position: relative;
        touch-action: pan-y pinch-zoom;
        -webkit-transform: translateZ(0); /* Hardware acceleration for iOS */
        transform: translateZ(0);
    }
    
    /* Stack all flex containers with justify-content: space-between */
    .analysis-column > div[style*="justify-content"],
    div[style*="justify-content: space-between"] {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 12px;
    }
    
    .analysis-column h3 {
        font-size: 1.125rem !important;
    }
    
    /* Stack buttons and form elements – analysis-section-header arver section-header */
    .section-header,
    
    
    .analysis-section-actions button,
    .analysis-section-actions .button {
        width: 100% !important;
        margin-bottom: 8px;
    }
    
    /* Stack all inline flex divs within columns */
    .analysis-column div[style*="display: flex"] {
        flex-wrap: wrap !important;
    }
    
    /* Stack section control buttons */
    .analysis-column div[style*="gap: 5px"],
    .analysis-column div[style*="gap: 10px"] {
        flex-direction: column !important;
        width: 100% !important;
    }
    
    .analysis-column div[style*="gap: 5px"] button,
    .analysis-column div[style*="gap: 10px"] button {
        width: 100% !important;
        margin-bottom: 8px;
    }
    
    /* filter-toggles fjernet – ubrugt */
    
    /* Stack analysis summary stats */
    
    /* Adjust column content padding */
    .column-content {
        padding: 12px;
    }
    
    /* Make all buttons full width on mobile */
    .analysis-column button,
    .analysis-column .button,
    .analysis-column input[type="button"],
    .analysis-column input[type="submit"] {
        width: 100% !important;
        max-width: none !important;
        margin-bottom: 8px;
    }
    
    /* Adjust move buttons container */
    div[style*="flex-direction: column"][style*="gap: 2px"] {
        flex-direction: row !important;
        gap: 8px !important;
        width: 100% !important;
        justify-content: center !important;
    }
    
    div[style*="flex-direction: column"][style*="gap: 2px"] button {
        flex: 1 !important;
        width: auto !important;
    }
    
    /* Mobile adjustments for section library modal */
    
    .section-library-header,
    .section-library-body,
    
    
    .section-library-footer button {
        width: 100%;
    }
    
    /* Stack modal footer buttons */
    div[style*="justify-content: flex-end"] {
        flex-direction: column !important;
        align-items: stretch !important;
    }
    
    div[style*="justify-content: flex-end"] button {
        width: 100% !important;
    }
    
    /* Ensure textarea and input fields are full width */
    .analysis-column textarea,
    .analysis-column input[type="text"],
    .analysis-column input[type="email"] {
        width: 100% !important;
        box-sizing: border-box;
    }
    
    /* Adjust section header spacing */
    .analysis-column > div > h3 {
        margin-bottom: 12px !important;
    }
    
    /* Modal adjustments for mobile */
    div[id$="-modal"] > div {
        width: 95% !important;
        max-width: none !important;
        flex-direction: column !important;
    }
    
    /* Make labels stack vertically */
    label[style*="display: flex"] {
        flex-direction: column !important;
        align-items: flex-start !important;
    }
    
    /* Adjust padding for better mobile viewing */
    .analysis-column {
        padding: 12px !important;
    }
    
    /* Ensure content areas have proper spacing and scrolling - iOS & Android */
    #cv-content,
    #application-content,
    #job-content {
        padding: 8px !important;
        overflow-y: scroll !important; /* scroll instead of auto for iOS */
        overflow-x: hidden !important;
        -webkit-overflow-scrolling: touch !important;
        overscroll-behavior-y: contain;
        overscroll-behavior-x: none;
        max-height: 500px;
        flex: 1;
        position: relative;
        touch-action: pan-y pinch-zoom;
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        will-change: scroll-position;
    }
    
    /* Make sure column content is scrollable - iOS & Android */
    .analysis-column > div[id$="-content"] {
        overflow-y: scroll !important; /* scroll instead of auto for iOS */
        overflow-x: hidden !important;
        -webkit-overflow-scrolling: touch !important;
        overscroll-behavior-y: contain;
        overscroll-behavior-x: none;
        flex: 1;
        min-height: 300px;
        position: relative;
        touch-action: pan-y pinch-zoom;
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        will-change: scroll-position;
    }
    
    /* Additional iOS Safari fixes */
    @supports (-webkit-touch-callout: none) {
        #cv-content,
        #application-content,
        #job-content,
        .analysis-column > div[id$="-content"] {
            -webkit-overflow-scrolling: touch !important;
            overflow-y: scroll !important;
        }
    }
    
    /* Hide connections on mobile as they won't render properly */
    
}

/* Additional mobile-specific breakpoint for very small screens */
@media (max-width: 480px) {
    .analysis-header h2 {
        font-size: 1.125rem;
    }
    
    .analysis-header p {
        font-size: 0.75rem;
    }
    
    .analysis-column {
        padding: 8px !important;
    }
    
    .cv-item,
    .job-item,
    .application-section {
        padding: 10px;
    }
    
    button,
    .button {
        font-size: 0.875rem !important;
        padding: 10px 16px !important;
    }
    
    /* Smaller font sizes for very small screens */
    .cv-item-title,
    .job-item-title,
    .application-section-title {
        font-size: 0.8125rem;
    }
    
    .cv-item-content,
    .job-item-content,
    .application-section-content {
        font-size: 0.75rem;
    }
}

/* Animation for connections */
@keyframes drawConnection {
    from {
        stroke-dashoffset: 1000;
    }
    to {
        stroke-dashoffset: 0;
    }
}

.connection-line.animate {
    stroke-dasharray: 1000;
    stroke-dashoffset: 1000;
    animation: drawConnection 2s ease-in-out forwards;
}







.section-library-item.selected {
    border-color: var(--primary);
    background: var(--primary-light, var(--primary-light, #e7f3ff));
}




/* ===== coachment-addon-borgerdata =====
 * Borgerdata Add-on Specific Styling
 * NOTE: Modal, Toast, Forms kommer fra CORE!
 * Dette stylesheet indeholder KUN borgerdata-specifikke styles.
 */

/* Borgerdata container */
#borgerdata-container {
    margin: 20px 0;
}

/* Struktur liste */
.borgerdata-struktur {
    background: var(--bg-secondary);
    border: 1px solid var(--bg-gray, var(--bg-gray, #e8e8e8));
    border-radius: 4px;
    padding: 15px;
    margin-bottom: 15px;
}



/* Felter */
.borgerdata-felt {
    padding: 10px;
    margin: 5px 0;
    background: var(--bg-primary);
    border: 1px solid var(--border);
    border-radius: 3px;
}



/* Skabeloner liste */
#skabeloner-list {
    margin-top: 20px;
}

/* Responsive */
@media (max-width: 768px) {
}


/* ===== coachment-addon-borgerdata (frontend) =====
 * Filsti: assets/css/borgerdata-frontend.css
 * Formål: Frontend styles for Borgerdata tabbed interface
 * Bruger filer: assets/css/common.css (fælles variabler)
 */

/* Frontend Borgerdata Container */
.module-container.common-container #borgerdata-container {
    margin-top: 20px;
}

/* Skabelon Kontroller på Frontend */
.module-container.common-container .borgerdata-skabelon-controls {
    margin-bottom: 20px !important;
    padding: 15px !important;
    background: var(--secondary) !important;
    border: 1px solid var(--border) !important;
    border-radius: 8px !important;
}

.module-container.common-container .borgerdata-skabelon-controls h4 {
    margin-top: 0 !important;
    margin-bottom: 15px !important;
    color: var(--primary) !important;
    font-size: 1.1em !important;
}

.module-container.common-container .borgerdata-skabelon-controls > div {
    align-items: center !important;
    flex-wrap: wrap !important;
}

.module-container.common-container .borgerdata-skabelon-controls select {
    min-width: 200px !important;
    padding: 8px 12px !important;
    border: 1px solid var(--border) !important;
    border-radius: 8px !important;
    background: var(--bg-primary, var(--bg-primary, #fff)) !important;
}

.module-container.common-container .borgerdata-skabelon-controls p {
    margin-bottom: 0 !important;
    color: var(--text-secondary, var(--text-secondary, #666)) !important;
    font-size: 0.8125rem !important;
    width: 100% !important;
    margin-top: 10px !important;
}

/* Tab Navigation */
.module-container.common-container .category-tabs ul {
    /* Borgerdata kategori-tabs: brug fælles tab-nav layout; her styres kun reset af ul */
    padding: 0;
    margin: 0 0 20px 0;
    list-style: none;
}

.module-container.common-container .category-tabs li {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
}

.module-container.common-container .category-tabs .nav-tab {
    /* Layout for nested tabs – visuel stil arver fra .nav-tab/.cm-tab-btn */
    position: relative;
    top: 1px;
}

/* Category Title Input */
.module-container.common-container .category-tabs .category-title-input {
    /* Edit-mode: skal ligne drift-mode tekst inde i samme tab-ramme */
    border: none;
    background: transparent;
    font-weight: inherit;
    width: auto;
    padding: 0;
    margin: 0;
    font-size: inherit;
    color: inherit;
}

.module-container.common-container .category-tabs .category-title-input:focus {
    /* Ingen ekstra boks ved fokus – kun caret, så fanen bevarer samme look */
    background: transparent;
    box-shadow: none;
    border-radius: 0;
    outline: none;
}

/* Remove Category Button */
.module-container.common-container .category-tabs .remove-category {
    background: none;
    border: none;
    color: var(--error);
    cursor: pointer;
    font-size: 0.875rem;
    font-weight: bold;
    padding: 0 5px;
    margin-left: 8px;
    display: none;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    line-height: 1;
    transition: all 0.2s ease;
}

.module-container.common-container .category-tabs .nav-tab:hover .remove-category {
    display: inline-block;
}

.module-container.common-container .category-tabs .remove-category:hover {
    background: var(--error);
    color: var(--bg-primary);
}

/* Add Category Button */
.module-container.common-container #add-category-btn button {
    margin-left: 10px;
    background: var(--primary);
    color: var(--bg-primary);
    border: none;
    border-radius: 50%;
    width: 32px;
    height: 32px;
    font-size: 1.125rem;
    font-weight: bold;
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.module-container.common-container #add-category-btn button:hover {
    background: var(--primary-dark);
    transform: scale(1.1);
}

/* Category Content – display:none/active fra fælles base (linje ~414) */
.module-container.common-container .category-content {
    padding: 20px;
    border: 1px solid var(--border-light, var(--border-light, #dee2e6));
    border-top: none;
    background: var(--bg-primary);
    border-radius: 0 0 12px 12px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

/* Fields Container */
.module-container.common-container .borgerdata-fields-container {
    margin-bottom: 20px;
}

/* Field Item */
.module-container.common-container .field-item {
    padding: 20px;
    background: var(--secondary);
    border: 1px solid var(--border);
    margin-bottom: 15px;
    position: relative;
    border-radius: 8px;
    transition: all 0.2s ease;
}

.module-container.common-container .field-item:hover {
    background: var(--bg-primary);
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    border-color: var(--primary-light);
}

.module-container.common-container .field-item .field-title-input {
    font-size: 1.1em;
    font-weight: 600;
    margin-bottom: 12px;
    color: var(--primary);
}
.module-container .field-item textarea {
    min-height: 120px;
}
/* field-item input/textarea arver base fra FORM ELEMENTER */

/* Remove Field Button */
.module-container .field-item .remove-field {
    position: absolute;
    top: 10px;
    right: 10px;
    background: var(--error);
    color: var(--bg-primary);
    border: none;
    border-radius: 8px;
    padding: 6px 12px;
    font-size: 0.75rem;
    cursor: pointer;
    transition: all 0.2s ease;
    opacity: 0.8;
}

.module-container .field-item .remove-field:hover {
    background: var(--error, #c82333);
    opacity: 1;
}

/* Add Field Button */
.module-container [data-action="add-field"] {
    background: var(--secondary);
    color: var(--primary);
    border: 2px solid var(--primary);
    border-radius: 8px;
    padding: 10px 20px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    margin-top: 10px;
}

.module-container [data-action="add-field"]:hover {
    background: var(--primary);
    color: var(--bg-primary);
}

/* Responsive Design */
@media (max-width: 768px) {
    .module-container.common-container .category-tabs ul {
        flex-direction: column;
        border-radius: 12px;
        border-bottom: none;
    }
    
    .module-container.common-container .category-tabs .nav-tab {
        border-radius: 0;
        margin-right: 0;
        margin-bottom: 1px;
        top: 0;
    }
    
    .module-container.common-container .category-tabs .nav-tab:first-child {
        border-radius: 12px 12px 0 0;
    }
    
    .module-container.common-container .category-tabs .nav-tab:last-child {
        border-radius: 0 0 12px 12px;
        margin-bottom: 0;
    }
    
    .module-container.common-container .category-tabs .nav-tab-active {
        border-radius: 0;
    }
    
    .module-container.common-container .category-content {
        border-radius: 0 0 12px 12px;
        border-top: 1px solid var(--border-light, var(--border-light, #dee2e6));
    }
    
    .module-container.common-container .category-tabs .category-title-input {
        width: 120px;
        font-size: 0.875rem;
    }
    
    .module-container.common-container .field-item {
        padding: 15px;
    }
    
    .module-container.common-container .field-item .field-title-input {
        font-size: 1em;
    }
    
    .module-container.common-container .field-item textarea {
        min-height: 100px;
    }
}

/* Loading States */
.module-container.common-container .category-content.loading {
    opacity: 0.6;
    pointer-events: none;
}

/* Success/Error Messages */
.module-container.common-container .borgerdata-message {
    padding: 12px 16px;
    margin-bottom: 20px;
    border-radius: 8px;
    font-weight: 500;
}

.module-container.common-container .borgerdata-message.success {
    background: var(--success-bg);
    color: var(--success-text);
    border: 1px solid var(--success-border);
}

.module-container.common-container .borgerdata-message.error {
    background: var(--error-bg-alt);
    color: var(--error-text);
    border: 1px solid var(--error-border);
}

/* Auto-save indicator */
.module-container.common-container .borgerdata-auto-save {
    position: fixed;
    top: 20px;
    right: 20px;
    background: var(--primary);
    color: var(--bg-primary);
    padding: 8px 16px;
    border-radius: 4px;
    font-size: 0.75rem;
    z-index: 1000;
    box-shadow: 0 2px 8px rgba(0,0,0,0.2);
}

/* Design/Drift Mode Styles */
.module-container.common-container .drift-mode .design-mode-only {
    display: none !important;
}

.module-container.common-container .design-mode .drift-mode-only {
    display: none !important;
}

.module-container.common-container .field-title-display {
    /* Beholder bokse-styling til felttitler */
    font-weight: bold;
    padding: 8px 12px;
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: 3px;
    margin-bottom: 5px;
    display: block;
    color: var(--primary);
}

.module-container.common-container .category-title-display {
    /* Kategorititler i tabs skal ikke være egen boks – de arver tab-styling */
    font-weight: inherit;
    padding: 0;
    background: transparent;
    border: none;
    border-radius: 0;
    margin: 0;
    display: inline;
    color: inherit;
}

.module-container.common-container .borgerdata-mode-toggle {
    margin-bottom: 20px;
    padding: 10px;
    background: var(--bg-secondary);
    border: 1px solid var(--border-light, var(--border-light, #dee2e6));
    border-radius: 6px;
    display: inline-block;
}

.module-container.common-container .borgerdata-mode-toggle label {
    display: block;
    margin-bottom: 5px;
    font-weight: 600;
    color: var(--text-primary);
    font-size: 0.875rem;
}

.module-container.common-container .borgerdata-mode-toggle select {
    padding: 8px 12px;
    border: 1px solid var(--border);
    border-radius: 4px;
    background: var(--bg-primary);
    font-size: 0.875rem;
    min-width: 200px;
    cursor: pointer;
    transition: border-color 0.2s ease;
}

.module-container.common-container .borgerdata-mode-toggle select:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 2px rgba(0,123,255,0.25);
}

.module-container.common-container .drift-mode .borgerdata-mode-toggle {
    background: linear-gradient(135deg, #e8f5e8 0%, var(--success-bg, var(--success-bg, #d4edda)) 100%);
    border-color: var(--success);
}

.module-container.common-container .design-mode .borgerdata-mode-toggle {
    background: linear-gradient(135deg, var(--warning-bg-alt, var(--warning-bg-alt, #fff3cd)) 0%, var(--warning-border, var(--warning-border, #ffeaa7)) 100%);
    border-color: var(--warning);
}

/* Skabelon kontroller - kun synlige i design mode */
.module-container.common-container .borgerdata-skabelon-controls {
    background: linear-gradient(135deg, var(--bg-secondary) 0%, var(--secondary-dark) 100%);
    border: 2px solid var(--border-light, var(--border-light, #dee2e6));
    border-radius: 8px;
    padding: 15px;
    margin-bottom: 20px;
}

.module-container.common-container .borgerdata-skabelon-controls h4 {
    margin-top: 0;
    margin-bottom: 15px;
    color: var(--primary);
    font-size: 1.1em;
}

.module-container.common-container .skabelon-controls-wrapper {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
}

.module-container.common-container .skabelon-description {
    margin-bottom: 0;
    color: var(--text-secondary);
    font-size: 0.8125rem;
    margin-top: 10px;
}

.module-container.common-container .design-mode .borgerdata-skabelon-controls {
    background: linear-gradient(135deg, var(--warning-bg-alt, var(--warning-bg-alt, #fff3cd)) 0%, var(--warning-border, var(--warning-border, #ffeaa7)) 100%);
    border-color: var(--warning);
}

.module-container.common-container .drift-mode .borgerdata-skabelon-controls {
    display: none !important;
}

/* Struktur faneblade - kun synlige i design mode */
.module-container.common-container .borgerdata-overordnede-tabs {
    /* Beholder kun spacing omkring tabs – selve faneblade bruger fælles tab-styling */
    margin-bottom: 20px;
}

.module-container.common-container .borgerdata-overordnede-tabs .nav-tab-wrapper {
    flex-wrap: wrap;
    padding: 0;
    margin: 0;
}

.module-container.common-container .borgerdata-overordnede-tabs .nav-tab {
    /* Bruger fælles tab-styling (.cm-tab-btn/.nav-tab) – behold kun layout-tilpasninger her */
    position: relative;
    top: 1px;
}

.module-container.common-container .borgerdata-overordnede-tabs .remove-struktur {
    background: none;
    border: none;
    color: var(--error);
    cursor: pointer;
    font-size: 0.875rem;
    font-weight: bold;
    padding: 0 5px;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    line-height: 1;
    transition: all 0.2s ease;
}

.module-container.common-container .borgerdata-overordnede-tabs .remove-struktur:hover {
    background: var(--error);
    color: var(--bg-primary);
}

#borgerdata-main-tabs.category-tabs {
    padding: 0;
    margin: 0 0 20px 0;
    background: transparent;
}

.module-container.common-container #borgerdata-main-tabs .nav-tab-wrapper {
    /* Bruger fælles .cm-tab-nav/.tab-nav layout; kun ekstra spacing her hvis nødvendigt */
    margin: 0;
}

.module-container.common-container #borgerdata-main-tabs .category-title-display {
    background: transparent;
    border: none;
    border-radius: 0;
    padding: 0;
    margin: 0;
    display: inline;
    color: inherit;
}

.module-container.common-container .drift-mode .borgerdata-overordnede-tabs {
    display: none !important;
}

/* Ekstra sikkerhed for at skjule i drift mode */
#borgerdata-container.drift-mode .borgerdata-overordnede-tabs,
#borgerdata-container.drift-mode .borgerdata-skabelon-controls {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
} 
/* ===== coachment-addon-borgerdata (nested) ===== */
.category-tabs ul {
    display: flex;
    flex-wrap: wrap;
    padding: 0;
    margin: 0;
    border-bottom: 2px solid var(--border);
}

.category-tabs li {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
}

.category-tabs .nav-tab {
    /* Bruger fælles tab-styling (.nav-tab/.cm-tab-btn); kun let offset for nested tabs */
    position: relative;
    top: 1px;
}


.category-tabs .category-title-input {
    /* Samme look som titel-tekst i tabs (række 1) – forskel er kun, at den kan editeres */
    border: none;
    background: transparent;
    font-weight: inherit;
    width: auto;
}
.category-tabs .category-title-input:focus {
    background: transparent;
    box-shadow: none;
}

.category-tabs .category-title-display {
    /* Frontend/andre kontekster: sikrer at kategorititler i række 2 ligner række 1-tabs */
    font-weight: inherit;
    padding: 0;
    background: transparent;
    border: none;
    border-radius: 0;
    margin: 0;
    display: inline;
    color: inherit;
}

.category-tabs .remove-category {
    background: none;
    border: none;
    color: var(--error-text, #a00);
    cursor: pointer;
    font-size: 0.875rem;
    font-weight: bold;
    padding: 0 5px;
    display: none;
}

.category-tabs .nav-tab:hover .remove-category {
    display: inline;
}


#add-category-btn button {
    margin-left: 10px;
}

.category-content {
    padding: 15px;
    border: 1px solid var(--border);
    border-top: none;
}

.field-item {
    padding: 15px;
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    margin-bottom: 15px;
    position: relative;
}

.field-item textarea {
    min-height: 120px;
}

.field-item .remove-field {
    position: absolute;
    top: 5px;
    right: 5px;
} 

/* Overordnede Struktur Faneblade */
.borgerdata-overordnede-tabs {
    margin-bottom: 20px;
}

.borgerdata-overordnede-tabs .remove-struktur {
    background: none;
    border: none;
    color: var(--error);
    cursor: pointer;
    font-size: 1rem;
    font-weight: bold;
    padding: 0 0 0 8px;
    display: none;
    margin-left: 5px;
}

.borgerdata-overordnede-tabs .nav-tab:hover .remove-struktur {
    display: inline;
}

.borgerdata-overordnede-tabs .remove-struktur:hover {
    color: var(--error-text, #a00);
}

#add-struktur-btn {
    background: var(--secondary-dark);
    border: 1px dashed var(--border, var(--border, var(--border, var(--border, #c3c4c7))));
    color: var(--text-muted);
    font-style: italic;
}

#add-struktur-btn:hover {
    background: var(--bg-primary);
    color: var(--primary);
}
/* ===== coachment-addon-borgerdata (repeater) ===== */
.borgerdata-repeater {
    border: 1px solid var(--border);
    border-radius: 4px;
    padding: 15px;
    background: var(--bg-secondary);
    margin: 10px 0;
}

.repeater-entry {
    background: var(--bg-primary);
    border: 1px solid var(--border);
    border-radius: 4px;
    padding: 15px;
    margin-bottom: 15px;
    position: relative;
}

.repeater-entry:last-child {
    margin-bottom: 0;
}

.repeater-entry-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--border-light);
}

.repeater-entry-title {
    font-weight: 600;
    color: var(--text-primary);
    font-size: 0.875rem;
}

.remove-repeater-entry {
    color: var(--error);
    text-decoration: none;
    font-size: 0.75rem;
    padding: 5px 10px;
    border: 1px solid var(--error);
    border-radius: 3px;
    background: var(--bg-primary);
    cursor: pointer;
}

.remove-repeater-entry:hover {
    background: var(--error);
    color: var(--bg-primary);
}

.repeater-entry-fields {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 15px;
}

.repeater-field {
    display: flex;
    flex-direction: column;
}

.repeater-field label {
    font-weight: 600;
    margin-bottom: 5px;
    color: var(--text-primary);
    font-size: 0.8125rem;
}

.repeater-field-input {
    padding: 8px;
    border: 1px solid var(--border);
    border-radius: 3px;
    font-size: 0.875rem;
}

.repeater-field-input:focus {
    border-color: var(--primary);
    outline: none;
    box-shadow: 0 0 0 1px var(--primary);
}

.add-repeater-entry {
    margin-top: 15px;
    width: 100%;
}

/* Responsive */
@media (max-width: 768px) {
    .repeater-entry-fields {
        grid-template-columns: 1fr;
    }
}


/* ===== coachment-addon-borgerdata (skabelon-metabox) ===== */

.borgerdata-meta-box-wrapper {
    padding: 15px;
}

/* Field Items */
.field-item {
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: 4px;
    padding: 15px;
    margin-bottom: 15px;
    position: relative;
}

.field-item label {
    font-weight: 600;
    color: var(--text-primary);
}

.field-item .field-help-textarea,
.field-item .cm-textarea-help {
    min-height: 80px;
    font-size: 0.95em;
    line-height: 1.5;
    resize: vertical;
}

.field-item .button-link-delete {
    padding: 5px 0;
    font-size: 0.8125rem;
}

/* Fields Container */
.borgerdata-fields-container {
    margin-bottom: 15px;
}

/* Add Field Button */
[data-action="add-field"] {
    margin-bottom: 20px;
}

/* Nested Tabs (reuse existing styles from borgerdata-nested.css) */
.nested-tabs-container {
    border: 1px solid var(--border);
    border-radius: 4px;
    background: var(--bg-primary);
}

.category-tabs {
    /* Fælles container til kategori-tabs (backend + borgerdata) – samme layout som andre fanerækker */
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0 0 20px 0;
    padding: 0;
    list-style: none;
}

.category-tabs .remove-category {
    background: var(--error);
    color: var(--bg-primary);
    border: none;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    font-size: 0.75rem;
    line-height: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.category-tabs .remove-category:hover {
    background: var(--error);
}

.category-content-wrapper {
    padding: 20px;
    min-height: 200px;
}

/* .category-content display:none/active → fælles base (linje ~414) */

/* Add Category Button */
.add-category-btn {
    font-size: 0.8125rem;
    padding: 6px 12px;
}

/* Make widefat inputs actually wide */
.widefat {
    width: 100%;
    box-sizing: border-box;
}

/* Info boxes */
.info-box {
    background: var(--warning-bg-alt);
    border-left: 4px solid var(--warning);
    padding: 12px;
    margin-bottom: 15px;
    border-radius: 4px;
}

.info-box strong {
    color: var(--warning-text);
}


/* ===== jobmatch-matches ===== */
/* JobMatch Matches Interface Styles */

/* Container */
.jobmatch-matches-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
}

/* Header */
.jobmatch-matches-header {
    margin-bottom: 30px;
    padding-bottom: 15px;
    border-bottom: 2px solid var(--border-dark);
}


.jobmatch-matches-title {
    margin: 0;
    font-size: 1.75rem;
    font-weight: 600;
    color: var(--text-primary);
}

.jobmatch-matches-stats {
    font-size: 1rem;
    color: var(--text-secondary);
}

.jobmatch-matches-count {
    font-weight: 600;
    color: var(--primary);
    font-size: 1.25rem;
}

/* Content */
.jobmatch-matches-content {
    position: relative;
    min-height: 400px;
}

/* Loading State */
.jobmatch-matches-loading {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 400px;
    color: var(--text-secondary);
}

.jobmatch-spinner {
    width: 40px;
    height: 40px;
    border: 4px solid var(--bg-gray);
    border-top-color: var(--primary);
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin-bottom: 15px;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

/* Matches List */
.jobmatch-matches-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 20px;
    margin-bottom: 30px;
}

/* Match Card */
.jobmatch-match-card:hover {
    box-shadow: 0 4px 16px var(--shadow-color-lg);
    transform: translateY(-2px);
}

/* Swipe Card (when showing all swipes) */
.jobmatch-swipe-card {
    border-left: 4px solid var(--border-dark);
}

.jobmatch-swipe-card.jobmatch-swipe-card:has(.jobmatch-match-badge) {
    border-left-color: var(--success);
}

.jobmatch-swipe-action-badge {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 0.75rem;
    font-weight: 600;
    margin-bottom: 10px;
}

.jobmatch-swipe-like-badge {
    background: var(--success);
    color: var(--bg-primary);
}

.jobmatch-swipe-pass-badge {
    background: var(--text-secondary);
    color: var(--bg-primary);
}

.jobmatch-match-badge {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 0.75rem;
    font-weight: 600;
    background: var(--success);
    color: var(--bg-primary);
    margin-left: 10px;
}

.jobmatch-match-card-type {
    margin: 5px 0;
    font-size: 0.8125rem;
    color: var(--text-secondary);
}

.jobmatch-match-card-description {
    margin: 10px 0 0 0;
    font-size: 0.8125rem;
    color: var(--text-secondary);
    line-height: 1.5;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.jobmatch-match-card-header {
    margin-bottom: 15px;
}

.jobmatch-match-card-title {
    margin: 0 0 10px 0;
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--text-primary);
}

.jobmatch-match-card-task {
    margin: 5px 0;
    font-size: 0.875rem;
    color: var(--text-secondary);
}

.jobmatch-match-card-date {
    margin: 5px 0 0 0;
    font-size: 0.75rem;
    color: var(--text-secondary);
    font-style: italic;
}

/* Match Actions */
.jobmatch-match-card-actions {
    flex-wrap: wrap;
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid var(--border-dark);
}

/* Contact Modal */



.jobmatch-contact-modal-header h3 {
    margin: 0;
    font-size: 1.5rem;
    color: var(--text-primary);
}




.jobmatch-contact-form label {
    display: flex;
    flex-direction: column;
    gap: 8px;
    font-weight: 500;
    color: var(--text-primary);
}

.jobmatch-contact-form input[type="text"],
.jobmatch-contact-form textarea {
    padding: 12px;
    border: 2px solid var(--border-dark);
    border-radius: 6px;
    font-size: 0.875rem;
    font-family: inherit;
    transition: var(--transition-default);
}

.jobmatch-contact-form input[type="text"]:focus,
.jobmatch-contact-form textarea:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(0, 115, 170, 0.1);
}

.jobmatch-contact-form textarea {
    resize: vertical;
    min-height: 120px;
}







/* Messages Modal */
.jobmatch-messages-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10001;
}

.jobmatch-messages-modal-content {
    background: var(--bg-primary);
    border-radius: var(--cm-radius-lg);
    padding: 30px;
    max-width: 700px;
    width: 90%;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
}

.jobmatch-messages-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 2px solid var(--border-dark);
}

.jobmatch-messages-modal-header h3 {
    margin: 0;
    font-size: 1.5rem;
    color: var(--text-primary);
}

.jobmatch-messages-modal-close {
    background: none;
    border: none;
    font-size: 1.75rem;
    color: var(--text-secondary);
    cursor: pointer;
    padding: 0;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: var(--transition-default);
}

.jobmatch-messages-modal-close:hover {
    background: var(--bg-gray);
    color: var(--text-primary);
}

.jobmatch-messages-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

/* Messages Form (at top of modal) */
.jobmatch-messages-form {
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 2px solid var(--border-dark);
}

.jobmatch-messages-form label {
    display: flex;
    flex-direction: column;
    gap: 8px;
    font-weight: 500;
    color: var(--text-primary);
}

.jobmatch-messages-form textarea {
    padding: 12px;
    border: 2px solid var(--border-dark);
    border-radius: 6px;
    font-size: 0.875rem;
    font-family: inherit;
    transition: var(--transition-default);
    resize: vertical;
    min-height: 80px;
    width: 100%;
    box-sizing: border-box;
}

.jobmatch-messages-form textarea:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(0, 115, 170, 0.1);
}

.jobmatch-messages-form-actions {
    display: flex;
    gap: 10px;
    justify-content: flex-end;
    margin-top: 10px;
}

.jobmatch-messages-submit {
    padding: 10px 20px;
    background: var(--primary);
    color: var(--bg-primary);
    border: none;
    border-radius: 6px;
    font-size: 0.875rem;
    font-weight: 500;
    cursor: pointer;
    transition: var(--transition-default);
}

.jobmatch-messages-submit:hover {
    background: var(--primary-dark);
}

.jobmatch-messages-submit:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.jobmatch-message-item {
    padding: 15px;
    border-radius: var(--cm-radius-lg);
    border: 1px solid var(--border-dark);
    background: var(--bg-secondary);
}

.jobmatch-message-sent {
    background: var(--primary-light);
    border-left: 4px solid var(--primary);
}

.jobmatch-message-received {
    background: var(--success-bg);
    border-left: 4px solid var(--success);
}

.jobmatch-message-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
    font-size: 0.875rem;
}

.jobmatch-message-time {
    color: var(--text-secondary);
    font-size: 0.75rem;
}

.jobmatch-message-subject {
    font-weight: 600;
    margin-bottom: 8px;
    color: var(--text-primary);
}

.jobmatch-message-text {
    color: var(--text-primary);
    white-space: pre-wrap;
    line-height: 1.6;
}

.jobmatch-messages-loading,
.jobmatch-messages-empty,
.jobmatch-messages-error {
    text-align: center;
    padding: 40px;
    color: var(--text-secondary);
}

/* Empty State */
.jobmatch-matches-empty {
    text-align: center;
    padding: 60px 20px;
    color: var(--text-secondary);
}

.jobmatch-matches-empty p {
    margin: 0 0 10px 0;
    font-size: 1.125rem;
}

.jobmatch-matches-empty-subtitle {
    font-size: 0.875rem;
    color: var(--text-secondary);
}

/* Error State */
.jobmatch-matches-error {
    background: var(--warning-bg-alt);
    border: 1px solid var(--warning);
    color: var(--warning-text);
    padding: 15px;
    border-radius: 6px;
    margin-bottom: 20px;
}

/* Match Details Modal */
.jobmatch-match-details-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10000;
    animation: fadeIn 0.3s ease;
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* My Tasks Container */
.jobmatch-my-tasks-container {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    width: 100%;
    position: relative;
    display: block;
    clear: both;
    float: none;
    margin: 0;
    padding: 0;
}

.jobmatch-my-tasks-container .jobmatch-matches-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 2px solid var(--border-dark);
    position: relative;
    clear: both;
    float: none;
    width: 100%;
}

.jobmatch-my-tasks-table-wrapper {
    overflow-x: auto;
    max-height: 70vh;
    overflow-y: auto;
    border: 1px solid var(--border-dark);
    border-radius: var(--cm-radius-lg);
    background: var(--bg-primary);
    width: 100%;
    position: relative;
    clear: both;
    float: none;
    margin: 0;
    display: block;
}

.jobmatch-my-tasks-table {
    width: 100%;
    border-collapse: collapse;
    margin: 0;
    table-layout: auto;
    position: relative;
    float: none;
    display: table;
}

.jobmatch-my-tasks-table thead {
    position: sticky;
    top: 0;
    background: var(--bg-primary);
    z-index: 10;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    display: table-header-group;
}

.jobmatch-my-tasks-table tbody {
    display: table-row-group;
}

.jobmatch-my-tasks-table tr {
    display: table-row;
}

.jobmatch-my-tasks-table th,
.jobmatch-my-tasks-table td {
    display: table-cell;
}

.jobmatch-my-tasks-table th {
    padding: 12px;
    text-align: left;
    font-weight: 600;
    border-bottom: 2px solid var(--border-dark);
    background: var(--bg-secondary);
}

.jobmatch-my-tasks-table td {
    padding: 12px;
    border-bottom: 1px solid var(--border-dark);
}

.jobmatch-my-tasks-table tbody tr:hover {
    background: var(--bg-secondary);
}

.jobmatch-my-tasks-table tbody tr:last-child td {
    border-bottom: none;
}

.jobmatch-match-details-modal-content {
    background: var(--bg-primary);
    border-radius: var(--cm-radius-lg);
    padding: 40px;
    max-width: 600px;
    width: 90%;
    max-height: 80vh;
    overflow-y: auto;
    position: relative;
    animation: slideUp 0.3s ease;
}

@keyframes slideUp {
    from {
        transform: translateY(30px);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

.jobmatch-match-details-close {
    position: absolute;
    top: 15px;
    right: 15px;
    width: 30px;
    height: 30px;
    border: none;
    background: var(--bg-gray);
    border-radius: 50%;
    font-size: 1.25rem;
    line-height: 1;
    cursor: pointer;
    transition: var(--transition-default);
    display: flex;
    align-items: center;
    justify-content: center;
}

.jobmatch-match-details-close:hover {
    background: var(--error);
    color: var(--bg-primary);
}

.jobmatch-match-details-content {
    margin-top: 20px;
}

.jobmatch-match-details h3 {
    margin: 0 0 15px 0;
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--text-primary);
}

.jobmatch-match-details h4 {
    margin: 20px 0 10px 0;
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--text-primary);
}

.jobmatch-match-details p {
    margin: 8px 0;
    font-size: 0.875rem;
    color: var(--text-primary);
    line-height: 1.6;
}

/* Login Required */
.jobmatch-matches-login-required {
    text-align: center;
    padding: 40px 20px;
    background: var(--bg-gray);
    border-radius: var(--cm-radius-lg);
    color: var(--text-secondary);
}

/* Responsive */
@media (max-width: 768px) {
    .jobmatch-matches-container {
        padding: 10px;
    }
    
    .jobmatch-matches-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
    
    .jobmatch-matches-list {
        grid-template-columns: 1fr;
    }
    
    .jobmatch-match-card-actions {
        flex-direction: column;
    }
    
    .jobmatch-match-card-actions .button {
        width: 100%;
        min-height: 44px;
    }
    
    .jobmatch-match-details-modal-content {
        padding: 20px;
        width: 95%;
    }
}


/* ===== jobmatch-profile-editor ===== */

.jobmatch-profile-editor,
.jobmatch-task-editor {
    max-width: 800px;
    margin: 0 auto;
    padding: 20px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
}

.jobmatch-profile-header,
.jobmatch-task-header {
    margin-bottom: 30px;
    padding-bottom: 15px;
    border-bottom: 2px solid var(--border, var(--border, var(--border, var(--border, #c3c4c7))));
}

.jobmatch-profile-header h2,
.jobmatch-task-header h2 {
    margin: 0 0 10px 0;
    font-size: 1.75rem;
    font-weight: 600;
    color: var(--text-primary);
}

.jobmatch-profile-subtitle {
    margin: 0;
    color: var(--text-muted);
    font-size: 0.875rem;
}

/* Categories/Sections */
.jobmatch-profile-category,
.jobmatch-task-section {
    margin-bottom: 30px;
    padding: 20px;
    background: var(--bg-primary);
    border: 1px solid var(--border, var(--border, var(--border, var(--border, #c3c4c7))));
    border-radius: 8px;
}

.jobmatch-profile-category-title,
.jobmatch-task-section-title {
    margin: 0 0 20px 0;
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--text-primary);
    padding-bottom: 10px;
    border-bottom: 1px solid var(--border, var(--border, var(--border, var(--border, #c3c4c7))));
}

/* Fields */
.jobmatch-profile-field,
.jobmatch-task-field {
    margin-bottom: 20px;
}

.jobmatch-profile-field-label,
.jobmatch-task-field label {
    display: block;
    margin-bottom: 8px;
    font-weight: 600;
    color: var(--text-primary);
    font-size: 0.875rem;
}

.jobmatch-profile-field-help {
    display: inline-block;
    width: 18px;
    height: 18px;
    line-height: 1.125rem;
    text-align: center;
    border-radius: 50%;
    background: var(--border, var(--border, var(--border, var(--border, #c3c4c7))));
    color: var(--bg-primary);
    font-size: 0.75rem;
    margin-left: 5px;
    cursor: help;
}

/* jobmatch-profile-input, jobmatch-task-field input – arver fra FORM ELEMENTER (linje ~181) */
.jobmatch-profile-field-description,
.jobmatch-task-field-help {
    margin-top: 5px;
    font-size: 0.75rem;
    color: var(--text-muted);
    font-style: italic;
}

/* Checkboxes */
.jobmatch-profile-checkboxes,
.jobmatch-task-checkboxes {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.jobmatch-profile-checkbox-label,
.jobmatch-task-checkboxes label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: normal;
    cursor: pointer;
}

.jobmatch-profile-checkbox-label input[type="checkbox"],
.jobmatch-task-checkboxes input[type="checkbox"] {
    width: auto;
    margin: 0;
}

/* Actions */
.jobmatch-profile-actions,
.jobmatch-task-actions {
    margin-top: 30px;
    padding-top: 20px;
    border-top: 2px solid var(--border, var(--border, var(--border, var(--border, #c3c4c7))));
    display: flex;
    align-items: center;
    gap: 15px;
}

.jobmatch-profile-save,
.jobmatch-task-save {
    padding: 12px 30px;
    font-size: 1rem;
    font-weight: 600;
}

.jobmatch-profile-message,
.jobmatch-task-message {
    padding: 10px 15px;
    border-radius: 4px;
    font-size: 0.875rem;
}

.jobmatch-profile-message.success,
.jobmatch-task-message.success {
    background: var(--success);
    color: var(--bg-primary);
}

.jobmatch-profile-message.error,
.jobmatch-task-message.error {
    background: var(--error);
    color: var(--bg-primary);
}

/* Login Required / Error */
.jobmatch-profile-login-required,
.jobmatch-task-login-required,
.jobmatch-profile-error,
.jobmatch-task-error {
    text-align: center;
    padding: 40px 20px;
    background: var(--secondary-dark);
    border-radius: 8px;
    color: var(--text-muted);
}

/* Responsive */
@media (max-width: 768px) {
    .jobmatch-profile-editor,
    .jobmatch-task-editor {
        padding: 10px;
    }
    
    .jobmatch-profile-category,
    .jobmatch-task-section {
        padding: 15px;
    }
}


/* ===== jobmatch-swipe ===== */
/* JobMatch Swipe Interface Styles */

/* Container */
.jobmatch-swipe-container {
    max-width: 600px;
    margin: 0 auto;
    padding: 20px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
}

/* Header */
.jobmatch-swipe-header {
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 2px solid var(--border-dark);
}

.jobmatch-swipe-title {
    margin: 0;
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--text-primary);
}

.jobmatch-swipe-stats {
    font-size: 0.875rem;
    color: var(--text-secondary);
}

.jobmatch-cards-remaining {
    font-weight: 600;
    color: var(--primary);
}

/* Deck */
.jobmatch-swipe-deck {
    position: relative;
    min-height: 500px;
    margin-bottom: 30px;
}

/* Loading State */
.jobmatch-swipe-loading {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 500px;
    color: var(--text-secondary);
}

.jobmatch-spinner {
    width: 40px;
    height: 40px;
    border: 4px solid var(--bg-gray);
    border-top-color: var(--primary);
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin-bottom: 15px;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

/* Task Info (when viewing specific candidate from inbox) */
.jobmatch-swipe-task-info {
    margin-bottom: 20px;
    padding: 15px;
    background: var(--bg-gray);
    border-radius: var(--cm-radius-lg);
    border-left: 4px solid var(--primary);
}

.jobmatch-swipe-task-info > div {
    gap: 20px; /* u-flex-between giver display/justify/align */
}

.jobmatch-swipe-task-info p {
    margin: 0 0 8px 0;
    font-size: 0.875rem;
    color: var(--text-secondary);
}

.jobmatch-swipe-task-info h3 {
    margin: 0;
    font-size: 1.125rem;
    font-weight: 600;
}

.jobmatch-swipe-task-info a {
    color: var(--primary);
    text-decoration: none;
    transition: var(--transition-default);
}

.jobmatch-swipe-task-info a:hover {
    color: var(--primary-dark);
    text-decoration: underline;
}

.jobmatch-swipe-task-info .jobmatch-swipe-stats {
    flex-shrink: 0;
    font-size: 0.875rem;
    color: var(--text-secondary);
}

.jobmatch-swipe-task-info .jobmatch-cards-remaining {
    font-weight: 600;
    color: var(--primary);
}

/* Cards Container */
.jobmatch-swipe-cards {
    position: relative;
    width: 100%;
    height: 500px;
    perspective: 1000px;
}

/* Card */
.jobmatch-swipe-card {
    position: absolute;
    width: 100%;
    height: 100%;
    background: var(--bg-primary);
    border-radius: var(--cm-radius-lg);
    box-shadow: 0 4px 20px var(--shadow-color);
    overflow: hidden;
    cursor: grab;
    transition: var(--transition-default);
    transform-origin: center center;
    will-change: transform;
}

.jobmatch-swipe-card:active {
    cursor: grabbing;
}

.jobmatch-swipe-card.swiping-left {
    transform: rotate(-15deg) translateX(-100px);
    opacity: 0.5;
}

.jobmatch-swipe-card.swiping-right {
    transform: rotate(15deg) translateX(100px);
    opacity: 0.5;
}

.jobmatch-swipe-card.swiped {
    pointer-events: none;
}

/* Card Image */
.jobmatch-swipe-card-image {
    width: 100%;
    height: 300px;
    object-fit: cover;
    background: var(--bg-gray);
}

.jobmatch-swipe-card-image-placeholder {
    width: 100%;
    height: 300px;
    background: linear-gradient(135deg, var(--bg-gray) 0%, var(--border-gray) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-secondary);
    font-size: 3rem;
    padding: 20px;
    box-sizing: border-box;
    overflow: hidden;
}

/* Match Highlights */
.jobmatch-swipe-card-match-highlights {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 15px;
    padding: 20px;
}

.jobmatch-match-highlights-section {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
    align-items: center;
}

.jobmatch-match-highlight-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 12px;
    border-radius: 20px;
    font-size: 0.75rem;
    font-weight: 500;
    white-space: nowrap;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.jobmatch-match-highlight-badge:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

.jobmatch-match-good {
    background: linear-gradient(135deg, var(--success) 0%, var(--primary-dark) 100%);
    color: var(--bg-primary);
}

.jobmatch-match-partial {
    background: var(--warning);
    color: var(--text-primary);
}

.jobmatch-match-icon {
    font-size: 0.875rem;
    line-height: 1;
}

.jobmatch-match-label {
    font-size: 0.6875rem;
    line-height: 1.2;
}

/* Card Content */
.jobmatch-swipe-card-content {
    padding: 20px;
}

.jobmatch-swipe-card-title {
    margin: 0 0 10px 0;
    font-size: 1.375rem;
    font-weight: 600;
    color: var(--text-primary);
}

.jobmatch-swipe-card-description {
    margin: 0 0 15px 0;
    font-size: 0.875rem;
    color: var(--text-secondary);
    line-height: 1.6;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.jobmatch-swipe-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 15px;
}

.jobmatch-swipe-card-meta-item {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 0.8125rem;
    color: var(--text-secondary);
}

.jobmatch-swipe-card-meta-icon {
    font-size: 1rem;
}

/* Match Score Badge */
.jobmatch-swipe-card-match {
    position: absolute;
    top: 15px;
    right: 15px;
    background: var(--primary);
    color: var(--bg-primary);
    padding: 5px 12px;
    border-radius: 20px;
    font-size: 0.75rem;
    font-weight: 600;
    box-shadow: 0 2px 8px var(--shadow-color);
}

/* Empty State */
.jobmatch-swipe-empty {
    text-align: center;
    padding: 60px 20px;
    color: var(--text-secondary);
}

.jobmatch-swipe-empty p {
    margin: 0 0 10px 0;
    font-size: 1.125rem;
}

.jobmatch-swipe-empty-subtitle {
    font-size: 0.875rem;
    color: var(--text-secondary);
}

/* Actions */
.jobmatch-swipe-actions {
    justify-content: center;
    padding: 20px 0;
}

.jobmatch-swipe-pass,
.jobmatch-swipe-like {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    border: none;
    background: var(--bg-primary);
    box-shadow: 0 4px 12px var(--shadow-color);
    cursor: pointer;
    transition: var(--transition-default);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
}

.jobmatch-swipe-pass:hover {
    background: var(--error);
    color: var(--bg-primary);
    transform: scale(1.1);
}

.jobmatch-swipe-like:hover {
    background: var(--success);
    color: var(--bg-primary);
    transform: scale(1.1);
}

.jobmatch-swipe-pass:active,
.jobmatch-swipe-like:active {
    transform: scale(0.95);
}

.jobmatch-icon {
    display: block;
    line-height: 1;
}

/* Match Modal */
.jobmatch-match-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10000;
    animation: fadeIn 0.3s ease;
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

.jobmatch-match-modal-content {
    background: var(--bg-primary);
    border-radius: var(--cm-radius-lg);
    padding: 40px;
    text-align: center;
    max-width: 400px;
    width: 90%;
    animation: slideUp 0.3s ease;
}

@keyframes slideUp {
    from {
        transform: translateY(30px);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

.jobmatch-match-animation {
    margin-bottom: 20px;
}

.jobmatch-match-heart {
    font-size: 5rem;
    color: var(--success);
    animation: pulse 1s ease infinite;
}

@keyframes pulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.2); }
}

.jobmatch-match-title {
    margin: 0 0 10px 0;
    font-size: 2rem;
    font-weight: 700;
    color: var(--text-primary);
}

.jobmatch-match-message {
    margin: 0 0 30px 0;
    font-size: 1rem;
    color: var(--text-secondary);
}

.jobmatch-match-close {
    background: var(--primary);
    color: var(--bg-primary);
    border: none;
    padding: 12px 30px;
    border-radius: 6px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: var(--transition-default);
}

.jobmatch-match-close:hover {
    background: var(--primary-dark);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px var(--shadow-color);
}

/* Login Required */
.jobmatch-swipe-login-required {
    text-align: center;
    padding: 40px 20px;
    background: var(--bg-gray);
    border-radius: var(--cm-radius-lg);
    color: var(--text-secondary);
}

/* Candidate Card Specific Styles */
.jobmatch-swipe-card-candidate .jobmatch-swipe-card-image {
    border-radius: 50%;
    width: 200px;
    height: 200px;
    margin: 20px auto;
    object-fit: cover;
    border: 4px solid var(--primary);
}

.jobmatch-swipe-card-task-types {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 15px 0;
}

.jobmatch-swipe-card-task-type-badge {
    display: inline-block;
    padding: 6px 12px;
    background: var(--primary);
    color: var(--bg-primary);
    border-radius: 20px;
    font-size: 0.75rem;
    font-weight: 500;
    white-space: nowrap;
}

.jobmatch-swipe-card-video-pitch {
    margin: 15px 0;
}

.jobmatch-swipe-card-video-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    background: var(--primary);
    color: var(--bg-primary);
    text-decoration: none;
    border-radius: 6px;
    font-size: 0.875rem;
    font-weight: 500;
    transition: var(--transition-default);
}

.jobmatch-swipe-card-video-link:hover {
    background: var(--primary-dark);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px var(--shadow-color);
}

.jobmatch-swipe-card-portfolio {
    margin: 15px 0;
}

.jobmatch-swipe-card-portfolio h4 {
    margin: 0 0 10px 0;
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-primary);
}

.jobmatch-swipe-card-portfolio-gallery {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
    margin-top: 10px;
}

.jobmatch-swipe-card-portfolio-image {
    width: 100%;
    height: 120px;
    object-fit: cover;
    border-radius: 8px;
    border: 2px solid var(--border-dark);
}

.jobmatch-swipe-card-portfolio-more {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--bg-gray);
    color: var(--text-secondary);
    border-radius: 8px;
    font-size: 0.875rem;
    font-weight: 600;
    border: 2px solid var(--border-dark);
}

/* Responsive */
@media (max-width: 768px) {
    .jobmatch-swipe-container {
        padding: 10px;
    }
    
    .jobmatch-swipe-deck {
        min-height: 400px;
    }
    
    .jobmatch-swipe-cards {
        height: 400px;
    }
    
    .jobmatch-swipe-card-image,
    .jobmatch-swipe-card-image-placeholder {
        height: 250px;
    }
    
    .jobmatch-swipe-title {
        font-size: 1.25rem;
    }
    
    .jobmatch-swipe-actions {
        gap: 20px;
    }
    
    .jobmatch-swipe-pass,
    .jobmatch-swipe-like {
        width: 50px;
        height: 50px;
        font-size: 1.25rem;
    }
}

@media (max-width: 480px) {
    .jobmatch-swipe-deck {
        min-height: 350px;
    }
    
    .jobmatch-swipe-cards {
        height: 350px;
    }
    
    .jobmatch-swipe-card-image,
    .jobmatch-swipe-card-image-placeholder {
        height: 200px;
    }
}


/* Total score section - Match WordPress admin */
.jobmatch-debug-modal-content #jobmatch-debug-total-score,
.jobmatch-match-debug-modal-content #jobmatch-debug-total-score {
    padding: 15px 20px !important;
    margin-bottom: 20px !important;
    font-size: 0.875rem !important;
    background: var(--primary-light, #f0f6fc) !important;
    border: 1px solid var(--border, var(--border, var(--border, var(--border, #c3c4c7)))) !important;
    border-radius: 4px !important;
}

.jobmatch-debug-modal-content #jobmatch-debug-total-score h3,
.jobmatch-match-debug-modal-content #jobmatch-debug-total-score h3 {
    font-size: 1rem !important;
    margin: 0 0 10px 0 !important;
    color: var(--primary, var(--primary, #007aff)) !important;
    font-weight: 600 !important;
}

.jobmatch-debug-modal-content #jobmatch-debug-total-score-breakdown,
.jobmatch-match-debug-modal-content #jobmatch-debug-total-score-breakdown {
    font-size: 0.8125rem !important;
    color: var(--text-muted, var(--text-muted, #646970)) !important;
}


/* ===== jobmatch-inbox ===== */
 * JobMatch Employer Inbox Styles
 */

.jobmatch-employer-inbox-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
}

.jobmatch-inbox-header {
    margin-bottom: 30px;
}

.jobmatch-inbox-title {
    font-size: 1.75rem;
    font-weight: 600;
    margin-bottom: 10px;
    color: var(--text-primary);
}

.jobmatch-inbox-description {
    color: var(--text-muted);
    font-size: 1rem;
    margin-bottom: 0;
}

.jobmatch-inbox-stats {
    margin-bottom: 20px;
    padding: 15px;
    background: var(--primary-light, #f0f6fc);
    border-left: 4px solid var(--primary, var(--primary, #007aff));
    border-radius: 4px;
}

.jobmatch-inbox-stats p {
    margin: 0;
    font-size: 1rem;
    color: var(--text-primary);
}

.jobmatch-inbox-empty,
.jobmatch-inbox-login-required,
.jobmatch-inbox-not-employer {
    padding: 30px;
    text-align: center;
    background: var(--bg-secondary);
    border-radius: 8px;
    color: var(--text-muted);
}

.jobmatch-inbox-list {
    display: grid;
    gap: 20px;
}

.jobmatch-inbox-item {
    background: var(--bg-primary);
    border: 1px solid var(--border, var(--border, var(--border, var(--border, #c3c4c7))));
    border-radius: 8px;
    padding: 20px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    transition: box-shadow 0.2s ease;
}

.jobmatch-inbox-item:hover {
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

.jobmatch-inbox-item-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: 1px solid #e5e5e5;
}

.jobmatch-inbox-item-image {
    flex-shrink: 0;
}

.jobmatch-inbox-item-image img {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #e5e5e5;
}

.jobmatch-inbox-item-info {
    flex: 1;
}

.jobmatch-inbox-item-name {
    font-size: 1.25rem;
    font-weight: 600;
    margin: 0 0 5px 0;
    color: var(--text-primary);
}

.jobmatch-inbox-item-title {
    font-size: 0.875rem;
    color: var(--text-muted);
    margin: 0;
}

.jobmatch-inbox-item-details {
    margin-bottom: 15px;
    padding: 15px;
    background: var(--bg-secondary);
    border-radius: 4px;
}

.jobmatch-inbox-item-task,
.jobmatch-inbox-item-date {
    margin-bottom: 10px;
    font-size: 0.875rem;
    color: var(--text-primary);
}

.jobmatch-inbox-item-task:last-child,
.jobmatch-inbox-item-date:last-child {
    margin-bottom: 0;
}

.jobmatch-inbox-item-task strong,
.jobmatch-inbox-item-date strong {
    color: var(--text-muted);
    margin-right: 5px;
}

/* Only style links in details section, not buttons in actions section */
.jobmatch-inbox-item-details .jobmatch-inbox-item-task a {
    color: var(--primary, var(--primary, #007aff));
    text-decoration: none;
}

.jobmatch-inbox-item-details .jobmatch-inbox-item-task a:hover {
    text-decoration: underline;
}

.jobmatch-inbox-item-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.jobmatch-inbox-item-actions .button {
    text-decoration: none;
}

/* View Toggle */



.jobmatch-inbox-toggle-btn.active {
    background: var(--primary);
    color: var(--bg-primary);
    border-color: var(--primary);
}

.jobmatch-inbox-toggle-btn.active:hover {
    background: var(--primary-dark);
    border-color: var(--primary-dark);
    color: var(--bg-primary);
}

/* Responsive */
@media (max-width: 768px) {
    .jobmatch-employer-inbox-container {
        padding: 15px;
    }
    
    .jobmatch-inbox-item-header {
        flex-direction: column;
        align-items: flex-start;
    }
    
    .jobmatch-inbox-item-actions {
        flex-direction: column;
    }
    
    .jobmatch-inbox-item-actions .button {
        width: 100%;
        text-align: center;
    }
}


/* ===== jobmatch-notifications ===== */
 * JobMatch Notifications CSS
 * 
 * Styles for notification system
 */

/* Admin Bar Notification */
#wp-admin-bar-jobmatch-notifications .ab-icon:before {
    content: "\f466";
    top: 2px;
}

#wp-admin-bar-jobmatch-notifications .ab-label {
    background-color: var(--error);
    color: var(--bg-primary);
    border-radius: 10px;
    padding: 2px 6px;
    font-size: 0.6875rem;
    font-weight: 600;
    margin-left: 5px;
}

/* Notification Badge */
.jobmatch-notification-badge {
    display: inline-block;
    background-color: var(--error);
    color: var(--bg-primary);
    border-radius: 10px;
    padding: 2px 6px;
    font-size: 0.6875rem;
    font-weight: 600;
    margin-left: 5px;
    vertical-align: middle;
}

/* Notification Toast */
.jobmatch-notification-toast {
    position: fixed;
    top: 20px;
    right: 20px;
    background-color: var(--bg-secondary, #2c3e50);
    color: var(--bg-primary);
    padding: 15px 20px;
    border-radius: 5px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    z-index: 999999;
    opacity: 0;
    transform: translateX(400px);
    transition: all 0.3s ease;
    max-width: 300px;
    font-size: 0.875rem;
    line-height: 1.5;
}

.jobmatch-notification-toast.show {
    opacity: 1;
    transform: translateX(0);
}

.jobmatch-notification-toast::before {
    content: "🎉";
    margin-right: 8px;
}

/* Notification Item (in matches interface) */
.jobmatch-notification-item {
    padding: 10px;
    border-bottom: 1px solid var(--border-light);
    cursor: pointer;
    transition: background-color 0.2s;
}

.jobmatch-notification-item:hover {
    background-color: var(--bg-light, var(--bg-light, #f9f9f9));
}

.jobmatch-notification-item.read {
    opacity: 0.6;
}

.jobmatch-notification-item .jobmatch-notification-read-indicator {
    display: inline-block;
    width: 8px;
    height: 8px;
    background-color: var(--primary, #3498db);
    border-radius: 50%;
    margin-right: 8px;
}

.jobmatch-notification-item.read .jobmatch-notification-read-indicator {
    display: none;
}

/* Responsive */
@media (max-width: 782px) {
    .jobmatch-notification-toast {
        right: 10px;
        left: 10px;
        max-width: none;
    }
}


/* ===== jobmatch-structure-admin ===== */
.jobmatch-category {
    background: var(--bg-primary);
    border: 1px solid var(--border, var(--border, #ccd0d4));
    border-radius: 4px;
    margin-bottom: 20px;
    padding: 15px;
    box-shadow: 0 1px 1px rgba(0,0,0,.04);
    cursor: move;
}

.jobmatch-category:hover {
    border-color: var(--text-muted);
}

.category-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 15px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--border-light);
    cursor: move;
}

.category-header::before {
    content: "☰";
    font-size: 1.125rem;
    color: var(--text-muted);
    margin-right: 5px;
    cursor: move;
}

.category-toggle-collapse {
    background: none;
    border: none;
    padding: 5px;
    cursor: pointer;
    color: var(--text-secondary);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    transition: transform 0.2s ease;
    flex-shrink: 0;
}

.category-toggle-collapse:hover {
    color: var(--primary);
}

.category-toggle-collapse .dashicons {
    font-size: 1.125rem;
    width: 18px;
    height: 18px;
    transition: transform 0.2s ease;
}

.jobmatch-category.category-collapsed .category-toggle-collapse .dashicons {
    transform: rotate(-90deg);
}

.jobmatch-category.category-collapsed .category-content {
    display: none;
}

/* Prevent drag when clicking on toggle button */
.category-toggle-collapse {
    cursor: pointer !important;
}

.category-title {
    flex: 1;
    font-size: 1rem;
    font-weight: 600;
    cursor: text;
}

.category-placeholder {
    background: var(--secondary-dark);
    border: 2px dashed var(--text-muted, var(--text-muted, #999));
    height: 100px;
    margin-bottom: 20px;
    border-radius: 4px;
}

.jobmatch-field {
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: 4px;
    margin-bottom: 15px;
    padding: 15px;
    cursor: move;
}

.jobmatch-field:hover {
    border-color: var(--text-muted);
}

.field-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
    cursor: move;
}

.field-header::before {
    content: "☰";
    font-size: 1rem;
    color: var(--text-muted);
    margin-right: 5px;
    cursor: move;
}

.field-toggle-collapse {
    background: none;
    border: none;
    padding: 5px;
    cursor: pointer;
    color: var(--text-secondary);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    transition: transform 0.2s ease;
    flex-shrink: 0;
}

.field-toggle-collapse:hover {
    color: var(--primary);
}

.field-toggle-collapse .dashicons {
    font-size: 1rem;
    width: 16px;
    height: 16px;
    transition: transform 0.2s ease;
}

.jobmatch-field.field-collapsed .field-toggle-collapse .dashicons {
    transform: rotate(-90deg);
}

.jobmatch-field.field-collapsed .field-settings {
    display: none;
}

/* Prevent drag when clicking on toggle button */
.field-toggle-collapse {
    cursor: pointer !important;
}

.field-title {
    flex: 1;
    font-weight: 600;
}

.field-settings {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid var(--border-light);
}

.field-setting-row {
    margin-bottom: 15px;
}

.field-setting-row label {
    display: block;
    font-weight: 600;
    margin-bottom: 5px;
}

.field-options-section {
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid var(--border-light);
}

.fields-container {
    min-height: 50px;
}

.field-placeholder {
    background: var(--secondary-dark);
    border: 2px dashed var(--text-muted, var(--text-muted, #999));
    height: 60px;
    margin-bottom: 15px;
}

/* Locked field styling */
.field-title.locked-field {
    background-color: var(--secondary-dark);
    color: var(--text-secondary);
    cursor: not-allowed;
    opacity: 0.8;
}

.locked-indicator {
    color: var(--text-secondary);
    font-size: 1rem;
    margin-left: 5px;
    cursor: help;
}

.jobmatch-field:has(.locked-field) {
    border-left: 3px solid var(--primary);
    background-color: var(--bg-secondary);
}

.description {
    font-style: italic;
    color: var(--text-secondary);
    font-size: 0.8125rem;
    margin-top: 5px;
}

#jobmatch-structure-builder {
    margin-top: 20px;
}

#add-category-btn {
    margin-top: 20px;
}


/* ===== jobmatch-matching-keys-admin ===== */

.jobmatch-matching-keys-admin {
    margin-top: 20px;
}

.jobmatch-matching-keys-admin .postbox {
    margin-bottom: 20px;
}

.jobmatch-matching-keys-admin table.wp-list-table th {
    font-weight: 600;
}

.jobmatch-matching-keys-admin code {
    background: var(--secondary-dark);
    padding: 2px 6px;
    border-radius: 3px;
    font-family: Consolas, Monaco, monospace;
    font-size: 0.8125rem;
}

/* ===== JOBMATCH INLINE CLEANUP ===== */
/* Øvrige berørte elementer: jobmatch-pulse, jobmatch-debug-modal, jobmatch-matching-keys-admin */

@keyframes jobmatch-pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.65; }
}

.jobmatch-pulse {
    animation: jobmatch-pulse 1.4s ease-in-out infinite;
}

.jobmatch-show-all-toggle {
    margin-left: 20px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
}

.jobmatch-show-all-toggle input {
    margin: 0;
}

.jobmatch-matches-empty,
.jobmatch-liked-tasks-section,
.jobmatch-liked-tasks-loading,
.jobmatch-liked-tasks-empty,
.jobmatch-liked-candidates-section,
.jobmatch-liked-candidates-loading,
.jobmatch-liked-candidates-empty,
.jobmatch-match-details-modal,
.jobmatch-swipe-empty,
.jobmatch-match-modal,
.jobmatch-task-message,
.jobmatch-profile-message {
    display: none;
}

.jobmatch-swipe-stats {
    margin: 0;
}

.jobmatch-task-editor-range-row {
    display: flex;
    gap: 10px;
    align-items: center;
}

.jobmatch-task-editor-range-row-timer {
    display: flex;
    gap: 5px;
    align-items: center;
}

.jobmatch-task-editor-field-label {
    display: block;
    font-size: 0.75rem;
    margin-bottom: 5px;
}

.jobmatch-task-editor-margin-top {
    margin-top: 10px;
}

.jobmatch-my-tasks-link {
    text-decoration: none;
    color: inherit;
}

.jobmatch-my-tasks-swipe-btn {
    margin-left: 5px;
}

/* JobMatch debug modal table – flyttet til common-test.css */

/* Matching Keys Admin */
.jobmatch-matching-keys-postbox-top {
    margin-top: 20px;
}

.jobmatch-matching-keys-th-30 { width: 30%; }
.jobmatch-matching-keys-th-50 { width: 50%; }
.jobmatch-matching-keys-th-20 { width: 20%; }
.jobmatch-matching-keys-th-10 { width: 10%; }

.jobmatch-matching-keys-mb-15 {
    margin-bottom: 15px;
}

.jobmatch-matching-keys-import-form {
    margin-bottom: 15px;
    padding: 15px;
    background: var(--bg-secondary);
    border: 1px solid var(--border);
}

.jobmatch-matching-keys-status-in-use {
    color: green;
}

.jobmatch-matching-keys-status-unused {
    color: orange;
}

/* JobMatch Structure Admin */
.jobmatch-structure-import-box {
    margin: 20px 0;
    padding: 15px;
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: 4px;
}

.jobmatch-structure-import-box h2 {
    margin-top: 0;
}

.jobmatch-structure-import-form {
    margin-top: 15px;
}

.jobmatch-structure-import-label {
    display: block;
    margin-bottom: 5px;
    font-weight: 600;
}

.jobmatch-structure-import-btn {
    margin-left: 10px;
}

.jobmatch-structure-hidden {
    display: none;
}

.jobmatch-structure-filter-config h4,
.jobmatch-structure-section-heading h4 {
    margin-top: 15px;
    margin-bottom: 10px;
}

.jobmatch-structure-mb-10 {
    margin-bottom: 10px;
}

.jobmatch-structure-description-indent {
    margin-left: 25px;
}

.jobmatch-structure-matching-key-mt {
    margin-top: 5px;
}

/* ===== BORGERDATA INLINE CLEANUP ===== */
/* Øvrige berørte elementer: borgerdata-status-ja, borgerdata-field-label (= .cm-label), borgerdata-mode-label (= .cm-label) */

.borgerdata-status-ja {
    color: green;
}

.borgerdata-status-nej {
    color: var(--text-secondary);
}

.borgerdata-bulk-actions-section {
    display: none;
    margin-top: 10px;
}

.borgerdata-bulk-actions-section.is-visible {
    display: block;
}

.borgerdata-delete-selected-btn {
    margin-left: 10px;
}

.borgerdata-info-box-blue {
    margin-bottom: 20px;
}

.borgerdata-info-box-blue p {
    margin: 10px 0 0 0;
}

.borgerdata-info-box-blue .borgerdata-setup-link {
    text-decoration: none;
    background: var(--primary);
    color: white;
    padding: 8px 15px;
    border-radius: 4px;
    display: inline-block;
}

.borgerdata-info-box-warning {
    background: var(--warning-bg-alt);
    border-left: 4px solid var(--warning);
    padding: 12px;
    margin-bottom: 20px;
    border-radius: 4px;
}

.borgerdata-info-box-warning-mb15 {
    margin-bottom: 15px;
}

.borgerdata-kandidat-hidden {
    display: none;
}

/* .borgerdata-field-label = .cm-label, .borgerdata-field-label-help = .cm-label-help (se LABELS sektion) */

.borgerdata-postbox-mb {
    margin-bottom: 20px;
}

.borgerdata-export-flex {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}

.borgerdata-export-col {
    flex: 1;
    min-width: 300px;
}

.borgerdata-meta-padding {
    padding: 10px;
}

.borgerdata-matching-indicator {
    color: var(--primary);
    font-size: 0.9em;
    font-weight: normal;
}
.borgerdata-checkbox-label,
.borgerdata-radio-label { display: block; margin: 5px 0; }
.borgerdata-field-divider {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid var(--border);
}
.borgerdata-new-term-input { width: 70%; margin-right: 5px; }
.borgerdata-number-range-group,
.borgerdata-timer-range,
.field-number-range-group,
.field-number-range-group.field-timer-range {
    display: flex;
    gap: 10px;
    align-items: center;
}
.field-number-range-group.field-timer-range { align-items: flex-start; }
.borgerdata-number-range-group > div,
.field-number-range-group > div { flex: 1; }
.borgerdata-number-range-group .borgerdata-number-inner,
.field-number-range-group .borgerdata-number-inner {
    display: flex;
    gap: 5px;
    align-items: center;
}
.field-number-range-group .number-range-min-hours,
.field-number-range-group .number-range-min-minutes,
.field-number-range-group .number-range-max-hours,
.field-number-range-group .number-range-max-minutes { width: 80px; }
.field-number-range-group .borgerdata-number-inner { display: flex; gap: 5px; align-items: center; }
.borgerdata-design-mode-section { margin: 10px 0; }
.borgerdata-mode-select {
    padding: 8px 12px;
    border: 1px solid var(--border);
    border-radius: 4px;
    background: var(--bg-primary);
    font-size: 0.875rem;
    min-width: 200px;
}
.borgerdata-skabelon-select { min-width: 200px; }
.borgerdata-btn-full {
    width: 100%;
    text-align: center;
}

.borgerdata-status-badge-shared {
    padding: 4px 8px;
    background: var(--success-bg);
    border-radius: 4px;
}

.borgerdata-status-badge-private {
    padding: 4px 8px;
    background: var(--warning-bg-alt);
    border-radius: 4px;
}

.borgerdata-select-full {
    width: 100%;
}


.borgerdata-header-flex h2 {
    margin: 0;
}

/* .kandidat-modal base styling er i fælles modal-blok (linje ~233) */
.kandidat-modal.is-visible {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Kandidat dropdown overlay (mobile) - shared by coachment-core and intro-tours-menu */
.kandidat-dropdown-overlay {
    position: fixed;
    inset: 0;
    z-index: 999998;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
}
.kandidat-dropdown-content {
    background: white;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    max-width: 300px;
    width: 90%;
    max-height: 70vh;
    overflow-y: auto;
}

/* Intro tours menu - trigger elements hidden by default */
.coachment-require-input-trigger,
.coachment-open-menu-trigger,
.coachment-go-next-trigger,
.coachment-close-menu-trigger {
    display: none;
}


.jobmatch-activation-toggle {
    margin: 20px 0;
    padding: 15px;
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: 4px;
}

.jobmatch-activation-toggle label {
    display: flex;
    align-items: center;
    cursor: pointer;
}

.jobmatch-activation-toggle input[type="checkbox"] {
    margin-right: 10px;
    width: 20px;
    height: 20px;
    cursor: pointer;
}

.jobmatch-activation-toggle .jobmatch-activation-title {
    font-size: 1rem;
    font-weight: 600;
}

.jobmatch-activation-toggle .jobmatch-activation-roles {
    margin: 15px 0 0 30px;
    padding-left: 0;
}

.jobmatch-activation-toggle .jobmatch-activation-roles p {
    margin: 0 0 10px;
    font-weight: 600;
    color: var(--text-primary);
}

.jobmatch-activation-toggle .jobmatch-activation-roles label {
    margin-bottom: 8px;
}

.jobmatch-activation-toggle .jobmatch-activation-description {
    margin: 10px 0 0 30px;
    color: var(--text-secondary);
    font-size: 0.875rem;
}

.jobmatch-activation-toggle .jobmatch-activation-success {
    margin-top: 10px;
    padding: 10px;
    background: var(--success-bg);
    color: var(--success-text);
    border-radius: 4px;
}


/* ===== RAPPORT-GENERATOR (gemte-rapporter + rapportskabelon-admin) ===== */

/* RAPPORT-GENERATOR INLINE CLEANUP */
/* Øvrige berørte elementer: rapport-del-missing-badge, rapport-del-label-block (= .cm-label) */
/* .rapport-del-label-block = .cm-label (se LABELS sektion) */
.rapport-del-header-toggle {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 15px;
    cursor: pointer;
    user-select: none;
}
.rapport-del-header-toggle h4 { margin: 0; display: flex; align-items: center; gap: 10px; flex: 1; }
.rapport-del-content { display: none; padding: 0 15px 8px 15px; }
.rapport-del-overskrift-input {
    display: none;
    flex: 1;
    max-width: 400px;
}
.rapport-del-handle-actions { display: flex; gap: 5px; align-items: center; }
.rapport-del-header-actions { display: flex; align-items: center; gap: 10px; }
.rapport-del-ai-model-selection { margin: 15px 0; padding: 10px; border-radius: 4px; }
.rapport-del-brug-svar-checkboxes { max-height: 150px; overflow-y: auto; border: 1px solid var(--border); padding: 10px; background: var(--bg-secondary); border-radius: 4px; }
.rapport-del-brug-svar-hint { color: var(--text-secondary); display: block; margin-top: 5px; }
.rapport-del-toggle-icon { font-size: 1.25rem; color: var(--text-secondary, var(--text-secondary, #50575e)); transition: transform 0.2s ease; }
.rapport-del-item {
    background: var(--bg-secondary);
    padding: 15px;
    margin-bottom: 15px;
    border: 1px solid var(--border);
    border-radius: 4px;
}
.rapport-del-h4 { margin-top: 0; }
.rapport-del-remove-btn { float: right; color: var(--error); }
.rapport-del-notice {
    background: var(--warning-bg-alt);
    border-left: 4px solid var(--warning);
    padding: 12px;
    margin-bottom: 20px;
    border-radius: 4px;
}
.rapport-header-footer-section { margin-bottom: 20px; }
.rapport-global-notice { margin: 20px 0; padding: 12px; }
.rapport-skabelon-meta-box { padding: 10px; }
.rapport-status-badge { padding: 4px 8px; background: var(--rapport-status-bg); border-radius: 4px; }
.rapport-global-ai-section {
    display: none;
    margin: 20px 0;
    padding: 15px;
    background: var(--bg-secondary);
    border-radius: 6px;
    border: 1px solid var(--border);
}
.rapport-global-ai-section h4 { margin-top: 0; }
.rapport-del-ai-model-margin { margin-top: 15px; margin-bottom: 15px; }
.rapport-generator-ui, .rapport-generator-actions { display: none; margin-top: 20px; }
.rapport-kandidat-error {
    color: var(--error);
    padding: 10px;
    background: var(--error-bg, var(--error-bg, #fff5f5));
    border-left: 3px solid var(--error);
}
.rapport-updated-indicator {
    background: var(--success-bg);
    color: var(--success-text);
    padding: 8px;
    margin: 8px 0;
    border: 1px solid var(--success-border);
    border-radius: 4px;
    font-size: 0.9em;
}

/* Rapport-generator: skabelon-faneblade (Lav rapport) – brug samme tab-stil som borgerdata */
.rapport-skabelon-tabs-container.cm-tab-nav {
    /* Lav rapport tabs: arver fuldt ud fra fælles tab-nav/tab-btn – kun afstand her */
    margin-bottom: 10px;
}
.kildedata-selector-actions { margin-top: 20px; text-align: right; }
.kildedata-search {
    margin-bottom: 20px;
    padding: 10px;
    background: var(--secondary-dark);
    border-radius: 5px;
}
.kandidat-toggle {
    margin: 20px 0 15px 0;
    padding: 12px;
    background: var(--primary);
    color: white;
    border-radius: 5px;
    cursor: pointer;
    font-size: 1rem;
}
.kandidat-content {
    margin-left: 15px;
    border-left: 3px solid var(--primary);
    padding-left: 15px;
}
.struktur-toggle {
    margin: 15px 0 10px 0;
    padding: 10px;
    background: var(--info-bg, #e8f4f8);
    border-left: 4px solid var(--primary);
    cursor: pointer;
}
.struktur-header-actions { margin: 5px 0 10px 25px; }
.struktur-header-actions label { margin: 0; cursor: pointer; display: flex; align-items: center; font-size: 0.8125rem; }
.struktur-header-actions input { margin-right: 8px; cursor: pointer; }
.struktur-content { margin-left: 20px; }
.category-toggle {
    margin: 10px 0 5px 0;
    padding: 8px;
    background: var(--secondary-dark);
    border-left: 2px solid var(--text-secondary, var(--text-secondary, #666));
    cursor: pointer;
    font-size: 0.875rem;
}
.category-header-actions { margin: 5px 0 8px 23px; }
.category-header-actions label { margin: 0; cursor: pointer; display: flex; align-items: center; font-size: 0.75rem; }
.category-header-actions input { margin-right: 6px; cursor: pointer; }
.category-fields { margin-left: 15px; }
.kildedata-field {
    margin: 8px 0;
    padding: 10px;
    background: var(--bg-primary);
    border: 1px solid var(--border);
    border-radius: 3px;
}
.kildedata-field label { display: flex; align-items: flex-start; cursor: pointer; }
.kildedata-field input[type="checkbox"] { margin-right: 10px; margin-top: 2px; }
.kildedata-field-content { flex: 1; }
.kildedata-field-title { font-weight: bold; margin-bottom: 3px; }
.kildedata-field-preview { font-size: 0.75rem; color: var(--text-secondary); line-height: 1.3; }

.gemte-rapporter .rapport-item {
    border: 1px solid var(--border);
    border-radius: 5px;
    background: var(--bg-primary);
    margin-bottom: 20px;
    overflow: hidden;
}

.gemte-rapporter .rapport-header {
    background: var(--bg-secondary);
    padding: 15px;
    border-bottom: 1px solid var(--border);
}

.gemte-rapporter .rapport-info h3 {
    margin: 0 0 10px 0;
    font-size: 1.125rem;
}

.gemte-rapporter .rapport-meta {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
    font-size: 0.875rem;
    color: var(--text-secondary);
}

.gemte-rapporter .status {
    padding: 4px 8px;
    border-radius: 3px;
    font-size: 0.75rem;
    font-weight: bold;
}

.gemte-rapporter .status-publish {
    background: var(--primary);
    color: var(--bg-primary);
}

.gemte-rapporter .status-draft {
    background: var(--warning, var(--warning, #ffb900));
    color: var(--bg-primary);
}

.gemte-rapporter .rapport-preview {
    padding: 15px;
    color: var(--text-secondary);
}

.gemte-rapporter .no-reports {
    text-align: center;
    padding: 40px;
    background: var(--bg-secondary);
    border-radius: 5px;
}

.gemte-rapporter #view-modal,
.gemte-rapporter #edit-rapport-modal {
    display: none;
}
/* Når JS viser modalen (display: block), brug flex til centrering */
#view-modal[style*="block"], #edit-modal[style*="block"], #edit-rapport-modal[style*="block"] {
    display: flex !important;
    align-items: center;
    justify-content: center;
}

/* .gemte-rapporter .modal base i fælles modal-blok */
.gemte-rapporter .modal-content {
    max-width: 900px;
    width: 90%;
}
.gemte-rapporter .modal-header { background: var(--bg-secondary); }
.gemte-rapporter .modal-footer { background: var(--bg-secondary); flex-wrap: wrap; }

.gemte-rapporter .modal-header h3 { margin: 0; }

.gemte-rapporter .modal-actions-left {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.gemte-rapporter .modal-actions-right {
    display: flex;
    gap: 10px;
    align-items: center;
}

.gemte-rapporter .modal-actions-left .button {
    font-size: 0.875rem;
    padding: 6px 12px;
}

.gemte-rapporter #view-rapport-content {
    max-height: 60vh;
    overflow-y: auto;
    padding: 20px;
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: 5px;
}

.gemte-rapporter .wp-editor-container {
    margin: 15px 0;
}

.gemte-rapporter .wp-editor-container .wp-editor-wrap {
    border: 1px solid var(--border);
    border-radius: 3px;
}

.gemte-rapporter .wp-editor-container .mce-tinymce {
    border: 1px solid var(--border) !important;
    border-radius: 3px;
}

.gemte-rapporter .wp-editor-container iframe {
    min-height: 400px !important;
}

.gemte-rapporter .modal-content { max-width: 95%; width: 1200px; }
.gemte-rapporter .modal-body { max-height: calc(90vh - 120px); overflow-y: auto; }

.gemte-rapporter .mce-tinymce {
    border: 1px solid var(--border) !important;
    border-radius: 3px !important;
}

.gemte-rapporter .mce-toolbar {
    background: var(--bg-light, var(--bg-light, #f5f5f5)) !important;
    border-bottom: 1px solid var(--border) !important;
}

.gemte-rapporter .mce-btn {
    background: transparent !important;
    border: 1px solid transparent !important;
    color: var(--text-primary, var(--text-primary, #333)) !important;
    font-size: 0.875rem !important;
    padding: 4px 6px !important;
    margin: 2px 1px !important;
    border-radius: 3px !important;
    min-width: auto !important;
    height: auto !important;
}

.gemte-rapporter .mce-btn:hover {
    background: var(--border-gray) !important;
    border-color: var(--border-dark, var(--border-dark, #ccc)) !important;
}

.gemte-rapporter .mce-btn.mce-active {
    background: var(--border-light, #d0d0d0) !important;
    border-color: var(--text-muted, #aaa) !important;
}

.gemte-rapporter .mce-btn i,
.gemte-rapporter .mce-ico {
    color: var(--text-primary, var(--text-primary, #333)) !important;
    font-size: 1rem !important;
}

.gemte-rapporter .mce-toolbar .mce-btn-group {
    margin: 0 3px !important;
}

.gemte-rapporter .mce-menubar {
    background: var(--bg-light, var(--bg-light, #f9f9f9)) !important;
    border-bottom: 1px solid var(--border) !important;
}

.gemte-rapporter .mce-edit-area {
    border: none !important;
}

.gemte-rapporter .mce-statusbar {
    background: var(--bg-light, var(--bg-light, #f5f5f5)) !important;
    border-top: 1px solid var(--border) !important;
}

.gemte-rapporter .mce-container button {
    background: transparent !important;
    border: 1px solid transparent !important;
    color: var(--text-primary, var(--text-primary, #333)) !important;
    font-family: inherit !important;
    font-size: 0.875rem !important;
    padding: 4px 6px !important;
    margin: 2px 1px !important;
    border-radius: 3px !important;
    cursor: pointer !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

.gemte-rapporter .mce-container button:hover {
    background: var(--border-gray) !important;
    border-color: var(--border-dark, var(--border-dark, #ccc)) !important;
}

.gemte-rapporter .mce-container,
.gemte-rapporter .mce-container-body,
.gemte-rapporter .mce-widget,
.gemte-rapporter .mce-panel,
.gemte-rapporter .mce-floatpanel,
.gemte-rapporter .mce-menu,
.gemte-rapporter .mce-menubar,
.gemte-rapporter .mce-listbox,
.gemte-rapporter .mce-combobox,
.gemte-rapporter .mce-tooltip {
    z-index: 999999 !important;
}

.gemte-rapporter .mce-tinymce .mce-container-body .mce-toolbar-grp .mce-toolbar .mce-btn-group .mce-btn .mce-caret,
.gemte-rapporter .mce-menu.mce-menu-align .mce-menu-item {
    z-index: 999999 !important;
}

@media (max-width: 768px) {
    .gemte-rapporter .modal-footer {
        flex-direction: column;
        gap: 15px;
    }
    .gemte-rapporter .modal-actions-left,
    .gemte-rapporter .modal-actions-right {
        width: 100%;
        justify-content: center;
    }
}

/* rapportskabelon-admin */
.rapportskabelon-admin .card-header {
    background: var(--bg-secondary);
    padding: 15px;
    border-bottom: 1px solid var(--border);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.rapportskabelon-admin .card-header h4 {
    margin: 0;
    font-size: 1rem;
}

.rapportskabelon-admin .status {
    padding: 4px 8px;
    border-radius: 3px;
    font-size: 0.75rem;
    font-weight: bold;
}

.rapportskabelon-admin .status-publish {
    background: var(--primary);
    color: var(--bg-primary);
}

.rapportskabelon-admin .status-draft {
    background: var(--warning, var(--warning, #ffb900));
    color: var(--bg-primary);
}

.rapportskabelon-admin .card-body {
    padding: 15px;
}

.rapportskabelon-admin .card-actions {
    padding: 15px;
    border-top: 1px solid var(--border);
    background: var(--bg-secondary);
    text-align: right;
}

/* .rapportskabelon-admin .modal base i fælles modal-blok */
.rapportskabelon-admin .modal-content { max-width: 800px; width: 90%; }
.rapportskabelon-admin .modal-header { background: var(--bg-secondary); }
.rapportskabelon-admin .modal-footer { background: var(--bg-secondary); text-align: right; }
.rapportskabelon-admin .modal-header h3 { margin: 0; }

.rapportskabelon-admin .rapport-del-item {
    margin: 10px 0;
    border-radius: 6px;
    border: 1px solid var(--border);
    background: var(--bg-secondary);
}
.rapportskabelon-admin .rapport-del-item--missing {
    background: var(--error-bg, var(--error-bg, #fff5f5));
    border-color: var(--error, var(--error, #cc0000));
}
.rapport-del-overskrift-display { color: var(--text-secondary); font-weight: normal; cursor: text; }
.rapport-del-missing-kildedata-badge { margin-left: 8px; padding: 2px 6px; border-radius: 3px; background: var(--error, var(--error, #cc0000)); color: var(--bg-primary); font-size: 0.6875rem; font-weight: 600; }

.rapportskabelon-admin .rapport-del-header {
    background: var(--bg-secondary);
    padding: 10px 10px 0px 10px;
    border-bottom: 1px solid var(--border);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.rapportskabelon-admin .rapport-del-body {
    padding: 15px;
}

.mce-container,
.mce-container-body,
.mce-widget,
.mce-panel,
.mce-floatpanel,
.mce-menu,
.mce-menubar,
.mce-listbox,
.mce-combobox,
.mce-tooltip {
    z-index: 999999 !important;
}

.mce-tinymce .mce-container-body .mce-toolbar-grp .mce-toolbar .mce-btn-group .mce-btn .mce-caret,
.mce-menu.mce-menu-align .mce-menu-item {
    z-index: 999999 !important;
}

/* Rapport generator spinner - base styles (URL set via wp_add_inline_style) */
.spinner {
    background-size: 20px 20px;
    display: inline-block;
    opacity: 0.7;
    filter: alpha(opacity=70);
    width: 20px;
    height: 20px;
    margin: 4px 10px 0;
    position: relative;
    top: 4px;
}

.spinner.is-active {
    visibility: visible;
}

.module-container.common-container .spinner {
    float: none;
    vertical-align: middle;
    margin-left: 5px;
    visibility: hidden;
}

.module-container.common-container .spinner.is-active {
    visibility: visible;
}

/* rapportskabelon-admin modal/create section */
.rapportskabelon-admin .create-section {
    margin-bottom: 30px;
    padding: 20px 20px 2px 20px;
    background: var(--bg-secondary);
    border-radius: 5px;
}

.rapportskabelon-admin #edit-modal {
    display: none;
}


.rapportskabelon-admin .edit-form-row {
    display: flex;
    gap: 12px;
    align-items: center;
    width: 100%;
    box-sizing: border-box;
}

.rapportskabelon-admin .edit-form-row label {
    margin: 0;
    white-space: nowrap;
    display: flex;
    align-items: center;
    height: 30px;
    line-height: 1.875rem;
    padding: 0;
    margin-top: -15px;
}

.rapportskabelon-admin .edit-form-row .edit-title-input {
    flex: 1 1 auto;
    min-width: 0;
    height: 30px;
    box-sizing: border-box;
    line-height: 1.875rem;
    padding: 0 8px;
    vertical-align: middle;
}

.rapportskabelon-admin .edit-form-row .edit-status-select {
    flex: 0 0 140px;
    max-width: 140px;
    height: 30px;
    box-sizing: border-box;
    line-height: 1.875rem;
    padding: 0 8px;
    vertical-align: middle;
}

.rapportskabelon-admin #skabelon-global-ai-model-section {
    margin: 20px 0;
    background: var(--bg-secondary);
    border-radius: 6px;
    border: 1px solid var(--border);
}

.rapportskabelon-admin .ai-model-settings-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px;
    cursor: pointer;
    user-select: none;
}

.rapportskabelon-admin .ai-model-settings-header h4 {
    margin: 0;
}

.rapportskabelon-admin .ai-model-settings-toggle {
    font-size: 1.25rem;
    color: var(--text-secondary, var(--text-secondary, #50575e));
    transition: transform 0.2s ease;
    transform: rotate(-90deg);
}

.rapportskabelon-admin .ai-model-settings-content {
    display: none;
    padding: 0 15px 15px 15px;
}

.rapportskabelon-admin .rapport-section-header,
.rapportskabelon-admin .rapport-section-footer {
    margin: 20px 0;
    background: var(--border-light, #d8d9da);
    border-radius: 6px;
    border: 1px solid var(--border);
}

.rapportskabelon-admin .rapport-section-header-toggle {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px;
    cursor: pointer;
    user-select: none;
}

.rapportskabelon-admin .rapport-section-header-toggle h4 {
    margin: 0;
}

.rapportskabelon-admin .rapport-section-toggle-icon {
    font-size: 1.25rem;
    color: var(--text-secondary, var(--text-secondary, #50575e));
    transition: transform 0.2s ease;
}

.rapportskabelon-admin .rapport-section-content {
    display: none;
    padding: 0 15px 15px 15px;
}

.rapportskabelon-admin .modal-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.rapportskabelon-admin .modal-footer .button-group {
    display: flex;
    gap: 10px;
}

.rapportskabelon-admin .modal-footer .button-group.align-center {
    align-items: center;
}

.rapportskabelon-admin .rapport-section-p {
    margin-bottom: 10px;
    margin-top: 15px;
}

.rapportskabelon-admin .rapport-indent-24 {
    margin-left: 24px;
}

.rapportskabelon-admin .rapport-indent-26 {
    margin-left: 26px;
    color: var(--text-secondary);
}

/* rapport-mt-mb-15 fjernet – brug .cm-mt-15 .cm-mb-15 */

.rapportskabelon-admin .rapport-label-block {
    font-weight: 600;
    display: block;
    margin-bottom: 8px;
}

.rapportskabelon-admin .rapport-relative {
    position: relative;
}

.rapportskabelon-admin .rapport-mt-8 {
    margin-top: 8px;
    font-size: 0.75rem;
    color: var(--text-secondary);
}

.rapportskabelon-admin .rapport-mb-10 {
    margin-bottom: 10px;
}

.rapportskabelon-admin .rapport-mb-0 {
    margin-bottom: 0;
}

.rapportskabelon-admin .rapport-label-flex {
    font-weight: 600;
    display: flex;
    align-items: center;
}

.rapportskabelon-admin .rapport-checkbox-mr {
    margin-right: 8px;
    width: 18px;
    height: 18px;
}

.rapportskabelon-admin .rapport-mt-10-mb-0 {
    margin-top: 10px;
    margin-bottom: 0;
}

/* ===== JOBSØGNING INLINE CLEANUP ===== */
/* Øvrige berørte elementer: #jobsoegning-analysis-loading, jobsoegning API key, Chrome extension */

#jobsoegning-analysis-loading {
    text-align: center;
    padding: 20px;
}

#jobsoegning-analysis-results {
    display: none;
}

#jobsoegning-analysis-output {
    background: var(--bg-light);
    padding: 15px;
    border: 1px solid var(--border);
    border-radius: 4px;
    max-height: 500px;
    overflow: auto;
    white-space: pre-wrap;
    word-wrap: break-word;
}

.jobsoegning-analysis-output-p {
    margin-top: 15px;
}

.jobsoegning-analyze-cache-btn {
    margin-left: auto;
    margin-bottom: 0;
}

#profiles-pagination,
#listings-pagination {
    margin-bottom: 20px;
    text-align: center;
    display: none;
}

.jobsoegning-pagination-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
}

.jobsoegning-page-info {
    margin: 0;
}

.tab-content[id="tab-portals"],
.tab-content[id="tab-joblog-defaults"] {
    display: none;
}

.jobsoegning-hr {
    margin: 24px 0;
}

.listings-section .section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#print-vcard-buttons-wrapper {
    display: none;
}

#print-vcard-buttons-wrapper.is-visible {
    display: flex;
}

.jobsoegning-empty-contacts {
    color: var(--text-secondary);
    font-style: italic;
    padding: 20px;
    text-align: center;
}
.jobsoegning-missing-fields-badge { margin-left: 8px; }
.jobsoegning-missing-fields-badge--orange {
    background: var(--warning, var(--warning, #ff9800));
    border-color: var(--warning-dark, #e68900);
    color: white;
}
.jobsoegning-missing-fields-badge--red {
    background: var(--error, var(--error, #cc0000));
    border-color: var(--error-text, #a30000);
    color: white;
}
.jobsoegning-profile-card-warning { border-left: 4px solid var(--warning, var(--warning, #ff9800)); }
.jobsoegning-profile-card-error { border-left: 4px solid var(--error, var(--error, #cc0000)); }
.jobsoegning-profile-cv-fields-warning { color: var(--warning, var(--warning, #ff9800)); font-weight: 600; }
.jobsoegning-profile-cv-fields-warning span { color: var(--warning, var(--warning, #ff9800)); font-size: 0.6875rem; }
.jobsoegning-filter-label { font-weight: 600; margin-right: 10px; }
.jobsoegning-text-status-badge {
    background: var(--warning-bg-alt);
    color: var(--warning-text);
    padding: 2px 8px;
    border-radius: 3px;
    font-size: 0.6875rem;
    margin-left: 8px;
}
.jobsoegning-delete-listing-btn { margin-left: auto; }
.jobsoegning-loading-cv,
.jobsoegning-cv-error,
.jobsoegning-cv-empty {
    padding: 20px;
    text-align: center;
}
.jobsoegning-cv-error,
.jobsoegning-cv-empty {
    padding: 20px;
    border-radius: 5px;
}
.jobsoegning-cv-empty {
    background: var(--warning-bg-alt);
    border: 1px solid var(--warning);
}
.jobsoegning-cv-error {
    background: var(--error-bg-alt);
    border: 1px solid var(--error-border);
}
.jobsoegning-cv-field-category { margin-bottom: 8px; }
.jobsoegning-cv-field-category strong { font-size: 0.8125rem; }
.jobsoegning-cv-field-category--erfaring strong { color: var(--primary); }
.jobsoegning-cv-field-category--kompetencer strong { color: var(--warning); }
.jobsoegning-cv-field-category--opgaver strong { color: var(--success); }
.jobsoegning-add-cv-field-btn {
    margin: 2px;
    padding: 4px 8px;
    border-radius: 3px;
    cursor: pointer;
    font-size: 0.6875rem;
    background: white;
}
.jobsoegning-add-cv-field-btn--erfaring { border: 1px solid var(--primary); color: var(--primary); }
.jobsoegning-add-cv-field-btn--kompetencer { border: 1px solid var(--warning); color: var(--warning-dark, #e67e00); }
.jobsoegning-add-cv-field-btn--opgaver { border: 1px solid var(--success); color: var(--success); }
.jobsoegning-cv-map-wrapper { border: 1px solid var(--border); border-radius: 5px; background: white; }
.jobsoegning-cv-map-section { padding: 15px; }
.jobsoegning-cv-map-section--erfaring { border-bottom: 2px solid var(--primary); }
.jobsoegning-cv-map-section--kompetencer { border-bottom: 2px solid var(--warning); }
.jobsoegning-cv-map-section h4 { margin: 0 0 10px 0; }
.jobsoegning-cv-map-section--erfaring h4 { color: var(--primary); }
.jobsoegning-cv-map-section--kompetencer h4 { color: var(--warning); }
.jobsoegning-cv-map-section--opgaver h4 { color: var(--success); }
.jobsoegning-cv-map-section p { font-size: 0.75rem; color: var(--text-secondary); margin: 0 0 10px 0; }
.jobsoegning-cv-map-fields { margin-bottom: 10px; padding: 10px; background: var(--bg-secondary); border-radius: 5px; max-height: 200px; overflow-y: auto; }
.jobsoegning-cv-map-struktur { margin-bottom: 8px; }
.jobsoegning-cv-map-struktur-inner { margin-left: 15px; margin-top: 5px; }
.jobsoegning-cv-tags-header { margin-top: 10px; padding: 8px; border-radius: 5px; }
.jobsoegning-cv-tags-header--erfaring { background: var(--primary-light, var(--primary-light, #e7f3ff)); border: 1px solid var(--primary); }
.jobsoegning-cv-tags-header--erfaring strong { font-size: 0.75rem; color: var(--primary); }
.jobsoegning-cv-tags-header--kompetencer { background: var(--warning-bg-alt); border: 1px solid var(--warning); }
.jobsoegning-cv-tags-header--kompetencer strong { font-size: 0.75rem; color: var(--warning-dark, #e67e00); }
.jobsoegning-cv-tags-header--opgaver { background: var(--success-bg); border: 1px solid var(--success); }
.jobsoegning-cv-tags-header--opgaver strong { font-size: 0.75rem; color: var(--success); }
.jobsoegning-cv-tags-container--erfaring { background: var(--primary-light, var(--primary-light, #e7f3ff)); }
.jobsoegning-cv-tags-container--kompetencer { background: var(--warning-bg-alt); }
.jobsoegning-cv-tags-container--opgaver { background: var(--success-bg); }
.jobsoegning-cv-tip { margin-top: 10px; padding: 10px; background: var(--primary-light, var(--primary-light, #e7f3ff)); border-radius: 5px; }
.jobsoegning-cv-tip p { margin: 0; font-size: 0.75rem; color: var(--info-text, var(--info-text, #0066aa)); }
.jobsoegning-contact-label { font-size: 0.75rem; color: var(--text-secondary); }
.jobsoegning-cv-tags-container {
    min-height: 35px;
    padding: 8px;
    border-radius: 5px;
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    align-items: center;
}
.jobsoegning-warning-box {
    padding: 12px 15px;
    margin-bottom: 12px;
    border-radius: 4px;
    border: 1px solid var(--error, var(--error, #cc0000));
    background: var(--error-bg, var(--error-bg, #fff5f5));
}

#search-input-wrapper {
    display: none;
    margin-bottom: 20px;
    align-items: center;
    gap: 10px;
}

#search-input-wrapper.is-visible {
    display: flex;
}

.profile-category-filters {
    margin-bottom: 20px;
}

.score-filter-badges,
.status-filter-badges {
    display: none;
}

#bulk-actions-container {
    display: none;
}

.jobsoegning-profile-form-row {
    display: flex;
    gap: 10px;
    align-items: center;
}


.jobsoegning-ai-btn {
    white-space: nowrap;
}

.jobsoegning-modal-section-h4 {
    margin-top: 20px;
    border-bottom: 2px solid var(--primary);
    padding-bottom: 8px;
}

.jobsoegning-cv-integration-container {
    min-height: 100px;
    padding: 20px;
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: 5px;
}

.jobsoegning-info-box-blue {
    background: var(--primary-light, var(--primary-light, #e7f3ff));
    padding: 15px;
    border-radius: 5px;
    margin-bottom: 20px;
}

.jobsoegning-info-box-blue p {
    margin: 0;
    color: var(--primary);
}

.jobsoegning-info-box-blue .jobsoegning-info-box-p2 {
    margin: 10px 0 0 0;
    font-size: 0.75rem;
    color: var(--text-secondary);
}

.jobsoegning-ai-field-selector {
    min-height: 200px;
}

.jobsoegning-select-full {
    width: 100%;
    padding: 8px;
}

/* jobsoegning-mb20 fjernet – brug .cm-mb-20 */

/* JobSøgning API key / Chrome extension install */
.jobsoegning-api-key-box { margin-bottom: 16px; }
.jobsoegning-api-key-box label { font-weight: 600; display: block; margin-bottom: 6px; }
.jobsoegning-api-key-box .description { margin-top: 10px; }
.jobsoegning-chrome-install-box {
    margin-top: 20px;
    padding: 18px;
    background: var(--primary-light, var(--primary-light, #e7f3ff));
    border-left: 4px solid var(--primary);
    border-radius: 4px;
}
.jobsoegning-chrome-install-box h3 { margin: 0 0 12px 0; color: var(--primary); }
.jobsoegning-chrome-install-box p { margin: 0 0 12px 0; color: var(--text-secondary); }
.jobsoegning-chrome-install-box ol { margin: 0 0 16px 22px; color: var(--text-secondary); }
.jobsoegning-chrome-install-box .jobsoegning-chrome-install-ol2 { margin: 0; padding-left: 22px; color: var(--text-secondary); }
.jobsoegning-chrome-install-center { margin-bottom: 16px; text-align: center; }
.jobsoegning-chrome-badge-label { margin-top: 6px; font-size: 0.8125rem; color: var(--text-secondary, #444); }

.jobsoegning-modal-divider {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 2px solid var(--border);
}

.jobsoegning-select-400 {
    padding: 8px;
    width: 100%;
    max-width: 400px;
    margin-bottom: 15px;
}

.jobsoegning-select-200 {
    padding: 8px;
    width: 200px;
}

.jobsoegning-ai-generation-widget {
    margin: 15px 0;
}

.jobsoegning-text-right-mt20,
.jobsoegning-text-right {
    text-align: right;
}

.jobsoegning-text-right-mt20 {
    margin-top: 20px;
}

.attach-tabs {
    margin-bottom: 20px;
    border-bottom: 2px solid var(--border);
}

.attach-tab-btn {
    padding: 10px 20px;
    background: none;
    border: none;
    border-bottom: 3px solid transparent;
    cursor: pointer;
    font-weight: 600;
}

.attach-tab-btn.active {
    border-bottom-color: var(--primary);
}

.jobsoegning-info-box-warning {
    background: var(--warning-bg-alt);
    padding: 15px;
    border-radius: 5px;
    margin-bottom: 20px;
}

.jobsoegning-info-box-warning p {
    margin: 0;
    color: var(--warning-text);
}

/* .attach-tab-content → alias for .tab-content (linje ~414) */

.jobsoegning-score-high {
    font-weight: 600;
    color: var(--success-dark, #388e3c);
}

.jobsoegning-score-mid {
    font-weight: 600;
    color: var(--warning, #f57c00);
}

.jobsoegning-score-low {
    font-weight: 600;
    color: var(--error, #d32f2f);
}

.jobsoegning-score-missing {
    color: var(--text-muted);
}

/* jobsoegning-small-gray, jobsoegning-ml20-block-mb8, jobsoegning-ml20-block, jobsoegning-mb15-gray, jobsoegning-small-mt5 fjernet – brug .cm-* */

.jobsoegning-cv-desc {
    color: var(--text-secondary);
    font-size: 0.75rem;
    margin-bottom: 10px;
}

.jobsoegning-center-gray {
    text-align: center;
    color: var(--text-muted);
}

/* jobsoegning-small-mt5 fjernet – brug .cm-small-mt5 */

/* jobsoegning-analysis */
.jobsoegning-analysis {
    height: var(--jobsoegning-analysis-height, 600px);
}

.jobsoegning-analysis .analysis-content {
    display: none;
}

/* ===== coachment-addon-menu-visibility INLINE CLEANUP ===== */
.menu-visibility-admin-group {
    margin-bottom: 30px;
    padding: 15px;
    border: 1px solid var(--border);
    border-radius: 4px;
}
.menu-visibility-admin-group-label {
    display: block;
    margin-bottom: 15px;
    font-size: 1rem;
}
.menu-items-admin {
    margin-left: 30px;
    margin-top: 15px;
}
/* menu-items-admin-hidden → brug .u-hidden i markup */
.menu-items-admin-title {
    margin-bottom: 10px;
    font-weight: 600;
}
.menu-item-row {
    margin-left: calc(var(--menu-item-depth, 0) * 20px);
}
.menu-item-admin-row {
    margin-left: calc(var(--menu-item-depth, 0) * 20px);
    margin-bottom: 8px;
}
.menu-item-admin-label {
    align-items: center;
}

/* ===== coachment-addon-tone-voice INLINE CLEANUP ===== */
/* Øvrige berørte elementer: #kandidat-selection-row, tone-voice-synlighed-alle */
#kandidat-selection-row { display: none; }
.tone-voice-synlighed-alle {
    color: green;
    font-weight: bold;
}
.tone-voice-synlighed-valgte {
    color: orange;
}

/* ===== coachment-feedback INLINE CLEANUP ===== */
/* Øvrige berørte elementer: feedback-source-select, feedback-modal-label (= .cm-label) */
.feedback-source-select { margin-left: 10px; }
.coachment-feedback-remote-admin { margin-top: 20px; }
#remote-feedback-result { margin-top: 10px; }
.feedback-screenshot-admin { margin-top: 5px; }
.feedback-screenshot-admin.feedback-screenshot-admin-mb4 { margin-bottom: 4px; }
.feedback-screenshot-admin.feedback-screenshot-admin-mt5 { margin-top: 5px; }
.feedback-screenshot-admin img {
    max-width: 120px;
    max-height: 120px;
    display: block;
    border: 1px solid var(--border);
    border-radius: 2px;
}
.feedback-screenshot-admin .feedback-screenshot-admin-sm-img,
.feedback-screenshot-admin.feedback-screenshot-admin-sm img {
    max-width: 80px;
    max-height: 80px;
}
.developer-message-text { margin-top: 5px; width: 100%; }
.remote-status-done-button { margin-top: 5px; margin-left: 0; }
.coachment-feedback-footer {
    margin-top: 0px;
    margin-bottom: 0px;
    padding-top: 0px;
    padding-bottom: 5px;
}
.coachment-feedback-footer-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}
.coachment-feedback-footer-version { font-size: 0.6875rem; color: var(--text-secondary); }
.coachment-feedback-links { font-size: 0.75rem; }
.coachment-feedback-link {
    color: var(--primary);
    text-decoration: none;
}
.coachment-feedback-links a { margin-right: 15px; }
.coachment-feedback-links a:last-child { margin-right: 0; }
.feedback-screenshot-row { margin-top: 5px; display: flex; align-items: center; gap: 8px; }
#feedback-screenshot-name { font-size: 0.75rem; color: var(--text-secondary); }
#feedback-screenshot-clear { display: none; }
.feedback-loading-box { text-align: center; padding: 40px; }
.feedback-loading-box-sm { text-align: center; padding: 20px; }
.feedback-settings-th-30 { width: 30px; }
.feedback-settings-td-pr10 { padding-right: 10px; }
.feedback-settings-td-pr10-pt8 { padding-right: 10px; padding-top: 8px; }
.feedback-status-badge {
    color: white;
    padding: 3px 8px;
    border-radius: 3px;
    font-size: 0.6875rem;
    background: var(--feedback-badge-bg, var(--text-secondary, var(--text-secondary, #666)));
}

/* ===== coachment-addon-virksomhed-logs INLINE CLEANUP ===== */
/* Log/export modaler bruger nu fælles .modal/.modal-content/.modal-header/.modal-body/.modal-footer */
.virksomhed-logs-kandidat-h4 { margin-top: 24px; margin-bottom: 12px; }
/* Vis alle: sammenklap konsulent-sektion (virksomhedsliste) */
.virksomhed-logs-user-section--static .virksomhed-logs-user-section-head { margin-bottom: 12px; }
.virksomhed-logs-user-section-head { margin-top: 24px; margin-bottom: 0; }
.virksomhed-logs-kategori-head { margin-top: 0; margin-bottom: 0; }
.virksomhed-logs-user-section-toggle,
.virksomhed-logs-kategori-toggle {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    max-width: 100%;
    text-align: left;
    background: transparent;
    border: none;
    padding: 0;
    margin: 0;
    font: inherit;
    font-weight: inherit;
    color: inherit;
    cursor: pointer;
}
.virksomhed-logs-user-section-toggle:hover,
.virksomhed-logs-user-section-toggle:focus-visible,
.virksomhed-logs-kategori-toggle:hover,
.virksomhed-logs-kategori-toggle:focus-visible {
    opacity: 0.88;
}
.virksomhed-logs-user-section-chevron,
.virksomhed-logs-kategori-chevron {
    display: inline-block;
    flex-shrink: 0;
    transition: transform 0.15s ease;
    font-size: 0.75em;
    line-height: 1;
}
.virksomhed-logs-user-section-toggle[aria-expanded="false"] .virksomhed-logs-user-section-chevron,
.virksomhed-logs-kategori-toggle[aria-expanded="false"] .virksomhed-logs-kategori-chevron {
    transform: rotate(-90deg);
}
.virksomhed-logs-user-section-panel,
.virksomhed-logs-kategori-panel { margin-top: 12px; }
.log-mail-subject-label { margin-left: 10px; font-weight: bold; }
.hjemmeside-loading { margin-left: 10px; }
/* Export/log-modaler: z-index så de vises over andet indhold */
#virksomhed-log-modal, #virksomhed-export-main-modal { z-index: 10001; }
#virksomhed-export-templates-modal { z-index: 10002; }
/* Skabeloner-manager: footer-knapper i én række (undgå fuld bredde pr. knap + mobil .form-actions kolonne) */
#virksomhed-export-templates-modal .modal-footer .form-actions {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
}
#virksomhed-export-templates-modal .modal-footer .form-actions .btn,
#virksomhed-export-templates-modal .modal-footer .form-actions .button {
    width: auto;
    margin-top: 0;
}
@media (max-width: 768px) {
    #virksomhed-export-templates-modal .modal-footer .form-actions {
        flex-direction: row !important;
    }
    #virksomhed-export-templates-modal .modal-footer .form-actions .btn,
    #virksomhed-export-templates-modal .modal-footer .form-actions .button {
        width: auto !important;
        flex: 0 1 auto;
    }
}
#virksomhed-export-editor-modal { z-index: 10003; }
.virksomhed-export-btns { flex-direction: column; }
.virksomhed-export-btns .button { width: 100%; }
.virksomhed-export-close { margin-top: 16px; width: 100%; }
.virksomhed-export-list { flex-direction: column; gap: 8px; }
.virksomhed-export-list .export-use-template { width: 100%; text-align: left; }
.virksomhed-export-back { margin-top: 8px; }
.virksomhed-export-templates-list { margin: 12px 0; }
.virksomhed-export-template-row {
    align-items: center;
    margin-bottom: 8px;
    padding: 8px;
    background: var(--bg-secondary);
    border-radius: 4px;
}
.virksomhed-export-template-row > span { flex: 1; min-width: 0; }
.virksomhed-export-template-row > .u-flex-gap-8 { flex-shrink: 0; }
.virksomhed-export-template-row [data-tpl-manager-label] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
    max-height: 2.35rem;
    line-height: 1.15;
    gap: 0;
}
.virksomhed-export-template-row [data-tpl-manager-name],
.virksomhed-export-template-row [data-tpl-manager-owner] {
    flex: 0 0 auto;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.virksomhed-export-template-row [data-tpl-manager-owner] {
    margin-top: 0;
    font-size: 0.75rem;
    line-height: 1.1;
}
.button.template-delete,
.button.button-danger {
    background: var(--error) !important;
    border-color: var(--error) !important;
    color: var(--bg-primary, var(--bg-primary, #fff)) !important;
}
.button.template-delete:hover:not(:disabled):not(.disabled),
.button.button-danger:hover:not(:disabled):not(.disabled) {
    background: var(--error-text, var(--error-text, #991b1b)) !important;
    border-color: var(--error-text, var(--error-text, #991b1b)) !important;
    color: var(--bg-primary, var(--bg-primary, #fff)) !important;
}
/* virksomhed-export-editor-label: arver .cm-label */
.template-name-input { width: 100%; padding: 8px; margin-bottom: 12px; box-sizing: border-box; }
.virksomhed-export-editor-help { margin: 0 0 8px; color: var(--text-muted); font-size: 0.8125rem; }
.export-template-list { margin: 12px 0; }
.export-template-row {
    align-items: center;
    margin-bottom: 8px;
    margin-top: 0;
    padding: 8px;
    background: var(--bg-secondary);
    border-radius: 4px;
    flex-wrap: nowrap;
}
.export-template-row .export-field-enabled {
    flex-shrink: 0;
}
.export-template-row .export-field-label {
    flex: 1 1 auto;
    min-width: 0;
}
/* Fast bredde til valgfrit kolonnenavn – undgår at .input-field (width:100%) bryder én linje pr. felt */
.export-template-row input.input-field.export-field-column-name {
    width: 300px;
    max-width: 100%;
    flex: 0 0 auto;
}
.export-template-row .export-field-format {
    flex-shrink: 0;
}
.export-template-row .export-move-up,
.export-template-row .export-move-down {
    flex-shrink: 0;
}
@media (max-width: 768px) {
    /* Bevar én vandret række i skabelon-editoren (standard .cm-actions bliver kolonne på mobil) */
    .export-template-row.cm-actions {
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .export-template-row.cm-actions .button.button-small {
        width: auto;
        flex-shrink: 0;
    }
}
.virksomhed-export-editor-actions {
    justify-content: flex-end;
    margin-top: 16px;
    padding-top: 12px;
    border-top: 1px solid var(--border);
}
.log-modal-edit-btn, .log-modal-delete-btn, .log-modal-cancel-btn, .log-modal-save-btn { padding: 8px 16px; }
.log-modal-delete-btn { color: var(--error); border-color: var(--error); }
.status-meta-box-info {
    background: var(--primary-light, var(--primary-light, #e7f3ff));
    border-color: var(--primary);
}
.status-meta-box-info strong { color: var(--primary); }
.status-meta-box-info ul { margin-top: 10px; margin-bottom: 0; }
.status-type-faelles { color: var(--primary); font-weight: 500; }
.status-type-privat { color: var(--text-muted, #757575); }

/* ===== coachment-addon-jobmatch DASHBOARD INLINE CLEANUP ===== */
/* Øvrige berørte elementer: jobmatch-dashboard-tabs, jobmatch-swipe, jobmatch-data-checker */
.jobmatch-dashboard-tabs {
    margin-bottom: 20px;
    border-bottom: 1px solid var(--border-dark, var(--border-dark, #ccc));
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
/* jobmatch-dashboard-tab-hidden → brug .u-hidden i markup */

.jobmatch-status-match { color: green; font-weight: bold; }
.jobmatch-status-no-match { color: var(--text-secondary); }
.jobmatch-menu-labels-input { width: 100%; }
.jobmatch-dashboard-tabs-table { max-width: 100%; margin-bottom: 15px; }
.jobmatch-dashboard-th-order { width: 60px; }
.jobmatch-dashboard-th-id { width: 16%; }
.jobmatch-dashboard-th-label { width: 20%; }
.jobmatch-dashboard-th-shortcode { width: 44%; }
.jobmatch-dashboard-th-action { width: 60px; }
.jobmatch-dashboard-input-order { width: 60px; }
.jobmatch-dashboard-input-text { width: 100%; }
.jobmatch-checker-result-box { padding: 20px; background: var(--bg-secondary); border: 1px solid var(--border); margin: 20px 0; }
.jobmatch-checker-error { color: red; }
.jobmatch-checker-success { color: green; }
.jobmatch-checker-kandidat-box { margin: 20px 0; padding: 15px; background: white; border: 1px solid var(--border); }
.jobmatch-checker-yes { color: green; }
.jobmatch-checker-no { color: red; }
.jobmatch-checker-small { color: var(--text-secondary); }
.jobmatch-checker-li-success { color: green; }
.jobmatch-checker-li-error { color: red; }

/* JobMatch swipe/matrix UI */
.jobmatch-matrix-tr { background: var(--bg-primary); color: var(--text-primary, var(--text-primary, #000)); }
.jobmatch-matrix-td {
    background: var(--bg-primary);
    color: var(--text-primary, var(--text-primary, #000));
    border: 1px solid var(--text-primary, var(--text-primary, #000));
    padding: 3px 4px;
    font-size: 0.6875rem;
}
.jobmatch-matrix-field-name strong { font-size: 0.6875rem; }
.jobmatch-matrix-field-name small { color: var(--text-secondary); font-size: var(--cm-font-size-sm); }
.jobmatch-matrix-code { background: var(--bg-primary); color: var(--primary); border: 1px solid var(--text-primary, var(--text-primary, #000)); padding: 1px 3px; font-size: var(--cm-font-size-sm); }
.jobmatch-matrix-code-black { color: var(--text-primary, var(--text-primary, #000)); }
.jobmatch-matrix-weight { font-size: 0.6875rem; }
.match-direction-select { width: 100%; font-size: var(--cm-font-size-sm); padding: 2px 4px; }
.jobmatch-matrix-empty { color: var(--text-muted); }
.jobmatch-matrix-td-center { text-align: center; padding: 20px; }
.jobmatch-matrix-td-status { text-align: center; font-weight: bold; }
.jobmatch-status-ok { color: var(--success-dark, #00aa00); }
.jobmatch-status-partial { color: var(--warning, #ff8800); }
.jobmatch-status-fail { color: var(--error-text, #aa0000); }
.jobmatch-status-none { color: var(--text-primary, var(--text-primary, #000)); }

/* JobMatch data checker recovery warning */
.jobmatch-checker-recovery-box {
    background: var(--warning-bg-alt);
    border: 2px solid var(--warning);
    padding: 15px;
    margin: 20px 0;
}
.jobmatch-checker-recovery-box h4 {
    color: var(--warning-text);
    margin-top: 0;
}
.match-input { width: 100%; }
.match-input.match-input-textarea { min-height: 60px; }
.number-range-group, .number-timer-group { display: flex; gap: 3px; align-items: center; flex-wrap: wrap; }
.number-range-group > div { flex: 1; min-width: 0; }
.number-range-group label, .number-range-group .number-range-label { display: block; font-weight: 600; margin-bottom: 2px; font-size: var(--cm-font-size-sm); }
.number-range-group .number-range-inner { display: flex; gap: 3px; align-items: center; }
.match-input.number-range-input { width: 50px; min-width: 45px; font-size: var(--cm-font-size-sm); padding: 2px 4px; }
.match-input.number-range-single { width: 100%; font-size: var(--cm-font-size-sm); padding: 2px 4px; }
.match-input.select-multiple { min-height: 60px; }

/* ===== JobMatch Admin Dashboard ===== */
.jobmatch-admin-mt30 { margin-top: 30px; }
.jobmatch-admin-mt15 { margin-top: 15px; }
.jobmatch-admin-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; }
.jobmatch-admin-grid-150 { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 15px; }
.jobmatch-admin-trend-card { background: var(--bg-secondary); padding: 15px; border-radius: 8px; }
.jobmatch-admin-trend-card h5 { margin-top: 0; }
.jobmatch-admin-chart-row { height: 200px; display: flex; align-items: flex-end; gap: 2px; }
.jobmatch-admin-chart-row-1 { gap: 1px; }
.jobmatch-admin-chart-bar { flex: 1; min-height: 2px; height: var(--chart-bar-height, 0); border-radius: 2px 2px 0 0; }
.jobmatch-admin-chart-bar-sm { min-height: 1px; }
.jobmatch-admin-swipe-stack {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: 1px;
}
.jobmatch-admin-funnel-bar-inner {
    height: 100%;
    width: var(--funnel-width, 0);
    background: var(--funnel-bg, var(--primary));
    transition: width 0.3s;
}
.jobmatch-admin-chart-bar-blue { background: var(--primary); }
.jobmatch-admin-chart-bar-green { background: var(--success-dark, var(--success-dark, #00a32a)); }
.jobmatch-admin-chart-bar-red { background: var(--error); }
.jobmatch-admin-chart-bar-wp { background: var(--primary); }
.jobmatch-admin-chart-caption { font-size: 0.75rem; color: var(--text-secondary); margin-top: 10px; margin-bottom: 0; }
.jobmatch-admin-chart-caption-sm { font-size: 0.6875rem; text-align: center; }
.jobmatch-admin-legend-green { color: var(--success-dark, var(--success-dark, #00a32a)); }
.jobmatch-admin-legend-red { color: var(--error); }
.jobmatch-admin-funnel-box { background: var(--bg-secondary); padding: 20px; border-radius: 8px; }
.jobmatch-admin-funnel-steps { display: flex; flex-direction: column; gap: 15px; }
.jobmatch-admin-funnel-row { display: flex; justify-content: space-between; margin-bottom: 5px; }
.jobmatch-admin-funnel-row strong { font-weight: 600; }
.jobmatch-admin-funnel-row span { color: var(--text-secondary); }
.jobmatch-admin-funnel-bar-bg { background: var(--border-gray); height: 30px; border-radius: 4px; overflow: hidden; }
.jobmatch-admin-funnel-divider { margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--border); }
.jobmatch-admin-stat-lg { font-size: 1.5rem; margin: 5px 0 0 0; }
.jobmatch-admin-stat-blue { color: var(--primary); }
.jobmatch-admin-stat-green { color: var(--success-dark, var(--success-dark, #00a32a)); }
.jobmatch-admin-stat-wp { color: var(--primary); }
.jobmatch-admin-danger-section { border-top: 2px solid var(--error); padding-top: 20px; margin-top: 30px; }
.jobmatch-admin-danger-section h3 { color: var(--error); }
.jobmatch-admin-form-inline { margin-top: 15px; display: inline-block; margin-right: 10px; }
.jobmatch-admin-form-inline:last-of-type { margin-right: 0; }
.jobmatch-admin-note { color: var(--text-secondary); font-size: 0.75rem; margin-top: 5px; }
.jobmatch-admin-note-italic { color: var(--text-secondary); font-style: italic; }

/* JobMatch task card admin meta box */
.jobmatch-task-admin-row { display: flex; gap: 10px; align-items: center; }
.jobmatch-task-admin-row-tight { gap: 5px; }
/* .jobmatch-task-admin-input-80/100 erstattet af .cm-input-w-80, .cm-input-w-100 */

/* JobMatch kandidat admin meta boxes */
/* .jobmatch-kandidat-info-box base → .cm-info-box-blue (linje ~740) */
.jobmatch-kandidat-info-box-sm { background: var(--primary-light, var(--primary-light, #e7f3ff)); border-left: 4px solid var(--primary); padding: 12px; margin-bottom: 15px; }
.jobmatch-kandidat-info-box .button { margin-top: 10px; }
.jobmatch-kandidat-info-box-note { margin-top: 15px; font-size: 0.75rem; color: var(--text-secondary); }
.jobmatch-kandidat-warning-box { background: var(--warning-bg-alt); border-left: 4px solid var(--warning); padding: 12px; margin-bottom: 15px; }
.jobmatch-kandidat-admin-ul { list-style: disc; margin-left: 20px; }

/* JobMatch test data tool – flyttet til common-test.css */

/* ===== FRONTEND-SPECIFIK (fra frontend.css) ===== */
.module-container.common-container {
  box-shadow: var(--shadow);
  margin-bottom: 2em;
  background: var(--bg-primary);
  border-radius: 12px;
  padding: 24px 20px;
  border: 1px solid var(--border);
  max-width: 100%;
  overflow-x: unset;
}
/* Knapper i .module-container.common-container arver .button design – ingen override */
.module-container.common-container table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--bg-secondary);
  border-radius: 12px;
  margin-bottom: 16px;
  table-layout: auto;
}
.module-container.common-container th, .module-container.common-container td {
  padding: 10px 12px;
  text-align: left;
  border-bottom: 1px solid var(--border);
  font-size: 0.9375rem;
}
.module-container.common-container th {
  background: var(--secondary);
  font-weight: 600;
  color: var(--primary);
}
.module-container.common-container tr:last-child td { border-bottom: none; }
.module-container.common-container table tr:hover { background-color: var(--primary-light); }
.module-container.common-container form { margin-bottom: 1.5em; }
.module-container.common-container form label { display: block; margin-bottom: 0.5em; font-weight: bold; }
/* Input/textarea/select arver fra FORM ELEMENTER (linje ~181) */
.module-container.common-container .notification,
.module-container.common-container .updated,
.module-container.common-container .error {
  padding: 10px 15px;
  margin-bottom: 1em;
  border-radius: 4px;
  font-weight: bold;
}
.module-container.common-container .updated { background-color: var(--success-bg); color: var(--success-text); border: 1px solid var(--success-border); }
.module-container.common-container .error { background-color: var(--error-bg-alt); color: var(--error-text); border: 1px solid var(--error-border); }
@media (max-width: 700px) {
  .module-container.common-container table, .module-container.common-container tbody, .module-container.common-container tr { display: block; width: 100%; }
  .module-container.common-container th, .module-container.common-container td { display: block; width: 100%; box-sizing: border-box; padding: 8px 0 0 0; text-align: left; }
  .module-container.common-container th { background: none; font-size: 1em; color: var(--primary); padding-bottom: 0; }
  .module-container.common-container td { padding-top: 0; padding-bottom: 1em; }
  .module-container.common-container input[type="text"],
  .module-container.common-container input[type="email"],
  .module-container.common-container input[type="number"],
  .module-container.common-container input[type="date"],
  .module-container.common-container input[type="url"],
  .module-container.common-container select,
  .module-container.common-container textarea { width: 100%; min-width: 0; box-sizing: border-box; font-size: 1.1em; }
}
@media (max-width: 700px) {
  .module-container.common-container .button, .module-container.common-container button { width: 100%; margin: 6px 0; font-size: 1rem; }
  .module-container.common-container input[type="text"], .module-container.common-container select, .module-container.common-container textarea { font-size: 1rem; }
}
.virksomhed-actions { display: flex; flex-direction: row; align-items: center; gap: 16px; justify-content: flex-start; flex-wrap: wrap; }
.virksomhed-hjemmeside-wrap { min-width: 0; }
.virksomhed-actions .virksomhed-hjemmeside-wrap.cm-input-flex {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.virksomhed-actions .virksomhed-hjemmeside-wrap .virk-hjemmeside-input {
  min-width: 130px;
  width: 130px;
  flex: 0 0 auto;
}
.virksomhed-actions .button, .virksomhed-actions button { text-decoration: none !important; line-height: 1.2; vertical-align: middle; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; }
.virksomhed-actions .company-ai-report-button {
  position: static !important;
  inset: auto !important;
  margin: 0 !important;
  transform: none !important;
}
.vl-btn-stack {
  position: relative;
  z-index: 5;
  display: inline-flex;
  align-items: stretch;
  gap: 0;
}
.vl-btn-stack-main .button,
.vl-btn-stack-main button {
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}
.vl-btn-stack-toggle {
  min-width: 34px;
  padding-left: 10px;
  padding-right: 10px;
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
}
.vl-btn-stack-menu {
  position: absolute;
  top: calc(100% + 4px);
  right: 0;
  z-index: 10050;
  min-width: 190px;
  background: var(--bg-primary, var(--bg-primary, #fff));
  border: 1px solid #d5d9df;
  border-radius: 6px;
  box-shadow: 0 8px 20px rgba(0,0,0,0.12);
  padding: 6px;
}
.vl-btn-stack-menu .vl-btn-stack-item {
  display: block !important;
  width: 100% !important;
  margin: 0 0 6px !important;
  text-align: left !important;
}
.vl-btn-stack-menu .vl-btn-stack-item:last-child {
  margin-bottom: 0 !important;
}
/* overflow: visible så vl-btn-stack-menu ikke klippes af boksen; z-index ved åben menu løfter over næste kort */
.virksomhed-box { box-sizing: border-box; padding: 16px; background: var(--bg-secondary); border: 2px solid var(--border); border-radius: 8px; margin-bottom: 24px; overflow: visible; position: relative; }
.virksomhed-box:has(.vl-btn-stack-toggle[aria-expanded="true"]) { z-index: 40; }
/* Når en stack's foldud-menu er åben, skal den (og dens menu) ligge over søsken-stakke i toolbar-rækker, så fx "Nulstil søgning" ikke dækker en åben "Eksport til Excel"-menu. Default z-index er 5 (fælles for alle stakke), så her løftes kun den åbne stak. */
.vl-btn-stack:has(.vl-btn-stack-toggle[aria-expanded="true"]) { z-index: 60; }
@media (max-width: 700px) {
  .virksomhed-actions { display: flex; flex-direction: column; align-items: stretch; gap: 8px; width: 100%; }
  .virksomhed-actions > * { width: 100% !important; box-sizing: border-box; margin: 0 !important; }
  .vl-btn-stack,
  .vl-btn-stack-main,
  .vl-btn-stack-main > * {
    width: 100%;
  }
  .virksomhed-box { padding: 8px; }
}
@media (max-width: 700px) {
  .log-form { display: flex; flex-direction: column; gap: 12px; padding: 12px 4px; background: var(--success-bg); border-radius: 6px; margin-bottom: 16px; }
  .log-form > div, .log-form > p, .log-form > label { width: 100%; margin: 0; }
  .log-form label { margin-bottom: 4px; font-weight: bold; }
  .log-form input[type="text"], .log-form input[type="email"], .log-form input[type="number"], .log-form input[type="date"], .log-form input[type="url"], .log-form select, .log-form textarea { width: 100%; box-sizing: border-box; margin-bottom: 0; font-size: 1rem; }
  .log-form .button, .log-form button { width: 100%; margin: 0; }

  /* Mobil: status-vælger skal være tydelig og touch-venlig i modal/log-form */
  .log-form .log-status-dropdown,
  .log-form .log-status-choose,
  .log-form .log-status-dropdown-wrap select,
  .log-form select[name="log_status"] {
    font-size: 1.0625rem !important;
    line-height: 1.4 !important;
    min-height: 44px;
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .log-form .log-status-dropdown option,
  .log-form .log-status-choose option,
  .log-form .log-status-dropdown-wrap select option,
  .log-form select[name="log_status"] option {
    font-size: 1rem !important;
    line-height: 1.35;
  }

  .log-form .log-status-dropdown.mobile-status-picker-native-hidden {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  .log-form .mobile-status-picker-open {
    width: 100% !important;
    text-align: left !important;
    min-height: 44px;
    font-size: 1.0625rem !important;
    line-height: 1.35 !important;
    padding: 10px 12px !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}

.mobile-status-picker-modal {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  z-index: 1000000;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}

.mobile-status-picker-sheet {
  width: min(720px, 100%);
  max-height: 80vh;
  background: var(--bg-primary);
  border-radius: 14px 14px 0 0;
  overflow: hidden;
  box-shadow: 0 -8px 30px rgba(0, 0, 0, 0.28);
}

.mobile-status-picker-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 14px;
  border-bottom: 1px solid var(--border-light);
}

.mobile-status-picker-close {
  border: 0;
  background: transparent;
  font-size: 1.5rem;
  line-height: 1;
  color: var(--text-primary);
  cursor: pointer;
}

.mobile-status-picker-sheet .mobile-status-picker-search {
  display: block;
  width: calc(100% - 24px);
  margin: 8px 12px;
  box-sizing: border-box;
}

.mobile-status-picker-list {
  max-height: calc(80vh - 56px);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 8px;
}

.mobile-status-picker-group {
  font-size: 0.75rem;
  color: var(--text-muted);
  padding: 8px 6px 4px;
  font-weight: 700;
}

.mobile-status-picker-item {
  display: block;
  width: 100%;
  border: 1px solid var(--border-light);
  background: var(--bg-secondary);
  color: var(--text-primary);
  border-radius: 10px;
  text-align: left;
  font-size: 1rem;
  line-height: 1.35;
  padding: 11px 12px;
  margin: 0 0 8px 0;
  cursor: pointer;
}

.mobile-status-picker-item.is-active {
  border-color: var(--primary);
  background: var(--primary-light);
}
.log-form label > input[type="checkbox"].send-email-checkbox { margin-right: 6px; vertical-align: middle; }
.log-form label > input[type="checkbox"].send-email-checkbox { display: inline-block; width: auto; }
.log-form label.send-email-label { display: inline-flex; align-items: center; font-weight: normal; }
input[type="checkbox"].send-email-checkbox + label { display: inline; font-weight: normal; margin-left: 4px; }
.module-container.common-container td[data-label="Indhold"], .module-container.common-container .log-content, .table-responsive td[data-label="Indhold"] { word-break: break-word; white-space: pre-line; }
.virksomhed-actions .button, .virksomhed-actions button { text-align: center; }
/* Knap-layout: ingen visuel override – bruger .button design */
@media (max-width: 700px) {
  .module-container.common-container .button, .module-container.common-container button, .module-container.common-container input[type="submit"], .virksomhed-actions .button, .virksomhed-actions button { width: 100%; min-width: 0; max-width: 100%; margin: 6px 0; font-size: 1rem; height: auto; padding: 8px 18px; display: block; }
}
.log-form .button, .log-form button { display: inline-flex !important; align-items: center; width: auto !important; margin-right: 12px; margin-bottom: 0.5em; vertical-align: middle; }
.log-form .button:last-child, .log-form button:last-child { margin-right: 0; }
@media (max-width: 700px) {
  .log-form .button, .log-form button { display: block !important; width: 100% !important; margin-right: 0; margin-bottom: 0.5em; }
}
@media (max-width: 700px) { .log-form button { display: block !important; width: 100% !important; margin-right: 0; margin-bottom: 0.5em; } }
.module-container.common-container .company-item .google-search-button, .module-container.common-container .company-item .route-button { width: auto !important; min-width: 80px !important; max-width: 320px; display: inline-block !important; margin-left: 8px !important; margin-right: 0 !important; margin-bottom: 0 !important; box-sizing: border-box; }
@media (max-width: 700px) {
  .module-container.common-container .company-item .google-search-button, .module-container.common-container .company-item .route-button { width: auto !important; min-width: 80px !important; max-width: 100%; display: inline-block !important; margin-left: 8px !important; margin-right: 0 !important; margin-bottom: 0.5em !important; }
}
.module-container.common-container .company-item { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.module-container.common-container .company-item .company-details { flex-basis: 100%; margin-left: 32px; margin-top: 6px; }
@media (max-width: 700px) {
  .module-container.common-container .company-item { flex-direction: column; align-items: stretch; gap: 4px; }
  .module-container.common-container .company-item .company-details { margin-left: 0; }
}
.kildedata-display-tags { margin: 5px 0; }
.kildedata-tag { display: inline-block; background: var(--bg-gray); border: 1px solid var(--border); border-radius: 3px; padding: 2px 8px; margin: 2px; font-size: 0.75rem; position: relative; }
.kildedata-tag .remove-tag { background: none; border: none; color: var(--text-muted); cursor: pointer; font-size: 0.75rem; margin-left: 5px; padding: 0; }
.kildedata-tag .remove-tag:hover { color: var(--error); }
#kildedata-selector-modal { z-index: 999999; }
#kildedata-selector-content { box-shadow: 0 5px 15px rgba(0,0,0,0.3); }
#kildedata-selector-list { max-height: 400px; overflow-y: auto; border: 1px solid var(--border); padding: 10px; background: var(--bg-secondary); }
#kildedata-selector-list label { cursor: pointer; padding: 5px; border-radius: 3px; }
#kildedata-selector-list label:hover { background: var(--primary-light, #e6f3ff); }
.ai-sektion { background: var(--bg-secondary); border: 1px solid var(--secondary-dark); border-radius: 4px; padding: 15px; margin: 10px 0; }
.ai-sektion h4 { margin-top: 0; color: var(--text-primary); }
.ai-sektion label b, .rapport-del-item label b, #edit-modal label b { font-weight: bold; }
.ai-sektion input[type="checkbox"] + label, .ai-sektion input[type="radio"] + label, .rapport-del-item input[type="checkbox"] + label, .rapport-del-item input[type="radio"] + label, #edit-modal input[type="checkbox"] + label, #edit-modal input[type="radio"] + label { font-weight: normal; }
.ai-sektion label:has(input[type="checkbox"]), .ai-sektion label:has(input[type="radio"]), .rapport-del-item label:has(input[type="checkbox"]), .rapport-del-item label:has(input[type="radio"]), #edit-modal label:has(input[type="checkbox"]), #edit-modal label:has(input[type="radio"]) { font-weight: normal; }
.rapport-del-item.postbox { margin-bottom: 20px; }
.rapport-del-item .postbox-header { background: var(--bg-gray); border-bottom: 1px solid var(--border, var(--border, var(--border, var(--border, #c3c4c7)))); }
.rapport-del-item .handle-actions { float: right; margin: 8px 8px 0 0; }
.rapport-del-item .move-rapport-del-up, .rapport-del-item .move-rapport-del-down { background: none; border: none; color: var(--text-muted); cursor: pointer; font-size: 1rem; font-weight: bold; padding: 2px 6px; margin-right: 4px; border-radius: 3px; line-height: 1; text-decoration: none; }
.rapport-del-item .move-rapport-del-up:hover, .rapport-del-item .move-rapport-del-down:hover { background: var(--secondary-dark); color: var(--primary-dark, var(--primary-dark, #135e96)); }
.rapport-del-item .move-rapport-del-up:disabled, .rapport-del-item .move-rapport-del-down:disabled { color: var(--border, var(--border, var(--border, var(--border, #c3c4c7)))); cursor: default; }
.rapport-del-item .move-rapport-del-up:disabled:hover, .rapport-del-item .move-rapport-del-down:disabled:hover { background: none; color: var(--border, var(--border, var(--border, var(--border, #c3c4c7)))); }
.add-rapport-del-between { text-align: center; margin: 15px 0; padding: 10px 0; border-top: 1px dashed var(--border, var(--border, var(--border, var(--border, #c3c4c7)))); border-bottom: 1px dashed var(--border, var(--border, var(--border, var(--border, #c3c4c7)))); background: var(--bg-secondary); }
.add-rapport-del-btn { font-size: 0.75rem; padding: 4px 8px; min-height: 28px; line-height: 1.4; opacity: 0.7; transition: opacity 0.2s ease; }
.add-rapport-del-btn:hover { opacity: 1; }
.tone-custom-text { margin-top: 10px; }
.behandling-type-radio { margin-right: 5px; }
.skabelon-card .card-actions { margin-top: 15px; }
@media (max-width: 768px) { .skabelon-card .card-actions .button { width: 100%; text-align: center; } }
#rapport-generator-actions p, #rapport-generator-actions .button-group { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
#rapport-generator-actions .button { display: inline-block; margin: 0; white-space: nowrap; }
#rapport-generator-actions #save-rapport-status { margin-left: 10px; flex: 1; min-width: 200px; }
@media (max-width: 768px) {
  #rapport-generator-actions p, #rapport-generator-actions .button-group { flex-direction: column; align-items: stretch; gap: 8px; }
  #rapport-generator-actions .button { width: 100%; text-align: center; }
  #rapport-generator-actions .button-group .button { width: 100%; text-align: center; }
  #rapport-generator-actions #save-rapport-status { margin-left: 0; margin-top: 8px; min-width: auto; }
}
/* Arver .cm-actions */
.skabelon-card h4 { margin-top: 0; margin-bottom: 10px; }
.skabelon-card .actions { margin-top: 10px; }
.skabelon-card .actions .button { margin-right: 10px; display: inline-block; width: auto; }
/* Rapport-modaler: større layout (1200px, 98vh) – overlay arver fra .modal base */
#view-modal .modal-content,
#edit-modal .modal-content,
#edit-rapport-modal .modal-content {
  width: 1200px;
  max-width: 95%;
  height: 98vh;
  margin: 1% auto;
  display: flex;
  flex-direction: column;
}
#view-modal .modal-header,
#edit-modal .modal-header,
#edit-rapport-modal .modal-header { padding: 20px; background: var(--bg-secondary); border-bottom: 1px solid var(--border); flex-shrink: 0; }
#view-modal .modal-body,
#edit-modal .modal-body,
#edit-rapport-modal .modal-body { flex: 1; overflow-y: auto; max-height: calc(98vh - 140px); }
#view-modal .modal-footer,
#edit-modal .modal-footer,
#edit-rapport-modal .modal-footer { padding: 20px; background: var(--bg-secondary); border-top: 1px solid var(--border); flex-shrink: 0; }
#edit-modal .modal-header h3 { margin: 0; }
#edit-modal .form-table { width: 100%; }
#edit-modal .form-table th { width: 150px; text-align: left; vertical-align: top; padding-top: 10px; }
#edit-modal .form-table td { padding: 5px 0; }
.wp-editor-wrap { margin: 10px 0; }
.mce-container, .mce-container *, .mce-widget, .mce-widget *, .mce-reset { color: var(--text-primary, #32373c) !important; }
.mce-toolbar { background: var(--bg-gray) !important; border-bottom: 1px solid var(--border) !important; }
.mce-toolbar .mce-btn { background: transparent !important; border: 1px solid transparent !important; color: var(--text-secondary, var(--text-secondary, #555)) !important; text-shadow: none !important; box-shadow: none !important; }
.mce-toolbar .mce-btn:hover { background: var(--bg-gray-light) !important; border-color: var(--text-muted, var(--text-muted, #999)) !important; color: var(--bg-gray, var(--bg-gray, #23282d)) !important; }
.mce-toolbar .mce-btn.mce-active, .mce-toolbar .mce-btn:active { background: #e5e5e5 !important; border-color: var(--text-muted, #aaa) !important; color: var(--bg-gray, var(--bg-gray, #23282d)) !important; box-shadow: inset 0 2px 5px -3px rgba(0,0,0,.3) !important; }
.mce-ico { color: var(--text-secondary, var(--text-secondary, #555)) !important; }
.mce-btn:hover .mce-ico, .mce-btn.mce-active .mce-ico, .mce-btn:active .mce-ico { color: var(--bg-gray, var(--bg-gray, #23282d)) !important; }
.mce-menubar { background: var(--bg-gray) !important; border-bottom: 1px solid var(--border) !important; }
.mce-menubar .mce-btn { color: var(--text-secondary, var(--text-secondary, #555)) !important; background: transparent !important; border: 1px solid transparent !important; }
.mce-menubar .mce-btn:hover { background: var(--bg-gray-light) !important; border-color: var(--text-muted, var(--text-muted, #999)) !important; color: var(--bg-gray, var(--bg-gray, #23282d)) !important; }
.mce-edit-area { border: 1px solid var(--border) !important; }
.mce-edit-area iframe { background: var(--bg-primary, var(--bg-primary, #fff)) !important; }
.mce-statusbar { background: var(--bg-gray) !important; border-top: 1px solid var(--border) !important; color: var(--text-secondary, var(--text-secondary, #555)) !important; }
.mce-panel { background: var(--bg-gray) !important; border: 1px solid var(--border) !important; }
.mce-listbox button { background: var(--bg-primary, var(--bg-primary, #fff)) !important; border: 1px solid var(--border) !important; color: var(--text-secondary, var(--text-secondary, #555)) !important; }
.mce-listbox button:hover { border-color: var(--text-muted, var(--text-muted, #999)) !important; color: var(--bg-gray, var(--bg-gray, #23282d)) !important; }
.mce-menu { background: var(--bg-primary, var(--bg-primary, #fff)) !important; border: 1px solid var(--border) !important; box-shadow: 0 3px 5px rgba(0,0,0,0.2) !important; }
.mce-menu .mce-menu-item { color: var(--text-primary, #32373c) !important; }
.mce-menu .mce-menu-item:hover, .mce-menu .mce-menu-item.mce-selected { background: var(--primary) !important; color: var(--bg-primary, var(--bg-primary, #fff)) !important; }
.mce-container button, .mce-container .mce-btn { background: transparent !important; color: var(--text-secondary, var(--text-secondary, #555)) !important; border: 1px solid transparent !important; border-radius: 3px !important; padding: 4px 8px !important; margin: 0 !important; font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif !important; font-size: 0.8125rem !important; line-height: 1.4 !important; cursor: pointer !important; text-decoration: none !important; text-shadow: none !important; box-shadow: none !important; }
.mce-container button:hover, .mce-container .mce-btn:hover { background: var(--bg-gray-light) !important; border-color: var(--text-muted, var(--text-muted, #999)) !important; color: var(--bg-gray, var(--bg-gray, #23282d)) !important; }
.mce-container button:active, .mce-container .mce-btn:active, .mce-container button.mce-active, .mce-container .mce-btn.mce-active { background: #e5e5e5 !important; border-color: var(--text-muted, #aaa) !important; color: var(--bg-gray, var(--bg-gray, #23282d)) !important; box-shadow: inset 0 2px 5px -3px rgba(0,0,0,.3) !important; }
#edit-modal .mce-container, #edit-modal .mce-container-body, #edit-modal .mce-widget, #edit-modal .mce-panel, #edit-modal .mce-floatpanel, #edit-modal .mce-menu, #edit-modal .mce-menubar, #edit-modal .mce-listbox, #edit-modal .mce-combobox { z-index: 999999 !important; }
#edit-modal .mce-tooltip { z-index: 999999 !important; }
#edit-modal .mce-tinymce .mce-container-body .mce-toolbar-grp .mce-toolbar .mce-btn-group .mce-btn .mce-caret { z-index: 999999 !important; }
#edit-modal .mce-menu.mce-menu-align .mce-menu-item { z-index: 999999 !important; }
@media (max-width: 768px) {
  #edit-modal .modal-content { width: 95%; margin: 5% auto; max-height: 95vh; }
  #edit-modal .modal-body { max-height: calc(95vh - 140px); }
  #edit-modal .modal-footer { flex-direction: column; gap: 15px; }
  .skabelon-card .actions .button { display: block; width: 100%; margin-bottom: 5px; margin-right: 0; }
}
.struktur-header-actions, .category-header-actions { border-bottom: 1px solid var(--border-gray); padding-bottom: 8px; margin-bottom: 10px; }
.struktur-header-actions label, .category-header-actions label { color: var(--text-secondary); font-weight: normal; }
.select-all-struktur, .select-all-category { margin-right: 6px !important; }
.select-all-struktur:indeterminate, .select-all-category:indeterminate { opacity: 0.8; }
.struktur-header-actions label:hover, .category-header-actions label:hover { color: var(--text-primary); }
@media (max-width: 768px) { .struktur-header-actions, .category-header-actions { margin-left: 15px !important; font-size: 0.6875rem; } }
/* .modal og .modal-content base i fælles modal-blok (linje ~233) */
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes slideIn { from { opacity: 0; transform: translateY(-30px); } to { opacity: 1; transform: translateY(0); } }
.modal-content h3 { margin: 0 0 20px 0; font-size: var(--cm-font-size-modal-title); color: var(--text-primary); padding-right: 30px; }
/* .modal .form-group/.form-row arver fra fælles form-base */
.modal .form-actions { margin-top: 0; text-align: right; border-top: none; padding-top: 0; }
.modal .form-actions .button,
.modal .form-actions .btn { margin-left: 10px; flex-shrink: 0; min-width: min-content; }
/* Annuller/secondary tydelig forskel fra primary (overstyrer evt. WP blå) */
.button-secondary,
.btn.button-secondary { background: var(--secondary); color: var(--text-primary); border-color: var(--border); }
.button-secondary:hover:not(:disabled):not(.disabled),
.btn.button-secondary:hover:not(:disabled):not(.disabled) { background: var(--secondary-dark); border-color: var(--border-dark); color: var(--text-primary); }
@media (max-width: 768px) { .modal-content { width: 95%; margin: 2% auto; max-height: 90vh; } }
#toast-container { position: fixed; top: 20px; right: 20px; z-index: 10000; max-width: 350px; }
.toast { background: var(--bg-primary); border: 1px solid var(--border); border-radius: 4px; padding: 12px 16px; margin-bottom: 10px; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); cursor: pointer; position: relative; overflow: hidden; transform: translateX(100%); opacity: 0; transition: all 0.3s ease; font-size: 0.875rem; line-height: 1.4; }
.jobmatch-category { background: var(--bg-primary, var(--bg-primary, #fff)); border: 1px solid var(--border, var(--border, #ccd0d4)); border-radius: 4px; margin-bottom: 20px; padding: 15px; box-shadow: 0 1px 1px rgba(0,0,0,.04); cursor: move; }
.jobmatch-category:hover { border-color: var(--text-muted, var(--text-muted, #999)); }
.category-header { display: flex; align-items: center; gap: 10px; margin-bottom: 15px; padding-bottom: 10px; border-bottom: 1px solid var(--border-light, var(--border-light, #eee)); cursor: move; }
.category-header::before { content: "☰"; font-size: 1.125rem; color: var(--text-muted, var(--text-muted, #999)); margin-right: 5px; cursor: move; }
.category-toggle-collapse { background: none; border: none; padding: 5px; cursor: pointer; color: var(--text-secondary, var(--text-secondary, #666)); display: flex; align-items: center; justify-content: center; width: 24px; height: 24px; transition: transform 0.2s ease; flex-shrink: 0; }
.category-toggle-collapse:hover { color: var(--primary, var(--primary, #2271b1)); }
.category-toggle-collapse .dashicons { font-size: 1.125rem; width: 18px; height: 18px; transition: transform 0.2s ease; }
.jobmatch-category.category-collapsed .category-toggle-collapse .dashicons { transform: rotate(-90deg); }
.jobmatch-category.category-collapsed .category-content { display: none; }
/* Prevent drag when clicking on toggle button */
.category-toggle-collapse { cursor: pointer !important; }
.category-title { flex: 1; font-size: 1rem; font-weight: 600; cursor: text; }
.category-placeholder { background: var(--bg-gray, var(--bg-gray, #f0f0f0)); border: 2px dashed var(--text-muted, var(--text-muted, #999)); height: 100px; margin-bottom: 20px; border-radius: 4px; }
.jobmatch-field { background: var(--bg-light, var(--bg-light, #f9f9f9)); border: 1px solid var(--border, var(--border, #ddd)); border-radius: 4px; margin-bottom: 15px; padding: 15px; cursor: move; }
.jobmatch-field:hover { border-color: var(--text-muted, var(--text-muted, #999)); }
.field-header { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; cursor: move; }
.field-header::before { content: "☰"; font-size: 1rem; color: var(--text-muted, var(--text-muted, #999)); margin-right: 5px; cursor: move; }
.field-toggle-collapse { background: none; border: none; padding: 5px; cursor: pointer; color: var(--text-secondary, var(--text-secondary, #666)); display: flex; align-items: center; justify-content: center; width: 24px; height: 24px; transition: transform 0.2s ease; flex-shrink: 0; }
.field-toggle-collapse:hover { color: var(--primary, var(--primary, #2271b1)); }
.field-toggle-collapse .dashicons { font-size: 1rem; width: 16px; height: 16px; transition: transform 0.2s ease; }
.jobmatch-field.field-collapsed .field-toggle-collapse .dashicons { transform: rotate(-90deg); }
.jobmatch-field.field-collapsed .field-settings { display: none; }
/* Prevent drag when clicking on toggle button */
.field-toggle-collapse { cursor: pointer !important; }
.field-title { flex: 1; font-weight: 600; }
.field-settings { margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--border-light, var(--border-light, #eee)); }
.field-setting-row { margin-bottom: 15px; }
.field-setting-row label { display: block; font-weight: 600; margin-bottom: 5px; }
.field-options-section { margin-top: 15px; padding-top: 15px; border-top: 1px solid var(--border-light, var(--border-light, #eee)); }
.fields-container { min-height: 50px; }
.field-placeholder { background: var(--bg-gray, var(--bg-gray, #f0f0f0)); border: 2px dashed var(--text-muted, var(--text-muted, #999)); height: 60px; margin-bottom: 15px; }
.button-link-delete { color: var(--error-text, var(--error-text, #b32d2e)); text-decoration: none; }
.button-link-delete:hover { color: var(--error, #dc3232); }
/* Locked field styling */
.field-title.locked-field { background-color: var(--bg-gray, var(--bg-gray, #f0f0f0)); color: var(--text-secondary, var(--text-secondary, #666)); cursor: not-allowed; opacity: 0.8; }
.locked-indicator { color: var(--text-secondary, var(--text-secondary, #666)); font-size: 1rem; margin-left: 5px; cursor: help; }
.jobmatch-field:has(.locked-field) { border-left: 3px solid var(--primary, var(--primary, #2271b1)); background-color: #f8f9fa; }
.description { font-style: italic; color: var(--text-secondary, var(--text-secondary, #666)); font-size: 0.8125rem; margin-top: 5px; }
#jobmatch-structure-builder { margin-top: 20px; }
#add-category-btn { margin-top: 20px; }
/* Opgaver, Områder, Brancher */
.jobmatch-option-groups,
.jobmatch-branches { margin-top: 15px; padding-top: 15px; border-top: 1px solid var(--border-light, var(--border-light, #eee)); }
.jobmatch-option-groups h4,
.jobmatch-branches h4 { margin-top: 0; margin-bottom: 8px; }
.jobmatch-option-group,
.jobmatch-branch { background: var(--bg-primary, var(--bg-primary, #fff)); border: 1px solid var(--border, var(--border, #ddd)); border-radius: 4px; padding: 12px; margin-bottom: 12px; }
.jobmatch-option-group-options-wrapper,
.jobmatch-branch-areas-wrapper { margin-top: 10px; margin-bottom: 10px; }
.jobmatch-option-group-options-label,
.jobmatch-branch-areas-label { display: block; font-weight: 600; margin-bottom: 6px; font-size: 0.8125rem; }
.jobmatch-option-group-options,
.jobmatch-branch-areas { display: flex; flex-wrap: wrap; gap: 8px 16px; }
.jobmatch-option-group-option,
.jobmatch-branch-area { display: inline-flex; align-items: center; gap: 5px; font-weight: normal; cursor: pointer; }
.jobmatch-branch-area-block { margin-bottom: 12px; padding: 10px; background: #fafafa; border-left: 3px solid var(--border, var(--border, #ddd)); border-radius: 4px; }
.jobmatch-branch-area-tasks-label { display: block; font-size: 0.75rem; color: var(--text-secondary, var(--text-secondary, #666)); margin-bottom: 6px; }
.jobmatch-branch-area-task-checkboxes { display: flex; flex-wrap: wrap; gap: 8px 16px; }
.jobmatch-branch-area-task { display: inline-flex; align-items: center; gap: 5px; font-weight: normal; cursor: pointer; }
.toast.show { transform: translateX(0); opacity: 1; }
.toast-success { border-left: 4px solid var(--primary); background-color: var(--primary-lighter); }
.toast-error { border-left: 4px solid var(--error); background-color: var(--error-bg); }
.toast strong { margin-right: 8px; }
.toast-success strong { color: var(--primary); }
.toast-error strong { color: var(--error); }
.toast-info strong { color: var(--primary); }
@media (max-width: 768px) { #toast-container { left: 10px; right: 10px; max-width: none; } .toast { font-size: 0.8125rem; padding: 10px 14px; } }
#loading-indicator { text-align: center; padding: 40px 20px; }
.loading-spinner { color: var(--text-muted); font-style: italic; }
.loading-spinner:before { content: "⟳ "; animation: spinLoader 1s linear infinite; display: inline-block; }
@keyframes spinLoader { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
.notice.notice-info, .notice.notice-success, .notice.notice-error { padding: 15px; margin: 15px 0; border-left: 4px solid; background: var(--bg-primary); box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04); }
.notice.notice-info { border-left-color: var(--primary); }
.notice.notice-success { border-left-color: var(--primary); }
.notice.notice-error { border-left-color: var(--error); }

/* ===== ADMIN (fra admin.css) ===== */
.coachment-admin-header h2 { margin-top: 0; color: var(--primary); }
.wrap .card { margin: 20px 0; }
.wrap .card h2 { margin-top: 0; padding-top: 0; }
.wrap table.widefat code { background: var(--secondary-dark); padding: 2px 6px; border-radius: 3px; font-size: 0.75rem; }

/* ===== KANDIDAT-SELECTOR (fra kandidat-selector.css) ===== */
.module-container.common-container #global-kandidat-select { width: 100%; max-width: 300px; margin-bottom: 1em; }
.module-container.common-container .global-kandidat-label { display: block; margin-bottom: .5em; }
.kandidat-creation-section { margin-top: 15px; padding-top: 15px; border-top: 1px solid var(--border); }
.kandidat-creation-section p { margin: 0; }
.kandidat-creation-only { margin: 20px 0; }
.kandidat-creation-only p { margin: 0; }
#create-kandidat-btn { display: inline-flex; align-items: center; gap: 5px; }
#create-kandidat-btn .dashicons { font-size: 1rem; width: 16px; height: 16px; }
/* .kandidat-modal base i fælles modal-blok - kun form-table specifik */
.kandidat-modal-header { padding: 20px 20px 0; border-bottom: 1px solid var(--border); margin-bottom: 20px; }
.kandidat-modal-header h3 { margin: 0; font-weight: 600; }
.kandidat-modal-body { padding: 0 20px; }
.kandidat-modal-footer { justify-content: flex-end; gap: 10px; }
.kandidat-modal-content { max-width: 600px; width: 100%; border-radius: 12px; }
.kandidat-modal .form-table { width: 100%; border-collapse: separate; border-spacing: 0; }
.kandidat-modal .form-table tr { margin: 0; padding: 0; }
.kandidat-modal .form-table th { width: 150px; text-align: left; padding: 15px 10px 15px 0; vertical-align: top; margin: 0; }
.kandidat-modal .form-table td { padding: 15px 0; margin: 0; vertical-align: top; }
.kandidat-modal .form-table input { width: 100%; max-width: 300px; min-width: 250px; box-sizing: border-box; }
.kandidat-modal .form-table input[type="text"], .kandidat-modal .form-table input[type="tel"], .kandidat-modal .form-table input[type="email"], .kandidat-modal .form-table input[type="url"], .kandidat-modal .form-table input[type="number"] { width: 100%; max-width: 300px; min-width: 250px; height: 32px; padding: 4px 8px; border: 1px solid #8c8f94; border-radius: 4px; font-size: 0.875rem; line-height: 1.4; background-color: var(--bg-primary); box-sizing: border-box; -webkit-appearance: none; -moz-appearance: none; appearance: none; }
.kandidat-modal .form-table input[type="text"]:focus, .kandidat-modal .form-table input[type="tel"]:focus, .kandidat-modal .form-table input[type="email"]:focus, .kandidat-modal .form-table input[type="url"]:focus, .kandidat-modal .form-table input[type="number"]:focus { border-color: var(--primary); outline: 2px solid transparent; box-shadow: 0 0 0 1px var(--primary); }
body.modal-open { overflow: hidden; }
@media (max-width: 768px) {
  .kandidat-modal { padding: 10px; }
  .kandidat-modal-content { max-height: 95vh; }
  .kandidat-modal-header, .kandidat-modal-body, .kandidat-modal-footer { padding: 15px; }
  .kandidat-modal .form-table th { width: 120px; font-size: 0.875rem; }
}

/* ===== KANDIDAT-NAVIGATION (fra kandidat-navigation.css) ===== */
.kandidat-nav-single, .kandidat-nav-multiple, .kandidat-menu-single, .kandidat-menu-multiple { display: inline-block; margin: 0; padding: 0; font-size: 0.875rem; line-height: 1.4; }
.kandidat-nav-single, .kandidat-menu-single { color: var(--text-primary); background: var(--bg-secondary); padding: 8px 12px; border-radius: 4px; border: 1px solid var(--border); }
.kandidat-nav-single .kandidat-nav-label, .kandidat-menu-single .kandidat-nav-label { font-weight: 600; color: var(--text-secondary); }
.kandidat-nav-single .kandidat-nav-name, .kandidat-menu-single .kandidat-nav-name { font-weight: 500; color: var(--text-primary); }
.kandidat-nav-create-btn, .kandidat-menu-create-btn { background: var(--primary); color: white; border: none; border-radius: 3px; padding: 4px 8px; margin-left: 8px; cursor: pointer; font-size: 0.75rem; font-weight: bold; transition: background-color 0.2s; }
.kandidat-nav-create-btn:hover, .kandidat-menu-create-btn:hover { background: var(--primary-dark); }
.kandidat-nav-select { min-width: 150px; max-width: 250px; padding: 6px 8px; border: 1px solid var(--border); border-radius: 4px; background: white; font-size: 0.875rem; color: var(--text-primary); cursor: pointer; transition: border-color 0.2s; }
.kandidat-nav-select:focus { border-color: var(--primary); outline: none; box-shadow: 0 0 0 1px var(--primary); }
.kandidat-nav-select:disabled { background: var(--bg-light); color: var(--text-muted); cursor: not-allowed; }
.kandidat-nav-button, .kandidat-menu-button { display: inline-flex; align-items: center; gap: 6px; padding: 8px 12px; background: white; border: 1px solid var(--border); border-radius: 4px; cursor: pointer; font-size: 0.875rem; color: var(--text-primary); transition: all 0.2s; min-width: 150px; max-width: 250px; }
.kandidat-nav-button:hover, .kandidat-menu-button:hover { border-color: var(--primary); background: var(--bg-secondary); }
.kandidat-nav-button:focus, .kandidat-menu-button:focus { border-color: var(--primary); outline: none; box-shadow: 0 0 0 1px var(--primary); }
.kandidat-nav-button:disabled, .kandidat-menu-button:disabled { background: var(--bg-light); color: var(--text-muted); cursor: not-allowed; }
.kandidat-nav-button-text, .kandidat-menu-button-text { flex: 1; text-align: left; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kandidat-nav-button-arrow, .kandidat-menu-button-arrow { font-size: var(--cm-font-size-sm); color: var(--text-secondary); transition: transform 0.2s; }
.kandidat-nav-button.active .kandidat-nav-button-arrow, .kandidat-menu-button.active .kandidat-menu-button-arrow { transform: rotate(180deg); }
.kandidat-nav-dropdown, .kandidat-menu-dropdown { position: absolute; background: white; border: 1px solid var(--border); border-radius: 4px; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); z-index: 99; margin-top: 2px; min-width: 200px; max-width: 300px; width: auto; display: none; top: 100%; left: 0; right: auto; }
.kandidat-nav-dropdown.active, .kandidat-nav-dropdown.open, .kandidat-menu-dropdown.active, .kandidat-menu-dropdown.open { display: block; }
@media screen and (max-width: 980px) {
  .kandidat-nav-dropdown, .kandidat-menu-dropdown { position: fixed !important; top: 50% !important; left: 50% !important; transform: translate(-50%, -50%) !important; width: 90% !important; max-width: 300px !important; max-height: 91vh !important; z-index: 999999 !important; padding-top: 48px !important; border-radius: 8px !important; box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.12) !important; }
  .kandidat-nav-dropdown-content, .kandidat-menu-dropdown-content { max-height: 78vh !important; overflow-y: auto !important; }
  .kandidat-nav-dropdown::before, .kandidat-menu-dropdown::before { content: ''; position: fixed; inset: 0; z-index: -1; background-color: rgba(0, 0, 0, 0.5); }
  .kandidat-nav-dropdown::after, .kandidat-menu-dropdown::after { content: '×'; position: absolute; top: 8px; right: 15px; font-size: 1.5rem; line-height: 1; cursor: pointer; opacity: 0.4; z-index: 1; }
}
.kandidat-nav-dropdown-content, .kandidat-menu-dropdown-content { max-height: 260px; overflow-y: auto; }
.kandidat-nav-item, .kandidat-menu-item { padding: 8px 12px; cursor: pointer; color: var(--text-primary); transition: background-color 0.2s; border-bottom: 1px solid var(--secondary-dark); }
.kandidat-nav-item:last-child, .kandidat-menu-item:last-child { border-bottom: none; }
.kandidat-nav-item:hover, .kandidat-menu-item:hover { background: var(--bg-secondary); }
.kandidat-nav-item.kandidat-nav-active, .kandidat-menu-item.kandidat-menu-active { background: var(--primary-light); color: var(--primary); font-weight: 500; }
.kandidat-nav-item.kandidat-nav-placeholder, .kandidat-menu-item.kandidat-menu-placeholder { color: var(--text-muted); font-style: italic; }
.kandidat-nav-item.kandidat-nav-create, .kandidat-menu-item.kandidat-menu-create { color: var(--primary); font-weight: 500; }
.kandidat-nav-item.kandidat-nav-create:hover, .kandidat-menu-item.kandidat-menu-create:hover { background: var(--primary-light); }
.kandidat-nav-divider, .kandidat-menu-divider { height: 1px; background: var(--border); margin: 4px 0; }
.kandidat-nav-dropdown, .kandidat-menu-dropdown { position: fixed; background: white; border: 1px solid var(--border); border-radius: 4px; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); z-index: 99999; margin-top: 2px; min-width: 200px; }
.kandidat-nav-multiple, .kandidat-menu-multiple { position: relative; display: inline-block; }
body.loading .kandidat-nav-select, body.loading .kandidat-nav-button, body.loading .kandidat-menu-button { opacity: 0.6; cursor: not-allowed; }
@media (max-width: 768px) {
  .kandidat-nav-select, .kandidat-nav-button { min-width: 120px; max-width: 200px; }
  .kandidat-modal-content { width: 95%; margin: 10px; }
  .kandidat-modal-header, .kandidat-modal-body, .kandidat-modal-footer { padding: 15px; }
  #toast-container { top: 10px; right: 10px; left: 10px; }
  .toast { max-width: none; }
}
@media (prefers-color-scheme: dark) {
  .kandidat-nav-single { background: var(--bg-gray, #2c2c2c); border-color: var(--text-secondary, #444); color: var(--border-light, #e0e0e0); }
  .kandidat-nav-single .kandidat-nav-label { color: var(--text-muted, #aaa); }
  .kandidat-nav-select, .kandidat-nav-button { background: var(--bg-gray, #2c2c2c); border-color: var(--text-secondary, #444); color: var(--border-light, #e0e0e0); }
  .kandidat-nav-dropdown { background: var(--bg-gray, #2c2c2c); border-color: var(--text-secondary, #444); }
  .kandidat-nav-item { color: var(--border-light, #e0e0e0); border-bottom-color: var(--text-secondary, #444); }
  .kandidat-nav-item:hover { background: var(--hover-bg, #3c3c3c); }
  .kandidat-nav-item.kandidat-nav-active { background: var(--primary-light, #1e3a5f); color: var(--primary, #64b5f6); }
}

/* Modal stack: åbnet ovenpå anden modal (fx Opret kandidat fra Klienter/kandidater) */
.modal.vl-modal-above.show {
  z-index: 100060;
}

/* ===== Virksomhed logs: bulk-redigér alle logs (modal) ===== */
#virksomhed-logs-bulk-edit-modal.virksomhed-logs-bulk-edit-modal {
  z-index: 100050;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 24px 12px;
  overflow: auto;
  box-sizing: border-box;
}
#virksomhed-logs-bulk-edit-modal .virksomhed-logs-bulk-edit-modal-inner {
  max-width: min(96vw, 1400px);
  width: 100%;
  margin: 0 auto;
  max-height: calc(100vh - 48px);
  display: flex;
  flex-direction: column;
  background: var(--bg-primary, var(--bg-primary, var(--bg-primary, #fff)));
  border-radius: 8px;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.15);
  overflow: hidden;
}
#virksomhed-logs-bulk-edit-modal .virksomhed-logs-bulk-edit-modal-body {
  overflow: auto;
  flex: 1 1 auto;
  padding: 12px 16px;
}
#virksomhed-logs-bulk-edit-modal .virksomhed-logs-bulk-edit-table-wrap {
  overflow-x: auto;
  max-width: 100%;
}
/* Redigér alle logs: 2-kolonne layout (meta + indhold). */
#virksomhed-logs-bulk-edit-modal table.virksomhed-logs-bulk-edit-table {
  width: 100%;
  min-width: 760px;
  table-layout: auto;
  border-collapse: collapse;
  font-size: 0.8125rem;
}
#virksomhed-logs-bulk-edit-modal table.virksomhed-logs-bulk-edit-table th,
#virksomhed-logs-bulk-edit-modal table.virksomhed-logs-bulk-edit-table td {
  padding: 6px 6px;
  border-bottom: 1px solid var(--border, var(--border, var(--border, #ddd)));
  vertical-align: top;
  white-space: normal;
}
#virksomhed-logs-bulk-edit-modal table.virksomhed-logs-bulk-edit-table th.virksomhed-logs-bulk-edit-th-meta,
#virksomhed-logs-bulk-edit-modal table.virksomhed-logs-bulk-edit-table td.virksomhed-logs-bulk-edit-td-meta {
  width: 48%;
  min-width: 430px;
}
#virksomhed-logs-bulk-edit-modal table.virksomhed-logs-bulk-edit-table th.virksomhed-logs-bulk-edit-th-content,
#virksomhed-logs-bulk-edit-modal table.virksomhed-logs-bulk-edit-table td.virksomhed-logs-bulk-edit-td-content {
  width: 52%;
  min-width: 280px;
  white-space: normal;
}
#virksomhed-logs-bulk-edit-modal .virksomhed-logs-bulk-meta-grid {
  display: grid;
  grid-template-columns: 30px minmax(120px, 1fr) minmax(78px, 0.6fr) minmax(78px, 0.6fr) minmax(120px, 1fr) minmax(130px, 1.1fr);
  gap: 8px 10px;
  align-items: end;
}
#virksomhed-logs-bulk-edit-modal .virksomhed-logs-bulk-meta-field .cm-label,
#virksomhed-logs-bulk-edit-modal td.virksomhed-logs-bulk-edit-td-content > .cm-label {
  display: block;
  margin-bottom: 4px;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.3;
}
#virksomhed-logs-bulk-edit-modal .virksomhed-logs-bulk-meta-drag {
  grid-row: 1 / span 2;
  align-self: center;
}
#virksomhed-logs-bulk-edit-modal .virksomhed-logs-bulk-meta-drag:has(.virksomhed-logs-bulk-insert-above) {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}
#virksomhed-logs-bulk-edit-modal .virksomhed-logs-bulk-insert-above,
#virksomhed-logs-bulk-edit-modal .virksomhed-logs-bulk-insert-below {
  padding: 2px 4px;
  min-height: 0;
  line-height: 1;
  box-shadow: none;
  cursor: pointer;
}
#virksomhed-logs-bulk-edit-modal .virksomhed-logs-bulk-insert-above:hover,
#virksomhed-logs-bulk-edit-modal .virksomhed-logs-bulk-insert-below:hover {
  color: var(--success, #007a1f);
}
#virksomhed-logs-bulk-edit-modal .virksomhed-logs-bulk-insert-above .dashicons,
#virksomhed-logs-bulk-edit-modal .virksomhed-logs-bulk-insert-below .dashicons {
  width: 18px;
  height: 18px;
  font-size: 1.125rem;
  line-height: 18px;
}
#virksomhed-logs-bulk-edit-modal .virksomhed-logs-bulk-meta-created {
  grid-column: 2;
  grid-row: 1;
}
#virksomhed-logs-bulk-edit-modal .virksomhed-logs-bulk-meta-status {
  grid-column: 3 / span 2;
  grid-row: 1;
}
#virksomhed-logs-bulk-edit-modal .virksomhed-logs-bulk-meta-sub-status {
  grid-column: 5 / span 2;
  grid-row: 1;
}
#virksomhed-logs-bulk-edit-modal .virksomhed-logs-bulk-meta-followup-date {
  grid-column: 2;
  grid-row: 2;
}
#virksomhed-logs-bulk-edit-modal .virksomhed-logs-bulk-meta-followup-time {
  grid-column: 3;
  grid-row: 2;
}
#virksomhed-logs-bulk-edit-modal .virksomhed-logs-bulk-meta-followup-time-to {
  grid-column: 4;
  grid-row: 2;
}
#virksomhed-logs-bulk-edit-modal .virksomhed-logs-bulk-meta-actual-followup {
  grid-column: 5;
  grid-row: 2;
}
#virksomhed-logs-bulk-edit-modal .virksomhed-logs-bulk-meta-followup-action {
  grid-column: 6;
  grid-row: 2;
}
#virksomhed-logs-bulk-edit-modal .virksomhed-logs-bulk-meta-grid input.input-field,
#virksomhed-logs-bulk-edit-modal .virksomhed-logs-bulk-meta-grid select.widefat {
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
#virksomhed-logs-bulk-edit-modal .virksomhed-logs-bulk-meta-grid .vllog-followup-time,
#virksomhed-logs-bulk-edit-modal .virksomhed-logs-bulk-meta-grid .vllog-followup-time-to {
  width: 100%;
  -webkit-appearance: none;
  appearance: none;
  padding-right: 34px;
}
#virksomhed-logs-bulk-edit-modal .virksomhed-logs-bulk-meta-grid .vllog-followup-time::-webkit-calendar-picker-indicator,
#virksomhed-logs-bulk-edit-modal .virksomhed-logs-bulk-meta-grid .vllog-followup-time-to::-webkit-calendar-picker-indicator {
  display: none !important;
  -webkit-appearance: none;
}
#virksomhed-logs-bulk-edit-modal .vllog-time-input-wrap {
  position: relative;
  display: block;
}
#virksomhed-logs-bulk-edit-modal .vllog-time-input-wrap .vllog-time-trigger {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  border: 0;
  padding: 0;
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='6.5' stroke='%236b7280' stroke-width='1.5'/%3E%3Cpath d='M10 6.6v3.9l2.6 1.5' stroke='%236b7280' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 16px 16px;
  cursor: pointer;
}
#virksomhed-logs-bulk-edit-modal table.virksomhed-logs-bulk-edit-table td.virksomhed-logs-bulk-edit-td-content textarea.vllog-content {
  white-space: pre-wrap;
  display: block;
  width: 100%;
  min-width: 0;
  max-width: none;
  min-height: 4.5em;
  box-sizing: border-box;
}
#virksomhed-logs-bulk-edit-modal table.virksomhed-logs-bulk-edit-table td.virksomhed-logs-bulk-edit-td-content .virksomhed-logs-bulk-delete-row {
  margin-top: 8px;
  display: inline-block;
  vertical-align: top;
}
#virksomhed-logs-bulk-edit-modal table.virksomhed-logs-bulk-edit-table select.widefat {
  width: 100%;
}
/* Søgbar status-dropdown i bulk-redigering: lad listen bryde ud i en læsbar bredde. */
#virksomhed-logs-bulk-edit-modal .virksomhed-logs-bulk-meta-status .log-status-search-panel {
  right: auto;
  min-width: 260px;
  width: max-content;
  max-width: 360px;
}
#virksomhed-statistik-template-editor .log-status-search-panel {
  right: auto;
  min-width: 260px;
  width: max-content;
  max-width: 360px;
}
@media (max-width: 1200px) {
  #virksomhed-logs-bulk-edit-modal .virksomhed-logs-bulk-meta-grid {
    grid-template-columns: 30px repeat(2, minmax(120px, 1fr));
  }
  #virksomhed-logs-bulk-edit-modal .virksomhed-logs-bulk-meta-status {
    grid-column: 3;
    grid-row: 1;
  }
  #virksomhed-logs-bulk-edit-modal .virksomhed-logs-bulk-meta-sub-status {
    grid-column: 2 / span 2;
    grid-row: 2;
  }
  #virksomhed-logs-bulk-edit-modal .virksomhed-logs-bulk-meta-followup-date {
    grid-column: 2;
    grid-row: 3;
  }
  #virksomhed-logs-bulk-edit-modal .virksomhed-logs-bulk-meta-followup-time {
    grid-column: 3;
    grid-row: 3;
  }
  #virksomhed-logs-bulk-edit-modal .virksomhed-logs-bulk-meta-followup-time-to {
    grid-column: 2;
    grid-row: 4;
  }
  #virksomhed-logs-bulk-edit-modal .virksomhed-logs-bulk-meta-actual-followup {
    grid-column: 3;
    grid-row: 4;
  }
  #virksomhed-logs-bulk-edit-modal .virksomhed-logs-bulk-meta-followup-action {
    grid-column: 2 / span 2;
    grid-row: 5;
  }
}
#virksomhed-logs-bulk-edit-modal .virksomhed-logs-bulk-edit-modal-footer {
  flex-shrink: 0;
  padding: 12px 16px;
  border-top: 1px solid var(--border, var(--border, var(--border, #ddd)));
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
#virksomhed-logs-bulk-edit-modal .virksomhed-logs-bulk-edit-footer-spacer {
  flex: 1 1 auto;
  min-width: 8px;
}

/* ===== Reorganiser logs (admin-fane) – fuld bredde + samme grid som bulk-edit-modal ===== */
.vl-reorg-filters,
.vl-reorg-companies,
.vl-reorg-company {
  width: 100%;
  max-width: none;
  box-sizing: border-box;
}
.vl-reorg-company {
  margin: 12px 0;
}
.vl-reorg-pagebar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 0 0 8px;
}
.vl-reorg-pagebar .vl-reorg-count {
  margin: 0;
}
.vl-reorg-pagesize-wrap {
  white-space: nowrap;
}
.vl-reorg-pagesize-wrap .vl-reorg-page-size {
  width: auto;
  min-width: 70px;
}
.vl-reorg-pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin: 0 0 12px;
}
.vl-reorg-pagination .vl-reorg-page-btn {
  min-width: 34px;
  text-align: center;
}
.vl-reorg-confirm-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 100000;
}
.vl-reorg-confirm-overlay .vl-reorg-confirm-box {
  max-width: 460px;
  width: calc(100% - 40px);
  padding: 20px 24px;
  background: var(--bg-primary, var(--bg-primary, #fff));
}
.vl-reorg-confirm-overlay .vl-reorg-confirm-msg {
  margin: 0 0 4px;
  font-size: 0.875rem;
}
.vl-reorg-bulk-bar {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
}
.vl-reorg-bulk-bar .vl-reorg-bulk-top {
  display: flex;
  align-items: center;
  gap: 12px;
}
.vl-reorg-bulk-bar .vl-reorg-select-all-wrap {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 600;
}
.vl-reorg-bulk-bar .vl-reorg-bulk-delete {
  padding: 2px 4px;
  min-height: 0;
  line-height: 1;
  color: var(--error, var(--error, #d63638));
  background: transparent;
  border: 0;
  box-shadow: none;
  cursor: pointer;
}
.vl-reorg-bulk-bar .vl-reorg-bulk-delete:hover {
  color: var(--error-text, var(--error-text, #b32d2e));
}
.vl-reorg-bulk-bar .vl-reorg-bulk-delete .dashicons {
  width: 20px;
  height: 20px;
  font-size: 1.25rem;
  line-height: 20px;
}
.vl-reorg-bulk-bar .vl-reorg-validate-dates,
.vl-reorg-company-summary .vl-reorg-validate-company {
  padding: 2px 4px;
  min-height: 0;
  line-height: 1;
  color: var(--primary, var(--primary, #2271b1));
  background: transparent;
  border: 0;
  box-shadow: none;
  cursor: pointer;
  vertical-align: middle;
}
.vl-reorg-bulk-bar .vl-reorg-validate-dates:hover,
.vl-reorg-company-summary .vl-reorg-validate-company:hover {
  color: var(--primary-dark, var(--primary-dark, #135e96));
}
.vl-reorg-bulk-bar .vl-reorg-validate-dates .dashicons,
.vl-reorg-company-summary .vl-reorg-validate-company .dashicons {
  width: 18px;
  height: 18px;
  font-size: 1.125rem;
  line-height: 18px;
}
.vl-reorg-bulk-bar .vl-reorg-suggest-fix,
.vl-reorg-company-summary .vl-reorg-suggest-fix-company {
  padding: 2px 4px;
  min-height: 0;
  line-height: 1;
  color: var(--warning-dark, #d98300);
  background: transparent;
  border: 0;
  box-shadow: none;
  cursor: pointer;
  vertical-align: middle;
}
.vl-reorg-bulk-bar .vl-reorg-suggest-fix:hover,
.vl-reorg-company-summary .vl-reorg-suggest-fix-company:hover {
  color: var(--warning-text, #b36b00);
}
.vl-reorg-bulk-bar .vl-reorg-suggest-fix .vl-reorg-bolt,
.vl-reorg-company-summary .vl-reorg-suggest-fix-company .vl-reorg-bolt {
  display: inline-block;
  vertical-align: middle;
}
.vl-reorg-suggest-fix[hidden],
.vl-reorg-suggest-fix-company[hidden] {
  display: none !important;
}
.vl-reorg-bulk-bar .vl-reorg-recalc,
.vl-reorg-company-summary .vl-reorg-recalc-company {
  padding: 2px 4px;
  min-height: 0;
  line-height: 1;
  color: var(--primary, var(--primary, #2271b1));
  background: transparent;
  border: 0;
  box-shadow: none;
  cursor: pointer;
  vertical-align: middle;
}
.vl-reorg-bulk-bar .vl-reorg-recalc:hover,
.vl-reorg-company-summary .vl-reorg-recalc-company:hover {
  color: var(--primary-dark, var(--primary-dark, #135e96));
}
.vl-reorg-bulk-bar .vl-reorg-recalc .dashicons,
.vl-reorg-company-summary .vl-reorg-recalc-company .dashicons {
  width: 18px;
  height: 18px;
  font-size: 1.125rem;
  line-height: 18px;
  vertical-align: middle;
}
.vl-reorg-company-summary .vl-reorg-info-company {
  padding: 2px 4px;
  min-height: 0;
  line-height: 1;
  color: var(--primary, var(--primary, #2271b1));
  background: transparent;
  border: 0;
  box-shadow: none;
  cursor: pointer;
  vertical-align: middle;
}
.vl-reorg-company-summary .vl-reorg-info-company:hover {
  color: var(--primary-dark, var(--primary-dark, #135e96));
}
.vl-reorg-company-summary .vl-reorg-info-company .dashicons {
  width: 18px;
  height: 18px;
  font-size: 1.125rem;
  line-height: 18px;
  vertical-align: middle;
}
.vl-reorg-info-panel {
  margin: 8px 0;
  padding: 10px 12px;
  background: var(--bg-secondary, var(--bg-secondary, #f6f7f7));
  border: 1px solid #dcdcde;
  border-radius: 4px;
}
.vl-reorg-info-panel .widefat th {
  font-weight: 600;
}
.vl-reorg-bulk-bar .vl-reorg-bulk-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.vl-reorg-bulk-bar .vl-reorg-bulk-content-text {
  flex: 0 1 240px;
  min-width: 160px;
  min-height: 38px;
  resize: vertical;
}
.vl-reorg-bulk-bar .vl-reorg-bulk-create {
  flex: 1 1 100%;
  margin-top: 4px;
  padding-top: 10px;
  border-top: 1px solid #dcdcde;
}
.vl-reorg-bulk-bar .vl-reorg-bulk-create-label {
  font-weight: 600;
  white-space: nowrap;
}
.vl-reorg-bulk-bar .vl-reorg-bulk-move {
  flex: 1 1 100%;
  margin-top: 4px;
  padding-top: 10px;
  border-top: 1px solid #dcdcde;
}
.vl-reorg-bulk-bar .vl-reorg-bulk-move-label {
  font-weight: 600;
  white-space: nowrap;
}
.vl-reorg-bulk-bar .vl-reorg-create-content {
  flex: 0 1 240px;
  min-width: 160px;
  min-height: 38px;
  resize: vertical;
}
.vl-reorg-toast {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.96);
  z-index: 100050;
  min-width: 280px;
  max-width: 560px;
  margin: 0;
  padding: 16px 22px;
  border-radius: 8px;
  background: var(--bg-primary, var(--bg-primary, #fff));
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.28);
  text-align: center;
  font-size: 0.9375rem;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.18s ease, transform 0.18s ease;
}
.vl-reorg-toast.is-visible {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
  pointer-events: auto;
  cursor: pointer;
}
.vl-reorg-toast p {
  margin: 0;
}
.vl-reorg-sortbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.vl-reorg-sortbar .vl-reorg-sort-wrap {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.vl-reorg-company .virksomhed-logs-bulk-meta-drag {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}
.vl-reorg-company .virksomhed-logs-bulk-meta-drag .vl-reorg-row-select {
  margin: 0;
}
.vl-reorg-company .virksomhed-logs-bulk-meta-drag .vl-reorg-row-add {
  padding: 2px 4px;
  min-height: 0;
  line-height: 1;
  color: var(--success-dark, var(--success-dark, #00a32a));
  background: transparent;
  border: 0;
  box-shadow: none;
  cursor: pointer;
}
.vl-reorg-company .virksomhed-logs-bulk-meta-drag .vl-reorg-row-add:hover {
  color: var(--success, #007a1f);
}
.vl-reorg-company .virksomhed-logs-bulk-meta-drag .vl-reorg-row-add .dashicons {
  width: 18px;
  height: 18px;
  font-size: 1.125rem;
  line-height: 18px;
}
.vl-reorg-company .virksomhed-logs-bulk-edit-row.vl-reorg-row-new {
  background-color: var(--success-bg, #f0f8f1);
}
.vl-reorg-company .virksomhed-logs-bulk-meta-drag .vl-reorg-row-delete {
  padding: 2px 4px;
  min-height: 0;
  line-height: 1;
  color: var(--error, var(--error, #d63638));
  background: transparent;
  border: 0;
  cursor: pointer;
  box-shadow: none;
}
.vl-reorg-company .virksomhed-logs-bulk-meta-drag .vl-reorg-row-delete:hover {
  color: var(--error-text, var(--error-text, #b32d2e));
}
.vl-reorg-company .virksomhed-logs-bulk-meta-drag .vl-reorg-row-delete .dashicons {
  width: 18px;
  height: 18px;
  font-size: 1.125rem;
  line-height: 18px;
}
.vl-reorg-company .virksomhed-logs-bulk-meta-drag .vl-reorg-row-move {
  padding: 2px 4px;
  min-height: 0;
  line-height: 1;
  color: var(--primary, var(--primary, #2271b1));
  background: transparent;
  border: 0;
  box-shadow: none;
  cursor: pointer;
}
.vl-reorg-company .virksomhed-logs-bulk-meta-drag .vl-reorg-row-move:hover {
  color: var(--primary-dark, var(--primary-dark, #135e96));
}
.vl-reorg-company .virksomhed-logs-bulk-meta-drag .vl-reorg-row-move .dashicons {
  width: 18px;
  height: 18px;
  font-size: 1.125rem;
  line-height: 18px;
}
.vl-reorg-cvr-dupes-panel {
  flex: 1 1 100%;
  margin-top: 12px;
  padding: 10px 12px;
  background: var(--bg-secondary, var(--bg-secondary, #f6f7f7));
  border: 1px solid #dcdcde;
  border-radius: 4px;
}
.vl-reorg-cvr-dupes-panel .vl-reorg-cvr-table {
  table-layout: fixed;
  width: 100%;
}
.vl-reorg-cvr-dupes-panel .vl-reorg-cvr-table th,
.vl-reorg-cvr-dupes-panel .vl-reorg-cvr-table td {
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: break-word;
}
.vl-reorg-cvr-dupes-panel .vl-reorg-cvr-col-id {
  width: 90px;
}
.vl-reorg-cvr-dupes-panel .vl-reorg-cvr-col-title {
  width: 32%;
}
.vl-reorg-cvr-dupes-panel .vl-reorg-cvr-col-pnr {
  width: 130px;
}
.vl-reorg-cvr-dupes-panel .vl-reorg-cvr-col-logs {
  width: 90px;
}
.vl-reorg-cvr-dupes-panel .vl-reorg-cvr-col-consultants {
  width: auto;
}
.vl-reorg-move-box {
  max-width: 560px;
  width: calc(100% - 40px);
  padding: 20px 24px;
}
.vl-reorg-move-box .vl-reorg-move-search {
  width: 100%;
  margin-top: 6px;
}
.vl-reorg-move-results {
  max-height: 320px;
  overflow-y: auto;
  margin-top: 10px;
}
.vl-reorg-move-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.vl-reorg-move-list li {
  padding: 6px 4px;
  border-bottom: 1px solid var(--border-light, var(--border-light, #eee));
}
.vl-reorg-move-list li label {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}
.vl-reorg-company-summary {
  cursor: pointer;
  padding: 4px 0;
}
.vl-reorg-company .virksomhed-logs-bulk-edit-table-wrap {
  overflow-x: auto;
  max-width: 100%;
}
.vl-reorg-company table.virksomhed-logs-bulk-edit-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.8125rem;
}
/* Reorg: stak cellerne – alle meta-felter på én linje øverst, indhold nedenunder i fuld bredde. */
.vl-reorg-company table.virksomhed-logs-bulk-edit-table thead {
  display: none;
}
.vl-reorg-company table.virksomhed-logs-bulk-edit-table,
.vl-reorg-company table.virksomhed-logs-bulk-edit-table tbody,
.vl-reorg-company table.virksomhed-logs-bulk-edit-table tr {
  display: block;
  width: 100%;
}
.vl-reorg-company table.virksomhed-logs-bulk-edit-table tr.virksomhed-logs-bulk-edit-row {
  border-bottom: 1px solid var(--border, var(--border, var(--border, #ddd)));
  padding: 8px 0;
}
.vl-reorg-company table.virksomhed-logs-bulk-edit-table tr.virksomhed-logs-bulk-edit-row.vl-reorg-row-error,
.vl-reorg-company table.virksomhed-logs-bulk-edit-table tr.virksomhed-logs-bulk-edit-row.vl-reorg-row-date-error {
  background-color: var(--error-bg-alt, #fcebec);
  box-shadow: inset 4px 0 0 0 var(--error, var(--error, #d63638));
  padding: 8px;
  border-radius: 4px;
}
.vl-reorg-company .vllog-date-invalid {
  border-color: var(--error, var(--error, #d63638)) !important;
  box-shadow: 0 0 0 1px var(--error, var(--error, #d63638)) !important;
}
.vl-reorg-company .vl-reorg-suggested {
  border-color: var(--success-dark, var(--success-dark, #00a32a)) !important;
  box-shadow: 0 0 0 1px var(--success-dark, var(--success-dark, #00a32a)) !important;
  background-color: var(--success-bg, #edfaef) !important;
}
.vl-reorg-company .vl-reorg-anchor-date {
  border-color: var(--warning-dark, #dba617) !important;
  box-shadow: 0 0 0 1px var(--warning-dark, #dba617) !important;
  background-color: var(--warning-bg, #fcf6e5) !important;
}
.vl-reorg-company table.virksomhed-logs-bulk-edit-table tr.virksomhed-logs-bulk-edit-row.vl-reorg-row-deleted {
  opacity: 0.6;
  background-color: var(--error-bg, #fcf0f1);
  box-shadow: inset 4px 0 0 0 var(--error-text, var(--error-text, #b32d2e));
  padding: 8px;
  border-radius: 4px;
}
.vl-reorg-company table.virksomhed-logs-bulk-edit-table tr.virksomhed-logs-bulk-edit-row.vl-reorg-row-deleted .vllog-content,
.vl-reorg-company table.virksomhed-logs-bulk-edit-table tr.virksomhed-logs-bulk-edit-row.vl-reorg-row-deleted .cm-label {
  text-decoration: line-through;
}
.vl-reorg-company .virksomhed-logs-bulk-meta-drag .vl-reorg-row-delete.is-active,
.vl-reorg-company table.virksomhed-logs-bulk-edit-table tr.vl-reorg-row-deleted .vl-reorg-row-delete {
  color: var(--bg-primary, var(--bg-primary, #fff));
  background: var(--error, var(--error, #d63638));
  border-radius: 3px;
}
.vl-reorg-company table.virksomhed-logs-bulk-edit-table td.virksomhed-logs-bulk-edit-td-meta,
.vl-reorg-company table.virksomhed-logs-bulk-edit-table td.virksomhed-logs-bulk-edit-td-content {
  display: block;
  width: 100%;
  min-width: 0;
  padding: 0;
  border: 0;
  white-space: normal;
}
.vl-reorg-company table.virksomhed-logs-bulk-edit-table td.virksomhed-logs-bulk-edit-td-content {
  margin-top: 8px;
}
.vl-reorg-company .virksomhed-logs-bulk-meta-grid {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-end;
  gap: 8px 10px;
  width: 100%;
}
.vl-reorg-company .virksomhed-logs-bulk-meta-field {
  flex: 1 1 0;
  min-width: 0;
}
.vl-reorg-company .virksomhed-logs-bulk-meta-drag {
  flex: 0 0 auto;
  align-self: center;
  order: 0;
}
/* Feltrækkefølge i reorg: Oprettet, Opfølgningsdato, Fulgt op, Tid fra, Tid til, Status, Sub-status, Handling. */
.vl-reorg-company .virksomhed-logs-bulk-meta-created { order: 1; }
.vl-reorg-company .virksomhed-logs-bulk-meta-followup-date { order: 2; }
.vl-reorg-company .virksomhed-logs-bulk-meta-actual-followup { order: 3; }
.vl-reorg-company .virksomhed-logs-bulk-meta-followup-time { order: 4; }
.vl-reorg-company .virksomhed-logs-bulk-meta-followup-time-to { order: 5; }
.vl-reorg-company .virksomhed-logs-bulk-meta-status { order: 6; }
.vl-reorg-company .virksomhed-logs-bulk-meta-sub-status { order: 7; }
.vl-reorg-company .virksomhed-logs-bulk-meta-followup-action { order: 8; }
.vl-reorg-company .virksomhed-logs-bulk-meta-field .cm-label,
.vl-reorg-company td.virksomhed-logs-bulk-edit-td-content > .cm-label {
  display: block;
  margin-bottom: 4px;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.3;
  white-space: nowrap;
}
.vl-reorg-company .virksomhed-logs-bulk-meta-grid input.input-field,
.vl-reorg-company .virksomhed-logs-bulk-meta-grid select.widefat {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
.vl-reorg-company .vllog-time-input-wrap {
  position: relative;
  display: block;
}
.vl-reorg-company .virksomhed-logs-bulk-meta-grid .vllog-followup-time,
.vl-reorg-company .virksomhed-logs-bulk-meta-grid .vllog-followup-time-to {
  width: 100%;
  -webkit-appearance: none;
  appearance: none;
  padding-right: 34px;
}
.vl-reorg-company .virksomhed-logs-bulk-meta-grid .vllog-followup-time::-webkit-calendar-picker-indicator,
.vl-reorg-company .virksomhed-logs-bulk-meta-grid .vllog-followup-time-to::-webkit-calendar-picker-indicator {
  display: none !important;
  -webkit-appearance: none;
}
.vl-reorg-company .vllog-time-input-wrap .vllog-time-trigger {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  border: 0;
  padding: 0;
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='6.5' stroke='%236b7280' stroke-width='1.5'/%3E%3Cpath d='M10 6.6v3.9l2.6 1.5' stroke='%236b7280' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 16px 16px;
  cursor: pointer;
}
.vl-reorg-company table.virksomhed-logs-bulk-edit-table td.virksomhed-logs-bulk-edit-td-content textarea.vllog-content {
  white-space: pre-wrap;
  display: block;
  width: 100%;
  min-width: 0;
  max-width: none;
  min-height: 4.5em;
  box-sizing: border-box;
}

/* Tilføj log-modal: kompakt vertikal layout (kun height/padding/margin – ingen width) */
.modal[id^="virksomhed-add-log-modal-"] > .modal-content.cm-modal-inner-lg {
  padding-top: 0;
  padding-bottom: 0;
  max-height: 95vh;
}
.modal[id^="virksomhed-add-log-modal-"] .modal-header {
  padding: 10px 20px 6px;
  margin-bottom: 0;
}
.modal[id^="virksomhed-add-log-modal-"] .modal-header h3 {
  line-height: 1.2;
}
.modal[id^="virksomhed-add-log-modal-"] .modal-body {
  padding: 10px 20px;
  max-height: calc(95vh - 118px);
  margin: 0 0;
}
.modal[id^="virksomhed-add-log-modal-"] .modal-footer.virksomhed-add-log-modal-footer {
  padding: 10px 20px;
  gap: 8px;
}
.modal[id^="virksomhed-add-log-modal-"] .modal-footer .form-actions .btn:not(.btn-small),
.modal[id^="virksomhed-add-log-modal-"] .modal-footer .form-actions .button:not(.button-small) {
  min-height: 34px;
}
.modal[id^="virksomhed-add-log-modal-"] .coachment-feedback-footer--modal {
  margin-top: 8px;
  padding-top: 8px;
  padding-bottom: 4px;
}
.modal[id^="virksomhed-add-log-modal-"] .log-form.cm-notice-success {
  padding: 8px 12px;
  margin-bottom: 0;
}
.modal[id^="virksomhed-add-log-modal-"] .form-grid,
.modal[id^="virksomhed-add-log-modal-"] .log-form-row {
  gap: 8px;
  margin-bottom: 8px;
}
.modal[id^="virksomhed-add-log-modal-"] .form-grid label,
.modal[id^="virksomhed-add-log-modal-"] .log-form-row label,
.modal[id^="virksomhed-add-log-modal-"] .log-form label,
.modal[id^="virksomhed-add-log-modal-"] .cm-label {
  margin-bottom: 2px;
}
.modal[id^="virksomhed-add-log-modal-"] .log-status-flex-row {
  gap: 6px;
}
.modal[id^="virksomhed-add-log-modal-"] .log-status-flex-row .log-followup-action-calendar-cluster {
  gap: 6px;
}
.modal[id^="virksomhed-add-log-modal-"] .log-status-flex-row .log-send-calendar-invite-input-line {
  min-height: 32px;
}
.modal[id^="virksomhed-add-log-modal-"] .log-quick-status-row {
  margin-top: 2px;
  margin-bottom: 4px;
  gap: 4px;
}
.modal[id^="virksomhed-add-log-modal-"] .log-quick-status-row .cm-chip,
.modal[id^="virksomhed-add-log-modal-"] .log-quick-status-row .chip,
.modal[id^="virksomhed-add-log-modal-"] .log-quick-status-row .btn {
  padding: 4px 10px;
  line-height: 1.25;
}
.modal[id^="virksomhed-add-log-modal-"] .log-form input.input-field,
.modal[id^="virksomhed-add-log-modal-"] .log-form input[type="text"],
.modal[id^="virksomhed-add-log-modal-"] .log-form input[type="email"],
.modal[id^="virksomhed-add-log-modal-"] .log-form input[type="date"],
.modal[id^="virksomhed-add-log-modal-"] .log-form input[type="time"],
.modal[id^="virksomhed-add-log-modal-"] .log-form select,
.modal[id^="virksomhed-add-log-modal-"] .log-form textarea,
.modal[id^="virksomhed-add-log-modal-"] .log-form .widefat,
.modal[id^="virksomhed-add-log-modal-"] .log-status-search-input {
  padding-top: 6px;
  padding-bottom: 6px;
}
.modal[id^="virksomhed-add-log-modal-"] .log-form select,
.modal[id^="virksomhed-add-log-modal-"] .log-form .log-status-dropdown {
  padding-top: 5px;
  padding-bottom: 5px;
}
.modal[id^="virksomhed-add-log-modal-"] .log-form textarea,
.modal[id^="virksomhed-add-log-modal-"] .log-form textarea[name="log_content"] {
  min-height: 72px;
}
.modal[id^="virksomhed-add-log-modal-"] .log-add-content-block {
  margin-bottom: 6px;
}
.modal[id^="virksomhed-add-log-modal-"] .log-mail-template-row {
  margin: 0 0 0.5em;
}
.modal[id^="virksomhed-add-log-modal-"] .log-mail-send-options {
  margin-top: 6px;
  gap: 4px 12px;
}
.modal[id^="virksomhed-add-log-modal-"] .log-mail-send-options .send-email-label,
.modal[id^="virksomhed-add-log-modal-"] .log-form .send-email-label {
  margin-top: 0;
}
.modal[id^="virksomhed-add-log-modal-"] .inline-mail-text-form,
.modal[id^="virksomhed-add-log-modal-"] .inline-status-form {
  margin-top: 4px;
  padding: 8px;
}
.modal[id^="virksomhed-add-log-modal-"] .inline-mail-text-form input,
.modal[id^="virksomhed-add-log-modal-"] .inline-mail-text-form textarea,
.modal[id^="virksomhed-add-log-modal-"] .inline-status-form input {
  margin-bottom: 4px;
}
.modal[id^="virksomhed-add-log-modal-"] .inline-mail-text-form textarea {
  min-height: 72px;
}
.modal[id^="virksomhed-add-log-modal-"] .log-status-search-list li {
  padding: 5px 10px;
}
.modal[id^="virksomhed-add-log-modal-"] .log-status-search-list li.is-group {
  padding-top: 6px;
  padding-bottom: 2px;
}

.modal[id^="virksomhed-add-log-modal-"] .virksomhed-add-log-modal-footer {
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 8px;
}
.modal[id^="virksomhed-add-log-modal-"] .virksomhed-add-log-modal-footer-mail {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  flex-shrink: 0;
}
.modal[id^="virksomhed-add-log-modal-"] .virksomhed-add-log-modal-footer-spacer {
  flex: 1 1 auto;
  min-width: 8px;
}
.modal[id^="virksomhed-add-log-modal-"] .virksomhed-add-log-modal-footer .form-actions {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  margin: 0;
  padding: 0;
}
.modal[id^="virksomhed-add-log-modal-"] .virksomhed-add-log-modal-footer-default,
.modal[id^="virksomhed-add-log-modal-"] .virksomhed-add-log-modal-footer-template {
  display: flex;
  flex: 1 1 100%;
  width: 100%;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.modal[id^="virksomhed-add-log-modal-"] .virksomhed-add-log-modal-footer-default.u-hidden-toggle,
.modal[id^="virksomhed-add-log-modal-"] .virksomhed-add-log-modal-footer-template.u-hidden-toggle {
  display: none;
}
.modal[id^="virksomhed-add-log-modal-"] .virksomhed-add-log-modal-footer-template-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  flex-shrink: 0;
}
.modal[id^="virksomhed-add-log-modal-"] .virksomhed-add-log-modal-footer-status,
.modal[id^="virksomhed-add-log-modal-"] .virksomhed-add-log-modal-footer-status-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  flex-shrink: 0;
}
.modal[id^="virksomhed-add-log-modal-"] .virksomhed-add-log-modal-footer-status {
  flex: 1 1 100%;
  width: 100%;
  gap: 8px;
}
.modal[id^="virksomhed-add-log-modal-"] .virksomhed-add-log-modal-footer-status.u-hidden-toggle {
  display: none;
}
.modal[id^="virksomhed-add-log-modal-"] .test-send-mail-button-log.u-hidden-toggle,
.modal[id^="virksomhed-add-log-modal-"] .test-send-mail-button-log.u-hidden {
  display: none !important;
}

/* Virksomhed logs: «Tilføj Ny Log» + «Redigér alle logs» på samme række */
.virksomhed-log-toggle-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.virksomhed-box .virksomhed-add-log-toggle-btn.toggle-log-form {
  cursor: pointer;
}

/* Forløbs-skabeloner (designer + indsæt) */
.coachment-forloeb-modal .coachment-forloeb-label {
  display: block;
  font-weight: 600;
  margin: 8px 0 4px;
}
.coachment-forloeb-msg-error {
  color: var(--error-text, var(--error-text, #b32d2e));
}
.coachment-forloeb-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.coachment-forloeb-list-item {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding: 8px 0;
  border-bottom: 1px solid var(--border, var(--border-light, var(--border-light, #e0e0e0)));
}
.coachment-forloeb-list-title {
  flex: 1 1 160px;
  min-width: 0;
}
/* Designer-modal: samme kolonne-layout som «Redigér alle logs» */
#coachment-forloeb-designer-modal .virksomhed-logs-bulk-edit-modal-inner {
  max-width: min(96vw, 1400px);
  width: 100%;
  margin: 0 auto;
  max-height: calc(100vh - 48px);
  display: flex;
  flex-direction: column;
  background: var(--bg-primary, var(--bg-primary, var(--bg-primary, #fff)));
  border-radius: 8px;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.15);
  overflow: hidden;
}
#coachment-forloeb-designer-modal .coachment-forloeb-designer-body {
  overflow: auto;
  flex: 1 1 auto;
  padding: 12px 16px;
}
#coachment-forloeb-designer-modal .coachment-forloeb-steps-table-wrap {
  overflow-x: auto;
  max-width: 100%;
}
#coachment-forloeb-designer-modal table.coachment-forloeb-designer-steps-table {
  width: 100%;
  min-width: 560px;
  table-layout: fixed;
  border-collapse: collapse;
  font-size: 0.8125rem;
}
#coachment-forloeb-designer-modal table.coachment-forloeb-designer-steps-table th,
#coachment-forloeb-designer-modal table.coachment-forloeb-designer-steps-table td {
  padding: 6px 6px;
  border-bottom: 1px solid var(--border, var(--border, var(--border, #ddd)));
  vertical-align: top;
}
#coachment-forloeb-designer-modal table.coachment-forloeb-designer-steps-table th:nth-child(1),
#coachment-forloeb-designer-modal table.coachment-forloeb-designer-steps-table td:nth-child(1) {
  width: 20%;
}
#coachment-forloeb-designer-modal table.coachment-forloeb-designer-steps-table th:nth-child(2),
#coachment-forloeb-designer-modal table.coachment-forloeb-designer-steps-table td:nth-child(2) {
  width: 7%;
}
#coachment-forloeb-designer-modal table.coachment-forloeb-designer-steps-table th.virksomhed-logs-bulk-edit-th-content,
#coachment-forloeb-designer-modal table.coachment-forloeb-designer-steps-table td.coachment-forloeb-td-content {
  min-width: 200px;
}
#coachment-forloeb-designer-modal table.coachment-forloeb-designer-steps-table th:nth-child(4),
#coachment-forloeb-designer-modal table.coachment-forloeb-designer-steps-table td:nth-child(4) {
  width: 72px;
  white-space: nowrap;
}
#coachment-forloeb-designer-modal table.coachment-forloeb-designer-steps-table td:nth-child(1),
#coachment-forloeb-designer-modal table.coachment-forloeb-designer-steps-table td:nth-child(2),
#coachment-forloeb-designer-modal table.coachment-forloeb-designer-steps-table td:nth-child(4) {
  white-space: nowrap;
}
#coachment-forloeb-designer-modal table.coachment-forloeb-designer-steps-table td.coachment-forloeb-td-content {
  white-space: normal;
}
#coachment-forloeb-designer-modal table.coachment-forloeb-designer-steps-table select.widefat {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
#coachment-forloeb-designer-modal table.coachment-forloeb-designer-steps-table textarea.vllog-content {
  white-space: pre-wrap;
  display: block;
  width: 100%;
  min-width: 0;
  max-width: none;
  min-height: 4.5em;
  box-sizing: border-box;
}
#coachment-forloeb-designer-modal .virksomhed-logs-bulk-edit-modal-footer {
  flex-shrink: 0;
  padding: 12px 16px;
  border-top: 1px solid var(--border, var(--border, var(--border, #ddd)));
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
#coachment-forloeb-designer-modal .virksomhed-logs-bulk-edit-footer-spacer {
  flex: 1 1 auto;
  min-width: 8px;
}
/* ===== PR-1: Coachment Context User Selector (menu-variant) ===== */
/* Chain'en placeres inline i selve menu-bar'en (på samme række som menupunkterne).
   Vi sikrer at den IKKE stakkes/wrappes ned i flere linjer ved flex-wrap: nowrap
   og lader dropdownene være kompakte med max-width pr. niveau. Højden begrænses
   så chain'en passer ind i menu-rækkens lodrette flow uden at "ødelægge" den. */
.coachment-context-user-selector-chain {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  flex-wrap: nowrap;
  gap: 6px;
  vertical-align: middle;
  white-space: nowrap;
  /* Bevidst ingen font: inherit her — vi vil have at .button.button-secondary
     inde i kæden bestemmer sin egen typografi (samme som Logs-knapperne). */
}
/* Når chain'en sidder inde i et BuddyBoss menu-item <li>, må <li>'en ikke
   tvinge sit normale link-padding eller breaks — chain'en skal selv håndtere
   sin layout og højde. */
.menu-item:has(> .coachment-context-user-selector-chain),
li.menu-item:has(> .coachment-context-user-selector-chain) {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
}
.coachment-context-user-selector-chain .coachment-cus-chain-sep {
  color: var(--text-secondary, var(--text-secondary, var(--text-secondary, #666)));
  font-weight: 600;
  user-select: none;
  flex: 0 0 auto;
}
/* GOVERNED: kontekst-vælger L0/L1 – se regler/kontekst-selector-l0-l1.md før ændring */
.coachment-context-user-selector-menu {
  position: relative;
  display: inline-flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
  max-width: 220px;
  flex: 0 1 auto;
}
/* Aktiv kontekstbruger: svag lyseblå baggrund på det niveau hvis valg = nuværende kontekst */
.coachment-context-user-selector-menu.is-context-active .coachment-cus-field {
  background: var(--info-bg, #e8f4fc);
  border-radius: 6px;
}
.coachment-context-user-selector-menu.is-context-active .coachment-cus-combobox {
  background: var(--info-bg, #e8f4fc) !important;
}
.coachment-context-user-selector-menu.is-context-active select.coachment-cus-select,
.coachment-context-user-selector-menu.is-context-active select#coachment-context-user-select {
  background-color: var(--info-bg, #e8f4fc) !important;
}
.coachment-context-user-selector-menu .coachment-cus-breadcrumb {
  font-size: 0.8em;
  color: var(--text-secondary, var(--text-secondary, var(--text-secondary, #666)));
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
/* Split-button: input + pil-knap i én sammenhængende kasse, visuelt 1:1 med
   "Print virksomheder ▾"-toolbar-knapperne (hvid hovedknap + blå pil-firkant).
   Vi styler det selv eksplicit, fordi .button.button-secondary bliver overridet
   af BuddyBoss-theme i menu-kontekst (gør hele inputtet blåt) og pil-toggle har
   en blå farve der ikke kommer fra Coachment's egen .button-secondary-base
   (sandsynligvis en theme/parent override af samme klasse i toolbar-kontekst). */
.coachment-context-user-selector-menu .coachment-cus-field {
  position: relative;
  display: inline-flex;
  align-items: stretch;
  width: auto;
  box-sizing: border-box;
}
/* Hovedknap (combobox-inputtet): hvid baggrund, mørk tekst, lys grå border,
   afrundet i venstre side. Matcher "Print virksomheder"-knappen. */
.coachment-context-user-selector-menu .coachment-cus-combobox {
  flex: 1 1 auto;
  min-width: 0;
  cursor: pointer;
  background: var(--bg-primary, var(--bg-primary, #fff)) !important;
  color: var(--text-primary, #1f2937) !important;
  border: 1px solid var(--border, #d5d9df) !important;
  border-right: 0 !important;
  border-top-left-radius: 6px !important;
  border-bottom-left-radius: 6px !important;
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
  padding: 6px 12px !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  text-align: left;
  cursor: text;
  outline: none;
  box-shadow: none !important;
  height: auto;
  min-height: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  box-sizing: border-box;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.coachment-context-user-selector-menu .coachment-cus-combobox:focus {
  border-color: var(--primary, var(--primary, var(--primary, #2271b1))) !important;
  box-shadow: 0 0 0 1px var(--primary, var(--primary, var(--primary, #2271b1))) !important;
}
/* Pil-knap: blå baggrund, hvid pil-tegn, afrundet i højre side. Matcher det
   blå pil-toggle vi ser ved "Print virksomheder" og "Statistik". */
.coachment-context-user-selector-menu .coachment-cus-arrow {
  flex: 0 0 auto;
  background: var(--primary, var(--primary, var(--primary, #2271b1))) !important;
  color: var(--bg-primary, var(--bg-primary, #fff)) !important;
  border: 1px solid var(--primary, var(--primary, var(--primary, #2271b1))) !important;
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
  border-top-right-radius: 6px !important;
  border-bottom-right-radius: 6px !important;
  min-width: 34px;
  padding: 0 10px;
  font-size: 0.875rem;
  line-height: 1;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: none !important;
  transition: background-color 0.15s ease, border-color 0.15s ease;
}
.coachment-context-user-selector-menu .coachment-cus-arrow:hover,
.coachment-context-user-selector-menu .coachment-cus-arrow:focus {
  background: var(--primary-dark, var(--primary-dark, var(--primary-dark, #135e96))) !important;
  border-color: var(--primary-dark, var(--primary-dark, var(--primary-dark, #135e96))) !important;
  outline: none;
}
.coachment-context-user-selector-menu .coachment-cus-arrow .coachment-cus-arrow-icon {
  display: inline-block;
  line-height: 1;
  transition: transform 0.15s ease;
}
.coachment-context-user-selector-menu.is-open .coachment-cus-arrow .coachment-cus-arrow-icon {
  transform: rotate(180deg);
}
.coachment-context-user-selector-menu .coachment-cus-panel {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  background: var(--bg-primary, var(--bg-primary, #fff));
  border: 1px solid var(--border, var(--border, var(--border, #ddd)));
  border-radius: 4px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
  z-index: 99999;
  display: none;
  flex-direction: column;
  min-width: 240px;
  max-height: 360px;
}
.coachment-context-user-selector-menu.is-open .coachment-cus-panel {
  display: flex;
}
.coachment-context-user-selector-menu .coachment-cus-options {
  list-style: none;
  margin: 0;
  padding: 0;
  overflow-y: auto;
  max-height: 280px;
  font-size: 0.875rem;
  line-height: 1.4;
  color: var(--text-primary, #1f2937);
}
.coachment-context-user-selector-menu .coachment-cus-options li {
  padding: 6px 12px;
  margin: 0;
  cursor: pointer;
  border-top: 1px solid var(--border-light, var(--border-light, var(--border-light, #eee)));
  min-height: 0;
  height: auto;
  display: block;
}
.coachment-context-user-selector-menu .coachment-cus-options li:first-child {
  border-top: 0;
}
.coachment-context-user-selector-menu .coachment-cus-options li:hover,
.coachment-context-user-selector-menu .coachment-cus-options li:focus {
  background: var(--primary-light, #eff6ff);
  outline: none;
}
.coachment-context-user-selector-menu .coachment-cus-options li.is-selected {
  font-weight: 600;
}
.coachment-context-user-selector-menu .coachment-cus-options .coachment-cus-empty {
  color: var(--text-muted, var(--text-muted, var(--text-muted, #999)));
  cursor: default;
  font-style: italic;
}
@media (max-width: 720px) {
  .coachment-context-user-selector-menu.is-open .coachment-cus-panel {
    position: fixed;
    top: auto;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    max-width: 100%;
    max-height: 70vh;
    border-radius: 12px 12px 0 0;
    box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.2);
  }
  .coachment-context-user-selector-menu.is-open .coachment-cus-options {
    max-height: calc(70vh - 60px);
  }
}

.coachment-context-scope-chips {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-right: 8px;
}
.coachment-context-scope-chips .coachment-scope-chip {
  appearance: none;
  border: 1px solid var(--border-light, var(--border, var(--border, #d0d7de)));
  background: var(--bg-light, var(--bg-primary, var(--bg-primary, #fff)));
  color: var(--text-default, #1f2937);
  border-radius: 999px;
  padding: 4px 12px;
  font-size: 0.8125rem;
  line-height: 1.4;
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.coachment-context-scope-chips .coachment-scope-chip:hover,
.coachment-context-scope-chips .coachment-scope-chip:focus {
  border-color: var(--primary-color, #2563eb);
  color: var(--primary-color, #2563eb);
  outline: none;
}
.coachment-context-scope-chips .coachment-scope-chip.is-active {
  background: var(--primary-color, #2563eb);
  color: var(--bg-primary, var(--bg-primary, #fff));
  border-color: var(--primary-color, #2563eb);
}

/* ===== wp-admin: Coachment → Bruger-typer (fase 2 — inline styles ud) ===== */
body.wp-admin .cm-admin-user-types-table {
  max-width: 30rem;
}
body.wp-admin .cm-admin-text-end {
  text-align: right;
}

/* ===== DARK THEME TOKENS ===== */
/* Aktiveres ved data-theme="dark" på <html>-elementet */
[data-theme="dark"] {
  /* Primære farver */
  --primary: #5b8dee;
  --primary-dark: #4a7de8;
  --primary-light: #1e2d4a;
  --primary-lighter: #161e33;

  /* Sekundære farver */
  --secondary: #1e2130;
  --secondary-dark: #252839;

  /* Tekst farver */
  --text-primary: #e8e8e8;
  --text-secondary: #b0b0b0;
  --text-muted: #888;
  --text-caption: #999;

  /* Border farver */
  --border: #3a3a3a;
  --border-light: #2a2a2a;
  --border-dark: #444;

  /* Status farver */
  --success: #4ade80;
  --success-dark: #22c55e;
  --success-bg: #052e16;
  --success-border: #166534;
  --success-text: #86efac;
  --error: #f87171;
  --error-bg: #2d0a0a;
  --error-bg-alt: #3b0f0f;
  --error-border: #7f1d1d;
  --error-text: #fca5a5;
  --warning: #fbbf24;
  --warning-dark: #f59e0b;
  --warning-bg: #1c1400;
  --warning-bg-alt: #2a1f00;
  --warning-border: #92400e;
  --warning-text: #fcd34d;
  --info: #60a5fa;
  --info-bg: #0c1a2e;
  --info-border: #1e3a5f;
  --info-text: #93c5fd;

  /* Baggrund farver */
  --bg-primary: #121212;
  --bg-secondary: #1a1a2e;
  --bg-light: #1e1e2e;
  --bg-gray: #242424;
  --bg-gray-light: #1c1c1c;
  --border-gray: #2e2e2e;

  /* Hover og focus farver */
  --hover-bg: #1e2d4a;
  --focus-border: #5b8dee;
  --focus-shadow: rgba(91, 141, 238, 0.2);

  /* Shadows */
  --shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
  --shadow-color: rgba(0, 0, 0, 0.4);
  --shadow-color-lg: rgba(0, 0, 0, 0.6);

  /* cm-namespace tokens */
  --cm-color-primary: var(--primary);
  --cm-color-primary-soft: var(--primary-light);
  --cm-color-secondary: var(--secondary);
  --cm-color-danger: var(--error);
  --cm-color-border: var(--border);
  --cm-color-bg-card: #1a1a2e;
  --cm-color-text-main: var(--text-primary);

  /* Ekstra dark-specifikke tokens */
  --cm-color-surface-alt: #1e2a3a;
  --cm-color-warning: #f59e0b;
  --cm-color-success: #22c55e;

  /* Toggle-knap i dark mode */
  color-scheme: dark;
}

/* ===== DARK THEME: TOGGLE-KNAP + JUMP CLUSTER ===== */
.cm-fixed-br-cluster {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: center;
}
.cm-theme-toggle,
.cm-jump-toggle {
  position: relative;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 2px solid var(--border, #ddd);
  background: var(--bg-primary, #fff);
  color: var(--text-primary, #333);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  box-shadow: var(--shadow, 0 2px 8px rgba(0,0,0,0.1));
  transition: background 0.2s, border-color 0.2s, box-shadow 0.2s, color 0.2s;
  padding: 0;
  line-height: 1;
}
.cm-jump-toggle {
  width: 22px;
  height: 22px;
  font-size: 0.7rem;
  border-width: 1px;
}
.cm-theme-toggle:hover,
.cm-jump-toggle:hover {
  border-color: var(--primary, #2563eb);
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}
.cm-theme-toggle:focus,
.cm-jump-toggle:focus {
  outline: 2px solid var(--focus-border, #2563eb);
  outline-offset: 2px;
}
/* Ikon: sol i light mode, måne i dark mode */
.cm-theme-toggle::before {
  content: '☀️';
}
[data-theme="dark"] .cm-theme-toggle::before {
  content: '🌙';
}
.cm-jump-toggle[data-cm-jump="top"]::before {
  content: '↑';
  font-weight: 700;
}
.cm-jump-toggle[data-cm-jump="bottom"]::before {
  content: '↓';
  font-weight: 700;
}

/* ===== DARK THEME: BUDDYBOSS THEME OVERRIDES ===== */
/*
 * BuddyBoss Theme bruger sine egne --bb-* CSS custom properties, sat dynamisk
 * via inline <style id="buddyboss_theme-style">. Vi overskriver dem her
 * under [data-theme="dark"] så alle BuddyBoss-komponenter reagerer på dark mode.
 */
[data-theme="dark"] {
  /* Baggrunde */
  --bb-body-background-color: #0f0f1a !important;
  --bb-body-background-color-rgb: 15, 15, 26 !important;
  --bb-content-background-color: #1a1a2e !important;
  --bb-content-alternate-background-color: #141424 !important;
  --bb-content-border-color: #2e2e45 !important;
  --bb-content-border-color-rgb: 46, 46, 69 !important;
  --bb-cover-image-background-color: #1e1e3a !important;

  /* Tekst */
  --bb-headings-color: #e8e8e8 !important;
  --bb-headings-color-rgb: 232, 232, 232 !important;
  --bb-body-text-color: #c0c0c0 !important;
  --bb-body-text-color-rgb: 192, 192, 192 !important;
  --bb-alternate-text-color: #888 !important;
  --bb-alternate-text-color-rgb: 136, 136, 136 !important;

  /* Header */
  --bb-header-background: #121220 !important;
  --bb-header-alternate-background: #1a1a2e !important;
  --bb-header-links: #e0e0e0 !important;
  --bb-header-links-hover: #5b8dee !important;

  /* Sidenav/Sidebar */
  --bb-sidenav-background: #121220 !important;
  --bb-sidenav-text-regular: #c0c0c0 !important;
  --bb-sidenav-text-hover: #e8e8e8 !important;
  --bb-sidenav-text-active: #fff !important;
  --bb-sidenav-menu-background-color-regular: #121220 !important;
  --bb-sidenav-menu-background-color-hover: #1e1e3a !important;
  --bb-sidenav-menu-background-color-active: #3a5dd9 !important;
  --bb-sidenav-count-text-color-regular: #c0c0c0 !important;
  --bb-sidenav-count-text-color-hover: #fff !important;
  --bb-sidenav-count-text-color-active: #5b8dee !important;
  --bb-sidenav-count-background-color-regular: #1e1e3a !important;
  --bb-sidenav-count-background-color-hover: #3a5dd9 !important;
  --bb-sidenav-count-background-color-active: #fff !important;

  /* Footer */
  --bb-footer-background: #0f0f1a !important;
  --bb-footer-widget-background: #0f0f1a !important;
  --bb-footer-text-color: #c0c0c0 !important;
  --bb-footer-menu-link-color-regular: #c0c0c0 !important;
  --bb-footer-menu-link-color-hover: #5b8dee !important;
  --bb-footer-menu-link-color-active: #e8e8e8 !important;

  /* Buttons – primary farve beholdes, secondary tilpasses */
  --bb-primary-color: #5b8dee !important;
  --bb-primary-color-rgb: 91, 141, 238 !important;
  --bb-secondary-button-background-regular: #1e1e3a !important;
  --bb-secondary-button-background-hover: #5b8dee !important;
  --bb-secondary-button-border-regular: #2e2e45 !important;
  --bb-secondary-button-border-hover: #5b8dee !important;
  --bb-secondary-button-text-regular: #c0c0c0 !important;

  /* Labels & tooltips */
  --bb-label-background-color: #1e2d4a !important;
  --bb-label-text-color: #5b8dee !important;
  --bb-tooltip-background: #e8e8e8 !important;
  --bb-tooltip-background-rgb: 232, 232, 232 !important;
  --bb-tooltip-color: #121212 !important;

  /* Admin screen */
  --bb-admin-screen-bgr-color: #1a1a2e !important;
  --bb-admin-screen-txt-color: #e8e8e8 !important;
}

/* ===== DARK THEME: GLOBALE ELEMENT-OVERRIDES ===== */
/* body, formularer, inputs – dækker elementer der ikke bruger var() */
[data-theme="dark"] body {
  background-color: #0f0f1a;
  color: var(--text-primary);
}

[data-theme="dark"] input,
[data-theme="dark"] input[type="text"],
[data-theme="dark"] input[type="email"],
[data-theme="dark"] input[type="password"],
[data-theme="dark"] input[type="search"],
[data-theme="dark"] input[type="url"],
[data-theme="dark"] input[type="tel"],
[data-theme="dark"] input[type="number"],
[data-theme="dark"] textarea,
[data-theme="dark"] select,
[data-theme="dark"] .select-field,
[data-theme="dark"] .input-field,
[data-theme="dark"] .wp-editor-area,
[data-theme="dark"] .mce-edit-area iframe {
  background-color: var(--bg-secondary, #1a1a2e) !important;
  color: var(--text-primary, #e8e8e8) !important;
  border-color: var(--border, #3a3a3a) !important;
}

[data-theme="dark"] input::placeholder,
[data-theme="dark"] textarea::placeholder {
  color: var(--text-muted, #888) !important;
}

/* ===== DARK THEME: BUDDYBOSS KOMPONENTER ===== */
/* Elementer i BuddyBoss der ikke bruger --bb-* og har hardkodede styles */

/* Sidepanel / navigation */
[data-theme="dark"] #buddyboss-media-uploader,
[data-theme="dark"] .bb-panel,
[data-theme="dark"] .bb-sub-nav,
[data-theme="dark"] .bb-cover-photo-wrap,
[data-theme="dark"] .bb-profile-cover-wrap {
  background-color: var(--bg-secondary, #1a1a2e);
}

/* BuddyPress wrap og member/group elementer */
[data-theme="dark"] #buddypress,
[data-theme="dark"] .buddypress-wrap,
[data-theme="dark"] #buddypress ul.item-list > li,
[data-theme="dark"] #buddypress div.item-list-tabs ul li a,
[data-theme="dark"] .bp-members-list .member-wrap,
[data-theme="dark"] .bp-groups-list .group-wrap {
  background-color: var(--bg-secondary, #1a1a2e);
  color: var(--text-primary, #e8e8e8);
}

[data-theme="dark"] #buddypress div.item-list-tabs ul li.selected a,
[data-theme="dark"] #buddypress div.item-list-tabs ul li a:hover {
  background-color: var(--hover-bg, #1e2d4a);
  color: var(--primary, #5b8dee);
}

/* Aktivitetsstrøm */
[data-theme="dark"] #buddypress #activity-stream .activity-item,
[data-theme="dark"] .bb-activity-feed .activity-item,
[data-theme="dark"] .bb-activity-inner {
  background-color: var(--bg-secondary, #1a1a2e) !important;
  border-color: var(--border, #2e2e45) !important;
}

[data-theme="dark"] .bb-activity-feed .acomment-content,
[data-theme="dark"] #buddypress .activity-comments .acomment-content {
  background-color: var(--bg-light, #1e1e2e);
  border-color: var(--border, #2e2e45);
}

/* Notifikationer og beskeder */
[data-theme="dark"] .bb-nav-items,
[data-theme="dark"] .bb-count,
[data-theme="dark"] .notification-item,
[data-theme="dark"] .messages-nav {
  background-color: var(--bg-secondary, #1a1a2e);
  color: var(--text-primary, #e8e8e8);
  border-color: var(--border, #2e2e45);
}

/* Modaler og popups fra BuddyBoss */
[data-theme="dark"] .bb-rl-modal,
[data-theme="dark"] .bb-modal,
[data-theme="dark"] .media-modal,
[data-theme="dark"] #buddyboss-video-theatre-popup,
[data-theme="dark"] .video-js .vjs-menu-button-popup .vjs-menu {
  background-color: var(--bg-secondary, #1a1a2e) !important;
  color: var(--text-primary, #e8e8e8) !important;
  border-color: var(--border, #2e2e45) !important;
}

/* Cards og bokse */
[data-theme="dark"] .bb-card,
[data-theme="dark"] .bb-grid-item,
[data-theme="dark"] .groups-list .list-wrap,
[data-theme="dark"] .members-list .list-wrap {
  background-color: var(--bg-secondary, #1a1a2e);
  border-color: var(--border, #2e2e45);
}

/* Links */
[data-theme="dark"] #buddypress a,
[data-theme="dark"] .buddypress-wrap a {
  color: var(--primary, #5b8dee);
}

[data-theme="dark"] #buddypress a:hover,
[data-theme="dark"] .buddypress-wrap a:hover {
  color: var(--primary-dark, #4a7de8);
}

/* BuddyBoss main navigation undermenuer */
[data-theme="dark"] .bb-mobile-nav,
[data-theme="dark"] .bb-sub-menu {
  background-color: var(--bg-secondary, #1a1a2e) !important;
  border-color: var(--border, #2e2e45) !important;
}

[data-theme="dark"] .bb-sub-menu li a {
  color: var(--text-primary, #e8e8e8) !important;
}

[data-theme="dark"] .bb-sub-menu li a:hover {
  background-color: var(--hover-bg, #1e2d4a) !important;
  color: var(--primary, #5b8dee) !important;
}

/* Dropdown og autocomplete */
[data-theme="dark"] .dropdown-menu,
[data-theme="dark"] .ui-autocomplete,
[data-theme="dark"] .select2-dropdown,
[data-theme="dark"] .select2-container .select2-selection {
  background-color: var(--bg-secondary, #1a1a2e) !important;
  border-color: var(--border, #3a3a3a) !important;
  color: var(--text-primary, #e8e8e8) !important;
}

[data-theme="dark"] .select2-container .select2-selection__rendered {
  color: var(--text-primary, #e8e8e8) !important;
}

[data-theme="dark"] .select2-results__option {
  background-color: var(--bg-secondary, #1a1a2e);
  color: var(--text-primary, #e8e8e8);
}

[data-theme="dark"] .select2-results__option--highlighted {
  background-color: var(--hover-bg, #1e2d4a) !important;
  color: var(--primary, #5b8dee) !important;
}

/* WP admin bar */
[data-theme="dark"] #wpadminbar {
  background-color: var(--bg-primary, #121212) !important;
  border-bottom-color: var(--border, #2e2e45) !important;
}

[data-theme="dark"] #wpadminbar .ab-item,
[data-theme="dark"] #wpadminbar .ab-empty-item {
  color: var(--text-secondary, #b0b0b0) !important;
}

[data-theme="dark"] #wpadminbar li:hover > .ab-item,
[data-theme="dark"] #wpadminbar li.hover > .ab-item {
  background-color: var(--bg-secondary, #1a1a2e) !important;
  color: var(--text-primary, #e8e8e8) !important;
}

[data-theme="dark"] #wpadminbar .menupop .ab-sub-wrapper {
  background-color: var(--bg-secondary, #1a1a2e) !important;
  border-color: var(--border, #2e2e45) !important;
}

/* Feedback-input og developer message */
[data-theme="dark"] .feedback-thread-input,
[data-theme="dark"] .developer-message-text,
[data-theme="dark"] .cm-feedback-composer textarea {
  background-color: var(--bg-secondary, #1a1a2e) !important;
  color: var(--text-primary, #e8e8e8) !important;
  border-color: var(--border, #3a3a3a) !important;
}

/* Context user selector */
[data-theme="dark"] .coachment-context-user-select-menu {
  background-color: var(--bg-secondary, #1a1a2e) !important;
  border-color: var(--border, #3a3a3a) !important;
}

[data-theme="dark"] .coachment-cus-list-item:hover,
[data-theme="dark"] .coachment-cus-list-item.selected {
  background-color: var(--hover-bg, #1e2d4a) !important;
}

/* Hvid baggrund i .bb-profile-inner og lignende sektioner */
[data-theme="dark"] .bb-profile-inner,
[data-theme="dark"] .profile-section,
[data-theme="dark"] .bb-cover,
[data-theme="dark"] .item-header-cover-image,
[data-theme="dark"] .header-cover-image {
  background-color: var(--bg-secondary, #1a1a2e);
}

/* Kort og lister generelt */
[data-theme="dark"] .card,
[data-theme="dark"] .list-item,
[data-theme="dark"] .entry-content,
[data-theme="dark"] .site-content,
[data-theme="dark"] .bb-page-container,
[data-theme="dark"] .bb-content-area {
  background-color: var(--bg-secondary, #1a1a2e);
  color: var(--text-primary, #e8e8e8);
}

/* ===== DARK THEME: JOBMATCH TWINVIEW OVERRIDES ===== */
/* Kort/items – lidt lysere end body for visuel adskillelse */
[data-theme="dark"] .jobmatch-twinview-item {
  background: var(--bg-secondary, #1a1a2e) !important;
  border-color: var(--border, #2e2e45) !important;
}

[data-theme="dark"] .jobmatch-twinview-item-head:hover {
  background: var(--hover-bg, #1e2d4a) !important;
}

[data-theme="dark"] .jobmatch-twinview-item-head:hover .jobmatch-twinview-item-title,
[data-theme="dark"] .jobmatch-twinview-item-head:hover .jobmatch-twinview-item-tasktypes,
[data-theme="dark"] .jobmatch-twinview-item-head:hover .jobmatch-twinview-item-meta {
  color: var(--text-primary, #e8e8e8) !important;
}

/* Login/Forbidden bokse */
[data-theme="dark"] .jobmatch-twinview-login,
[data-theme="dark"] .jobmatch-twinview-forbidden {
  background: var(--bg-secondary, #1a1a2e) !important;
  border-color: var(--border, #2e2e45) !important;
  color: var(--text-primary, #e8e8e8) !important;
}

/* Match insight items */
[data-theme="dark"] .jobmatch-twinview-match-insight-item,
[data-theme="dark"] .jobmatch-twinview-standards-insight,
[data-theme="dark"] .jobmatch-twinview-opgavetyper-area,
[data-theme="dark"] .jobmatch-twinview-opgavetyper-subtasks-panel {
  background: var(--bg-secondary, #1a1a2e) !important;
  border-color: var(--border, #2e2e45) !important;
}

/* Discovery selected items */
[data-theme="dark"] .jobmatch-twinview-discovery-selected-item {
  background: var(--bg-light, #1e1e2e) !important;
  border-color: var(--border, #2e2e45) !important;
}

/* Application status badges */
[data-theme="dark"] .jobmatch-twinview-appl-status {
  background: var(--bg-secondary, #1a1a2e) !important;
  border-color: var(--border, #2e2e45) !important;
  color: var(--text-primary, #e8e8e8) !important;
}

/* Branch select dropdown */
[data-theme="dark"] .jobmatch-twinview-opgavetyper-branch-select {
  background: var(--bg-secondary, #1a1a2e) !important;
  border-color: var(--border, #3a3a3a) !important;
  color: var(--text-primary, #e8e8e8) !important;
}

/* Match dialog banner (turkis) */
[data-theme="dark"] .jobmatch-twinview-match-dialog-banner {
  background: var(--bg-secondary, #1a1a2e) !important;
  border-bottom-color: var(--border, #2e2e45) !important;
  color: var(--success, #4ade80) !important;
}

/* Match modal insight items */
[data-theme="dark"] .jobmatch-twinview-match-modal-insight {
  background: var(--bg-light, #1e1e2e) !important;
  border-bottom-color: var(--border, #2e2e45) !important;
}

/* Status-farver i dark mode – besat/unfilled */
[data-theme="dark"] .jobmatch-twinview-item.is-besat {
  background: var(--success-bg, #052e16) !important;
  border-color: var(--success-border, #166534) !important;
}

[data-theme="dark"] .jobmatch-twinview-item.is-unfilled {
  background: var(--error-bg, #2d0a0a) !important;
  border-color: var(--error-border, #7f1d1d) !important;
}

/* Badge */
[data-theme="dark"] .jobmatch-twinview-badge {
  background: var(--warning-bg, #1c1400) !important;
  color: var(--warning-text, #fcd34d) !important;
}

/* Primær knap i common-container */
[data-theme="dark"] .jobmatch-twinview.module.module-container.common-container .jobmatch-twinview-actions a.button.jobmatch-twinview-btn-primary {
  background: var(--bg-secondary, #1a1a2e) !important;
  border-color: var(--border, #3a3a3a) !important;
  color: var(--text-primary, #e8e8e8) !important;
}

/* Aktiv fane i common-container */
[data-theme="dark"] .jobmatch-twinview.module.module-container.common-container .jobmatch-twinview-col-tab.is-active {
  background: var(--bg-light, #1e1e2e) !important;
  border-color: var(--border, #3a3a3a) !important;
  color: var(--text-primary, #e8e8e8) !important;
}

/* Match-dialog kolonne header */
[data-theme="dark"] .jobmatch-twinview-match-dialog-cols-header {
  background: var(--bg-secondary, #1a1a2e) !important;
  border-bottom-color: var(--border, #2e2e45) !important;
}

/* Jobordre / scroll-container */
[data-theme="dark"] .jobmatch-twinview-scroll-inner,
[data-theme="dark"] .jobmatch-twinview-col-scroll {
  background: var(--bg-primary, #121212) !important;
}

/* Del/søg-felt */
[data-theme="dark"] .jobmatch-twinview-search input,
[data-theme="dark"] .jobmatch-twinview-search-row input {
  background: var(--bg-secondary, #1a1a2e) !important;
  color: var(--text-primary, #e8e8e8) !important;
  border-color: var(--border, #3a3a3a) !important;
}

/* Kolonner og header-bånd */
[data-theme="dark"] .jobmatch-twinview-col-header,
[data-theme="dark"] .jobmatch-twinview-tabs-row {
  background: var(--bg-secondary, #1a1a2e) !important;
  border-bottom-color: var(--border, #2e2e45) !important;
}

/* Task-editor */
[data-theme="dark"] .jobmatch-task-editor,
[data-theme="dark"] .jobmatch-task-editor-panel,
[data-theme="dark"] .jobmatch-task-editor-header {
  background: var(--bg-secondary, #1a1a2e) !important;
  border-color: var(--border, #2e2e45) !important;
  color: var(--text-primary, #e8e8e8) !important;
}
