/*
 * Driveflow – tema v2 (rolig, kørekort-stemning) – tilpasset "designløft 2.0"
 * Indlæses SIDST i layouts/app.blade.php, kun når config('app.ui_theme_v2') er sand (UI_THEME_V2=true i .env).
 * Slå fra: UI_THEME_V2=false (eller fjern linjen) – så er alt som før.
 * Skrifter: Figtree og Bricolage Grotesque (SIL OFL 1.1), hostet på egen server (/theme/fonts).
 */

@font-face { font-family: "Figtree"; font-style: normal; font-weight: 400; font-display: swap; src: url("fonts/figtree-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Figtree"; font-style: normal; font-weight: 500; font-display: swap; src: url("fonts/figtree-latin-500-normal.woff2") format("woff2"); }
@font-face { font-family: "Figtree"; font-style: normal; font-weight: 600; font-display: swap; src: url("fonts/figtree-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "Figtree"; font-style: normal; font-weight: 700; font-display: swap; src: url("fonts/figtree-latin-700-normal.woff2") format("woff2"); }
@font-face { font-family: "Bricolage Grotesque"; font-style: normal; font-weight: 700; font-display: swap; src: url("fonts/bricolage-grotesque-latin-700-normal.woff2") format("woff2"); }
@font-face { font-family: "Bricolage Grotesque"; font-style: normal; font-weight: 800; font-display: swap; src: url("fonts/bricolage-grotesque-latin-800-normal.woff2") format("woff2"); }

:root {
    --df-blue: #184F9F;
    --df-blue-dark: #123E7D;
    --df-blue-tint: #EAF0F9;
    --df-ink: #1B2533;
    --df-muted: #5B6577;
    --df-bg: #F5F6F8;
    --df-line: #E4E7EC;
    --df-line-strong: #D5DAE2;
    --df-asphalt: #2A3442;
    --df-road-yellow: #E9C46A;
    --df-red: #A32A1E;
    --df-red-tint: #FDECEA;
    --df-green: #2F7D5B;
    --df-ochre: #B08A2E;

    --bs-primary: #184F9F;
    --bs-primary-rgb: 24, 79, 159;
    --bs-body-bg: #F5F6F8;
    --bs-body-color: #1B2533;
    --bs-border-color: #E4E7EC;
    --bs-body-font-family: "Figtree", system-ui, -apple-system, "Segoe UI", sans-serif;
}

/* ---------- Grundlag ---------- */
body,
#wrapper,
.sidebar,
.topbar,
.card,
.btn,
.form-control,
.form-select,
.select2-container,
.fc {
    font-family: "Figtree", system-ui, -apple-system, "Segoe UI", sans-serif !important;
}

body {
    background-color: var(--df-bg) !important;
    color: var(--df-ink);
}

h1, h2, h3,
.page-title-wrapper h1,
.page-title-wrapper h2,
.page-title-wrapper h3 {
    font-family: "Bricolage Grotesque", "Figtree", system-ui, sans-serif;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--df-ink);
}

a { color: var(--df-blue); }
a:hover { color: var(--df-blue-dark); }

/* Diskret vejlinje under sidetitlen – kørekort-stemning uden støj */
.page-title-wrapper {
    position: relative;
    padding-bottom: 10px;
}
.page-title-wrapper::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 132px;
    height: 3px;
    border-radius: 2px;
    background: repeating-linear-gradient(to right, var(--df-road-yellow) 0, var(--df-road-yellow) 18px, transparent 18px, transparent 28px);
}

/* ---------- Kort ---------- */
.card,
.main-card {
    border: 1px solid var(--df-line) !important;
    border-radius: 14px !important;
    box-shadow: none !important;
    background-color: #FFFFFF;
}

/* ---------- Sidemenu ---------- */
.sidebar {
    border: 1px solid var(--df-line);
    border-radius: 14px;
    box-shadow: none;
}
.sidebar .nav-item .nav-link {
    color: var(--df-ink);
    font-weight: 500;
    border-radius: 10px;
}
.sidebar .nav-item .nav-link:hover {
    background-color: #F1F3F6;
}
.sidebar .nav-item .nav-link i {
    color: var(--df-muted);
}
.sidebar .nav-item.active .nav-link {
    background-color: var(--df-blue-tint) !important;
    color: var(--df-blue) !important;
    font-weight: 700;
    box-shadow: inset 3px 0 0 var(--df-blue);
}
.sidebar .nav-item.active .nav-link i {
    color: var(--df-blue);
}

/* ---------- Knapper ---------- */
.mrdrive_btn-primary,
.btn-primary {
    background-color: var(--df-blue) !important;
    border-color: var(--df-blue) !important;
    color: #FFFFFF !important;
    border-radius: 10px !important;
    font-weight: 600;
    box-shadow: none !important;
}
.mrdrive_btn-primary:hover,
.btn-primary:hover {
    background-color: var(--df-blue-dark) !important;
    border-color: var(--df-blue-dark) !important;
}
.btn-outline-primary {
    color: var(--df-blue);
    border-color: var(--df-blue);
    border-radius: 10px;
}
.btn {
    border-radius: 10px;
    box-shadow: none;
}

/* ---------- Tal-kort på dashboard: hvide og rolige ---------- */
.dashboard-status-card,
.dashboard-status-card.total-lessons,
.dashboard-status-card.total-students,
.dashboard-status-card.total-teams {
    background-color: #FFFFFF !important;
    color: var(--df-ink) !important;
    border: 1px solid var(--df-line);
    border-radius: 14px;
}
.dashboard-status-card .dashboard-status-card-icon {
    background-color: var(--df-blue-tint) !important;
    color: var(--df-blue) !important;
    border-radius: 12px;
}
.dashboard-status-card .dashboard-status-card-content h6 {
    color: var(--df-muted);
    font-weight: 500;
}
.dashboard-status-card .dashboard-status-card-content h4 {
    font-family: "Bricolage Grotesque", "Figtree", sans-serif;
    font-weight: 800;
}

/* Tal-kort andre steder (elevens modulplan, prøveresultater): samme betydning, dæmpede farver */
.count-card-item { border-radius: 14px; }
.count-card-item.card-primary { background-color: var(--df-blue) !important; }
.count-card-item.card-green { background-color: var(--df-green) !important; }
.count-card-item.card-yellow { background-color: var(--df-ochre) !important; }
.count-card-item.card-red { background-color: var(--df-red) !important; }
.count-card-item.card-secondary { background-color: #6B7686 !important; }
.count-card-item .count-card-icon { border-radius: 12px; }
.count-card-item.card-primary .count-card-icon i { color: var(--df-blue); }
.count-card-item.card-green .count-card-icon i { color: var(--df-green); }
.count-card-item.card-yellow .count-card-icon i { color: var(--df-ochre); }
.count-card-item.card-red .count-card-icon i { color: var(--df-red); }

/* ---------- Kalender (FullCalendar) ---------- */
.fc .fc-button-primary {
    background-color: #FFFFFF !important;
    border: 1px solid var(--df-line-strong) !important;
    color: var(--df-ink) !important;
    box-shadow: none !important;
    font-weight: 600;
}
.fc .fc-button-primary:hover {
    background-color: #F1F3F6 !important;
}
.fc .fc-button-primary.fc-button-active,
.fc .fc-button-primary:not(:disabled):active {
    background-color: var(--df-blue) !important;
    border-color: var(--df-blue) !important;
    color: #FFFFFF !important;
}
.fc .fc-toolbar-title {
    font-family: "Bricolage Grotesque", "Figtree", sans-serif;
    font-weight: 800;
    color: var(--df-ink);
}
.fc .fc-col-header-cell-cushion {
    color: var(--df-muted);
    font-weight: 600;
}
.fc-theme-standard td,
.fc-theme-standard th,
.fc-theme-standard .fc-scrollgrid {
    border-color: var(--df-line) !important;
}
.fc .fc-day-today,
.fc-scrollgrid-sync-table td.fc-day-today {
    background-color: #F3F7FD !important;
}
.fc .fc-day-today .fc-daygrid-day-number {
    background-color: var(--df-blue);
    color: #FFFFFF;
    border-radius: 999px;
    min-width: 26px;
    text-align: center;
}

/* Bookingtyper: dæmpede, men stadig til at skelne */
.fc-daygrid-dot-event,
.fc-daygrid-block-event,
.fc-timegrid-event {
    border-radius: 8px !important;
}
.fc-event.practical-lesson { background-color: #184F9F !important; }
.fc-event.practical-open-booking { background-color: #4A78B8 !important; }
.fc-event.theory-booking { background-color: #6B5CA5 !important; }
.fc-event.manoeuver-track { background-color: #1F6F78 !important; }
.fc-event.slippery-track { background-color: #8A5A2B !important; }
.fc-event.practical-test { background-color: #2F6B5A !important; }
.fc-event.theory-test { background-color: #8A6D3B !important; }
.fc-event.first-aid-course { background-color: #9C4A4A !important; }
.fc-event.request { background-color: #A0673A !important; }
.fc-event.private { background-color: #7C8594 !important; }
.fc-event.pre-booking { background-color: #6F7B4A !important; }

.fc-event.practical-lesson .fc-list-event-dot { border-color: #184F9F !important; }
.fc-event.practical-open-booking .fc-list-event-dot { border-color: #4A78B8 !important; }
.fc-event.theory-booking .fc-list-event-dot { border-color: #6B5CA5 !important; }
.fc-event.manoeuver-track .fc-list-event-dot { border-color: #1F6F78 !important; }
.fc-event.slippery-track .fc-list-event-dot { border-color: #8A5A2B !important; }
.fc-event.practical-test .fc-list-event-dot { border-color: #2F6B5A !important; }
.fc-event.theory-test .fc-list-event-dot { border-color: #8A6D3B !important; }
.fc-event.first-aid-course .fc-list-event-dot { border-color: #9C4A4A !important; }

/* ---------- Til/fra-knap: dansk tekst ---------- */
.switchToggle.with-text input + label:before,
.switchToggle.with-text input + input + label:before {
    content: "Inaktiv";
}
.switchToggle.with-text input:checked + label:before,
.switchToggle.with-text input:checked + input + label:before {
    content: "Aktiv";
}

/* ---------- Mærker ---------- */
.badge.bg-danger {
    background-color: var(--df-red-tint) !important;
    color: var(--df-red) !important;
}
.badge.bg-success {
    background-color: #E7F3EC !important;
    color: var(--df-green) !important;
}

/* ---------- Designløft 2.0: samme farve betyder altid det samme ----------
 * Grå = ikke startet (ikke rød), blå = i gang, grøn = gennemført, gul = mangler underskrift. */

/* Elevens oversigt: tal-kortene */
.module-status-card.total { background-color: var(--df-blue) !important; }
.module-status-card.completed { background-color: var(--df-green) !important; }
.module-status-card.not-started { background-color: #5B6677 !important; }
.module-status-card.not-started .module-status-card-icon { color: #5B6677 !important; }
.module-status-card.completed .module-status-card-icon { color: var(--df-green) !important; }

/* Elevens oversigt: kryds ved moduler der ikke er gennemført (neutral grå i stedet for rød) */
.module-completion-card .module-details.not-started .module-completion-card-icon {
    background-color: #E9ECF0 !important;
    color: #5B6677 !important;
}
.module-completion-card .module-details.not-started .module-completion-card-icon i { color: #5B6677 !important; }

/* Elevens modulplan (V2): hovedmoduler */
.v2-main-module-red {
    background-color: #F7F8FA !important;
    border-color: #DADFE6 !important;
}
.v2-main-module-red .badge.bg-danger {
    background-color: #E9ECF0 !important;
    color: #4A5463 !important;
}
.v2-main-module-yellow {
    background-color: #F3F7FD !important;
    border-color: #C9D6EC !important;
}
.v2-main-module-yellow .badge.bg-warning {
    background-color: var(--df-blue-tint) !important;
    color: var(--df-blue) !important;
}
.v2-main-module-green {
    background-color: #F3FAF6 !important;
    border-color: #BFE0CE !important;
}

/* Elevens modulplan (V2): delmoduler */
.v2-module-incomplete { border-color: var(--df-line) !important; }
.v2-module-incomplete .module-card-left,
.v2-module-incomplete .module-card-right { background-color: #F5F6F8 !important; }
.v2-module-complete { border-color: #BFE0CE !important; }
.v2-module-complete .module-card-left,
.v2-module-complete .module-card-right { background-color: #EAF6EF !important; }

/* Kalender: dagens dato i rolig blå i stedet for gul */
.fc { --fc-today-bg-color: #F3F7FD; }
.dashboard-wrapper .fc-scrollgrid-sync-table td.fc-day-today { background-color: #F3F7FD !important; }

/* Overskrifter inde i farvede tal-kort skal forblive hvide */
.count-card-item h1, .count-card-item h2, .count-card-item h3, .count-card-item h4,
.module-status-card h1, .module-status-card h2, .module-status-card h3, .module-status-card h4 { color: #FFFFFF; }

/* ---------- Tabeller: rolige hvide rækker i stedet for blå striber ---------- */
.main-card .table thead th {
    background-color: #F7F8FA !important;
    color: var(--df-muted) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    border-bottom: 1px solid var(--df-line) !important;
    border-radius: 0 !important;
}
.main-card .table thead th:first-child { border-radius: 10px 0 0 10px !important; }
.main-card .table thead th:last-child { border-radius: 0 10px 10px 0 !important; }
.main-card .table tbody td {
    background-color: #FFFFFF !important;
    border-radius: 0 !important;
    border-bottom: 1px solid #EEF0F3 !important;
    color: var(--df-ink);
    vertical-align: middle;
}
.main-card .table tbody tr:last-child td { border-bottom: 0 !important; }
.main-card .table tbody tr:hover td { background-color: #F7F9FC !important; }
.main-card .table tbody td:first-child a { font-weight: 700; color: var(--df-blue); }

/* Handlingsknapper i tabeller: hvide med tynd kant, blå ikon */
.table-actions .rounded-btn,
.table-actions button {
    background-color: #FFFFFF !important;
    border: 1px solid var(--df-line-strong) !important;
    color: var(--df-blue) !important;
    box-shadow: none !important;
}
.table-actions .rounded-btn i,
.table-actions button i { color: var(--df-blue) !important; }
.table-actions .rounded-btn:hover,
.table-actions button:hover {
    background-color: var(--df-blue-tint) !important;
    border-color: #C9D6EC !important;
}

/* ---------- Kalender: ansigtsløft (samme funktioner) ---------- */
.fc .fc-scrollgrid {
    border: 1px solid var(--df-line) !important;
    border-radius: 16px;
    overflow: hidden;
    background: #FFFFFF;
}
.fc .fc-header-toolbar { margin-bottom: 16px !important; gap: 12px; flex-wrap: wrap; }
.fc .fc-toolbar-title { font-size: 26px !important; letter-spacing: -0.02em; }
/* Dag/uge/måned som én samlet knap */
.fc .fc-button-group { background: #EEF0F3; border-radius: 12px; padding: 4px; gap: 2px; }
.fc .fc-button-group .fc-button-primary {
    border: 0 !important;
    border-radius: 9px !important;
    background: transparent !important;
    color: #4A5463 !important;
    min-height: 36px;
    padding: 0 14px;
}
.fc .fc-button-group .fc-button-primary:hover { background: rgba(255,255,255,.7) !important; color: var(--df-ink) !important; }
.fc .fc-button-group .fc-button-primary.fc-button-active {
    background: #FFFFFF !important;
    color: var(--df-blue) !important;
    box-shadow: 0 1px 3px rgba(27,37,51,.12) !important;
}
.fc .fc-prev-button, .fc .fc-next-button, .fc .fc-today-button {
    border-radius: 12px !important;
    min-width: 44px;
    min-height: 44px;
}
/* Ugedage */
.fc .fc-col-header-cell {
    background: #F7F8FA !important;
    border-bottom: 1px solid var(--df-line) !important;
}
.fc .fc-col-header-cell-cushion {
    font-size: 12px !important;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--df-muted) !important;
    padding: 12px 4px !important;
    text-decoration: none !important;
}
/* Felterne */
.fc-theme-standard td, .fc-theme-standard th { border-color: #EEF0F3 !important; }
.fc .fc-daygrid-day.fc-day-sat, .fc .fc-daygrid-day.fc-day-sun { background: #FAFBFC; }
.fc .fc-daygrid-day.fc-day-other .fc-daygrid-day-number { color: #A3ACB9 !important; font-weight: 500; }
.fc .fc-daygrid-day-number {
    font-size: 14px;
    font-weight: 700;
    color: var(--df-ink);
    text-decoration: none !important;
    margin: 6px 6px 0 0;
    min-width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
}
.fc .fc-daygrid-day:hover { background: #F7F9FC; }
/* Ugenumre som små mærker */
.fc .fc-daygrid-week-number {
    background: transparent !important;
    color: #8A94A3 !important;
    font-size: 11px !important;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 6px 8px !important;
    text-decoration: none !important;
}
/* Bookinger: bløde hjørner, hvid tekst, let skygge */
.fc .fc-daygrid-event, .fc .fc-timegrid-event {
    border: 0 !important;
    border-radius: 8px !important;
    box-shadow: 0 1px 2px rgba(27,37,51,.18);
    padding: 2px 6px !important;
    margin: 2px 4px !important;
    font-size: 12px;
}
.fc .fc-daygrid-event:hover, .fc .fc-timegrid-event:hover { filter: brightness(1.08); box-shadow: 0 3px 8px rgba(27,37,51,.22); }
.fc .fc-event-time { font-weight: 800; opacity: .9; }
.fc .fc-event-title { font-weight: 600; }
.fc .fc-daygrid-more-link { font-size: 12px; font-weight: 700; color: var(--df-blue); }
/* Uge-/dagvisning: tidslinjen */
.fc .fc-timegrid-slot-label-cushion { font-size: 12px; color: var(--df-muted); font-weight: 600; }
.fc .fc-timegrid-slot { height: 2.6em; }
.fc .fc-timegrid-now-indicator-line { border-color: #E9C46A; border-width: 2px; }
.fc .fc-timegrid-now-indicator-arrow { border-color: #E9C46A; }
/* Frem/tilbage-pile i knapgruppen beholder hvid knap */
.fc .fc-button-group .fc-prev-button, .fc .fc-button-group .fc-next-button {
    background: #FFFFFF !important;
    color: var(--df-ink) !important;
    margin-left: 6px !important;
    box-shadow: 0 1px 2px rgba(27,37,51,.10) !important;
}

/* ===== Tabeller som kort-rækker (samme stil som køreskole-kortene) ===== */
.table-scroller { overflow-x: auto; padding: 2px 4px 8px; }
.main-card table.table,
.table-scroller > table.table {
  border-collapse: separate !important;
  border-spacing: 0 10px !important;
  margin-top: -6px;
  background: transparent !important;
}
.main-card table.table > thead th,
.table-scroller > table.table > thead th {
  background: transparent !important;
  border: 0 !important;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #6B7686 !important;
  padding: 8px 14px 2px !important;
  white-space: nowrap;
}
.main-card table.table > tbody > tr > td,
.table-scroller > table.table > tbody > tr > td {
  background: #FFFFFF !important;
  border-top: 1px solid #E6E9EE !important;
  border-bottom: 1px solid #E6E9EE !important;
  border-left: 0 !important;
  border-right: 0 !important;
  padding: 14px 14px !important;
  vertical-align: middle;
  color: #2B3442;
  transition: background .15s ease;
}
.main-card table.table > tbody > tr > td:first-child,
.table-scroller > table.table > tbody > tr > td:first-child {
  border-left: 1px solid #E6E9EE !important;
  border-radius: 14px 0 0 14px;
}
.main-card table.table > tbody > tr > td:last-child,
.table-scroller > table.table > tbody > tr > td:last-child {
  border-right: 1px solid #E6E9EE !important;
  border-radius: 0 14px 14px 0;
}
.main-card table.table > tbody > tr,
.table-scroller > table.table > tbody > tr {
  box-shadow: 0 1px 2px rgba(27,37,51,.05);
  border-radius: 14px;
  transition: transform .15s ease, box-shadow .15s ease;
}
.main-card table.table > tbody > tr:hover,
.table-scroller > table.table > tbody > tr:hover {
  box-shadow: 0 6px 18px rgba(27,37,51,.09);
}
.main-card table.table > tbody > tr:hover > td,
.table-scroller > table.table > tbody > tr:hover > td { background: #FBFCFE !important; }

/* Navn med initial-badge (badge indsættes af driveflow-theme.js) */
.df-name { display: inline-flex; align-items: center; gap: 12px; font-weight: 700; }
.df-avatar {
  flex: none; width: 38px; height: 38px; border-radius: 12px;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 13.5px; font-weight: 800; letter-spacing: .02em;
}
.df-av-0 { background: #E7EEF9; color: #184F9F; }
.df-av-1 { background: #E3F1F2; color: #1F6F78; }
.df-av-2 { background: #EEEBF6; color: #5A4C94; }
.df-av-3 { background: #FBEFE3; color: #A0561A; }
.df-av-4 { background: #E5F3EA; color: #2A7148; }
.df-av-5 { background: #F8E8EC; color: #9C3D54; }

/* Ja/Nej og status som små piller */
.table .is-true, .table .is-false {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 4px 10px; border-radius: 999px; font-size: 13px; font-weight: 700;
  width: auto !important; max-width: max-content;
}
.table .is-true  { background: #E5F3EA; color: #2A7148 !important; }
.table .is-false { background: #F1F3F6; color: #5B6575 !important; }
.table .is-true i, .table .is-false i { font-size: 13px; line-height: 1; }

/* Tal i tabeller som rolig chip */
.table td > b:only-child {
  display: inline-block; min-width: 34px; text-align: center;
  padding: 3px 10px; border-radius: 999px; background: #F1F4F9; color: #1B2533;
}

/* Handlingsknapper */
.table .table-actions { gap: 6px; margin: 0; justify-content: flex-end; }
.table .table-actions .rounded-btn {
  width: 36px; height: 36px; border-radius: 11px !important;
  background: #F4F6F9 !important; border: 1px solid #E6E9EE !important; color: #3A4556 !important;
  display: inline-flex; align-items: center; justify-content: center;
  transition: background .15s ease, color .15s ease, transform .15s ease;
}
.table .table-actions .rounded-btn:hover { background: #184F9F !important; color: #FFFFFF !important; border-color: #184F9F !important; }

/* ===== Opret booking: vælg type (grupperet, rolig, med ikoner) ===== */
.booking-type-list.df-type-picker { display: flex; flex-direction: column; gap: 18px; margin-top: 6px; }
.df-type-picker .df-type-group-label {
  font-size: 11.5px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase;
  color: #6B7686; margin: 0 2px 8px; text-align: left;
}
.df-type-picker .df-type-grid { display: grid; grid-template-columns: 1fr; gap: 8px; }
.df-type-picker .df-most-used .df-type-grid { grid-template-columns: 1fr; }
.booking-type-list.df-type-picker button.df-type-btn {
  --c: #184F9F;
  display: flex !important; align-items: center; gap: 12px; width: 100% !important;
  min-height: 58px; margin: 0 !important; padding: 10px 14px !important;
  background: #FFFFFF !important; color: #1B2533 !important;
  border: 1px solid #E4E7EC !important; border-radius: 14px !important;
  box-shadow: 0 1px 2px rgba(27,37,51,.05) !important;
  font-size: 15px !important; font-weight: 700 !important; text-align: left !important; line-height: 1.25;
  transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.booking-type-list.df-type-picker button.df-type-btn:hover,
.booking-type-list.df-type-picker button.df-type-btn:focus-visible {
  border-color: var(--c) !important; box-shadow: 0 6px 16px rgba(27,37,51,.10) !important; transform: translateY(-1px);
}
.df-type-picker .df-type-icon {
  flex: none; width: 42px; height: 42px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center;
  color: var(--c); background: color-mix(in srgb, var(--c) 13%, #FFFFFF);
}
.df-type-picker .df-type-text { flex: 1; min-width: 0; }
.df-type-picker .df-type-arrow { flex: none; color: #9AA3B0; }
.df-type-picker .df-type-icon svg { width: 20px; height: 20px; }
.df-type-picker .df-type-icon { width: 38px !important; height: 38px !important; }
.df-type-picker .df-most-used .df-type-icon { width: 50px !important; height: 50px !important; }
.df-type-picker .df-most-used .df-type-icon svg { width: 26px; height: 26px; }

/* "Mest brugt": stor, tydelig knap øverst */
.booking-type-list.df-type-picker .df-most-used button.df-type-btn {
  min-height: 86px; padding: 16px 18px !important; font-size: 18px !important;
  background: var(--c) !important; color: #FFFFFF !important; border-color: var(--c) !important;
  box-shadow: 0 8px 22px color-mix(in srgb, var(--c) 35%, transparent) !important;
}
.df-type-picker .df-most-used .df-type-icon { width: 50px; height: 50px; border-radius: 14px; background: rgba(255,255,255,.2); color: #FFFFFF; }
.df-type-picker .df-most-used .df-type-arrow { display: block; color: #FFFFFF; opacity: .85; }

/* Samme farver som i kalenderen */
.booking-type-list.df-type-picker button.df-type-btn.practical-lesson { --c: #0A9C9C; }
.booking-type-list.df-type-picker button.df-type-btn.theory-booking { --c: #2D60B2; }
.booking-type-list.df-type-picker button.df-type-btn.pre-booking { --c: #7F8200; }
.booking-type-list.df-type-picker button.df-type-btn.practical-open-booking { --c: #9A5CBF; }
.booking-type-list.df-type-picker button.df-type-btn.manoeuver-track { --c: #15936F; }
.booking-type-list.df-type-picker button.df-type-btn.slippery-track { --c: #7D22F5; }
.booking-type-list.df-type-picker button.df-type-btn.theory-test { --c: #C98500; }
.booking-type-list.df-type-picker button.df-type-btn.practical-test { --c: #D42A90; }
.booking-type-list.df-type-picker button.df-type-btn.first-aid-course { --c: #CD3657; }
.booking-type-list.df-type-picker button.df-type-btn.request { --c: #C9651F; }
.booking-type-list.df-type-picker button.df-type-btn.private { --c: #6B7280; }

@media (max-width: 420px) {
  .df-type-picker .df-type-grid { grid-template-columns: 1fr; }
}

/* ===== Elev- og holdkort: samme stil som køreskole-kortene ===== */
.student-card, .teams-card {
  position: relative; overflow: hidden;
  background: #FFFFFF !important; border: 1px solid #E4E7EC !important; border-radius: 18px !important;
  box-shadow: 0 1px 2px rgba(27,37,51,.05) !important;
  transition: box-shadow .18s ease, transform .18s ease;
}
.student-card:hover, .teams-card:hover { box-shadow: 0 10px 26px rgba(27,37,51,.10) !important; transform: translateY(-2px); }
.student-card::before, .teams-card::before {
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 6px; background: var(--df-bar, #184F9F);
}
.teams-card { --df-bar: #1F6F78; }
.student-card-header, .teams-card-header {
  background: transparent !important; color: #1B2533 !important;
  padding: 22px 18px 10px !important; display: flex; align-items: center; gap: 14px;
  border-bottom: 0 !important;
}
.student-card-header h5, .teams-card-header h5 {
  color: #1B2533 !important; font-family: 'Bricolage Grotesque', 'Figtree', sans-serif; font-weight: 800 !important; font-size: 18px !important;
}
.student-card-header h5 a, .teams-card-header h5 a { color: #1B2533 !important; }
.student-card-header h5 a:hover, .teams-card-header h5 a:hover { color: #184F9F !important; }
.student-card-header h6, .teams-card-header h6 { color: #556070 !important; font-size: 13px !important; font-weight: 500 !important; }
.student-card-header h6 b, .teams-card-header h6 b,
.student-card-header h6 strong, .teams-card-header h6 strong { color: #1B2533 !important; }
.student-card-img img {
  width: 52px !important; height: 52px !important; border-radius: 14px !important; border: 0 !important; box-shadow: none !important;
}
.student-card-body, .teams-card-body { padding: 4px 18px 8px !important; }
.student-card-body-content, .teams-card-body-content {
  background: #F6F7F9; border: 0 !important; border-radius: 12px; padding: 10px 12px !important; margin-bottom: 8px !important;
}
.student-card-body-content h4, .teams-card-body-content h4 {
  font-size: 11.5px !important; font-weight: 800 !important; letter-spacing: .06em; text-transform: uppercase; color: #6B7686 !important; margin-bottom: 6px !important;
}
.student-card-body-content ul li span, .teams-card-body-content ul li span {
  border-radius: 8px;
}
.student-card-footer, .teams-card .card-footer {
  background: transparent !important; border-top: 1px solid #EEF0F3 !important; padding: 12px 18px 16px !important;
}
.student-card-footer ul, .teams-card .card-footer ul { justify-content: flex-start !important; flex-wrap: wrap; margin: 0; }
.student-card-footer ul, .teams-card .card-footer ul { gap: 6px !important; }
.student-card-footer .rounded-btn, .teams-card .card-footer .rounded-btn {
  width: 38px !important; height: 38px !important; min-width: 0 !important; padding: 0 !important; border-radius: 12px !important;
  background: #F4F6F9 !important; border: 1px solid #E4E7EC !important; color: #2B3442 !important;
  display: inline-flex !important; align-items: center; justify-content: center; box-shadow: none !important;
  transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.student-card-footer .rounded-btn:hover, .teams-card .card-footer .rounded-btn:hover {
  background: #184F9F !important; border-color: #184F9F !important; color: #FFFFFF !important;
}
.student-card-footer .rounded-btn i, .teams-card .card-footer .rounded-btn i { color: inherit !important; }

.student-card-footer li, .teams-card .card-footer li { margin: 0 !important; padding: 0 !important; }
.student-card-footer ul, .teams-card .card-footer ul { gap: 5px !important; padding: 0 !important; }
.student-card-footer form, .teams-card .card-footer form { margin: 0 !important; }

.student-card-details, .teams-card-details { min-width: 0; flex: 1; }
.student-card-details h5, .student-card-details h6, .teams-card-details h5, .teams-card-details h6 { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }

/* ===== Bookingpanel: bredere, roligere formular (kun udseende) ===== */
@media (min-width: 768px) {
  #add-booking .modal-dialog { width: 460px !important; max-width: 460px !important; }
}
#add-booking .modal-content { border-radius: 20px !important; }
#add-booking .modal-header { padding: 18px 22px !important; border-bottom: 1px solid #EEF0F3 !important; background: #FFFFFF !important; }
#add-booking .modal-header h6 { font-family: 'Bricolage Grotesque', 'Figtree', sans-serif; font-size: 20px !important; font-weight: 800 !important; color: #1B2533; }
#add-booking .modal-body { background: #F7F8FA; }

/* Valgt bookingtype som rolig kortlinje */
#add-booking .booking-selected {
  background: #FFFFFF !important; border: 1px solid #E4E7EC; border-radius: 14px !important;
  padding: 10px 14px !important; box-shadow: 0 1px 2px rgba(27,37,51,.05);
}
#add-booking .booking-selected button { width: 36px; height: 36px; border-radius: 10px !important; background: #F1F4F9 !important; }
#add-booking .booking-selected h6 { font-size: 11.5px !important; font-weight: 800 !important; letter-spacing: .06em; text-transform: uppercase; color: #6B7686 !important; margin: 0 0 2px !important; }
#add-booking .booking-selected h5 { font-size: 17px !important; font-weight: 800 !important; color: #184F9F !important; margin: 0 !important; }

/* Sektioner: Hvem / Hvad / Hvornår / Detaljer */
#add-booking .section-wrapper { padding-top: 4px !important; padding-bottom: 4px !important; }
#add-booking .section-wrapper:has(#datateacher-ids)::before,
#add-booking .section-wrapper:has(#datalesson-id)::before,
#add-booking .section-wrapper:has(#datadate)::before,
#add-booking .section-wrapper:has(#datavehicle-ids)::before {
  display: block; margin: 14px 2px 8px; font-size: 11.5px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; color: #6B7686;
}
#add-booking .section-wrapper:has(#datateacher-ids)::before { content: "Hvem"; }
#add-booking .section-wrapper:has(#datalesson-id)::before { content: "Hvad"; }
#add-booking .section-wrapper:has(#datadate)::before { content: "Hvornår"; }
#add-booking .section-wrapper:has(#datavehicle-ids)::before { content: "Bil og mødested"; }

/* Start og slut ved siden af hinanden */
#add-booking .section-wrapper:has(#datastart-time),
#add-booking .section-wrapper:has(#dataend-time) { flex: 0 0 50% !important; max-width: 50% !important; width: 50% !important; }

/* Felter: hvide, lavere, runde */
#add-booking .select2-container .select2-selection,
#add-booking .form-floating > .form-control,
#add-booking .form-control {
  background-color: #FFFFFF !important; border: 1px solid #DDE2E9 !important; border-radius: 12px !important;
  box-shadow: none !important;
}
#add-booking .select2-container .select2-selection { min-height: 54px !important; }
#add-booking .form-floating > .form-control { min-height: 54px !important; height: 54px !important; }
#add-booking textarea.form-control { min-height: 90px !important; height: auto !important; }
#add-booking .select2-container--focus .select2-selection,
#add-booking .form-control:focus { border-color: #184F9F !important; box-shadow: 0 0 0 3px rgba(24,79,159,.12) !important; }
#add-booking .floating-label, #add-booking .form-floating > label { color: #556070 !important; font-weight: 600; }
#add-booking .select2-selection__choice {
  background: #E8EEF8 !important; border: 0 !important; border-radius: 8px !important; color: #184F9F !important; font-weight: 700; padding: 2px 8px !important;
}

/* Gem-knap tydelig */
#add-booking .modal-body .btn-primary, #add-booking .modal-footer .btn-primary {
  min-height: 50px; border-radius: 14px !important; font-weight: 800 !important; font-size: 16px !important;
}

/* Til/fra-knapper: grå når slået fra (ikke rød), blå når slået til */
.switchToggle input[type=checkbox]:not(:checked) + label { background-color: #CBD2DC !important; }
.switchToggle input[type=checkbox]:checked + label { background-color: #184F9F !important; }
#add-booking .colored-input-box-toggle > div {
  background: #FFFFFF; border: 1px solid #E4E7EC; border-radius: 12px; padding: 10px 14px !important;
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
}
#add-booking .colored-input-box-toggle > div > label { margin: 0; font-weight: 600; color: #2B3442; }

/* Kalender: uge/dag har egen rullebjælke og starter kl. 07 (rulles af driveflow-theme.js) */
.fc .fc-timegrid .fc-scrollgrid-section-body > td > .fc-scroller-harness > .fc-scroller { max-height: 640px; overflow-y: auto !important; }
/* Roligere striber på lukkede bookinger (samme betydning, mindre larm) */
.fc-event.closed { background-image: repeating-linear-gradient(135deg, rgba(255,255,255,.10) 0 4px, transparent 4px 11px) !important; background-size: auto !important; }

/* ===== Modulplan-, lektionsplan- og køretøjskort: samme stil som køreskole-kortene ===== */
.lesson-plan-card {
  position: relative; overflow: hidden;
  background: #FFFFFF !important; border: 1px solid #E4E7EC !important; border-radius: 18px !important;
  box-shadow: 0 1px 2px rgba(27,37,51,.05) !important; transition: box-shadow .18s ease, transform .18s ease;
}
.lesson-plan-card:hover { box-shadow: 0 10px 26px rgba(27,37,51,.10) !important; transform: translateY(-2px); }
.lesson-plan-card:not(.vehicle-card)::before {
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 6px; background: #184F9F;
}
.lesson-plan-card .lesson-card-icon {
  width: 52px !important; height: 52px !important; border-radius: 14px !important;
  background: #E8EEF8 !important; border: 0 !important; box-shadow: none !important;
}
.lesson-plan-card .lesson-card-name, .lesson-plan-card .lesson-card-name * {
  color: #1B2533 !important; font-weight: 800 !important; line-height: 1.3;
}
.lesson-plan-card .lesson-card-footer { border-top: 1px solid #EEF0F3; padding-top: 12px !important; margin-top: 10px; }
.lesson-plan-card .rounded-btn {
  width: 38px !important; height: 38px !important; border-radius: 12px !important;
  background: #F4F6F9 !important; border: 1px solid #E4E7EC !important; color: #2B3442 !important;
  box-shadow: none !important; display: inline-flex !important; align-items: center; justify-content: center;
}
.lesson-plan-card .rounded-btn:hover { background: #184F9F !important; border-color: #184F9F !important; color: #FFFFFF !important; }
.lesson-plan-card .rounded-btn i { color: inherit !important; }

/* Køretøjsbillede der ikke kan hentes: rolig grå flade med bil-ikon i stedet for "ødelagt billede" */
.full-image.df-noimg {
  min-height: 170px; background: #F1F4F9 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='72' viewBox='0 0 24 24' fill='none' stroke='%239AA3B0' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 16l1.5-5A2 2 0 0 1 8.4 9.5h7.2a2 2 0 0 1 1.9 1.5L19 16'/%3E%3Crect x='3' y='16' width='18' height='4' rx='1.5'/%3E%3Cpath d='M7 20v1.5M17 20v1.5'/%3E%3C/svg%3E") center / 72px no-repeat;
}
.full-image.df-noimg img { visibility: hidden; }

/* ===== Profilsider (elev, lærer m.fl.): rolig hvid top og læsbare oplysninger ===== */
.profile-card { overflow: hidden; border-radius: 18px !important; border: 1px solid #E4E7EC !important; }
.profile-card > .card-header {
  position: relative; background: #FFFFFF !important; color: #1B2533 !important;
  border-bottom: 1px solid #EEF0F3 !important; padding-top: 26px !important;
}
.profile-card > .card-header::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 6px; background: #184F9F; }
.profile-card > .card-header h4, .profile-card > .card-header h5, .profile-card > .card-header h6 { color: #1B2533 !important; font-weight: 800 !important; }
.profile-card > .card-header a, .profile-card > .card-header i { color: #184F9F !important; }
.profile-card > .card-header img, .profile-card > .card-header .user-img, .profile-card > .card-header [class*="avatar"] {
  border-radius: 18px !important; box-shadow: none !important; border: 0 !important;
}
.main-card table.school-details-table > tbody > tr > td { padding: 11px 14px !important; }
.main-card table.school-details-table > tbody > tr > td:first-child { color: #6B7686 !important; font-weight: 600; font-size: 14px; width: 38%; }
.main-card table.school-details-table > tbody > tr > td:last-child { color: #1B2533 !important; font-weight: 600; }
.main-card table.school-details-table { border-spacing: 0 6px !important; }

/* ===== Runde 3: samme skrift i alle felter, menu-mærker, menu-baggrund, rullemenuer ===== */

/* Samme skrifttype overalt, også i felter, knapper, rullemenuer og kalendervælgere */
body, input, select, textarea, button, .btn, .form-control, .form-select,
.select2-container, .select2-container *, .select2-dropdown, .select2-results__option,
.flatpickr-calendar, .flatpickr-calendar *, .dropdown-menu, .modal, .offcanvas, .tooltip, .popover {
  font-family: "Figtree", system-ui, -apple-system, "Segoe UI", sans-serif !important;
}
input, select, textarea, .form-control, .select2-selection__rendered { font-size: 15px; font-weight: 500; color: #1B2533; }
::placeholder { color: #8A94A3 !important; opacity: 1; font-weight: 500; }

/* Menu: mærker ved Lektionsplaner og Modulplaner */
.sidebar .nav-link[href$="/lesson-plan"]::after,
.sidebar .nav-link[href$="/lesson-plan/v2"]::after {
  margin-left: auto; flex: none; padding: 3px 8px; border-radius: 999px;
  font-size: 10.5px; font-weight: 800; letter-spacing: .03em; line-height: 1.3; white-space: nowrap;
}
.sidebar .nav-link[href$="/lesson-plan"]::after { content: "Udfases snart"; background: #F1F3F6; color: #5B6575; }
.sidebar .nav-link[href$="/lesson-plan/v2"]::after { content: "Brug denne"; background: #E5F3EA; color: #2A7148; }
html[lang="en"] .sidebar .nav-link[href$="/lesson-plan"]::after { content: "Phasing out"; }
html[lang="en"] .sidebar .nav-link[href$="/lesson-plan/v2"]::after { content: "Use this"; }
.sidebar .nav-link[href$="/lesson-plan"], .sidebar .nav-link[href$="/lesson-plan/v2"] { display: flex !important; align-items: center; gap: 10px; }
.sidebar.toggled .nav-link::after { display: none !important; }

/* Menu: stille, farveløs kørekort-stemning i bunden */
aside.sidebar {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='300' viewBox='0 0 240 300' fill='none' stroke='%231B2533' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg opacity='.09'%3E%3Crect x='24' y='40' width='120' height='76' rx='10' transform='rotate(-6 84 78)'/%3E%3Crect x='36' y='54' width='30' height='38' rx='5' transform='rotate(-6 84 78)'/%3E%3Cpath d='M78 60h50M78 72h40M78 84h46' transform='rotate(-6 84 78)'/%3E%3Cpath d='M170 150l-12 38h24z M163 168h14'/%3E%3Cpath d='M40 214l5-15a6 6 0 0 1 5.7-4h26.6a6 6 0 0 1 5.7 4L88 214'/%3E%3Crect x='34' y='214' width='60' height='14' rx='4'/%3E%3Cpath d='M200 40v220' stroke-dasharray='14 12'/%3E%3C/g%3E%3Cg opacity='.12' fill='%231B2533' stroke='none' font-family='Figtree, sans-serif' font-weight='700' font-size='13'%3E%3Ctext x='112' y='138'%3E%23kørekort%3C/text%3E%3Ctext x='24' y='160'%3E%23KatB%3C/text%3E%3Ctext x='110' y='252'%3E%23køreskole%3C/text%3E%3Ctext x='24' y='272'%3E%23grøntlys%3C/text%3E%3C/g%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: left 8px bottom 12px !important;
  background-size: 240px 300px !important;
}

/* Rullemenuer (select2): rolige kort med blød skygge */
.select2-dropdown {
  border: 1px solid #E4E7EC !important; border-radius: 14px !important; overflow: hidden;
  box-shadow: 0 16px 36px rgba(27,37,51,.16) !important; background: #FFFFFF !important; margin-top: 4px;
}
.select2-container--open .select2-dropdown--above { margin-top: -4px; }
.select2-search--dropdown { padding: 10px !important; }
.select2-search--dropdown .select2-search__field {
  min-height: 40px; border: 1px solid #DDE2E9 !important; border-radius: 10px !important; padding: 0 12px !important;
}
.select2-results__options { padding: 6px !important; max-height: 300px !important; }
.select2-results__option {
  border-radius: 10px; padding: 10px 12px !important; font-size: 14.5px !important; font-weight: 600; color: #1B2533 !important;
  background: transparent !important; margin: 1px 0;
}
.select2-results__option--highlighted, .select2-results__option--highlighted[aria-selected] { background: #F2F6FC !important; color: #184F9F !important; }
.select2-results__option[aria-selected="true"], .select2-results__option--selected {
  background: #E8EEF8 !important; color: #184F9F !important; font-weight: 800;
}
.select2-results__group { padding: 10px 12px 4px !important; font-size: 11.5px !important; font-weight: 800 !important; letter-spacing: .06em; text-transform: uppercase; color: #6B7686 !important; }
.select2-results__message { color: #6B7686 !important; font-weight: 600; }

/* Kalendervælger (flatpickr) i samme stil */
.flatpickr-calendar { border: 1px solid #E4E7EC !important; border-radius: 16px !important; box-shadow: 0 16px 36px rgba(27,37,51,.16) !important; padding: 6px; }
.flatpickr-calendar.arrowTop::before, .flatpickr-calendar.arrowTop::after { display: none; }
.flatpickr-day { border-radius: 10px !important; font-weight: 600; }
.flatpickr-day.today { border-color: #E9C46A !important; }
.flatpickr-day.selected, .flatpickr-day.selected:hover { background: #184F9F !important; border-color: #184F9F !important; color: #FFFFFF !important; }
.flatpickr-day:hover { background: #F2F6FC !important; }
.flatpickr-time input { font-weight: 700 !important; }

/* Bookingformular: farvede ikoner i felterne (kun udseende) */
#add-booking .section-wrapper:has(#datateam-id) .select2-selection,
#add-booking .section-wrapper:has(#datalesson-id) .select2-selection,
#add-booking .section-wrapper:has(#datamodule-id) .select2-selection,
#add-booking .section-wrapper:has(#datavehicle-ids) .select2-selection,
#add-booking .section-wrapper:has(#datateacher-ids) .select2-selection,
#add-booking .section-wrapper:has(#datastudent-ids) .select2-selection {
  padding-left: 50px !important; background-repeat: no-repeat !important; background-position: 9px center !important; background-size: 32px 32px !important;
}
#add-booking .section-wrapper:has(#datateam-id) .floating-label,
#add-booking .section-wrapper:has(#datalesson-id) .floating-label,
#add-booking .section-wrapper:has(#datamodule-id) .floating-label,
#add-booking .section-wrapper:has(#datavehicle-ids) .floating-label,
#add-booking .section-wrapper:has(#datateacher-ids) .floating-label,
#add-booking .section-wrapper:has(#datastudent-ids) .floating-label { left: 50px !important; }
#add-booking .section-wrapper:has(#datateacher-ids) .select2-selection { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Crect width='32' height='32' rx='9' fill='%23E8EEF8'/%3E%3Cg transform='translate(7 7) scale(.75)' fill='none' stroke='%23184F9F' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21v-1a6 6 0 0 1 6-6h4a6 6 0 0 1 6 6v1'/%3E%3C/g%3E%3C/svg%3E") !important; }
#add-booking .section-wrapper:has(#datastudent-ids) .select2-selection { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Crect width='32' height='32' rx='9' fill='%23E3F1F2'/%3E%3Cg transform='translate(7 7) scale(.75)' fill='none' stroke='%231F6F78' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 9l9-4 9 4-9 4z'/%3E%3Cpath d='M7 11v4.5c1.5 1.3 3.2 2 5 2s3.5-.7 5-2V11'/%3E%3C/g%3E%3C/svg%3E") !important; }
#add-booking .section-wrapper:has(#datateam-id) .select2-selection { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Crect width='32' height='32' rx='9' fill='%23EEEBF6'/%3E%3Cg transform='translate(7 7) scale(.75)' fill='none' stroke='%235A4C94' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='9' cy='8' r='3'/%3E%3Ccircle cx='17' cy='9' r='2.5'/%3E%3Cpath d='M3 20v-1a5 5 0 0 1 5-5h2a5 5 0 0 1 5 5v1'/%3E%3C/g%3E%3C/svg%3E") !important; }
#add-booking .section-wrapper:has(#datalesson-id) .select2-selection { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Crect width='32' height='32' rx='9' fill='%23E8EEF8'/%3E%3Cg transform='translate(7 7) scale(.75)' fill='none' stroke='%23184F9F' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3h9l4 4v14H6z'/%3E%3Cpath d='M15 3v4h4M9 12h7M9 16h5'/%3E%3C/g%3E%3C/svg%3E") !important; }
#add-booking .section-wrapper:has(#datamodule-id) .select2-selection { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Crect width='32' height='32' rx='9' fill='%23E3F1F2'/%3E%3Cg transform='translate(7 7) scale(.75)' fill='none' stroke='%231F6F78' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6.5C6.5 5 9.5 5 12 6.5 14.5 5 17.5 5 20 6.5V19c-2.5-1.5-5.5-1.5-8 0-2.5-1.5-5.5-1.5-8 0z'/%3E%3Cpath d='M12 6.5V19'/%3E%3C/g%3E%3C/svg%3E") !important; }
#add-booking .section-wrapper:has(#datavehicle-ids) .select2-selection { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Crect width='32' height='32' rx='9' fill='%23F1F4F9'/%3E%3Cg transform='translate(7 7) scale(.75)' fill='none' stroke='%233A4556' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 16l1.5-5A2 2 0 0 1 8.4 9.5h7.2a2 2 0 0 1 1.9 1.5L19 16'/%3E%3Crect x='3' y='16' width='18' height='4' rx='1.5'/%3E%3C/g%3E%3C/svg%3E") !important; }
/* Valgte navne i felterne som små kort */
#add-booking .select2-selection__choice { padding: 4px 10px !important; border-radius: 999px !important; }

/* Runde 3, rettelser */
.form-floating > .form-control::placeholder, .form-floating > .form-control-plaintext::placeholder, .floating-group .form-control::placeholder { color: transparent !important; }
.sidebar .nav-link[href$="/lesson-plan"], .sidebar .nav-link[href$="/lesson-plan/v2"] { flex-wrap: wrap; row-gap: 4px; }
.sidebar .nav-link[href$="/lesson-plan"]::after, .sidebar .nav-link[href$="/lesson-plan/v2"]::after { margin-left: 30px !important; font-size: 10px !important; padding: 2px 7px !important; letter-spacing: 0 !important; }
aside.sidebar { background-size: 190px 238px !important; background-position: left 14px bottom 10px !important; overflow-x: hidden !important; }

/* ===== Booking: moduler som bokse + forslag til næste modul ===== */
.select2-container--open .select2-dropdown:has(ul[id^="select2-datamodule-id-results"]) { min-width: 420px; }
ul[id^="select2-datamodule-id-results"],
ul[id^="select2-datamodule-id-results"] .select2-results__options--nested {
  display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding: 8px !important;
}
ul[id^="select2-datamodule-id-results"] > li[role="group"] { grid-column: 1 / -1; padding: 0 !important; background: transparent !important; }
ul[id^="select2-datamodule-id-results"] .select2-results__option--nested,
ul[id^="select2-datamodule-id-results"] > li[role="option"] {
  margin: 0 !important; padding: 10px 12px !important; min-height: 74px;
  border: 1.5px solid #E4E7EC; border-radius: 12px !important; background: #FFFFFF !important;
  font-size: 13.5px !important; line-height: 1.3; font-weight: 700;
}
ul[id^="select2-datamodule-id-results"] .select2-with-icons { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 6px 8px; }
ul[id^="select2-datamodule-id-results"] .select2-left-icons {
  flex: none; width: 30px; height: 30px; border-radius: 9px; background: #F1F4F9; color: #3A4556;
  display: inline-flex; align-items: center; justify-content: center; margin: 0 !important;
}
ul[id^="select2-datamodule-id-results"] .select2-right-icons { margin-left: auto !important; order: 2; }
ul[id^="select2-datamodule-id-results"] .select2-with-icons { position: relative; }
/* Status: gennemført = grøn kant, ikke gennemført = grå, næste = gul markering */
ul[id^="select2-datamodule-id-results"] li.df-done { background: #F4FAF6 !important; border-color: #CFE6D7; color: #3A4556 !important; }
ul[id^="select2-datamodule-id-results"] li.df-done .select2-left-icons { background: #E5F3EA; color: #2A7148; }
ul[id^="select2-datamodule-id-results"] li.df-next { border-color: #E9C46A; background: #FFFBEF !important; box-shadow: 0 0 0 3px rgba(233,196,106,.25); }
ul[id^="select2-datamodule-id-results"] li.df-next .select2-left-icons { background: #FFF1C7; color: #8A5A00; }
ul[id^="select2-datamodule-id-results"] li.df-next::before {
  content: "Næste"; display: inline-block; margin-bottom: 6px; padding: 2px 8px; border-radius: 999px;
  background: #E9C46A; color: #3B2A00; font-size: 11px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase;
}
html[lang="en"] ul[id^="select2-datamodule-id-results"] li.df-next::before { content: "Next"; }
ul[id^="select2-datamodule-id-results"] li.select2-results__option--highlighted { border-color: #184F9F !important; background: #F2F6FC !important; color: #184F9F !important; }
ul[id^="select2-datamodule-id-results"] li[aria-selected="true"] { border-color: #184F9F !important; box-shadow: 0 0 0 3px rgba(24,79,159,.15); }
@media (max-width: 520px) {
  .select2-container--open .select2-dropdown:has(ul[id^="select2-datamodule-id-results"]) { min-width: 0; }
  ul[id^="select2-datamodule-id-results"], ul[id^="select2-datamodule-id-results"] .select2-results__options--nested { grid-template-columns: 1fr; }
}

/* ===== Runde 4: bookingfelter ens og pæne (web og mobil) ===== */
/* Alle felter: hvid boks, label som lille grå tekst INDE i boksen øverst, værdien under */
#add-booking .floating-group, #add-booking .form-floating { position: relative; }
#add-booking .floating-group .select2-container .select2-selection {
  min-height: 62px !important; padding: 24px 40px 6px 54px !important; border-radius: 14px !important;
  border: 1px solid #DDE2E9 !important; background-color: #FFFFFF !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Crect width='32' height='32' rx='9' fill='%23F1F4F9'/%3E%3Cg fill='%238A94A3'%3E%3Ccircle cx='11' cy='16' r='1.8'/%3E%3Ccircle cx='16' cy='16' r='1.8'/%3E%3Ccircle cx='21' cy='16' r='1.8'/%3E%3C/g%3E%3C/svg%3E"); background-repeat: no-repeat !important; background-position: 11px center !important; background-size: 32px 32px !important;
}
#add-booking .floating-group .select2-selection__rendered { padding: 0 !important; line-height: 1.35 !important; font-size: 15px !important; font-weight: 600 !important; color: #1B2533 !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#add-booking .floating-group .select2-selection__arrow { top: 50% !important; transform: translateY(-50%); right: 12px !important; }
#add-booking .floating-group > label.floating-label, #add-booking .floating-group label.floating-label {
  position: absolute !important; top: 9px !important; left: 54px !important; transform: none !important;
  margin: 0 !important; padding: 0 !important; background: transparent !important; z-index: 3; pointer-events: none;
  font-size: 12px !important; font-weight: 700 !important; letter-spacing: .02em; color: #6B7686 !important; line-height: 1.2 !important;
}
#add-booking .form-floating > .form-control {
  height: 62px !important; min-height: 62px !important; padding: 26px 14px 6px 54px !important; border-radius: 14px !important;
  border: 1px solid #DDE2E9 !important; background-color: #FFFFFF !important; font-size: 15px !important; font-weight: 600 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Crect width='32' height='32' rx='9' fill='%23F1F4F9'/%3E%3Cg fill='%238A94A3'%3E%3Ccircle cx='11' cy='16' r='1.8'/%3E%3Ccircle cx='16' cy='16' r='1.8'/%3E%3Ccircle cx='21' cy='16' r='1.8'/%3E%3C/g%3E%3C/svg%3E"); background-repeat: no-repeat !important; background-position: 11px center !important; background-size: 32px 32px !important;
}
#add-booking .form-floating > textarea.form-control { height: auto !important; min-height: 96px !important; padding-top: 28px !important; background-position: 11px 15px !important; }
#add-booking .form-floating > label {
  top: 9px !important; left: 54px !important; height: auto !important; padding: 0 !important; transform: none !important;
  background: transparent !important; opacity: 1 !important; font-size: 12px !important; font-weight: 700 !important; color: #6B7686 !important;
  line-height: 1.2 !important; z-index: 3; border: 0 !important; width: auto !important;
}
#add-booking .form-floating > label::after { display: none !important; }
#add-booking .form-floating > .form-control:focus, #add-booking .floating-group .select2-container--focus .select2-selection, #add-booking .floating-group .select2-container--open .select2-selection {
  border-color: #184F9F !important; box-shadow: 0 0 0 3px rgba(24,79,159,.12) !important;
}
/* Ikoner på de felter, der manglede */
#add-booking #datadate { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Crect width='32' height='32' rx='9' fill='%23E3F5F5'/%3E%3Cg transform='translate%287 7%29 scale%28.75%29' fill='none' stroke='%230A7A7A' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/g%3E%3C/svg%3E") !important; }
#add-booking #datastart-time, #add-booking #dataend-time { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Crect width='32' height='32' rx='9' fill='%23E3F5F5'/%3E%3Cg transform='translate%287 7%29 scale%28.75%29' fill='none' stroke='%230A7A7A' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/g%3E%3C/svg%3E") !important; }
#add-booking #datalesson-count { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Crect width='32' height='32' rx='9' fill='%23FFF4D6'/%3E%3Cg transform='translate%287 7%29 scale%28.75%29' fill='none' stroke='%238A5A00' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16M4 12h16M4 17h10'/%3E%3C/g%3E%3C/svg%3E") !important; }
#add-booking [id="data.description"] { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Crect width='32' height='32' rx='9' fill='%23F1F4F9'/%3E%3Cg transform='translate%287 7%29 scale%28.75%29' fill='none' stroke='%233A4556' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h16v11H9l-5 4z'/%3E%3Cpath d='M8 9.5h8M8 12.5h5'/%3E%3C/g%3E%3C/svg%3E") !important; }
#add-booking .section-wrapper:has(#dataplace-id) .select2-selection { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Crect width='32' height='32' rx='9' fill='%23FBEFE3'/%3E%3Cg transform='translate%287 7%29 scale%28.75%29' fill='none' stroke='%23A0561A' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11a7 7 0 0 1 14 0c0 4.8-7 11-7 11z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/g%3E%3C/svg%3E") !important; }
#add-booking .section-wrapper:has(#datano-of-students) .form-control { padding-left: 14px !important; background-image: none !important; }
#add-booking .section-wrapper:has(#datano-of-students) .form-floating > label { left: 14px !important; }
/* Fejlbesked under felter */
#add-booking .invalid-input, #add-booking .text-danger.text-sm { font-size: 13px; font-weight: 600; margin-top: 4px; }
/* Mobil: lidt mindre luft, start/slut stadig side om side */
@media (max-width: 575px) {
  #add-booking .modal-dialog { margin: 0 !important; }
  #add-booking .modal-body { padding-left: 12px !important; padding-right: 12px !important; }
  #add-booking .section-wrapper:has(#datastart-time), #add-booking .section-wrapper:has(#dataend-time) { flex: 0 0 50% !important; max-width: 50% !important; }
  #add-booking .section-wrapper:has(#datastart-time) .form-control, #add-booking .section-wrapper:has(#dataend-time) .form-control { padding-left: 48px !important; background-position: 9px center !important; background-size: 30px 30px !important; }
  #add-booking .section-wrapper:has(#datastart-time) .form-floating > label, #add-booking .section-wrapper:has(#dataend-time) .form-floating > label { left: 48px !important; }
}

/* ===== Runde 4b: samme skrift ALLE steder (app-CSS satte Open Sans på *) ===== */
* { font-family: "Figtree", system-ui, -apple-system, "Segoe UI", sans-serif; }

/* ===== Bookingdetaljer: farvet top efter type, rækker med ikoner, knapper med navn ===== */
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .modal-dialog { max-width: 600px; }
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .modal-content { border-radius: 24px !important; overflow: hidden; border: 0 !important; box-shadow: 0 30px 70px rgba(15,23,42,.30) !important; }
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .modal-header {
  position: relative; overflow: hidden; border: 0 !important; border-radius: 0 !important; margin: 0 !important;
  background: var(--df-type, #184F9F) !important; color: #FFFFFF !important; padding: 20px 22px !important;
}
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .modal-header::after {
  content: ""; position: absolute; right: 90px; top: -10px; bottom: -10px; width: 8px; transform: skewX(-14deg);
  background: repeating-linear-gradient(180deg, rgba(255,255,255,.28) 0 22px, transparent 22px 40px); pointer-events: none;
}
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .modal-header h6 { color: #FFFFFF !important; font-size: 22px !important; position: relative; z-index: 1; }
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .modal-header .btn-close { position: relative; z-index: 1; width: 40px; height: 40px; border-radius: 12px; background: rgba(255,255,255,.18) !important; color: #FFFFFF !important; opacity: 1; display: inline-flex; align-items: center; justify-content: center; }
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .modal-header .btn-close i { color: #FFFFFF !important; }
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .modal-body { background: #F7F8FA; padding: 18px 20px !important; }
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-list {
  list-style: none; margin: 0 0 14px !important; padding: 0 !important; background: #FFFFFF; border: 1px solid #E4E7EC; border-radius: 16px; overflow: hidden;
}
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-list > li {
  display: grid !important; grid-template-columns: 34px 130px minmax(0, 1fr); align-items: center; column-gap: 12px;
  padding: 11px 14px !important; margin: 0 !important; border: 0 !important; border-top: 1px solid #EEF0F3 !important; background: transparent !important;
}
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-list > li:first-child { border-top: 0 !important; }
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-list > li::before {
  content: ""; width: 34px; height: 34px; border-radius: 10px; background: #F1F4F9 no-repeat center / 34px 34px;
}
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-list > li[data-df-ico="type"]::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Crect width='32' height='32' rx='9' fill='%23E8EEF8'/%3E%3Cg transform='translate%287 7%29 scale%28.75%29' fill='none' stroke='%23184F9F' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 16l1.5-5A2 2 0 0 1 8.4 9.5h7.2a2 2 0 0 1 1.9 1.5L19 16'/%3E%3Crect x='3' y='16' width='18' height='4' rx='1.5'/%3E%3C/g%3E%3C/svg%3E"); }
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-list > li[data-df-ico="team"]::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Crect width='32' height='32' rx='9' fill='%23EEEBF6'/%3E%3Cg transform='translate%287 7%29 scale%28.75%29' fill='none' stroke='%235A4C94' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3'/%3E%3Ccircle cx='17' cy='9' r='2.5'/%3E%3Cpath d='M3 20v-1a5 5 0 0 1 5-5h2a5 5 0 0 1 5 5v1'/%3E%3C/g%3E%3C/svg%3E"); }
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-list > li[data-df-ico="start"]::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Crect width='32' height='32' rx='9' fill='%23E3F5F5'/%3E%3Cg transform='translate%287 7%29 scale%28.75%29' fill='none' stroke='%230A7A7A' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/g%3E%3C/svg%3E"); }
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-list > li[data-df-ico="end"]::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Crect width='32' height='32' rx='9' fill='%23E3F5F5'/%3E%3Cg transform='translate%287 7%29 scale%28.75%29' fill='none' stroke='%230A7A7A' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5h4'/%3E%3C/g%3E%3C/svg%3E"); }
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-list > li[data-df-ico="dur"]::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Crect width='32' height='32' rx='9' fill='%23FFF4D6'/%3E%3Cg transform='translate%287 7%29 scale%28.75%29' fill='none' stroke='%238A5A00' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16M4 12h16M4 17h10'/%3E%3C/g%3E%3C/svg%3E"); }
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-list > li[data-df-ico="teacher"]::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Crect width='32' height='32' rx='9' fill='%23E8EEF8'/%3E%3Cg transform='translate%287 7%29 scale%28.75%29' fill='none' stroke='%23184F9F' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21v-1a6 6 0 0 1 6-6h4a6 6 0 0 1 6 6v1'/%3E%3C/g%3E%3C/svg%3E"); }
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-list > li[data-df-ico="student"]::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Crect width='32' height='32' rx='9' fill='%23E3F1F2'/%3E%3Cg transform='translate%287 7%29 scale%28.75%29' fill='none' stroke='%231F6F78' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 9l9-4 9 4-9 4z'/%3E%3Cpath d='M7 11v4.5c1.5 1.3 3.2 2 5 2s3.5-.7 5-2V11'/%3E%3C/g%3E%3C/svg%3E"); }
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-list > li[data-df-ico="module"]::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Crect width='32' height='32' rx='9' fill='%23E3F1F2'/%3E%3Cg transform='translate%287 7%29 scale%28.75%29' fill='none' stroke='%231F6F78' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6.5C6.5 5 9.5 5 12 6.5 14.5 5 17.5 5 20 6.5V19c-2.5-1.5-5.5-1.5-8 0-2.5-1.5-5.5-1.5-8 0z'/%3E%3Cpath d='M12 6.5V19'/%3E%3C/g%3E%3C/svg%3E"); }
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-list > li[data-df-ico="place"]::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Crect width='32' height='32' rx='9' fill='%23FBEFE3'/%3E%3Cg transform='translate%287 7%29 scale%28.75%29' fill='none' stroke='%23A0561A' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11a7 7 0 0 1 14 0c0 4.8-7 11-7 11z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/g%3E%3C/svg%3E"); }
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-list > li[data-df-ico="comment"]::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Crect width='32' height='32' rx='9' fill='%23F1F4F9'/%3E%3Cg transform='translate%287 7%29 scale%28.75%29' fill='none' stroke='%233A4556' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h16v11H9l-5 4z'/%3E%3Cpath d='M8 9.5h8M8 12.5h5'/%3E%3C/g%3E%3C/svg%3E"); }
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-list > li[data-df-ico="car"]::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Crect width='32' height='32' rx='9' fill='%23F1F4F9'/%3E%3Cg transform='translate%287 7%29 scale%28.75%29' fill='none' stroke='%233A4556' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 16l1.5-5A2 2 0 0 1 8.4 9.5h7.2a2 2 0 0 1 1.9 1.5L19 16'/%3E%3Crect x='3' y='16' width='18' height='4' rx='1.5'/%3E%3C/g%3E%3C/svg%3E"); }
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-list > li[data-df-ico="other"]::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Crect width='32' height='32' rx='9' fill='%23F1F4F9'/%3E%3Cg transform='translate%287 7%29 scale%28.75%29' fill='none' stroke='%238A94A3' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='1.6'/%3E%3Ccircle cx='7' cy='12' r='1.6'/%3E%3Ccircle cx='17' cy='12' r='1.6'/%3E%3C/g%3E%3C/svg%3E"); }
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-list > li > h6 { margin: 0 !important; font-size: 13px !important; font-weight: 700 !important; color: #556070 !important; }
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-list > li > h6::after { content: none !important; }
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-list > li > h5, :is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-list > li > :not(h6) {
  margin: 0 !important; padding: 0 !important; background: transparent !important; border: 0 !important;
  font-size: 15px !important; font-weight: 700 !important; color: #1B2533 !important; min-width: 0; overflow-wrap: anywhere;
}
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-list > li a { color: #184F9F !important; text-decoration: none; }
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-list > li[data-df-ico="type"] > h5 { color: var(--df-type, #184F9F) !important; }
@media (max-width: 575px) {
  :is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-list > li { grid-template-columns: 34px minmax(0, 1fr); row-gap: 2px; }
  :is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-list > li::before { grid-row: span 2; }
  :is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-list > li > h6 { font-size: 12px !important; }
}
/* Knapper i bunden: ens kort med navn under ikonet */
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-actions {
  display: grid !important; grid-template-columns: repeat(auto-fit, minmax(72px, 1fr)); gap: 8px; margin: 0 !important; padding: 0 !important;
}
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-actions > li { margin: 0 !important; padding: 0 !important; list-style: none; }
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-actions .rounded-btn {
  width: 100% !important; height: auto !important; min-height: 68px; border-radius: 14px !important;
  background: #FFFFFF !important; border: 1px solid #E4E7EC !important; color: #2B3442 !important; box-shadow: none !important;
  display: flex !important; flex-direction: column; align-items: center; justify-content: center; gap: 6px; padding: 8px 4px !important;
}
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-actions .rounded-btn i { color: inherit !important; font-size: 18px; }
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-actions .rounded-btn::after { content: attr(aria-label); font-size: 12px; font-weight: 700; line-height: 1.1; text-align: center; }
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-actions .rounded-btn:hover { border-color: #184F9F !important; color: #184F9F !important; background: #F2F6FC !important; }
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-actions .rounded-btn:has(.fi-rr-file-edit) { background: #184F9F !important; border-color: #184F9F !important; color: #FFFFFF !important; }
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-actions .rounded-btn:has(.fi-rr-trash), :is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-actions .rounded-btn:has(.fi-rr-folder-download) { color: #B42318 !important; border-color: #F3D3D3 !important; }

/* Runde 4b, rettelser: lukkeknap med hvidt kryds, labels på én linje */
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .modal-header .btn-close { background: rgba(255,255,255,.18) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E") no-repeat center / 16px 16px !important; }
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .modal-header .btn-close i { display: none !important; }
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-list > li > h6 { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-list > li > h6 { width: auto !important; max-width: none !important; min-width: 0 !important; flex: none !important; }
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-list > li > h5 { width: auto !important; max-width: none !important; }

/* ===== Bookingdetaljer v2: som det godkendte design ===== */
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .modal-header { flex-direction: column !important; align-items: stretch !important; gap: 12px; padding: 20px 22px 18px !important; }
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .modal-header h6 { font-size: 12px !important; font-weight: 800 !important; letter-spacing: .1em; text-transform: uppercase; opacity: .9; margin: 0 !important; }
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .modal-header .btn-close { position: absolute !important; top: 16px; right: 16px; margin: 0 !important; }
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .df-bd-type { position: relative; z-index: 1; display: flex; align-items: center; gap: 12px; margin-top: -4px; }
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .df-bd-type-ico { flex: none; width: 46px; height: 46px; border-radius: 14px; background: rgba(255,255,255,.2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 16l1.5-5A2 2 0 0 1 8.4 9.5h7.2a2 2 0 0 1 1.9 1.5L19 16'/%3E%3Crect x='3' y='16' width='18' height='4' rx='1.5'/%3E%3Cpath d='M7 20v1.5M17 20v1.5'/%3E%3C/svg%3E") no-repeat center / 24px 24px; }
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .df-bd-type b { font-family: "Bricolage Grotesque", "Figtree", sans-serif; font-size: 26px; font-weight: 800; letter-spacing: -0.4px; color: #FFFFFF; line-height: 1.1; }
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .df-bd-chips { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: 8px; }
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .df-bd-chips span { display: inline-flex; align-items: center; gap: 8px; padding: 7px 12px; border-radius: 12px; background: rgba(255,255,255,.16); color: #FFFFFF; font-size: 14.5px; font-weight: 700; }
/* Rækker der nu vises i toppen skjules i listen (data er uændret) */
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-list > li[data-df-ico="type"],
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-list > li[data-df-ico="start"],
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-list > li[data-df-ico="end"],
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-list > li[data-df-ico="dur"] { display: none !important; }
/* Listen bliver til kort */
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-list { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; background: transparent !important; border: 0 !important; border-radius: 0 !important; overflow: visible !important; }
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-list > li { grid-column: 1 / -1; background: #FFFFFF !important; border: 1px solid #E4E7EC !important; border-radius: 14px !important; order: 8; }
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-list > li:first-child { border-top: 1px solid #E4E7EC !important; }
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-list > li[data-df-ico="teacher"] { order: 1; grid-column: auto; }
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-list > li[data-df-ico="student"] { order: 2; grid-column: auto; }
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-list > li[data-df-ico="module"] { order: 3; }
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-list > li[data-df-ico="team"] { order: 4; }
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-list > li[data-df-ico="car"] { order: 5; }
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-list > li[data-df-ico="place"] { order: 6; }
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-list > li[data-df-ico="comment"] { order: 7; }
/* Lærer- og elevkort: forbogstaver + navn, label over navnet */
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-list > li[data-df-ico="teacher"],
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-list > li[data-df-ico="student"],
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-list > li[data-df-ico="module"] {
  grid-template-columns: 42px minmax(0, 1fr) !important; grid-template-rows: auto auto; column-gap: 12px; row-gap: 2px; padding: 12px !important;
}
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-list > li[data-df-ico="teacher"]::before,
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-list > li[data-df-ico="student"]::before {
  content: attr(data-ini); grid-row: 1 / span 2; width: 42px !important; height: 42px !important; border-radius: 12px;
  display: flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 800; background-image: none !important;
}
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-list > li[data-df-ico="teacher"]::before { background-color: #E8EEF8 !important; color: #184F9F; }
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-list > li[data-df-ico="student"]::before { background-color: #E3F1F2 !important; color: #1F6F78; }
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-list > li[data-df-ico="module"]::before { grid-row: 1 / span 2; width: 42px !important; height: 42px !important; background-size: 42px 42px !important; }
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-list > li[data-df-ico="teacher"] > h6,
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-list > li[data-df-ico="student"] > h6,
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-list > li[data-df-ico="module"] > h6 { font-size: 12px !important; grid-column: 2; }
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-list > li[data-df-ico="teacher"] > :not(h6),
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-list > li[data-df-ico="student"] > :not(h6),
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-list > li[data-df-ico="module"] > :not(h6) { grid-column: 2; font-size: 15px !important; font-weight: 800 !important; line-height: 1.3; }
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-list > li[data-df-ico="module"] { cursor: pointer; }
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-list > li[data-df-ico="module"]:hover { border-color: #184F9F !important; }
@media (max-width: 575px) {
  :is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-list > li[data-df-ico="teacher"], :is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-list > li[data-df-ico="student"] { grid-column: 1 / -1; }
}
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-list > li[data-df-ico="module"] { position: relative; }
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-list > li[data-df-ico="module"] a::after { content: ""; position: absolute; inset: 0; border-radius: 14px; }

/* Bookingdetaljer: Tomme felter skjules (kun visning) */
:is(#booking-details,#pre-booking,#private-booking,#first-aid-details,#first-aid-team-details) .booking-details-list > li[data-df-empty]:not([data-df-ico="teacher"]):not([data-df-ico="student"]):not([data-df-ico="module"]) { display: none !important; }

/* ===== "I dag"-fane i kalenderen ===== */
.fc .df-today-btn { font-weight: 800 !important; text-transform: none !important; }
.fc.df-today-on .fc-timeGridDay-button.fc-button-active { background: transparent !important; color: #475467 !important; box-shadow: none !important; }
.fc.df-today-on .fc-view-harness { position: absolute !important; left: -20000px !important; top: 0; width: 900px !important; height: 700px !important; visibility: hidden !important; pointer-events: none; }
.df-today { font-family: "Figtree", sans-serif; color: #101828; padding: 18px 4px 6px; display: flex; flex-direction: column; gap: 12px; }
.df-today .df-td-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.df-today .df-td-kicker { font-size: 12.5px; font-weight: 800; color: #475467; text-transform: uppercase; letter-spacing: .08em; }
.df-today h3 { margin: 2px 0 0; font-family: "Bricolage Grotesque", "Figtree", sans-serif; font-size: 28px; font-weight: 800; letter-spacing: -0.5px; }
.df-today .df-td-stats { display: flex; gap: 6px; }
.df-today .df-td-stats span { padding: 6px 11px; border-radius: 10px; background: #FFFFFF; border: 1px solid #E4E7EC; font-size: 13px; font-weight: 700; }
.df-today .df-td-empty { padding: 26px; border: 1.5px dashed #CDD3DD; border-radius: 16px; text-align: center; color: #475467; font-weight: 700; }
.df-today button { font-family: inherit; text-align: left; cursor: pointer; }
.df-today .df-td-next { --df-c: #0A8C8C; display: flex; flex-direction: column; gap: 12px; width: 100%; border: 0; border-radius: 20px; padding: 18px; color: #FFFFFF; background: var(--df-c); box-shadow: 0 10px 24px rgba(16,24,40,.14); }
.df-today .df-td-next-top { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.df-today .df-td-kick { font-size: 12.5px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.df-today .df-td-chip { padding: 5px 10px; border-radius: 10px; background: rgba(255,255,255,.2); font-size: 14px; font-weight: 800; }
.df-today .df-td-next-main { display: flex; align-items: center; gap: 12px; }
.df-today .df-td-next .df-td-av { width: 52px; height: 52px; border-radius: 16px; background: rgba(255,255,255,.22); color: #FFFFFF; font-size: 18px; }
.df-today .df-td-next b { display: block; font-family: "Bricolage Grotesque", "Figtree", sans-serif; font-size: 24px; font-weight: 800; letter-spacing: -0.3px; line-height: 1.15; }
.df-today .df-td-next small { display: block; font-size: 14px; font-weight: 600; opacity: .95; }
.df-today .df-td-open { align-self: flex-end; padding: 10px 16px; border-radius: 12px; background: #FFFFFF; color: #101828; font-weight: 800; font-size: 14px; }
.df-today .df-td-label { margin-top: 4px; font-size: 12.5px; font-weight: 800; color: #475467; text-transform: uppercase; letter-spacing: .08em; }
.df-today .df-td-list { display: flex; flex-direction: column; gap: 8px; }
.df-today .df-td-row { --df-c: #184F9F; display: grid; grid-template-columns: 64px 38px minmax(0, 1fr) auto; align-items: center; gap: 12px; width: 100%; padding: 11px 14px; background: #FFFFFF; border: 1px solid #E4E7EC; border-radius: 16px; color: #101828; transition: border-color .15s, box-shadow .15s; }
.df-today .df-td-row:hover { border-color: var(--df-c); box-shadow: 0 4px 14px rgba(16,24,40,.08); }
.df-today .df-td-row.is-past { opacity: .6; }
.df-today .df-td-time { border-right: 1px solid #EEF0F4; padding-right: 8px; }
.df-today .df-td-time b { display: block; font-size: 16px; font-weight: 800; }
.df-today .df-td-time small { display: block; font-size: 12px; color: #475467; font-weight: 600; }
.df-today .df-td-av { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 11px; background: #EEF2F8; color: #184F9F; font-weight: 800; font-size: 13px; flex: none; }
.df-today .df-td-txt b { display: block; font-size: 16px; font-weight: 800; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.df-today .df-td-txt small { display: flex; align-items: center; gap: 7px; font-size: 13px; color: #475467; font-weight: 600; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.df-today .df-td-txt small i { flex: none; width: 9px; height: 9px; border-radius: 50%; background: var(--df-c); }
.df-today .df-td-arrow { font-size: 22px; color: #98A2B3; font-weight: 700; }
@media (max-width: 575px) {
  .df-today h3 { font-size: 24px; }
  .df-today .df-td-row { grid-template-columns: 56px 34px minmax(0, 1fr) auto; gap: 10px; padding: 10px 12px; }
  .df-today .df-td-next b { font-size: 21px; }
  .df-today .df-td-open { align-self: stretch; text-align: center; }
}

/* ===== Hold i afsnit: I gang / Næsten færdige / Ikke startet ===== */
.df-team-group-head { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 12px; padding: 18px 12px 4px !important; }
.df-team-group-head:first-child { padding-top: 6px !important; }
.df-team-group-head h2 { margin: 0; display: inline-flex; align-items: center; gap: 10px; font-family: "Bricolage Grotesque", "Figtree", sans-serif; font-size: 22px; font-weight: 800; letter-spacing: -0.3px; color: #101828; }
.df-team-group-head h2 span { display: inline-flex; align-items: center; justify-content: center; min-width: 28px; height: 26px; padding: 0 8px; border-radius: 8px; background: #E8EEF8; color: #184F9F; font-family: "Figtree", sans-serif; font-size: 13px; font-weight: 800; }
.df-team-group-done h2 span { background: #E5F5EE; color: #0E6B4E; }
.df-team-group-upcoming h2 span { background: #FFF4E5; color: #8A4B00; }
.df-team-group-head p { margin: 0; font-size: 14px; font-weight: 600; color: #475467; }
.df-av-ini { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 50%; background: #184F9F; color: #FFFFFF; font-size: 13px; font-weight: 800; border: 2px solid #FFFFFF; }

/* "I dag": ingen grå streger, kun den hvide boks */
.fc.df-today-on { border: 0 !important; box-shadow: none !important; }
.fc.df-today-on .fc-header-toolbar { border-bottom: 0 !important; }
.df-today .df-td-row { border: 0 !important; background: #F5F7FA !important; }
.df-today .df-td-row:hover { box-shadow: none !important; background: #EDF1F7 !important; }
.df-today .df-td-time { border-right: 0 !important; padding-right: 0 !important; }
.df-today .df-td-time small { white-space: nowrap; }
.df-today .df-td-stats span { border: 0 !important; background: #F5F7FA !important; }
.df-today .df-td-empty { border: 0 !important; background: #F5F7FA; }
@media (max-width: 575px) { .df-today { padding-left: 0; padding-right: 0; } .df-today .df-td-row { grid-template-columns: 62px 34px minmax(0, 1fr) auto; } }
.dashboard-wrapper:has(.fc.df-today-on) { border: 0 !important; box-shadow: none !important; padding-left: 0 !important; padding-right: 0 !important; }
.fc .df-today-btn { white-space: nowrap !important; }

/* ===== Kalender: ingen grå rammer i nogen visning, kun meget lette hjælpelinjer ===== */
.dashboard-wrapper { border: 0 !important; box-shadow: none !important; }
.fc .fc-scrollgrid, .fc .fc-scrollgrid-section > *, .fc table.fc-scrollgrid { border: 0 !important; }
.fc .fc-header-toolbar { border-bottom: 0 !important; }
.fc .fc-theme-standard td, .fc .fc-theme-standard th, .fc-theme-standard td, .fc-theme-standard th { border-color: #F1F3F6 !important; }
.fc .fc-timegrid-slot-minor { border-top-color: transparent !important; }
.fc .fc-col-header-cell, .fc .fc-timegrid-axis, .fc .fc-timegrid-slot-label { border-color: transparent !important; }
.fc .fc-list, .fc .fc-list-table td, .fc .fc-list-day-cushion { border-color: #F1F3F6 !important; }
.fc .fc-list { border: 0 !important; }
.fc .fc-daygrid-day-frame { border: 0 !important; }
.fc .fc-event, .fc .fc-timegrid-event, .fc .fc-daygrid-event { border: 0 !important; box-shadow: none !important; }
.fc .fc-timegrid-event-harness-inset .fc-timegrid-event { box-shadow: 0 0 0 1px #FFFFFF !important; }
.fc, .fc-theme-standard { --fc-border-color: #F1F3F6 !important; }
.fc-theme-standard td, .fc-theme-standard th, .fc .fc-timegrid-slot, .fc .fc-timegrid-col, .fc .fc-daygrid-day { border-color: #F1F3F6 !important; }

/* ===== Mobilmenu (godkendt design): hvid, tydelig tekst ===== */
.df-mm-quick, .df-mm-sec, .df-mm-foot { display: none !important; }
@media (max-width: 575px) {
  #accordionSidebar { background: #FFFFFF !important; background-image: none !important; color: #101828 !important; display: flex !important; flex-direction: column; }
  #accordionSidebar::before, #accordionSidebar::after { display: none !important; }
  #accordionSidebar .sidebar-mobile-top { align-items: center !important; gap: 12px; padding: 16px !important; margin: 0 !important; border-bottom: 1px solid #EEF0F4 !important; }
  #accordionSidebar .sidebar-mobile-top .user-profile { order: 1; flex: 1; display: flex; align-items: center; gap: 12px; border: 0 !important; }
  #accordionSidebar .sidebar-mobile-top .user-img, #accordionSidebar .sidebar-mobile-top .user-img img { width: 46px !important; height: 46px !important; border: 0 !important; border-radius: 50% !important; }
  #accordionSidebar .sidebar-mobile-top h4 { color: #101828 !important; font-size: 17px !important; font-weight: 800 !important; margin: 0 !important; }
  #accordionSidebar .sidebar-mobile-top h6 { color: #475467 !important; font-size: 13px !important; font-weight: 600 !important; margin: 0 !important; }
  #accordionSidebar .sidebar-mobile-top .sidebar-toggle { order: 2; width: 44px !important; height: 44px !important; flex: none; border-radius: 14px !important; background: #F3F5F9 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23344054' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E") no-repeat center !important; }
  #accordionSidebar .sidebar-mobile-top .sidebar-toggle i { display: none !important; }
  #accordionSidebar .df-mm-quick { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 8px; padding: 12px 16px 6px; }
  #accordionSidebar .df-mm-tile { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 10px 4px; border: 0; border-radius: 14px; background: #F3F5F9; color: #344054; font-family: "Figtree", sans-serif; font-size: 12.5px; font-weight: 800; }
  #accordionSidebar .df-mm-tile.is-warn { background: #FFF4E5; color: #8A4B00; }
  #accordionSidebar > ul { display: flex !important; flex-direction: column; gap: 2px; padding: 6px 12px !important; margin: 0 !important; flex: 1; overflow-y: auto; }
  #accordionSidebar > ul > li { order: 2; }
  #accordionSidebar > ul > li:first-child { order: 0; }
  #accordionSidebar > ul > li.df-li-mp { order: 1; }
  #accordionSidebar > ul > li.df-mm-sec { display: block !important; list-style: none; padding: 12px 14px 4px; font-size: 11.5px; font-weight: 800; color: #475467; letter-spacing: .08em; text-transform: uppercase; }
  #accordionSidebar .nav-item .nav-link { display: flex !important; align-items: center; gap: 14px; min-height: 48px; padding: 0 14px !important; border-radius: 14px !important; color: #101828 !important; font-size: 16px !important; font-weight: 700 !important; background: transparent !important; border: 0 !important; box-shadow: none !important; }
  #accordionSidebar .nav-item .nav-link i { color: #344054 !important; font-size: 19px !important; opacity: 1 !important; }
  #accordionSidebar .nav-item .nav-link span { color: inherit !important; }
  #accordionSidebar .nav-item.active .nav-link { background: #E8EEF8 !important; color: #184F9F !important; font-weight: 800 !important; }
  #accordionSidebar .nav-item.active .nav-link i { color: #184F9F !important; }
  #accordionSidebar .df-mm-foot { display: flex !important; align-items: center; justify-content: space-between; gap: 8px; padding: 12px 16px 18px; border-top: 1px solid #EEF0F4; }
  #accordionSidebar .df-mm-lang { height: 44px; padding: 0 14px; border-radius: 12px; border: 1px solid #E4E7EC; display: inline-flex; align-items: center; font-weight: 800; font-size: 14px; color: #344054; text-decoration: none; }
  #accordionSidebar .df-mm-out { height: 44px; padding: 0 14px; border: 0; background: transparent; font-family: "Figtree", sans-serif; font-weight: 800; font-size: 14px; color: #B42318; }
}

/* ===== Topbar (godkendt design) ===== */
.df-um-sec, .df-um-sep { display: none; }
@media (min-width: 768px) {
  .topbar { display: flex !important; align-items: center; gap: 16px; background: #FFFFFF !important; border: 1px solid #E4E7EC !important; border-radius: 20px !important; padding: 12px 14px 12px 22px !important; margin-bottom: 18px !important; box-shadow: 0 1px 2px rgba(16,24,40,.04) !important; }
  .topbar .page-title-wrapper { flex: 1; min-width: 0; margin: 0 !important; padding: 0 !important; }
  .topbar .breadcrumb, .topbar .breadcrumb a, .topbar .breadcrumb-item { font-size: 13px !important; font-weight: 700 !important; color: #475467 !important; }
  .topbar .breadcrumb-item.active { color: #101828 !important; }
  .topbar .mrdrive-pagetitle h2 { margin: 2px 0 0 !important; font-family: "Bricolage Grotesque", "Figtree", sans-serif !important; font-size: 28px !important; font-weight: 800 !important; letter-spacing: -0.5px; line-height: 1.1; }
  .topbar .mrdrive-pagetitle::before, .topbar .mrdrive-pagetitle::after, .topbar .mrdrive-pagetitle h2::before, .topbar .mrdrive-pagetitle h2::after { display: none !important; }
  .topbar .navbar { background: transparent !important; box-shadow: none !important; padding: 0 !important; margin: 0 !important; flex: none; }
  .topbar .top-navbar, .topbar .top-navbar > ul.navbar-nav { background: transparent !important; box-shadow: none !important; border: 0 !important; padding: 0 !important; margin: 0 !important; border-radius: 0 !important; display: flex; align-items: center; gap: 6px; width: auto !important; }
  .topbar .top-navbar > ul > li.me-auto { margin: 0 8px 0 0 !important; padding-right: 14px; border-right: 1px solid #E4E7EC; }
  .topbar .school-name.df-school { display: flex !important; align-items: center; gap: 10px; height: 52px; padding: 0 14px 0 6px !important; margin: 0 !important; border: 1px solid #E4E7EC; border-radius: 16px; background: #F8F9FB; text-transform: none !important; white-space: nowrap; }
  .topbar .df-school-ini { width: 40px; height: 40px; border-radius: 12px; background: #184F9F; color: #FFFFFF; display: inline-flex; align-items: center; justify-content: center; font-weight: 800; font-size: 14px; letter-spacing: 0; }
  .topbar .df-school-txt b { display: block; font-size: 15px; font-weight: 800; color: #101828; line-height: 1.2; }
  .topbar .df-school-txt small { display: block; font-size: 12px; font-weight: 600; color: #475467; }
  .topbar .top-navbar a.dropdown-toggle.nav-item { position: relative; min-width: 46px; height: 46px; border-radius: 14px !important; background: transparent !important; border: 0 !important; box-shadow: none !important; display: inline-flex !important; align-items: center; justify-content: center; gap: 6px; padding: 0 10px !important; color: #344054 !important; }
  .topbar .top-navbar a.dropdown-toggle.nav-item:hover, .topbar .top-navbar a.dropdown-toggle.nav-item.show { background: #F3F5F9 !important; }
  .topbar .top-navbar a.dropdown-toggle.nav-item::after { display: none !important; }
  .topbar .top-navbar a.dropdown-toggle.nav-item > i { font-size: 20px !important; color: #344054 !important; }
  .topbar .top-navbar a.dropdown-toggle.nav-item > span:not(.df-tb-who):not(.df-tb-chev):not(.df-lang-txt), .topbar .top-navbar a.dropdown-toggle.nav-item > sup, .topbar .top-navbar a.dropdown-toggle.nav-item .badge { position: absolute !important; top: -4px !important; right: -4px !important; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 10px !important; background: #D9480F !important; color: #FFFFFF !important; font-size: 11px !important; font-weight: 800 !important; display: inline-flex !important; align-items: center; justify-content: center; border: 2px solid #FFFFFF; }
  #languageSwitcherDropdown img { width: 22px !important; height: 16px !important; border-radius: 3px !important; object-fit: cover; }
  .topbar .df-lang-txt { font-size: 13px; font-weight: 800; color: #344054; }
  .topbar a.dropdown-toggle.df-tb-prof { height: 52px !important; padding: 0 12px 0 6px !important; gap: 10px !important; border: 1px solid #E4E7EC !important; border-radius: 16px !important; background: #FFFFFF !important; margin-left: 8px; }
  .topbar a.dropdown-toggle.df-tb-prof.show { border-color: #184F9F !important; background: #E8EEF8 !important; }
  .topbar a.df-tb-prof img.propic { width: 40px !important; height: 40px !important; border-radius: 50% !important; }
  .topbar .df-tb-who { text-align: left; }
  .topbar .df-tb-who b { display: block; font-size: 14px; font-weight: 800; color: #101828; line-height: 1.2; }
  .topbar .df-tb-who small { display: block; font-size: 12px; font-weight: 600; color: #475467; }
  .topbar .df-tb-chev { width: 16px; height: 16px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23475467' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat center; }
  .topbar .dropdown-menu { border: 1px solid #E4E7EC !important; border-radius: 20px !important; box-shadow: 0 18px 40px rgba(16,24,40,.16) !important; overflow: hidden; }
  .topbar ul.user-dropdown.df-um { width: 290px !important; padding: 8px !important; }
  .topbar ul.df-um > li:has(.dropdown-user) { display: none !important; }
  .topbar ul.df-um > li.df-um-sec { display: block; padding: 10px 12px 4px; font-size: 11.5px; font-weight: 800; color: #475467; letter-spacing: .08em; text-transform: uppercase; }
  .topbar ul.df-um > li.df-um-sep { display: block; height: 1px; background: #EEF0F4; margin: 6px 8px; }
  .topbar ul.df-um > li > a, .topbar ul.df-um > li > form > button { display: flex !important; align-items: center; gap: 12px; min-height: 44px; padding: 0 12px !important; border-radius: 12px !important; font-size: 15px !important; font-weight: 700 !important; color: #101828 !important; background: transparent !important; text-decoration: none; }
  .topbar ul.df-um > li > a:hover, .topbar ul.df-um > li > form > button:hover { background: #F3F5F9 !important; }
  .topbar ul.df-um > li > a i, .topbar ul.df-um > li > form > button i { color: #344054 !important; font-size: 18px !important; }
  .topbar ul.df-um > li.df-um-out > form > button, .topbar ul.df-um > li.df-um-out > form > button i { color: #B42318 !important; font-weight: 800 !important; }
  .topbar .approval-dropdown, .topbar .notification-dropdown { width: 420px !important; padding: 0 !important; }
  .topbar .approval-dropdown-header, .topbar .notification-header { padding: 16px 18px 12px !important; border: 0 !important; background: #FFFFFF !important; }
  .topbar .approval-dropdown-header h5, .topbar .notification-header h5 { margin: 0 !important; font-size: 17px !important; font-weight: 800 !important; color: #101828 !important; }
  .topbar .approval-dropdown > ul, .topbar .notification-dropdown > ul { padding: 0 8px 8px !important; margin: 0 !important; }
  .topbar li.approval-list { display: grid !important; grid-template-columns: 40px 1fr; gap: 12px; align-items: center; padding: 10px !important; border-radius: 14px !important; border: 0 !important; background: transparent !important; }
  .topbar li.approval-list.new { background: #F8F9FB !important; }
  .topbar li.approval-list img { width: 40px !important; height: 40px !important; border-radius: 12px !important; object-fit: cover; }
  .topbar li.approval-list .approval-list-right { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-width: 0; }
  .topbar li.approval-list h4 { margin: 0 !important; font-size: 14.5px !important; font-weight: 800 !important; color: #101828 !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .topbar li.approval-list h6 { margin: 0 !important; font-size: 12.5px !important; font-weight: 600 !important; color: #475467 !important; }
  .topbar .approve-list-action { display: flex !important; gap: 6px; flex: none; }
  .topbar .approve-list-action button, .topbar .approve-list-action .btn { height: 36px !important; padding: 0 12px !important; border-radius: 10px !important; font-size: 13px !important; font-weight: 800 !important; width: auto !important; }
  .topbar .approve-list-action > :first-child, .topbar .approve-list-action > :first-child button { background: #15936F !important; border: 0 !important; color: #FFFFFF !important; }
  .topbar .approve-list-action > :last-child:not(:first-child), .topbar .approve-list-action > :last-child:not(:first-child) button { background: #FFFFFF !important; border: 1px solid #E4E7EC !important; color: #344054 !important; }
}
@media (min-width: 768px) {
  .topbar .page-title-wrapper::after { display: none !important; }
  .topbar a.dropdown-toggle.df-tb-prof, .topbar #languageSwitcherDropdown { width: auto !important; max-width: none !important; overflow: visible !important; }
  .topbar .top-navbar > ul > li { width: auto !important; flex: none; }
}

/* ===== Kompakt holdkort (godkendt design) ===== */
.df-hc { position: relative; height: 100%; background: #FFFFFF; border: 1px solid #E4E7EC; border-radius: 18px; padding: 16px; display: flex; flex-direction: column; gap: 10px; font-family: "Figtree", sans-serif; color: #101828; margin-bottom: 14px; }
.df-hc-chips { display: flex; gap: 6px; flex-wrap: wrap; min-height: 22px; }
.df-hc-chip { padding: 3px 9px; border-radius: 8px; background: #E8EEF8; color: #184F9F; font-size: 12px; font-weight: 800; }
.df-hc-chip.is-soon { background: #FFF4E5; color: #8A4B00; }
.df-hc-title { margin: 0; font-size: 17px; font-weight: 800; line-height: 1.3; text-transform: none; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.df-hc-date { font-size: 13px; color: #475467; font-weight: 600; }
.df-hc-prog-top { display: flex; justify-content: space-between; align-items: baseline; }
.df-hc-prog-top b { font-family: "Bricolage Grotesque", "Figtree", sans-serif; font-size: 24px; font-weight: 800; }
.df-hc-prog-top span { font-size: 12.5px; color: #475467; font-weight: 700; }
.df-hc-bar { height: 8px; border-radius: 6px; background: #EEF0F4; margin-top: 6px; overflow: hidden; }
.df-hc-bar i { display: block; height: 8px; border-radius: 6px; background: #184F9F; }
.df-team-group-done .df-hc-bar i, .df-hc-bar i[style*="width: 9"], .df-hc-bar i[style*="width: 100"] { background: #15936F; }
.df-hc-counts { display: flex; gap: 14px; font-size: 13px; font-weight: 700; color: #344054; }
.df-hc-actions { display: flex; gap: 8px; margin-top: auto; padding-top: 4px; }
.df-hc-open { flex: 1; height: 42px; border-radius: 12px; background: #184F9F; color: #FFFFFF !important; text-decoration: none !important; display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 14px; }
.df-hc-open:hover { background: #123B78; }
.df-hc-more-btn { width: 42px; height: 42px; border-radius: 12px; border: 1px solid #E4E7EC; background: #FFFFFF; font-size: 20px; font-weight: 800; color: #344054; line-height: 1; }
.df-hc-more-btn[aria-expanded="true"] { border-color: #184F9F; background: #E8EEF8; color: #184F9F; }
.df-hc-menu { min-width: 210px; padding: 6px !important; border: 1px solid #E4E7EC !important; border-radius: 16px !important; box-shadow: 0 14px 32px rgba(16,24,40,.16) !important; }
.df-hc-menu li > a, .df-hc-menu li > form, .df-hc-menu li > form > button { display: flex !important; align-items: center; gap: 10px; width: 100% !important; height: auto !important; min-height: 40px; padding: 0 12px !important; border: 0 !important; border-radius: 10px !important; background: transparent !important; box-shadow: none !important; color: #101828 !important; font-size: 14px; font-weight: 700; text-decoration: none; justify-content: flex-start !important; }
.df-hc-menu li > form { padding: 0 !important; }
.df-hc-menu li > a:hover, .df-hc-menu li > form > button:hover { background: #F3F5F9 !important; }
.df-hc-menu li > a::after { content: attr(aria-label); }
.df-hc-menu li.df-hc-danger form > button::after { content: "Arkivér"; }
.df-hc-menu li.df-hc-danger form > button, .df-hc-menu li.df-hc-danger i { color: #B42318 !important; font-weight: 800; }

/* ===== Kompakte førstehjælpskort ===== */
.teams-card:has(> .df-hc-fa) { background: #FFFFFF !important; border: 1px solid #E4E7EC !important; border-radius: 18px !important; padding: 0 !important; box-shadow: none !important; overflow: visible; display: flex; flex-direction: column; }
.teams-card:has(> .df-hc-fa)::before, .teams-card:has(> .df-hc-fa)::after { display: none !important; }
.df-hc.df-hc-fa { border: 0; margin: 0; height: auto; }
.df-hc-chip.is-fa { background: #FDECEF; color: #A01834; }
.df-hc-chip.is-now { background: #E5F5EE; color: #0E6B4E; }
.df-hc-chip.is-done { background: #F2F4F7; color: #475467; }
.df-hc-fa-body { padding: 0 16px !important; background: transparent !important; }
.df-hc-fa-body:empty { display: none; }
.df-hc-fa-body .teams-card-body-content { background: #F8F9FB !important; border-radius: 12px !important; margin-bottom: 10px; }
.teams-card:has(> .df-hc-fa) .card-footer { border-top: 1px solid #EEF0F4 !important; margin: 0 16px; padding: 10px 0 12px !important; background: transparent !important; }
.teams-card:has(> .df-hc-fa) .card-footer .rounded-btn { width: 38px !important; height: 38px !important; border-radius: 10px !important; }

.df-team-group-old { margin-top: 18px; border-top: 1px dashed #D0D5DD; padding-top: 22px !important; }
.df-team-group-old h2 span { background: #F2F4F7; color: #475467; }

/* Søgefelter, filtre og formularfelter: samme kraftige skrift som resten (ikke den tynde 400-vægt) */
.form-control, .form-select, input[type="text"], input[type="search"], input[type="email"], input[type="number"], input[type="tel"], textarea, select,
.top-action .btn, .top-action .dropdown-toggle, .accordion-button, .select2-container .select2-selection, .flatpickr-input { font-family: "Figtree", system-ui, sans-serif !important; font-weight: 600 !important; }
.form-control::placeholder, input::placeholder, textarea::placeholder { font-weight: 500 !important; }
.btn.dropdown-toggle:not(.nav-item), .btn-group > .btn { font-weight: 600 !important; }

/* ===== "Intet at vise" (godkendt design) ===== */
.df-empty { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 12px; max-width: 470px; margin: 28px auto; padding: 8px 16px 20px; font-family: "Figtree", sans-serif; color: #101828; }
.df-empty .df-empty-ill { max-width: 100%; height: auto; }
.df-empty .df-empty-ill-search { display: none; }
.df-empty.is-search .df-empty-ill-search { display: block; }
.df-empty.is-search .df-empty-ill-list { display: none; }
.df-empty .df-empty-kicker { font-size: 12.5px; font-weight: 800; color: #475467; text-transform: uppercase; letter-spacing: .1em; }
.df-empty .df-empty-title { margin: 0 !important; font-family: "Bricolage Grotesque", "Figtree", sans-serif !important; font-size: 28px !important; font-weight: 800 !important; letter-spacing: -0.4px; line-height: 1.15; text-transform: none !important; color: #101828 !important; }
.df-empty .df-empty-text { margin: 0; font-size: 15.5px; font-weight: 600; color: #475467; line-height: 1.5; }
.df-empty .df-empty-actions { display: flex; gap: 10px; flex-wrap: wrap; justify-content: center; margin-top: 6px; }
.df-empty .df-empty-actions:empty { display: none; }
.df-empty .df-empty-btn { height: 46px; padding: 0 18px; border-radius: 14px; display: inline-flex; align-items: center; font-weight: 800; font-size: 14.5px; text-decoration: none !important; border: 1px solid #E4E7EC; background: #FFFFFF; color: #344054 !important; cursor: pointer; font-family: inherit; }
.df-empty .df-empty-btn.is-primary { background: #184F9F; border-color: #184F9F; color: #FFFFFF !important; }
@media (max-width: 575px) { .df-empty .df-empty-title { font-size: 23px !important; } .df-empty .df-empty-ill { width: 240px; } }

/* Topbar på telefon: skjul computer-tilføjelserne, så intet overlapper (midlertidig rettelse) */
@media (max-width: 767px) {
  .topbar .df-tb-who, .topbar .df-tb-chev, .topbar .df-lang-txt, .topbar .df-school-ini, .topbar .df-school-txt small { display: none !important; }
  .topbar .school-name.df-school { display: block !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-transform: none !important; }
  .topbar .df-school-txt b { font-weight: 800; }
}

/* ===== Topbar på telefon (godkendt design) ===== */
.df-mtitle, .df-um-m { display: none !important; }
@media (max-width: 767px) {
  .topbar { position: sticky; top: 0; z-index: 1030; background: #FFFFFF !important; border: 0 !important; border-bottom: 1px solid #EEF0F4 !important; border-radius: 0 0 18px 18px !important; box-shadow: 0 1px 2px rgba(16,24,40,.04) !important; margin: 0 -12px 12px !important; padding: 0 !important; }
  body.df-sheet-open .topbar { z-index: 1070; }
  .topbar .navbar { padding: 0 !important; background: transparent !important; box-shadow: none !important; }
  .topbar .top-navbar { display: flex !important; align-items: center; gap: 10px; padding: 12px 14px !important; width: 100%; background: transparent !important; box-shadow: none !important; border-radius: 0 !important; }
  .topbar .top-navbar > form.form-inline { margin: 0 !important; flex: none; }
  .topbar #sidebarToggleTop { width: 44px !important; height: 44px !important; border-radius: 14px !important; background: #F3F5F9 !important; margin: 0 !important; display: inline-flex !important; align-items: center; justify-content: center; color: #184F9F !important; }
  .topbar #sidebarToggleTop i { color: #184F9F !important; font-size: 20px; }
  .topbar .top-navbar > a.d-md-none, .topbar .show-menu-mobile { display: none !important; }
  .topbar .df-mtitle { display: block !important; flex: 1; min-width: 0; font-family: "Figtree", sans-serif; }
  .topbar .df-mtitle b { display: block; font-family: "Bricolage Grotesque", "Figtree", sans-serif; font-size: 20px; font-weight: 800; letter-spacing: -0.3px; line-height: 1.1; color: #101828; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .topbar .df-mtitle span { display: flex; align-items: center; gap: 6px; font-size: 12.5px; font-weight: 700; color: #475467; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .topbar .df-mtitle span i { font-style: normal; flex: none; width: 18px; height: 18px; border-radius: 6px; background: #184F9F; color: #FFFFFF; font-size: 9.5px; font-weight: 800; display: inline-flex; align-items: center; justify-content: center; }
  .topbar .top-navbar > ul.navbar-nav { position: static !important; transform: none !important; width: auto !important; flex: none; display: flex !important; flex-direction: row !important; align-items: center; gap: 8px; background: transparent !important; box-shadow: none !important; border: 0 !important; padding: 0 !important; margin: 0 !important; top: auto !important; }
  .topbar .top-navbar > ul > li.me-auto, .topbar .top-navbar > ul > li:has(#languageSwitcherDropdown) { display: none !important; }
  .topbar .top-navbar > ul > li:has(.fi-rr-bells) > div > a.dropdown-toggle, .topbar .top-navbar > ul > li:has(.fi-rr-bells) a.dropdown-toggle:has(.fi-rr-bells) { position: absolute !important; width: 1px !important; height: 1px !important; min-width: 0 !important; padding: 0 !important; overflow: hidden; opacity: 0; pointer-events: none; }
  .topbar a.dropdown-toggle:has(.fi-rs-user-check) { width: 44px !important; height: 44px !important; min-width: 44px; border-radius: 14px !important; background: #FFF4E5 !important; position: relative; display: inline-flex !important; align-items: center; justify-content: center; padding: 0 !important; }
  .topbar a.dropdown-toggle:has(.fi-rs-user-check) i { color: #8A4B00 !important; font-size: 20px; }
  .topbar a.dropdown-toggle:has(.fi-rs-user-check)::after, .topbar a.df-tb-prof::after { display: none !important; }
  .topbar a.df-tb-prof { width: 44px !important; height: 44px !important; padding: 0 !important; border: 0 !important; background: transparent !important; display: inline-flex !important; }
  .topbar a.df-tb-prof img.propic { width: 44px !important; height: 44px !important; border-radius: 50% !important; }
  .page-title-wrapper.d-xl-none { display: none !important; }
  body.df-sheet-open::after { content: ""; position: fixed; inset: 0; background: rgba(16,24,40,.38); z-index: 1050; }
  .topbar .dropdown-menu.show { position: fixed !important; left: 0 !important; right: 0 !important; top: auto !important; bottom: 0 !important; inset: auto 0 0 0 !important; transform: none !important; width: 100% !important; max-width: 100% !important; max-height: 82vh; overflow-y: auto; margin: 0 !important; border-radius: 26px 26px 0 0 !important; border: 0 !important; padding: 26px 16px 24px !important; box-shadow: 0 -10px 30px rgba(16,24,40,.18) !important; z-index: 1080; background: #FFFFFF !important; }
  .topbar .dropdown-menu.show::before { content: ""; position: absolute; top: 9px; left: 50%; margin-left: -22px; width: 44px; height: 5px; border-radius: 3px; background: #D0D5DD; }
  .topbar ul.df-um.show > li:has(.dropdown-user) { display: block !important; padding: 0 4px 12px; border-bottom: 1px solid #EEF0F4; margin-bottom: 10px; }
  .topbar ul.df-um .dropdown-user { display: flex; align-items: center; gap: 12px; background: transparent !important; padding: 0 !important; }
  .topbar ul.df-um .dropdown-user img { width: 50px !important; height: 50px !important; border-radius: 50% !important; }
  .topbar ul.df-um .dropdown-user h4 { margin: 0 !important; font-size: 17px !important; font-weight: 800 !important; color: #101828 !important; }
  .topbar ul.df-um .dropdown-user h5 { margin: 0 !important; font-size: 13px !important; font-weight: 600 !important; color: #475467 !important; }
  .topbar ul.df-um li.df-um-m { display: block !important; list-style: none; }
  .topbar ul.df-um li.df-um-school { display: flex !important; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 16px; border: 1px solid #E4E7EC; background: #F8F9FB; margin-bottom: 8px; }
  .topbar .df-um-school-ini { flex: none; width: 40px; height: 40px; border-radius: 12px; background: #184F9F; color: #FFFFFF; display: inline-flex; align-items: center; justify-content: center; font-weight: 800; font-size: 14px; }
  .topbar .df-um-school-txt b { display: block; font-size: 15px; font-weight: 800; color: #101828; }
  .topbar .df-um-school-txt small { display: block; font-size: 12.5px; font-weight: 600; color: #475467; }
  .topbar ul.df-um > li > a, .topbar ul.df-um > li > form > button { display: flex !important; align-items: center; gap: 12px; min-height: 48px; padding: 0 12px !important; border-radius: 12px !important; font-size: 16px !important; font-weight: 700 !important; color: #101828 !important; background: transparent !important; width: 100%; border: 0; text-decoration: none; font-family: "Figtree", sans-serif; }
  .topbar ul.df-um > li.df-um-out > form > button { color: #B42318 !important; font-weight: 800 !important; }
  .topbar ul.df-um li.df-um-lang { display: flex !important; gap: 4px; background: #F3F5F9; border-radius: 12px; padding: 4px; margin: 10px 0 6px; }
  .topbar ul.df-um li.df-um-lang a { flex: 1; text-align: center; padding: 9px 12px !important; border-radius: 9px !important; font-weight: 700 !important; font-size: 14px !important; color: #475467 !important; min-height: 0 !important; display: block !important; text-decoration: none; }
  .topbar ul.df-um li.df-um-lang a.is-on { background: #FFFFFF !important; color: #184F9F !important; font-weight: 800 !important; }
  .topbar .approval-dropdown.show, .topbar .notification-dropdown.show { width: 100% !important; }
}

/* Tomme meddelelser / godkendelser i topbaren: lille ikon, hel tekst */
.topbar li.empty-dropdown { background: transparent !important; padding: 18px 16px 22px !important; border: 0 !important; }
.topbar li.empty-dropdown .text-center { display: flex; flex-direction: column; align-items: center; gap: 10px; }
.topbar li.empty-dropdown i { width: 52px; height: 52px; border-radius: 16px; background: #F3F5F9; color: #475467 !important; font-size: 22px !important; display: inline-flex !important; align-items: center; justify-content: center; line-height: 1 !important; }
.topbar li.empty-dropdown i::before { line-height: 1 !important; }
.topbar li.empty-dropdown p { margin: 0 !important; font-size: 14.5px !important; font-weight: 700 !important; color: #475467 !important; white-space: normal !important; overflow: visible !important; text-overflow: clip !important; max-width: 280px; line-height: 1.4 !important; -webkit-line-clamp: unset !important; display: block !important; height: auto !important; }
.topbar .notification-dropdown > ul, .topbar .approval-dropdown > ul { background: #FFFFFF !important; max-height: 420px; }

/* ===== Kalendertop (godkendt design) ===== */
.dashboard-calendar-top > .d-flex { gap: 10px !important; align-items: center !important; }
.dashboard-calendar-top-left { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.dashboard-calendar-top-left.df-has-seg > .dropdown { display: none !important; }
.df-cal-seg { display: flex; background: #F3F5F9; border-radius: 12px; padding: 4px; gap: 2px; flex-wrap: wrap; }
.df-cal-seg a { padding: 8px 14px; border-radius: 9px; color: #475467 !important; font-weight: 700; font-size: 14px; text-decoration: none !important; white-space: nowrap; }
.df-cal-seg a:hover { color: #101828 !important; }
.df-cal-seg a.is-on { background: #FFFFFF; color: #184F9F !important; font-weight: 800; box-shadow: 0 1px 2px rgba(16,24,40,.08); }
a.calendar-color-btn[data-df-col] { display: inline-flex !important; align-items: center; gap: 8px; height: 40px; padding: 0 10px; border-radius: 12px; font-size: 14px !important; font-weight: 700 !important; color: #475467 !important; text-decoration: none !important; }
a.calendar-color-btn[data-df-col]:hover { background: #F3F5F9; }
.df-dots { display: inline-flex; }
.df-dots i { width: 10px; height: 10px; border-radius: 50%; border: 1.5px solid #FFFFFF; margin-left: -3px; }
.df-dots i:first-child { margin-left: 0; background: #0A9C9C; } .df-dots i:nth-child(2) { background: #2D60B2; } .df-dots i:nth-child(3) { background: #15936F; }
.dashboard-calendar-top-right { display: flex; align-items: center; gap: 8px; }
#vehicleFilterButton, #bookingFilterButton { height: 44px !important; padding: 0 14px !important; border-radius: 12px !important; border: 1px solid #E4E7EC !important; background: #FFFFFF !important; color: #344054 !important; font-size: 14px !important; font-weight: 700 !important; box-shadow: none !important; gap: 8px; }
#bookingFilterButton.df-has { border: 1.5px solid #184F9F !important; background: #E8EEF8 !important; color: #184F9F !important; font-weight: 800 !important; }
#bookingFilterButton .df-fcount:empty { display: none; }
#bookingFilterButton .df-fcount { min-width: 20px; height: 20px; padding: 0 6px; border-radius: 10px; background: #184F9F; color: #FFFFFF; font-size: 12px; font-weight: 800; display: inline-flex; align-items: center; justify-content: center; margin-left: 2px; }
.dashboard-calendar-top-right .add-booking-btn { height: 44px !important; border-radius: 12px !important; padding: 0 18px !important; display: inline-flex !important; align-items: center; font-weight: 800 !important; }
.df-chips { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 12px; }
.df-chips:empty { display: none; }
.df-chips-label { font-size: 13px; font-weight: 800; color: #475467; }
.df-chip { display: inline-flex; align-items: center; gap: 6px; padding: 5px 6px 5px 12px; border-radius: 10px; background: #F3F5F9; font-size: 13.5px; font-weight: 700; color: #101828; }
.df-chip-n { color: #475467; }
.df-chip button { width: 24px; height: 24px; border-radius: 7px; border: 0; background: #E4E7EC; font-weight: 800; color: #344054; line-height: 1; }
.df-chips-clear { border: 0; background: transparent; font-size: 13.5px; font-weight: 800; color: #184F9F; padding: 4px 6px; }
#filterCollapse > form { background: #F8F9FB !important; border: 1px solid #E4E7EC; border-radius: 18px; padding: 12px 10px !important; margin-top: 12px; }
@media (min-width: 992px) { #filterCollapse .section-wrapper.col-lg-3 { flex: 0 0 33.333% !important; max-width: 33.333% !important; } }
#filterCollapse .form-text, #filterCollapse small, #filterCollapse .text-muted { font-size: 12px !important; font-weight: 600 !important; color: #667085 !important; }
.df-fpanel-foot { display: flex; justify-content: flex-end; gap: 8px; padding: 6px 8px 2px; }
.df-btn { height: 40px; padding: 0 14px; border-radius: 12px; border: 1px solid #E4E7EC; background: #FFFFFF; font-weight: 800; font-size: 14px; color: #344054; font-family: inherit; }
.df-btn.is-primary { background: #184F9F; border-color: #184F9F; color: #FFFFFF; }
.fc .fc-header-toolbar { display: flex !important; align-items: center; gap: 10px; flex-wrap: wrap; }
.fc .fc-header-toolbar > .fc-toolbar-chunk:first-child { display: flex; align-items: center; gap: 8px; }
.fc .fc-header-toolbar .fc-prev-button, .fc .fc-header-toolbar .fc-next-button { display: none !important; }
.df-nav { display: flex; gap: 8px; }
.df-nav-btn { height: 42px; min-width: 42px; padding: 0 12px; border-radius: 12px; border: 1px solid #E4E7EC; background: #FFFFFF; font-size: 18px; font-weight: 800; color: #344054; font-family: inherit; }
.df-nav-btn.df-nav-today { font-size: 14px; }
.df-nav-btn:hover { background: #F3F5F9; }
.fc .fc-toolbar-title { font-family: "Bricolage Grotesque", "Figtree", sans-serif !important; font-size: 24px !important; font-weight: 800 !important; letter-spacing: -0.4px; text-align: left; line-height: 1.15; }
.fc .fc-toolbar-title .df-cal-sub { display: block; font-family: "Figtree", sans-serif; font-size: 12.5px; font-weight: 700; color: #475467; letter-spacing: 0; }
@media (min-width: 768px) { .fc .fc-header-toolbar > .fc-toolbar-chunk:nth-child(2) { flex: 1; } }
@media (max-width: 767px) { .fc .fc-header-toolbar { justify-content: center; } .fc .fc-toolbar-title { font-size: 20px !important; text-align: center; } .df-cal-seg { overflow-x: auto; flex-wrap: nowrap; max-width: 100%; } }
.fc .fc-toolbar-title, .fc .fc-toolbar-title .df-cal-sub { text-transform: none !important; }
.dashboard-calendar-top-right .add-booking-btn, .dashboard-calendar-top-right .add-booking-btn span { white-space: nowrap !important; }


/* Mobilmenu: godkend/beskeder åbner som ark + VIP-adgang til alle køreskoler (2026-11-02) */
@media (max-width: 767px) {
  body.df-sheet-alp .topbar .navbar-nav { opacity: 1 !important; pointer-events: none; }
  body.df-sheet-alp .topbar .navbar-nav .dropdown-toggle { visibility: hidden !important; }
  body.df-sheet-alp .topbar .dropdown-menu.show { visibility: visible !important; pointer-events: auto; }
}
.df-mm-vipwrap { padding: 10px 14px 0; }
.df-mm-vip { width: 100%; min-height: 48px; display: flex; align-items: center; gap: 10px; padding: 0 14px; border: 1px solid #EBD38A; border-radius: 14px; background: #FFF8E6; color: #5C4300; font-family: Figtree, system-ui, sans-serif; font-size: 15px; font-weight: 700; }
.df-mm-vip span { flex: 1; text-align: left; }
.df-mm-vip em { font-style: normal; font-size: 11px; font-weight: 800; letter-spacing: .08em; padding: 3px 9px; border-radius: 999px; background: #B8860B; color: #FFFFFF; }

/* Profilmenu: VIP "Alle køreskoler" (2026-11-02) */
li.df-um-vip button { display: flex !important; align-items: center; gap: 12px; width: 100%; margin: 4px 0; padding: 10px 12px !important; border-radius: 12px !important; background: #FFF8E6 !important; border: 1px solid #EBD38A !important; color: #5C4300 !important; font-weight: 700; }
li.df-um-vip button:hover { background: #FFF1CC !important; }
li.df-um-vip .df-vip-lbl { flex: 1; text-align: left; }
li.df-um-vip .df-vip { font-style: normal; font-size: 11px; font-weight: 800; letter-spacing: .08em; padding: 3px 9px; border-radius: 999px; background: #B8860B; color: #FFFFFF; }

/* Gentaget brødkrumme skjules (2026-11-02) */
.mrdrive-breadcrumb.df-bc-hide { display: none !important; }

/* Kalendertop 2: faner, "Vis også" i filter, køretøjer med ikoner (2026-11-02) */
.df-cal-seg a.df-seg-off { display: none !important; }
.df-fmore { margin: 6px 0 12px; padding: 12px 0 0; border-top: 1px solid #EEF1F5; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.df-fmore-lab { width: 100%; font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: #5B6474; }
.df-fmore-link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 14px; border: 1px solid #E3E7EE; border-radius: 12px; background: #FFFFFF; color: #1B2333 !important; font-weight: 700; text-decoration: none !important; }
.df-fmore-link:hover { border-color: #24489C; color: #24489C !important; }
.df-fmore-link svg:last-child { width: 14px; height: 14px; opacity: .6; }
.vehicle-select { display: flex !important; flex-wrap: wrap; gap: 10px !important; align-items: center; }
.vehicle-select .df-vi-grp { width: 100%; font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: #5B6474; margin-top: 4px; }
.vehicle-select .df-vi-grp + .df-vi, .vehicle-select .df-vi-grp:first-child { margin-top: 0; }
.vehicle-item.df-vi { margin: 0 !important; padding: 0 !important; border: 1px solid #E3E7EE !important; border-radius: 12px !important; background: #FFFFFF !important; box-shadow: none !important; cursor: pointer; }
.vehicle-item.df-vi .vehicle-details { display: flex !important; align-items: center; gap: 10px; min-height: 44px; padding: 0 14px 0 6px !important; font-size: 14px; font-weight: 600; color: #1B2333; white-space: nowrap; }
.vehicle-item.df-vi .vehicle-image { display: none !important; }
.vehicle-item.df-vi .df-vi-ic { width: 32px; height: 32px; border-radius: 9px; display: inline-flex; align-items: center; justify-content: center; background: #EAF0FB; color: #24489C; flex: none; }
.vehicle-item.df-vi-mc .df-vi-ic { background: #FFF0DE; color: #A85A0C; }
.vehicle-item.df-vi .df-vi-tag { font-size: 12px; font-weight: 700; color: #4A5263; background: #F0F2F6; padding: 3px 7px; border-radius: 6px; font-variant-numeric: tabular-nums; }
.vehicle-item.df-vi.active { border: 1.5px solid #24489C !important; background: #F3F6FD !important; }
.vehicle-item.df-vi.active .vehicle-details { font-weight: 700; }
.vehicle-item.df-vi.active .df-vi-ic { background: #24489C; color: #FFFFFF; }
.vehicle-item.df-vi.active .df-vi-tag { background: #DCE6FA; color: #24489C; }
.vehicle-item.df-vi-mc.active { border-color: #A85A0C !important; background: #FFF8F0 !important; }
.vehicle-item.df-vi-mc.active .df-vi-ic { background: #A85A0C; color: #FFFFFF; }
.vehicle-item.df-vi-mc.active .df-vi-tag { background: #FBE4C9; color: #A85A0C; }
@media (min-width: 576px) { .df-mm-vipwrap { display: none !important; } }

/* Godkend nye elever (godkendt design, 2026-11-02) */
.topbar .approval-dropdown:has(.df-ap-head) { width: 440px !important; max-width: calc(100vw - 24px) !important; padding: 0 !important; border: 0 !important; border-radius: 20px !important; box-shadow: 0 18px 48px rgba(20,30,60,.16) !important; background: #F5F7FA !important; overflow: hidden; }
.topbar .approval-dropdown .df-ap-head { display: flex !important; align-items: center; gap: 12px; padding: 16px 18px 8px !important; background: transparent !important; border: 0 !important; }
.topbar .approval-dropdown .df-ap-ic { width: 44px; height: 44px; border-radius: 14px; background: #FFF1DF; color: #B45F06; display: inline-flex; align-items: center; justify-content: center; flex: none; }
.topbar .approval-dropdown .df-ap-ht { flex: 1; min-width: 0; }
.topbar .approval-dropdown .df-ap-ht h5 { margin: 0 !important; font-size: 19px !important; font-weight: 800 !important; color: #1B2333 !important; }
.topbar .approval-dropdown .df-ap-ht small { display: block; font-size: 13px; font-weight: 600; color: #5B6474; }
.topbar .approval-dropdown .df-ap-intro { margin: 0 !important; padding: 0 18px 10px; font-size: 13px; font-weight: 500; line-height: 1.4; color: #4A5263; }
.topbar .approval-dropdown .df-ap-list { list-style: none; margin: 0 !important; padding: 0 12px 14px !important; display: flex; flex-direction: column; gap: 8px; max-height: min(60vh, 520px); overflow-y: auto; }
.topbar .approval-dropdown .df-ap-card { display: flex !important; flex-direction: column; gap: 12px; padding: 14px !important; margin: 0 !important; background: #FFFFFF !important; border: 1px solid #ECEFF4 !important; border-radius: 16px !important; }
.topbar .approval-dropdown .df-ap-top { display: flex; align-items: center; gap: 12px; }
.topbar .approval-dropdown .df-ap-av { width: 44px; height: 44px; border-radius: 22px; display: inline-flex; align-items: center; justify-content: center; font-size: 15px; font-weight: 800; text-decoration: none !important; flex: none; }
.topbar .approval-dropdown .df-ap-txt { min-width: 0; flex: 1; }
.topbar .approval-dropdown .df-ap-nm { display: inline-flex; align-items: center; gap: 4px; max-width: 100%; font-size: 16px; font-weight: 800; color: #1B2333 !important; text-decoration: none !important; }
.topbar .approval-dropdown .df-ap-nm svg { color: #24489C; flex: none; }
.topbar .approval-dropdown .df-ap-nm:hover { color: #24489C !important; }
.topbar .approval-dropdown .df-ap-mt { font-size: 13px; font-weight: 600; color: #5B6474; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.topbar .approval-dropdown .df-ap-new { font-size: 11px; font-weight: 800; color: #0B6B47; background: #DDF5EA; padding: 2px 7px; border-radius: 999px; }
.topbar .approval-dropdown .df-ap-acts { display: grid !important; grid-template-columns: 1fr 1.6fr; gap: 8px; margin: 0 !important; }
.topbar .approval-dropdown .df-ap-acts button { width: 100%; min-height: 46px; margin: 0 !important; border-radius: 13px !important; font-size: 15px !important; font-weight: 800 !important; box-shadow: none !important; }
.topbar .approval-dropdown .df-ap-no { background: #FFFFFF !important; border: 1px solid #E3E7EE !important; color: #B42332 !important; }
.topbar .approval-dropdown .df-ap-no:hover { background: #FFF5F6 !important; border-color: #F3C7CC !important; }
.topbar .approval-dropdown .df-ap-yes { background: #24489C !important; border: 0 !important; color: #FFFFFF !important; }
.topbar .approval-dropdown .df-ap-yes:hover { background: #1A3577 !important; }
.topbar .approval-dropdown .df-ap-empty { background: transparent !important; border: 0 !important; }
@media (max-width: 767px) {
  .approval-dropdown:has(.df-ap-head) { width: auto !important; max-width: none !important; border-radius: 24px 24px 0 0 !important; }
  .approval-dropdown .df-ap-list { max-height: 62vh; }
}.topbar .approval-dropdown .df-ap-acts > button { width: 100% !important; max-width: none !important; padding: 0 12px !important; }
.topbar .approval-dropdown .df-ap-av { font-weight: 800 !important; font-size: 15px !important; }
.topbar .approval-dropdown .df-ap-nm { font-weight: 800 !important; font-size: 16px !important; }
.topbar .approval-dropdown .df-ap-head { background: #F5F7FA !important; }

/* Kalender løft: friske farver, navn + type, faner (2026-11-02) */
.fc .df-hide-view { display: none !important; }
.fc .fc-event.practical-lesson:not(.fc-daygrid-dot-event) { background-color: #E8F0FF !important; border: 1px solid #BFD3FB !important; }
.fc .fc-event.practical-lesson:not(.fc-daygrid-dot-event), .fc .fc-event.practical-lesson .fc-event-main, .fc .fc-event.practical-lesson .fc-event-time, .fc .fc-event.practical-lesson .fc-event-title { color: #1D3F8F !important; }
.fc .fc-daygrid-dot-event.practical-lesson .fc-daygrid-event-dot { border-color: #1D3F8F !important; }
.fc .fc-event.practical-open-booking:not(.fc-daygrid-dot-event) { background-color: #E0F6F8 !important; border: 1px solid #A9E1E8 !important; }
.fc .fc-event.practical-open-booking:not(.fc-daygrid-dot-event), .fc .fc-event.practical-open-booking .fc-event-main, .fc .fc-event.practical-open-booking .fc-event-time, .fc .fc-event.practical-open-booking .fc-event-title { color: #0B5F6B !important; }
.fc .fc-daygrid-dot-event.practical-open-booking .fc-daygrid-event-dot { border-color: #0B5F6B !important; }
.fc .fc-event.theory-booking:not(.fc-daygrid-dot-event) { background-color: #EEEBFF !important; border: 1px solid #D3CCFB !important; }
.fc .fc-event.theory-booking:not(.fc-daygrid-dot-event), .fc .fc-event.theory-booking .fc-event-main, .fc .fc-event.theory-booking .fc-event-time, .fc .fc-event.theory-booking .fc-event-title { color: #4A3AA8 !important; }
.fc .fc-daygrid-dot-event.theory-booking .fc-daygrid-event-dot { border-color: #4A3AA8 !important; }
.fc .fc-event.first-aid-course:not(.fc-daygrid-dot-event) { background-color: #FDE8EA !important; border: 1px solid #F6C2C7 !important; }
.fc .fc-event.first-aid-course:not(.fc-daygrid-dot-event), .fc .fc-event.first-aid-course .fc-event-main, .fc .fc-event.first-aid-course .fc-event-time, .fc .fc-event.first-aid-course .fc-event-title { color: #9B1C2B !important; }
.fc .fc-daygrid-dot-event.first-aid-course .fc-daygrid-event-dot { border-color: #9B1C2B !important; }
.fc .fc-event.first-aid-team-event:not(.fc-daygrid-dot-event) { background-color: #FDE8EA !important; border: 1px solid #F6C2C7 !important; }
.fc .fc-event.first-aid-team-event:not(.fc-daygrid-dot-event), .fc .fc-event.first-aid-team-event .fc-event-main, .fc .fc-event.first-aid-team-event .fc-event-time, .fc .fc-event.first-aid-team-event .fc-event-title { color: #9B1C2B !important; }
.fc .fc-daygrid-dot-event.first-aid-team-event .fc-daygrid-event-dot { border-color: #9B1C2B !important; }
.fc .fc-event.manoeuver-track:not(.fc-daygrid-dot-event) { background-color: #E3F6EC !important; border: 1px solid #B5E3C9 !important; }
.fc .fc-event.manoeuver-track:not(.fc-daygrid-dot-event), .fc .fc-event.manoeuver-track .fc-event-main, .fc .fc-event.manoeuver-track .fc-event-time, .fc .fc-event.manoeuver-track .fc-event-title { color: #17603D !important; }
.fc .fc-daygrid-dot-event.manoeuver-track .fc-daygrid-event-dot { border-color: #17603D !important; }
.fc .fc-event.slippery-track:not(.fc-daygrid-dot-event) { background-color: #F3ECE2 !important; border: 1px solid #DCC9AE !important; }
.fc .fc-event.slippery-track:not(.fc-daygrid-dot-event), .fc .fc-event.slippery-track .fc-event-main, .fc .fc-event.slippery-track .fc-event-time, .fc .fc-event.slippery-track .fc-event-title { color: #6B4413 !important; }
.fc .fc-daygrid-dot-event.slippery-track .fc-daygrid-event-dot { border-color: #6B4413 !important; }
.fc .fc-event.theory-test:not(.fc-daygrid-dot-event) { background-color: #FFF6D9 !important; border: 1px solid #F2DE96 !important; }
.fc .fc-event.theory-test:not(.fc-daygrid-dot-event), .fc .fc-event.theory-test .fc-event-main, .fc .fc-event.theory-test .fc-event-time, .fc .fc-event.theory-test .fc-event-title { color: #7A5A00 !important; }
.fc .fc-daygrid-dot-event.theory-test .fc-daygrid-event-dot { border-color: #7A5A00 !important; }
.fc .fc-event.practical-test:not(.fc-daygrid-dot-event) { background-color: #FCE7F3 !important; border: 1px solid #F5BEDD !important; }
.fc .fc-event.practical-test:not(.fc-daygrid-dot-event), .fc .fc-event.practical-test .fc-event-main, .fc .fc-event.practical-test .fc-event-time, .fc .fc-event.practical-test .fc-event-title { color: #9A2768 !important; }
.fc .fc-daygrid-dot-event.practical-test .fc-daygrid-event-dot { border-color: #9A2768 !important; }
.fc .fc-event.pre-booking:not(.fc-daygrid-dot-event) { background-color: #EEF1E0 !important; border: 1px solid #D2D9AE !important; }
.fc .fc-event.pre-booking:not(.fc-daygrid-dot-event), .fc .fc-event.pre-booking .fc-event-main, .fc .fc-event.pre-booking .fc-event-time, .fc .fc-event.pre-booking .fc-event-title { color: #4B5715 !important; }
.fc .fc-daygrid-dot-event.pre-booking .fc-daygrid-event-dot { border-color: #4B5715 !important; }
.fc .fc-event.request:not(.fc-daygrid-dot-event) { background-color: #FFEEDF !important; border: 1px solid #F7CDA6 !important; }
.fc .fc-event.request:not(.fc-daygrid-dot-event), .fc .fc-event.request .fc-event-main, .fc .fc-event.request .fc-event-time, .fc .fc-event.request .fc-event-title { color: #8A4307 !important; }
.fc .fc-daygrid-dot-event.request .fc-daygrid-event-dot { border-color: #8A4307 !important; }
.fc .fc-event.request-calendar:not(.fc-daygrid-dot-event) { background-color: #FFEEDF !important; border: 1px solid #F7CDA6 !important; }
.fc .fc-event.request-calendar:not(.fc-daygrid-dot-event), .fc .fc-event.request-calendar .fc-event-main, .fc .fc-event.request-calendar .fc-event-time, .fc .fc-event.request-calendar .fc-event-title { color: #8A4307 !important; }
.fc .fc-daygrid-dot-event.request-calendar .fc-daygrid-event-dot { border-color: #8A4307 !important; }
.fc .fc-event.private:not(.fc-daygrid-dot-event) { background-color: #F1F2F5 !important; border: 1px solid #DCDFE6 !important; }
.fc .fc-event.private:not(.fc-daygrid-dot-event), .fc .fc-event.private .fc-event-main, .fc .fc-event.private .fc-event-time, .fc .fc-event.private .fc-event-title { color: #3F4654 !important; }
.fc .fc-daygrid-dot-event.private .fc-daygrid-event-dot { border-color: #3F4654 !important; }
.fc .fc-event.closed:not(.fc-daygrid-dot-event) { background-image: repeating-linear-gradient(135deg, rgba(255,255,255,.62) 0 6px, transparent 6px 12px) !important; }
.fc .fc-event:not(.closed):not(.fc-daygrid-dot-event) { background-image: none !important; }
.fc .fc-timegrid-event { border-radius: 10px !important; box-shadow: 0 1px 2px rgba(20,30,60,.06) !important; }
.fc .fc-timegrid-event .fc-event-main { padding: 4px 7px !important; }
.fc .fc-event .fc-event-main > .fc-event-main { display: flex !important; flex-direction: column !important; gap: 1px; min-width: 0; }
.fc .fc-event .fc-event-time { font-size: 11.5px !important; font-weight: 700 !important; opacity: .8; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-transform: none !important; }
.fc .fc-event .fc-event-title { text-transform: none !important; word-break: normal !important; overflow-wrap: normal !important; hyphens: none; min-width: 0; overflow: hidden; }
.fc .fc-event .df-ev-main { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; font-size: 13px; font-weight: 800; line-height: 1.25; }
.fc .fc-event .df-ev-sub { display: block; font-size: 11.5px; font-weight: 600; opacity: .8; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fc .fc-daygrid-event .df-ev-main, .fc .fc-daygrid-event .df-ev-sub { display: inline; -webkit-line-clamp: unset; }
.fc .fc-daygrid-event .df-ev-sub::before { content: ' · '; }.fc .fc-button-group:has(.fc-timeGridWeek-button) { display: inline-flex !important; }
.fc .fc-button-group:has(.fc-timeGridWeek-button) > * { order: 4; }
.fc .fc-button-group:has(.fc-timeGridWeek-button) > .df-today-btn { order: 0; }
.fc .fc-button-group:has(.fc-timeGridWeek-button) > .fc-timeGridDay-button { order: 1; }
.fc .fc-button-group:has(.fc-timeGridWeek-button) > .fc-timeGridWeek-button { order: 2; }
.fc .fc-button-group:has(.fc-timeGridWeek-button) > .fc-dayGridMonth-button { order: 3; }
/* Nye elever: rettelser efter test på rigtige data (2026-11-02) */
.topbar .approval-dropdown ul.df-ap-list > li.df-ap-card { display: flex !important; flex-direction: column !important; align-items: stretch !important; justify-content: flex-start !important; text-align: left !important; width: auto !important; height: auto !important; }
.topbar .approval-dropdown li.df-ap-card .df-ap-top { justify-content: flex-start !important; width: 100% !important; text-align: left !important; }
.topbar .approval-dropdown li.df-ap-card .df-ap-acts { display: grid !important; grid-template-columns: 1fr 1.6fr !important; width: 100% !important; }
.topbar .approval-dropdown p.df-ap-intro { white-space: normal !important; overflow: visible !important; text-overflow: clip !important; height: auto !important; max-height: none !important; display: block !important; -webkit-line-clamp: unset !important; }
/* Køretøjer/Filtrer-knap: bredde efter indhold, pilen inde i knappen (2026-11-02) */
#vehicleFilterButton, #bookingFilterButton { width: auto !important; min-width: 120px; padding-left: 14px !important; padding-right: 14px !important; white-space: nowrap; }
#vehicleFilterButton::after, #bookingFilterButton::after { margin-left: 10px !important; flex: none; }
/* Kalender: tomme dage smallere + smalle kort (2026-11-02) */
.fc .fc-timeGridWeek-view .df-day-empty { width: 6.5% !important; }
.fc .fc-timeGridWeek-view th.df-day-empty .fc-col-header-cell-cushion { font-size: 11px !important; white-space: normal; line-height: 1.15; padding: 4px 2px !important; }
.fc .fc-timegrid-event.df-ev-narrow .fc-event-main { padding: 3px 4px !important; }
.fc .fc-timegrid-event.df-ev-narrow .df-ev-sub { display: none !important; }
.fc .fc-timegrid-event.df-ev-narrow .fc-event-time { font-size: 10.5px !important; }
.fc .fc-timegrid-event.df-ev-narrow .df-ev-main { font-size: 11.5px !important; -webkit-line-clamp: 4; word-break: break-word; }
.fc .fc-timegrid-event.df-ev-narrow::before, .fc .fc-timegrid-event.df-ev-narrow::after, .fc .fc-timegrid-event.df-ev-narrow .fc-event-main::before, .fc .fc-timegrid-event.df-ev-narrow .fc-event-main::after, .fc .fc-timegrid-event.df-ev-narrow .fc-event-main > .fc-event-main::after { display: none !important; }
.fc .fc-timegrid-event.df-ev-tiny .fc-event-time { display: none !important; }
.fc .fc-timegrid-event.df-ev-tiny .df-ev-main { font-size: 11px !important; -webkit-line-clamp: 6; }
.fc .fc-timegrid-event.df-ev-short .fc-event-main > .fc-event-main { flex-direction: row !important; align-items: center; gap: 5px; }
.fc .fc-timegrid-event.df-ev-short .fc-event-main { padding-top: 1px !important; padding-bottom: 1px !important; }
.fc .fc-timegrid-event.df-ev-short .df-ev-sub { display: none !important; }
.fc .fc-timegrid-event.df-ev-short .df-ev-main { -webkit-line-clamp: 1; font-size: 12px !important; }
.fc .fc-timegrid-event.df-ev-short .fc-event-time { font-size: 11px !important; flex: none; }
.fc .fc-timegrid-event.df-ev-short .fc-event-time::after { content: ''; }
/* Kalender: én rullebjælke – hele dagen i siden, starter kl. 06 (tidligere kun hvis der er bookinger), datolinje klæber øverst (2026-11-02) */
.fc .fc-timegrid .fc-scrollgrid-section-body > td > .fc-scroller-harness > .fc-scroller { max-height: none !important; overflow: visible !important; }
.fc .fc-timegrid .fc-scroller { overflow-x: hidden !important; }
.fc .fc-timegrid .fc-scrollgrid-section-body .fc-scroller { overflow: visible !important; }
.fc .fc-scrollgrid { overflow: clip !important; }
.fc .fc-timegrid .fc-scrollgrid-section-header > th, .fc .fc-timegrid .fc-scrollgrid-section-header > td { position: sticky !important; top: 0; z-index: 5; background: #FFFFFF; }
.fc.df-from6 .fc-timegrid-slots tr:has(td[data-time^="00:"]),
.fc.df-from6 .fc-timegrid-slots tr:has(td[data-time^="01:"]),
.fc.df-from6 .fc-timegrid-slots tr:has(td[data-time^="02:"]),
.fc.df-from6 .fc-timegrid-slots tr:has(td[data-time^="03:"]),
.fc.df-from6 .fc-timegrid-slots tr:has(td[data-time^="04:"]),
.fc.df-from6 .fc-timegrid-slots tr:has(td[data-time^="05:"]) { display: none !important; }
/* Køreskoleoversigt (superadmin): små kort, 4 pr. række (2026-11-02) */
.df-schools-grid:has(.df-sc) { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 14px !important; }
@media (max-width: 1280px) { .df-schools-grid:has(.df-sc) { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }
@media (max-width: 900px) { .df-schools-grid:has(.df-sc) { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 575px) { .df-schools-grid:has(.df-sc) { grid-template-columns: 1fr !important; } }
.df-school:has(.df-sc) { padding: 14px !important; border: 1px solid #ECEFF4 !important; border-radius: 16px !important; box-shadow: none !important; display: flex !important; flex-direction: column; gap: 12px; min-height: 0 !important; overflow: visible !important; }
.df-school:has(.df-sc):hover { border-color: #DCE4F5 !important; box-shadow: 0 6px 18px rgba(20,30,60,.07) !important; }
.df-school .df-sc { padding: 0 !important; display: block; }
.df-school .df-sc .df-school-top { display: flex; align-items: center; gap: 12px; margin: 0 !important; }
.df-school .df-sc .df-school-avatar { width: 42px !important; height: 42px !important; border-radius: 12px !important; font-size: 15px !important; flex: none; }
.df-school .df-sc .df-school-name { display: block; font-size: 15.5px !important; font-weight: 800 !important; line-height: 1.25; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: #1B2333 !important; }
.df-sc-stats { display: flex; gap: 10px; font-size: 13px; font-weight: 600; color: #5B6474; margin-top: 2px; }
.df-sc-stats b { color: #1B2333; font-weight: 800; }
.df-school .df-sc-actions { display: flex !important; gap: 8px; padding: 0 !important; margin: 0 !important; border: 0 !important; }
.df-school .df-sc-actions form { flex: 1; margin: 0; }
.df-school .df-sc-actions form button { width: 100%; height: 40px; min-height: 40px !important; border: 1px solid #DCE4F5 !important; border-radius: 11px !important; background: #F3F6FD !important; color: #24489C !important; font-size: 14px !important; font-weight: 800 !important; display: flex; align-items: center; justify-content: center; gap: 4px; box-shadow: none !important; }
.df-school .df-sc-actions form button:hover { background: #E8EEFB !important; }
.df-sc-more { width: 40px; height: 40px; border: 1px solid #E3E7EE; border-radius: 11px; background: #FFFFFF; color: #4A5263; display: flex; align-items: center; justify-content: center; }
.df-sc-menu { min-width: 240px; padding: 6px !important; border-radius: 14px !important; border: 1px solid #ECEFF4 !important; box-shadow: 0 12px 28px rgba(20,30,60,.12) !important; }
.df-sc-menu .dropdown-item { display: flex; align-items: center; gap: 10px; min-height: 40px; border-radius: 10px; font-weight: 700; }
.df-sc-info { margin-top: 4px; padding: 8px 12px 6px; border-top: 1px solid #EEF1F5; font-size: 12.5px; font-weight: 600; color: #5B6474; line-height: 1.55; }
.df-sc-info b { color: #1B2333; }
/* Dagsoverblik: læsbar tekst på de nye lyse farver (2026-11-02) */
.df-td-next, .df-td-next * { color: var(--df-ink, #1B2333) !important; text-shadow: none !important; }
.df-td-next [class*="av"], .df-td-next [class*="time"], .df-td-next [class*="pill"] { background: rgba(255,255,255,.7) !important; }
.df-td-next button, .df-td-next a { color: #1B2333 !important; }
.df-td-row [class*="dot"] { background: var(--df-ink, #8A93A3) !important; }
/* Månedsvisning: samme lyse farver + mørk tekst (2026-11-02) */
body .fc .fc-daygrid-event.practical-lesson:not(.fc-daygrid-dot-event), body .fc .fc-timegrid-event.practical-lesson { background-color: #E8F0FF !important; border-color: #BFD3FB !important; color: #1D3F8F !important; }
body .fc .fc-daygrid-event.practical-lesson:not(.fc-daygrid-dot-event) *, body .fc .fc-timegrid-event.practical-lesson .fc-event-main { background-color: transparent !important; color: #1D3F8F !important; }
body .fc .fc-daygrid-event.practical-open-booking:not(.fc-daygrid-dot-event), body .fc .fc-timegrid-event.practical-open-booking { background-color: #E0F6F8 !important; border-color: #A9E1E8 !important; color: #0B5F6B !important; }
body .fc .fc-daygrid-event.practical-open-booking:not(.fc-daygrid-dot-event) *, body .fc .fc-timegrid-event.practical-open-booking .fc-event-main { background-color: transparent !important; color: #0B5F6B !important; }
body .fc .fc-daygrid-event.theory-booking:not(.fc-daygrid-dot-event), body .fc .fc-timegrid-event.theory-booking { background-color: #EEEBFF !important; border-color: #D3CCFB !important; color: #4A3AA8 !important; }
body .fc .fc-daygrid-event.theory-booking:not(.fc-daygrid-dot-event) *, body .fc .fc-timegrid-event.theory-booking .fc-event-main { background-color: transparent !important; color: #4A3AA8 !important; }
body .fc .fc-daygrid-event.first-aid-course:not(.fc-daygrid-dot-event), body .fc .fc-timegrid-event.first-aid-course { background-color: #FDE8EA !important; border-color: #F6C2C7 !important; color: #9B1C2B !important; }
body .fc .fc-daygrid-event.first-aid-course:not(.fc-daygrid-dot-event) *, body .fc .fc-timegrid-event.first-aid-course .fc-event-main { background-color: transparent !important; color: #9B1C2B !important; }
body .fc .fc-daygrid-event.first-aid-team-event:not(.fc-daygrid-dot-event), body .fc .fc-timegrid-event.first-aid-team-event { background-color: #FDE8EA !important; border-color: #F6C2C7 !important; color: #9B1C2B !important; }
body .fc .fc-daygrid-event.first-aid-team-event:not(.fc-daygrid-dot-event) *, body .fc .fc-timegrid-event.first-aid-team-event .fc-event-main { background-color: transparent !important; color: #9B1C2B !important; }
body .fc .fc-daygrid-event.manoeuver-track:not(.fc-daygrid-dot-event), body .fc .fc-timegrid-event.manoeuver-track { background-color: #E3F6EC !important; border-color: #B5E3C9 !important; color: #17603D !important; }
body .fc .fc-daygrid-event.manoeuver-track:not(.fc-daygrid-dot-event) *, body .fc .fc-timegrid-event.manoeuver-track .fc-event-main { background-color: transparent !important; color: #17603D !important; }
body .fc .fc-daygrid-event.slippery-track:not(.fc-daygrid-dot-event), body .fc .fc-timegrid-event.slippery-track { background-color: #F3ECE2 !important; border-color: #DCC9AE !important; color: #6B4413 !important; }
body .fc .fc-daygrid-event.slippery-track:not(.fc-daygrid-dot-event) *, body .fc .fc-timegrid-event.slippery-track .fc-event-main { background-color: transparent !important; color: #6B4413 !important; }
body .fc .fc-daygrid-event.theory-test:not(.fc-daygrid-dot-event), body .fc .fc-timegrid-event.theory-test { background-color: #FFF6D9 !important; border-color: #F2DE96 !important; color: #7A5A00 !important; }
body .fc .fc-daygrid-event.theory-test:not(.fc-daygrid-dot-event) *, body .fc .fc-timegrid-event.theory-test .fc-event-main { background-color: transparent !important; color: #7A5A00 !important; }
body .fc .fc-daygrid-event.practical-test:not(.fc-daygrid-dot-event), body .fc .fc-timegrid-event.practical-test { background-color: #FCE7F3 !important; border-color: #F5BEDD !important; color: #9A2768 !important; }
body .fc .fc-daygrid-event.practical-test:not(.fc-daygrid-dot-event) *, body .fc .fc-timegrid-event.practical-test .fc-event-main { background-color: transparent !important; color: #9A2768 !important; }
body .fc .fc-daygrid-event.pre-booking:not(.fc-daygrid-dot-event), body .fc .fc-timegrid-event.pre-booking { background-color: #EEF1E0 !important; border-color: #D2D9AE !important; color: #4B5715 !important; }
body .fc .fc-daygrid-event.pre-booking:not(.fc-daygrid-dot-event) *, body .fc .fc-timegrid-event.pre-booking .fc-event-main { background-color: transparent !important; color: #4B5715 !important; }
body .fc .fc-daygrid-event.request:not(.fc-daygrid-dot-event), body .fc .fc-timegrid-event.request { background-color: #FFEEDF !important; border-color: #F7CDA6 !important; color: #8A4307 !important; }
body .fc .fc-daygrid-event.request:not(.fc-daygrid-dot-event) *, body .fc .fc-timegrid-event.request .fc-event-main { background-color: transparent !important; color: #8A4307 !important; }
body .fc .fc-daygrid-event.request-calendar:not(.fc-daygrid-dot-event), body .fc .fc-timegrid-event.request-calendar { background-color: #FFEEDF !important; border-color: #F7CDA6 !important; color: #8A4307 !important; }
body .fc .fc-daygrid-event.request-calendar:not(.fc-daygrid-dot-event) *, body .fc .fc-timegrid-event.request-calendar .fc-event-main { background-color: transparent !important; color: #8A4307 !important; }
body .fc .fc-daygrid-event.private:not(.fc-daygrid-dot-event), body .fc .fc-timegrid-event.private { background-color: #F1F2F5 !important; border-color: #DCDFE6 !important; color: #3F4654 !important; }
body .fc .fc-daygrid-event.private:not(.fc-daygrid-dot-event) *, body .fc .fc-timegrid-event.private .fc-event-main { background-color: transparent !important; color: #3F4654 !important; }
body .fc .fc-daygrid-event.closed:not(.fc-daygrid-dot-event) { background-image: repeating-linear-gradient(135deg, rgba(255,255,255,.62) 0 6px, transparent 6px 12px) !important; }
body .fc .fc-daygrid-event:not(.fc-daygrid-dot-event) { border-radius: 8px !important; }
/* Månedsvisning: også "prik"-bookinger (vist som blokke) får lyse farver (2026-11-02) */
html body .fc .fc-daygrid-event.fc-daygrid-dot-event.practical-lesson { background: #E8F0FF !important; border: 1px solid #BFD3FB !important; color: #1D3F8F !important; }
html body .fc .fc-daygrid-event.fc-daygrid-dot-event.practical-lesson * { color: #1D3F8F !important; }
html body .fc .fc-daygrid-event.fc-daygrid-dot-event.practical-lesson .fc-daygrid-event-dot { border-color: #1D3F8F !important; }
html body .fc .fc-daygrid-event.fc-daygrid-dot-event.practical-open-booking { background: #E0F6F8 !important; border: 1px solid #A9E1E8 !important; color: #0B5F6B !important; }
html body .fc .fc-daygrid-event.fc-daygrid-dot-event.practical-open-booking * { color: #0B5F6B !important; }
html body .fc .fc-daygrid-event.fc-daygrid-dot-event.practical-open-booking .fc-daygrid-event-dot { border-color: #0B5F6B !important; }
html body .fc .fc-daygrid-event.fc-daygrid-dot-event.theory-booking { background: #EEEBFF !important; border: 1px solid #D3CCFB !important; color: #4A3AA8 !important; }
html body .fc .fc-daygrid-event.fc-daygrid-dot-event.theory-booking * { color: #4A3AA8 !important; }
html body .fc .fc-daygrid-event.fc-daygrid-dot-event.theory-booking .fc-daygrid-event-dot { border-color: #4A3AA8 !important; }
html body .fc .fc-daygrid-event.fc-daygrid-dot-event.first-aid-course { background: #FDE8EA !important; border: 1px solid #F6C2C7 !important; color: #9B1C2B !important; }
html body .fc .fc-daygrid-event.fc-daygrid-dot-event.first-aid-course * { color: #9B1C2B !important; }
html body .fc .fc-daygrid-event.fc-daygrid-dot-event.first-aid-course .fc-daygrid-event-dot { border-color: #9B1C2B !important; }
html body .fc .fc-daygrid-event.fc-daygrid-dot-event.first-aid-team-event { background: #FDE8EA !important; border: 1px solid #F6C2C7 !important; color: #9B1C2B !important; }
html body .fc .fc-daygrid-event.fc-daygrid-dot-event.first-aid-team-event * { color: #9B1C2B !important; }
html body .fc .fc-daygrid-event.fc-daygrid-dot-event.first-aid-team-event .fc-daygrid-event-dot { border-color: #9B1C2B !important; }
html body .fc .fc-daygrid-event.fc-daygrid-dot-event.manoeuver-track { background: #E3F6EC !important; border: 1px solid #B5E3C9 !important; color: #17603D !important; }
html body .fc .fc-daygrid-event.fc-daygrid-dot-event.manoeuver-track * { color: #17603D !important; }
html body .fc .fc-daygrid-event.fc-daygrid-dot-event.manoeuver-track .fc-daygrid-event-dot { border-color: #17603D !important; }
html body .fc .fc-daygrid-event.fc-daygrid-dot-event.slippery-track { background: #F3ECE2 !important; border: 1px solid #DCC9AE !important; color: #6B4413 !important; }
html body .fc .fc-daygrid-event.fc-daygrid-dot-event.slippery-track * { color: #6B4413 !important; }
html body .fc .fc-daygrid-event.fc-daygrid-dot-event.slippery-track .fc-daygrid-event-dot { border-color: #6B4413 !important; }
html body .fc .fc-daygrid-event.fc-daygrid-dot-event.theory-test { background: #FFF6D9 !important; border: 1px solid #F2DE96 !important; color: #7A5A00 !important; }
html body .fc .fc-daygrid-event.fc-daygrid-dot-event.theory-test * { color: #7A5A00 !important; }
html body .fc .fc-daygrid-event.fc-daygrid-dot-event.theory-test .fc-daygrid-event-dot { border-color: #7A5A00 !important; }
html body .fc .fc-daygrid-event.fc-daygrid-dot-event.practical-test { background: #FCE7F3 !important; border: 1px solid #F5BEDD !important; color: #9A2768 !important; }
html body .fc .fc-daygrid-event.fc-daygrid-dot-event.practical-test * { color: #9A2768 !important; }
html body .fc .fc-daygrid-event.fc-daygrid-dot-event.practical-test .fc-daygrid-event-dot { border-color: #9A2768 !important; }
html body .fc .fc-daygrid-event.fc-daygrid-dot-event.pre-booking { background: #EEF1E0 !important; border: 1px solid #D2D9AE !important; color: #4B5715 !important; }
html body .fc .fc-daygrid-event.fc-daygrid-dot-event.pre-booking * { color: #4B5715 !important; }
html body .fc .fc-daygrid-event.fc-daygrid-dot-event.pre-booking .fc-daygrid-event-dot { border-color: #4B5715 !important; }
html body .fc .fc-daygrid-event.fc-daygrid-dot-event.request { background: #FFEEDF !important; border: 1px solid #F7CDA6 !important; color: #8A4307 !important; }
html body .fc .fc-daygrid-event.fc-daygrid-dot-event.request * { color: #8A4307 !important; }
html body .fc .fc-daygrid-event.fc-daygrid-dot-event.request .fc-daygrid-event-dot { border-color: #8A4307 !important; }
html body .fc .fc-daygrid-event.fc-daygrid-dot-event.request-calendar { background: #FFEEDF !important; border: 1px solid #F7CDA6 !important; color: #8A4307 !important; }
html body .fc .fc-daygrid-event.fc-daygrid-dot-event.request-calendar * { color: #8A4307 !important; }
html body .fc .fc-daygrid-event.fc-daygrid-dot-event.request-calendar .fc-daygrid-event-dot { border-color: #8A4307 !important; }
html body .fc .fc-daygrid-event.fc-daygrid-dot-event.private { background: #F1F2F5 !important; border: 1px solid #DCDFE6 !important; color: #3F4654 !important; }
html body .fc .fc-daygrid-event.fc-daygrid-dot-event.private * { color: #3F4654 !important; }
html body .fc .fc-daygrid-event.fc-daygrid-dot-event.private .fc-daygrid-event-dot { border-color: #3F4654 !important; }
html body .fc .fc-daygrid-event.fc-daygrid-dot-event.closed { background-image: repeating-linear-gradient(135deg, rgba(255,255,255,.62) 0 6px, transparent 6px 12px) !important; }
/* Booking: modulvalg (2026-11-02) */
.df-mp-on > .position-relative, .df-mp-on > div:not(.df-mp) .select2-wrapper { display: none !important; }
.df-mp { font-family: Figtree, system-ui, sans-serif; color: #1B2333; }
.df-mp-card { border: 1.5px solid #24489C; border-radius: 16px; background: #FFFFFF; overflow: hidden; }
.df-mp-top { display: flex; align-items: center; gap: 8px; padding: 12px 14px 2px; flex-wrap: wrap; }
.df-mp-tag { font-size: 11px; font-weight: 800; letter-spacing: .06em; color: #FFFFFF; background: #24489C; padding: 3px 8px; border-radius: 999px; }
.df-mp-tag.is-sel { background: #1B2333; }
.df-mp-hint { font-size: 12.5px; font-weight: 600; color: #5B6474; }
.df-mp-main { display: flex; align-items: center; gap: 12px; padding: 8px 14px 10px; }
.df-mp-ic { width: 36px; height: 36px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; flex: none; }
.df-mp-ic.t-korsel { background: #E8F0FF; color: #1D3F8F; } .df-mp-ic.t-teori { background: #EEEBFF; color: #4A3AA8; } .df-mp-ic.t-bane { background: #E3F6EC; color: #17603D; } .df-mp-ic.t-glat { background: #F3ECE2; color: #6B4413; }
.df-mp-txt { flex: 1; min-width: 0; display: flex; flex-direction: column; text-align: left; }
.df-mp-txt b { font-size: 15.5px; font-weight: 800; line-height: 1.25; }
.df-mp-txt small { font-size: 12.5px; font-weight: 600; color: #5B6474; }
.df-mp-ok { color: #24489C; flex: none; }
.df-mp-prog { display: flex; align-items: center; gap: 10px; padding: 0 14px 12px; font-size: 12px; font-weight: 700; color: #5B6474; flex-wrap: wrap; }
.df-mp-dots { display: inline-flex; gap: 3px; flex-wrap: wrap; }
.df-mp-dots i { width: 8px; height: 8px; border-radius: 4px; background: #DCE0E7; display: block; }
.df-mp-dots i.is-done { background: #22A06B; } .df-mp-dots i.is-cur { background: #24489C; box-shadow: 0 0 0 2px #DCE6FA; }
.df-mp-other { width: 100%; height: 46px; border: 0; border-top: 1px solid #EEF1F5; background: transparent; color: #24489C; font-size: 14px; font-weight: 800; }
.df-mp-other:hover { background: #F5F8FE; }
.df-mp-list { border: 1px solid #E3E7EE; border-radius: 16px; background: #F7F8FB; padding: 10px; }
.df-mp-lhead { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.df-mp-lhead b { display: block; font-size: 16px; font-weight: 800; } .df-mp-lhead small { font-size: 12.5px; font-weight: 600; color: #5B6474; }
.df-mp-back { width: 40px; height: 40px; border: 0; border-radius: 11px; background: #FFFFFF; color: #1B2333; display: flex; align-items: center; justify-content: center; }
.df-mp-search { display: flex; align-items: center; gap: 8px; height: 42px; padding: 0 12px; border: 1px solid #E3E7EE; border-radius: 11px; background: #FFFFFF; color: #8A93A3; margin: 0 0 6px; }
.df-mp-search input { border: 0; outline: 0; width: 100%; font: 600 14px Figtree, system-ui, sans-serif; background: transparent; }
.df-mp-rows { max-height: 420px; overflow-y: auto; padding-right: 2px; }
.df-mp-g { display: flex; align-items: center; gap: 10px; padding: 10px 4px 6px; }
.df-mp-g b { flex: 1; font-size: 13.5px; font-weight: 800; } .df-mp-g small { font-size: 12px; font-weight: 700; color: #5B6474; }
.df-mp-bar { width: 56px; height: 6px; border-radius: 3px; background: #E6EAF0; overflow: hidden; } .df-mp-bar i { display: block; height: 100%; background: #22A06B; }
.df-mp-row { width: 100%; display: flex; align-items: center; gap: 10px; min-height: 54px; padding: 6px 10px; margin-bottom: 6px; border: 1px solid #ECEFF4; border-radius: 12px; background: #FFFFFF; text-align: left; }
.df-mp-row:hover { border-color: #BFD3FB; }
.df-mp-row.is-done { background: #F6FBF8; border-color: #CFEBDC; }
.df-mp-row.is-cur { border: 1.5px solid #24489C; background: #F3F6FD; }
.df-mp-row .df-mp-txt b { font-size: 13.5px; }
.df-mp-st { flex: none; white-space: nowrap; font-size: 11.5px; font-weight: 800; padding: 3px 8px; border-radius: 999px; background: #FFFFFF; color: #5B6474; border: 1px dashed #C9D0DB; }
.df-mp-st.is-done { background: #DDF5EA; color: #0B6B47; border: 0; } .df-mp-st.is-next { background: #24489C; color: #FFFFFF; border: 0; } .df-mp-st.is-cur { background: #1B2333; color: #FFFFFF; border: 0; }
/* Bookingvindue på telefon: fuld bredde og centreret (2026-11-02) */
@media (max-width: 575px) {
  .main-modal .modal-dialog { width: auto !important; max-width: none !important; margin: 8px !important; }
  .main-modal .modal-dialog .modal-content { width: 100% !important; }
}
/* Måned på telefon: bookinger som farvestreger, tryk på dagen for detaljer (2026-11-02) */
@media (max-width: 575px) {
  html body .fc .fc-dayGridMonth-view .fc-daygrid-event { display: block !important; height: 6px !important; min-height: 0 !important; padding: 0 !important; margin: 2px 4px 0 !important; border: 0 !important; border-radius: 3px !important; font-size: 0 !important; line-height: 0 !important; background-image: none !important; box-shadow: none !important; overflow: hidden; }
  html body .fc .fc-dayGridMonth-view .fc-daygrid-event * { display: none !important; }
  html body .fc .fc-dayGridMonth-view .fc-daygrid-event.closed { opacity: .55; }
  .fc .fc-dayGridMonth-view .fc-daygrid-week-number { display: none !important; }
  .fc .fc-dayGridMonth-view .fc-daygrid-day-number { font-size: 13px !important; font-weight: 800 !important; padding: 4px 6px !important; }
  .fc .fc-dayGridMonth-view .fc-daygrid-day-frame { min-height: 58px !important; cursor: pointer; }
  .fc .fc-dayGridMonth-view .fc-daygrid-day-events { margin: 0 !important; min-height: 0 !important; }
  .fc .fc-dayGridMonth-view .fc-daygrid-event-harness { margin: 0 !important; }
  .fc .fc-dayGridMonth-view .fc-daygrid-more-link { font-size: 10px !important; font-weight: 800 !important; padding: 0 4px !important; color: #5B6474 !important; }
  .fc .fc-dayGridMonth-view .fc-col-header-cell-cushion { font-size: 11px !important; padding: 6px 0 !important; }
  html body .fc .fc-dayGridMonth-view .fc-daygrid-event.practical-lesson { background: #2F6BE6 !important; }
  html body .fc .fc-dayGridMonth-view .fc-daygrid-event.practical-open-booking { background: #12A3B5 !important; }
  html body .fc .fc-dayGridMonth-view .fc-daygrid-event.theory-booking { background: #6E5AE6 !important; }
  html body .fc .fc-dayGridMonth-view .fc-daygrid-event.first-aid-course { background: #E5484D !important; }
  html body .fc .fc-dayGridMonth-view .fc-daygrid-event.first-aid-team-event { background: #E5484D !important; }
  html body .fc .fc-dayGridMonth-view .fc-daygrid-event.manoeuver-track { background: #22A06B !important; }
  html body .fc .fc-dayGridMonth-view .fc-daygrid-event.slippery-track { background: #A0703A !important; }
  html body .fc .fc-dayGridMonth-view .fc-daygrid-event.theory-test { background: #D9A21B !important; }
  html body .fc .fc-dayGridMonth-view .fc-daygrid-event.practical-test { background: #D6409F !important; }
  html body .fc .fc-dayGridMonth-view .fc-daygrid-event.pre-booking { background: #8A9A3A !important; }
  html body .fc .fc-dayGridMonth-view .fc-daygrid-event.request { background: #E07A2E !important; }
  html body .fc .fc-dayGridMonth-view .fc-daygrid-event.request-calendar { background: #E07A2E !important; }
  html body .fc .fc-dayGridMonth-view .fc-daygrid-event.private { background: #8A93A3 !important; }
}@media (max-width: 575px) {
  .fc .fc-dayGridMonth-view .fc-scrollgrid-sync-table { height: auto !important; }
  .fc .fc-dayGridMonth-view td.fc-daygrid-day, .fc .fc-dayGridMonth-view .fc-daygrid-body tr { height: auto !important; }
  .fc .fc-dayGridMonth-view .fc-daygrid-day-frame { height: auto !important; min-height: 58px !important; }
}
.df-mp-st.is-booked { background: #F1F3F7; color: #1B2333; border: 0; }
.df-mp-st.is-held { background: #FFF1DF; color: #8A4B07; border: 0; }
.df-mp-dots i.is-booked { background: #BFE6D2; }
.df-mp-ic.t-extra { background: #F1F3F7; color: #4A5263; }
/* Booking: lærer+elev, køretøjer som brikker, resumé (2026-11-02) */
@media (min-width: 380px) { #add-booking .section-wrapper.df-half { flex: 0 0 50% !important; max-width: 50% !important; width: 50% !important; } }
.df-vc-on > .position-relative, .df-vc-on > div:not(.df-vc) .select2-wrapper { display: none !important; }
.df-vc { background: #FFFFFF; border: 1px solid #E3E7EE; border-radius: 14px; padding: 10px 12px; font-family: Figtree, system-ui, sans-serif; }
.df-vc-lab { font-size: 12.5px; font-weight: 700; color: #5B6474; margin-bottom: 8px; }
.df-vc-row { display: flex; flex-wrap: wrap; gap: 6px; }
.df-vc-chip { display: inline-flex; align-items: center; gap: 7px; min-height: 40px; padding: 0 12px 0 5px; border: 1px solid #E3E7EE; border-radius: 11px; background: #FFFFFF; color: #1B2333; font-size: 13.5px; font-weight: 700; white-space: nowrap; }
.df-vc-ic { width: 30px; height: 30px; border-radius: 8px; display: inline-flex; align-items: center; justify-content: center; background: #EAF0FB; color: #24489C; }
.df-vc-chip.is-mc .df-vc-ic { background: #FFF0DE; color: #A85A0C; }
.df-vc-tag { font-size: 11.5px; font-weight: 700; color: #4A5263; background: #F0F2F6; padding: 2px 6px; border-radius: 5px; }
.df-vc-chip.is-on { border: 1.5px solid #24489C; background: #F3F6FD; }
.df-vc-chip.is-on .df-vc-ic { background: #24489C; color: #FFFFFF; }
.df-vc-chip.is-mc.is-on { border-color: #A85A0C; background: #FFF8F0; } .df-vc-chip.is-mc.is-on .df-vc-ic { background: #A85A0C; color: #FFFFFF; }
.df-vc-more { min-height: 40px; padding: 0 12px; border: 1px dashed #C9D3E6; border-radius: 11px; background: #FFFFFF; color: #24489C; font-size: 13.5px; font-weight: 800; }
.df-sum-host { display: flex !important; align-items: center; gap: 12px; flex-wrap: wrap; }
.df-sum { flex: 1 1 160px; min-width: 0; display: flex; flex-direction: column; font-family: Figtree, system-ui, sans-serif; }
.df-sum b { font-size: 14px; font-weight: 800; color: #1B2333; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.df-sum small { font-size: 12.5px; font-weight: 600; color: #5B6474; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.df-sum-host .btn-group button[type="submit"] { border-radius: 14px !important; box-shadow: 0 8px 20px rgba(36,72,156,.28) !important; }
/* Elevkort: kompakte (2026-11-02) */
.student-card.df-stc { position: relative; padding: 14px !important; border: 1px solid #ECEFF4 !important; border-top: 1px solid #ECEFF4 !important; border-radius: 16px !important; box-shadow: none !important; background: #FFFFFF !important; display: flex; flex-direction: column; gap: 10px; min-height: 0 !important; height: auto !important; overflow: visible !important; }
.student-card.df-stc::before, .student-card.df-stc::after { display: none !important; }
.df-stc .student-card-header { display: flex !important; align-items: center; gap: 12px; padding: 0 !important; margin: 0 !important; border: 0 !important; }
.df-stc .student-card-img, .df-stc .student-card-img img { width: 42px !important; height: 42px !important; min-width: 42px; border-radius: 12px !important; }
.df-stc .student-card-details { min-width: 0; }
.df-stc .student-card-details h5 { margin: 0 !important; font-size: 15.5px !important; font-weight: 800 !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.df-stc .student-card-details h5 a { color: #1B2333 !important; text-decoration: none !important; }
.df-stc .student-card-details h6 { display: none !important; }
.df-stc .student-card-body { padding: 0 !important; margin: 0 !important; display: flex; flex-direction: column; gap: 4px; }
.df-stc .student-card-body-content { display: flex !important; align-items: center; gap: 8px; padding: 0 !important; margin: 0 !important; background: transparent !important; border: 0 !important; min-height: 0 !important; }
.df-stc .student-card-body-content h4 { flex: none; width: 92px; margin: 0 !important; font-size: 11.5px !important; font-weight: 800 !important; letter-spacing: .05em; text-transform: uppercase; color: #5B6474 !important; }
.df-stc .student-card-body-content ul { display: flex !important; gap: 4px; margin: 0 !important; padding: 0 !important; min-width: 0; overflow: hidden; flex-wrap: nowrap; }
.df-stc .student-card-body-content ul li { margin: 0 !important; min-width: 0; }
.df-stc .student-card-body-content ul li a { display: block; max-width: 170px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 13px !important; font-weight: 700 !important; padding: 2px 8px !important; border-radius: 7px !important; background: #F1F3F7 !important; color: #1B2333 !important; }
.df-stc .df-stc-t ul { display: none !important; }
.df-stc .df-stc-n { font-size: 13px; font-weight: 700; color: #1B2333; background: #F1F3F7; padding: 2px 8px; border-radius: 7px; }
.df-stc .student-card-footer { position: relative; padding: 0 !important; margin: 0 !important; border: 0 !important; }
.df-stc .df-stc-bar { display: flex; gap: 8px; }
.df-stc .df-stc-open { flex: 1; height: 40px; border: 1px solid #DCE4F5; border-radius: 11px; background: #F3F6FD; color: #24489C !important; font-size: 14px; font-weight: 800; display: flex; align-items: center; justify-content: center; gap: 4px; text-decoration: none !important; }
.df-stc .df-stc-open:hover { background: #E8EEFB; }
.df-stc .df-stc-more { width: 40px; height: 40px; border: 1px solid #E3E7EE; border-radius: 11px; background: #FFFFFF; color: #4A5263; display: flex; align-items: center; justify-content: center; }
.df-stc .df-stc-menu { display: none !important; }
.df-stc.df-menu-open { z-index: 30; }
.df-stc.df-menu-open .df-stc-menu { display: flex !important; flex-direction: column; gap: 2px !important; position: absolute; right: 0; top: 46px; z-index: 40; min-width: 230px; margin: 0 !important; padding: 6px !important; list-style: none; background: #FFFFFF; border: 1px solid #ECEFF4; border-radius: 14px; box-shadow: 0 12px 28px rgba(20,30,60,.14); }
.df-stc .df-stc-menu li { margin: 0 !important; }
.df-stc .df-stc-menu li form { margin: 0; }
.df-stc .df-stc-menu li > a, .df-stc .df-stc-menu li > button, .df-stc .df-stc-menu li form > button { width: 100% !important; height: 40px !important; display: flex !important; align-items: center; justify-content: flex-start !important; gap: 10px; padding: 0 10px !important; border: 0 !important; border-radius: 10px !important; background: transparent !important; color: #1B2333 !important; font-size: 14px; font-weight: 700; box-shadow: none !important; text-decoration: none !important; }
.df-stc .df-stc-menu li > a:hover, .df-stc .df-stc-menu li > button:hover, .df-stc .df-stc-menu li form > button:hover { background: #F3F6FD !important; }
.df-stc .df-stc-menu i { font-size: 16px; display: inline-flex; }.df-stc .student-card-body { flex: none !important; height: auto !important; min-height: 0 !important; }
.df-stc .student-card-footer { display: block !important; width: 100% !important; margin-top: auto !important; }
.df-stc .df-stc-bar { width: 100%; }
.df-stc .student-card-body-content h4 { width: 96px; white-space: nowrap; font-size: 10.5px !important; }
.student-card-row > div > .student-card.df-stc { height: 100% !important; }
/* Modulvalg v2: andre typer vises nedtonet; knapper i bunden (2026-11-02) */
.df-mp-row.is-other { opacity: .55; cursor: default; background: #FAFBFC; }
.df-mp-row.is-other:hover { border-color: #ECEFF4; }
.df-mp-dots i.df-gap { margin-left: 5px; }
.df-sum-host .btn-group { display: flex !important; flex-wrap: wrap; gap: 8px; width: 100%; }
.df-sum-host .btn-group > button { flex: 1 1 auto; margin: 0 !important; min-height: 46px; border-radius: 13px !important; font-weight: 800 !important; }
.df-sum-host .btn-group > button[type="submit"] { flex: 1 1 100%; min-height: 52px; background: #24489C !important; color: #FFFFFF !important; border: 0 !important; }
.df-sum-host .btn-group > button:not([type="submit"]) { flex: 1 1 40%; background: #FFFFFF !important; color: #24489C !important; border: 1px solid #DCE4F5 !important; box-shadow: none !important; }
.df-sum-host .btn-group > button:not([type="submit"]):last-child { color: #5B6474 !important; border-color: #E3E7EE !important; }
.df-sum { padding: 0 2px 2px; }.df-sum-host .btn-group { flex-direction: row !important; }
.df-sum-host .btn-group > button:not([type="submit"]) { flex: 1 1 calc(50% - 4px) !important; width: auto !important; }
/* Ny elev venter på godkendelse (2026-11-02) */
.df-ns { font-family: Figtree, system-ui, sans-serif; color: #1B2333; display: flex; flex-direction: column; gap: 16px; }
.df-ns-head { background: #FFFFFF; border: 1px solid #ECEFF4; border-radius: 20px; padding: 18px 20px; display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.df-ns-av { width: 60px; height: 60px; border-radius: 18px; background: #E8F0FF; color: #1D3F8F; display: flex; align-items: center; justify-content: center; font-size: 21px; font-weight: 800; flex: none; }
.df-ns-who { flex: 1 1 260px; min-width: 0; }
.df-ns-title { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.df-ns-title h2 { margin: 0 !important; font-size: 24px !important; font-weight: 800 !important; }
.df-ns-badge { font-size: 11.5px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: #8A4B07; background: #FFF1DF; padding: 4px 10px; border-radius: 999px; }
.df-ns-sub { font-size: 14px; font-weight: 600; color: #5B6474; margin-top: 4px; }
.df-ns-acts { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.df-ns-acts form { margin: 0; }
.df-ns-edit { height: 46px; padding: 0 14px; display: inline-flex; align-items: center; border-radius: 13px; font-weight: 800; color: #24489C !important; text-decoration: none !important; }
.df-ns-edit:hover { background: #F3F6FD; }
.df-ns-no { height: 46px; padding: 0 18px; border: 1px solid #E3E7EE; border-radius: 13px; background: #FFFFFF; color: #B42332; font-size: 15px; font-weight: 800; }
.df-ns-no:hover { background: #FFF5F6; border-color: #F3C7CC; }
.df-ns-yes { height: 46px; padding: 0 20px; border: 0; border-radius: 13px; background: #24489C; color: #FFFFFF; font-size: 15px; font-weight: 800; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 8px 20px rgba(36,72,156,.25); }
.df-ns-yes:hover { background: #1A3577; }
.df-ns-warn { display: flex; align-items: center; gap: 10px; padding: 12px 16px; border-radius: 14px; background: #FFF8EC; border: 1px solid #F3D9B5; font-size: 14px; font-weight: 600; color: #6B3B05; }
.df-ns-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.df-ns-col { display: flex; flex-direction: column; gap: 16px; }
.df-ns-card { background: #FFFFFF; border: 1px solid #ECEFF4; border-radius: 18px; padding: 16px 18px; }
.df-ns-card h3 { margin: 0 0 6px !important; font-size: 12px !important; font-weight: 800 !important; letter-spacing: .07em; text-transform: uppercase; color: #5B6474 !important; }
.df-ns-r { display: grid; grid-template-columns: 170px 1fr; gap: 12px; padding: 10px 0; border-top: 1px solid #F0F2F5; font-size: 14.5px; }
.df-ns-r:first-of-type { border-top: 0; }
.df-ns-r > span { font-weight: 600; color: #5B6474; }
.df-ns-r > b { font-weight: 700; color: #1B2333; word-break: break-word; }
.df-ns-r > em { font-style: normal; font-weight: 700; color: #8A4B07; }
.df-ns-dim { color: #5B6474 !important; }
.df-ns-chip { display: inline-flex; align-items: center; height: 26px; padding: 0 10px; margin: 0 6px 4px 0; border-radius: 999px; background: #F1F3F7; font-style: normal; font-size: 13px; font-weight: 700; }
@media (max-width: 767px) {
  .df-ns-grid { grid-template-columns: 1fr; }
  .df-ns-head { flex-direction: column; text-align: center; }
  .df-ns-title { justify-content: center; }
  .df-ns-acts { width: 100%; display: grid; grid-template-columns: 1fr 1.6fr; }
  .df-ns-edit { grid-column: 1 / -1; justify-content: center; }
  .df-ns-acts button { width: 100%; justify-content: center; }
  .df-ns-r { grid-template-columns: 1fr auto; text-align: right; }
  .df-ns-r > span { text-align: left; }
}
/* === Mobil kalendertop (2026-11-02) === */
@media (max-width:575.98px){
.dashboard-calendar-top>.d-flex{flex-direction:column!important;align-items:stretch!important;gap:10px!important}
.dashboard-calendar-top-left.df-has-seg{display:flex!important;flex-wrap:nowrap!important;align-items:center!important;gap:8px!important;width:100%!important;margin:0!important}
.dashboard-calendar-top-left.df-has-seg .df-cal-seg{flex:1 1 auto!important;min-width:0!important;width:auto!important;display:flex!important;gap:3px!important;padding:3px!important;background:#F1F3F7!important;border-radius:12px!important;margin:0!important}
.dashboard-calendar-top-left.df-has-seg .df-cal-seg a:not(.df-seg-off){flex:1 1 0!important;height:38px!important;display:flex!important;align-items:center!important;justify-content:center!important;border-radius:9px!important;font-size:13.5px!important;padding:0 6px!important;white-space:nowrap!important}
.dashboard-calendar-top-left.df-has-seg .df-cal-seg a[href$="/booking/requests"]{font-size:0!important}
.dashboard-calendar-top-left.df-has-seg .df-cal-seg a[href$="/booking/requests"]::after{content:"Anmodninger";font-size:13.5px}
.dashboard-calendar-top-left.df-has-seg .calendar-color-btn{flex:none!important;width:44px!important;height:44px!important;padding:0!important;margin:0!important;font-size:0!important;border:1px solid #E3E7EE!important;border-radius:12px!important;background:#fff!important;display:flex!important;align-items:center!important;justify-content:center!important}
.dashboard-calendar-top-left.df-has-seg .calendar-color-btn .df-dots{margin:0!important}
.dashboard-calendar-top-right{display:flex!important;justify-content:flex-end!important;align-items:center!important;gap:8px!important;width:100%!important;margin:0!important;flex-wrap:nowrap!important}
.dashboard-calendar-top-right>.accordion{flex:1 1 0!important;min-width:0!important;width:auto!important;margin:0!important}
.dashboard-calendar-top-right #vehicleFilterButton,.dashboard-calendar-top-right #bookingFilterButton{height:40px!important;min-height:40px!important;padding:0 12px!important;border-radius:11px!important;font-size:13.5px!important;width:100%!important}
}
/* === Farvekoder forklaret (2026-11-02) === */
.df-cc-modal .modal-header,.df-cc-modal .modal-footer{display:none!important}
.df-cc-modal .modal-content{background:#F7F8FB!important;border:0!important;border-radius:22px!important;overflow:hidden!important;box-shadow:0 24px 60px rgba(20,30,60,.25)!important}
.df-cc-modal .modal-dialog{max-width:1120px!important}
.df-cc{font-family:inherit;color:#1B2333}
.df-cc-head{position:relative;display:flex;align-items:flex-start;gap:16px;padding:24px 28px 20px;background:#fff;border-bottom:1px solid #EDF0F4}
.df-cc-grab{display:none}
.df-cc-ht{flex:1;min-width:0}
.df-cc-title{font-size:22px;font-weight:800;line-height:1.2}
.df-cc-lead{font-size:14.5px;font-weight:500;color:#4A5263;margin-top:4px}
.df-cc-x{width:44px;height:44px;flex:none;border:0;border-radius:12px;background:#F1F3F7;color:#4A5263;display:flex;align-items:center;justify-content:center}
.df-cc-x:hover{background:#E6E9F0}
.df-cc-body{padding:22px 28px 26px;display:flex;flex-direction:column;gap:22px;max-height:calc(100vh - 220px);overflow:auto}
.df-cc-state{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.df-cc-sc{display:flex;gap:14px;align-items:center;padding:14px 16px;background:#fff;border:1px solid #EDF0F4;border-radius:16px}
.df-cc-sc .df-cc-smp{width:120px;flex:none}
.df-cc-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.df-cc-grp{display:flex;flex-direction:column;gap:10px;min-width:0}
.df-cc-wide{grid-column:1/-1}
.df-cc-gh{font-size:12px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#5B6474}
.df-cc-row{display:grid;grid-template-columns:150px 1fr;gap:16px;align-items:center;padding:12px 14px;border:1px solid #EDF0F4;border-radius:14px;background:#fff}
.df-cc-plan{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.df-cc-row.df-cc-col{grid-template-columns:1fr;gap:10px;align-content:start}
.df-cc-smp{height:44px;border-radius:9px;border:1px solid;padding:5px 9px;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;font-size:11px;font-weight:700;line-height:1.2;overflow:hidden}
.df-cc-smp b{font-size:12.5px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.df-cc-smp.is-closed{background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.7) 0 5px,transparent 5px 11px)}
.df-cc-nm{font-size:15px;font-weight:800;color:#1B2333}
.df-cc-ds{font-size:13.5px;font-weight:500;color:#4A5263;line-height:1.4;margin-top:2px}
.df-ccc-practical-lesson{background-color:#E8F0FF;border-color:#BFD3FB;color:#1D3F8F}
.df-ccc-practical-open-booking{background-color:#E0F6F8;border-color:#A9E1E8;color:#0B5F6B}
.df-ccc-theory-booking{background-color:#EEEBFF;border-color:#D3CCFB;color:#4A3AA8}
.df-ccc-first-aid-course{background-color:#FDE8EA;border-color:#F6C2C7;color:#9B1C2B}
.df-ccc-manoeuver-track{background-color:#E3F6EC;border-color:#B5E3C9;color:#17603D}
.df-ccc-slippery-track{background-color:#F3ECE2;border-color:#DCC9AE;color:#6B4413}
.df-ccc-theory-test{background-color:#FFF6D9;border-color:#F2DE96;color:#7A5A00}
.df-ccc-practical-test{background-color:#FCE7F3;border-color:#F5BEDD;color:#9A2768}
.df-ccc-pre-booking{background-color:#EEF1E0;border-color:#D2D9AE;color:#4B5715}
.df-ccc-request{background-color:#FFEEDF;border-color:#F7CDA6;color:#8A4307}
.df-ccc-private{background-color:#F1F2F5;border-color:#DCDFE6;color:#3F4654}
@media (max-width:991.98px){.df-cc-grid{grid-template-columns:1fr}.df-cc-plan{grid-template-columns:1fr}.df-cc-row.df-cc-col{grid-template-columns:150px 1fr;gap:16px}}
@media (max-width:575.98px){
.df-cc-modal .modal-dialog{margin:0!important;max-width:none!important;width:100%!important;min-height:100%!important;display:flex!important;align-items:flex-end!important}
.df-cc-modal .modal-content{border-radius:22px 22px 0 0!important;max-height:92vh!important;background:#fff!important}
.df-cc-head{padding:22px 20px 12px;border-bottom:0;gap:12px}
.df-cc-grab{display:block;position:absolute;top:8px;left:50%;transform:translateX(-50%);width:40px;height:5px;border-radius:3px;background:#DCE0E7}
.df-cc-title{font-size:19px}
.df-cc-lead{font-size:13px}
.df-cc-body{padding:0 20px 24px;gap:10px;max-height:calc(92vh - 90px)}
.df-cc-state{grid-template-columns:1fr 1fr;gap:10px}
.df-cc-sc{padding:10px;gap:10px;border-radius:12px}
.df-cc-sc .df-cc-smp{width:40px;height:30px}
.df-cc-sc .df-cc-ds{font-size:12px}
.df-cc-sc .df-cc-nm{font-size:13.5px}
.df-cc-grid{gap:4px}
.df-cc-grp{gap:0}
.df-cc-gh{font-size:11.5px;margin:10px 0 2px}
.df-cc-row,.df-cc-row.df-cc-col{display:flex;gap:12px;padding:9px 0;border:0;border-bottom:1px solid #F0F2F5;border-radius:0;background:transparent}
.df-cc-plan{gap:0}
.df-cc-row .df-cc-smp,.df-cc-sc .df-cc-smp{width:40px;height:30px;flex:none;padding:0;border-radius:8px}
.df-cc-smp span,.df-cc-smp b{display:none}
.df-cc-nm{font-size:14.5px}
.df-cc-ds{font-size:12.5px;line-height:1.35}
}
.df-cc .df-s{display:none}
@media (max-width:575.98px){.df-cc .df-l{display:none}.df-cc .df-s{display:inline}}
/* === Rolleskift (2026-11-02) === */
.topbar #roleSwitcherDropdown.df-role-btn{width:auto!important;padding:0 12px 0 10px!important;gap:6px!important;display:inline-flex!important;align-items:center!important;border-radius:12px!important}
.topbar #roleSwitcherDropdown .df-role-cur{font-size:13px;font-weight:700;color:#1B2333;white-space:nowrap}
.topbar #roleSwitcherDropdown + .dropdown-menu li.active button{font-weight:800;color:#24489C}
.df-mm-roles{margin:12px 0 4px;padding:12px;border:1px solid #E3E7EE;border-radius:14px;background:#F7F8FB}
.df-mm-roles-h{font-size:11.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#5B6474;margin-bottom:8px}
.df-mm-roles-row{display:flex;gap:6px;flex-wrap:wrap}
.df-mm-role{flex:1 1 auto;min-height:40px;padding:0 12px;border:1px solid #DCE4F5;border-radius:11px;background:#fff;color:#1B2333;font-weight:700;font-size:14px}
.df-mm-role.is-on{background:#24489C;border-color:#24489C;color:#fff}@media (max-width:575.98px){.topbar li:has(> #roleSwitcherDropdown){display:none!important}}.df-mm-vip.df-mm-own{background:#F3F6FD!important;border-color:#DCE4F5!important;color:#24489C!important}
/* Kalender: kraftigere farver (kørelærer-feedback 2026-11-02). Kommende = fuld farve, afsluttede = lys tone med farvet kant */
.fc .fc-event.practical-lesson:not(.fc-daygrid-dot-event):not(.closed) { background-color: #2F6FE0 !important; border: 1px solid #2F6FE0 !important; box-shadow: inset 4px 0 0 rgba(0,0,0,.16) !important; }
.fc .fc-event.practical-lesson:not(.fc-daygrid-dot-event):not(.closed), .fc .fc-event.practical-lesson:not(.closed) .fc-event-main, .fc .fc-event.practical-lesson:not(.closed) .fc-event-time, .fc .fc-event.practical-lesson:not(.closed) .fc-event-title, .fc .fc-event.practical-lesson:not(.closed) .df-ev-main, .fc .fc-event.practical-lesson:not(.closed) .df-ev-sub { color: #fff !important; }
.fc .fc-event.practical-lesson.closed:not(.fc-daygrid-dot-event) { background-color: #E3ECFC !important; border: 1px solid #2F6FE055 !important; box-shadow: inset 4px 0 0 #2F6FE0 !important; }
.fc .fc-event.practical-lesson.closed:not(.fc-daygrid-dot-event), .fc .fc-event.practical-lesson.closed .fc-event-main, .fc .fc-event.practical-lesson.closed .fc-event-time, .fc .fc-event.practical-lesson.closed .df-ev-main, .fc .fc-event.practical-lesson.closed .df-ev-sub { color: #173E8A !important; }
.fc .fc-daygrid-dot-event.practical-lesson .fc-daygrid-event-dot { border-color: #2F6FE0 !important; }
.df-ccc-practical-lesson { background: #2F6FE0 !important; border-color: #2F6FE0 !important; color: #fff !important; } .df-ccc-practical-lesson span, .df-ccc-practical-lesson b { color: #fff !important; }
.fc .fc-event.practical-open-booking:not(.fc-daygrid-dot-event):not(.closed) { background-color: #0E97A3 !important; border: 1px solid #0E97A3 !important; box-shadow: inset 4px 0 0 rgba(0,0,0,.16) !important; }
.fc .fc-event.practical-open-booking:not(.fc-daygrid-dot-event):not(.closed), .fc .fc-event.practical-open-booking:not(.closed) .fc-event-main, .fc .fc-event.practical-open-booking:not(.closed) .fc-event-time, .fc .fc-event.practical-open-booking:not(.closed) .fc-event-title, .fc .fc-event.practical-open-booking:not(.closed) .df-ev-main, .fc .fc-event.practical-open-booking:not(.closed) .df-ev-sub { color: #fff !important; }
.fc .fc-event.practical-open-booking.closed:not(.fc-daygrid-dot-event) { background-color: #DDF3F5 !important; border: 1px solid #0E97A355 !important; box-shadow: inset 4px 0 0 #0E97A3 !important; }
.fc .fc-event.practical-open-booking.closed:not(.fc-daygrid-dot-event), .fc .fc-event.practical-open-booking.closed .fc-event-main, .fc .fc-event.practical-open-booking.closed .fc-event-time, .fc .fc-event.practical-open-booking.closed .df-ev-main, .fc .fc-event.practical-open-booking.closed .df-ev-sub { color: #0A5761 !important; }
.fc .fc-daygrid-dot-event.practical-open-booking .fc-daygrid-event-dot { border-color: #0E97A3 !important; }
.df-ccc-practical-open-booking { background: #0E97A3 !important; border-color: #0E97A3 !important; color: #fff !important; } .df-ccc-practical-open-booking span, .df-ccc-practical-open-booking b { color: #fff !important; }
.fc .fc-event.theory-booking:not(.fc-daygrid-dot-event):not(.closed) { background-color: #7B4FD8 !important; border: 1px solid #7B4FD8 !important; box-shadow: inset 4px 0 0 rgba(0,0,0,.16) !important; }
.fc .fc-event.theory-booking:not(.fc-daygrid-dot-event):not(.closed), .fc .fc-event.theory-booking:not(.closed) .fc-event-main, .fc .fc-event.theory-booking:not(.closed) .fc-event-time, .fc .fc-event.theory-booking:not(.closed) .fc-event-title, .fc .fc-event.theory-booking:not(.closed) .df-ev-main, .fc .fc-event.theory-booking:not(.closed) .df-ev-sub { color: #fff !important; }
.fc .fc-event.theory-booking.closed:not(.fc-daygrid-dot-event) { background-color: #ECE5FB !important; border: 1px solid #7B4FD855 !important; box-shadow: inset 4px 0 0 #7B4FD8 !important; }
.fc .fc-event.theory-booking.closed:not(.fc-daygrid-dot-event), .fc .fc-event.theory-booking.closed .fc-event-main, .fc .fc-event.theory-booking.closed .fc-event-time, .fc .fc-event.theory-booking.closed .df-ev-main, .fc .fc-event.theory-booking.closed .df-ev-sub { color: #46278F !important; }
.fc .fc-daygrid-dot-event.theory-booking .fc-daygrid-event-dot { border-color: #7B4FD8 !important; }
.df-ccc-theory-booking { background: #7B4FD8 !important; border-color: #7B4FD8 !important; color: #fff !important; } .df-ccc-theory-booking span, .df-ccc-theory-booking b { color: #fff !important; }
.fc .fc-event.first-aid-course:not(.fc-daygrid-dot-event):not(.closed) { background-color: #D7354A !important; border: 1px solid #D7354A !important; box-shadow: inset 4px 0 0 rgba(0,0,0,.16) !important; }
.fc .fc-event.first-aid-course:not(.fc-daygrid-dot-event):not(.closed), .fc .fc-event.first-aid-course:not(.closed) .fc-event-main, .fc .fc-event.first-aid-course:not(.closed) .fc-event-time, .fc .fc-event.first-aid-course:not(.closed) .fc-event-title, .fc .fc-event.first-aid-course:not(.closed) .df-ev-main, .fc .fc-event.first-aid-course:not(.closed) .df-ev-sub { color: #fff !important; }
.fc .fc-event.first-aid-course.closed:not(.fc-daygrid-dot-event) { background-color: #FBE3E6 !important; border: 1px solid #D7354A55 !important; box-shadow: inset 4px 0 0 #D7354A !important; }
.fc .fc-event.first-aid-course.closed:not(.fc-daygrid-dot-event), .fc .fc-event.first-aid-course.closed .fc-event-main, .fc .fc-event.first-aid-course.closed .fc-event-time, .fc .fc-event.first-aid-course.closed .df-ev-main, .fc .fc-event.first-aid-course.closed .df-ev-sub { color: #8A1C2B !important; }
.fc .fc-daygrid-dot-event.first-aid-course .fc-daygrid-event-dot { border-color: #D7354A !important; }
.df-ccc-first-aid-course { background: #D7354A !important; border-color: #D7354A !important; color: #fff !important; } .df-ccc-first-aid-course span, .df-ccc-first-aid-course b { color: #fff !important; }
.fc .fc-event.first-aid-team-event:not(.fc-daygrid-dot-event):not(.closed) { background-color: #D7354A !important; border: 1px solid #D7354A !important; box-shadow: inset 4px 0 0 rgba(0,0,0,.16) !important; }
.fc .fc-event.first-aid-team-event:not(.fc-daygrid-dot-event):not(.closed), .fc .fc-event.first-aid-team-event:not(.closed) .fc-event-main, .fc .fc-event.first-aid-team-event:not(.closed) .fc-event-time, .fc .fc-event.first-aid-team-event:not(.closed) .fc-event-title, .fc .fc-event.first-aid-team-event:not(.closed) .df-ev-main, .fc .fc-event.first-aid-team-event:not(.closed) .df-ev-sub { color: #fff !important; }
.fc .fc-event.first-aid-team-event.closed:not(.fc-daygrid-dot-event) { background-color: #FBE3E6 !important; border: 1px solid #D7354A55 !important; box-shadow: inset 4px 0 0 #D7354A !important; }
.fc .fc-event.first-aid-team-event.closed:not(.fc-daygrid-dot-event), .fc .fc-event.first-aid-team-event.closed .fc-event-main, .fc .fc-event.first-aid-team-event.closed .fc-event-time, .fc .fc-event.first-aid-team-event.closed .df-ev-main, .fc .fc-event.first-aid-team-event.closed .df-ev-sub { color: #8A1C2B !important; }
.fc .fc-daygrid-dot-event.first-aid-team-event .fc-daygrid-event-dot { border-color: #D7354A !important; }
.df-ccc-first-aid-team-event { background: #D7354A !important; border-color: #D7354A !important; color: #fff !important; } .df-ccc-first-aid-team-event span, .df-ccc-first-aid-team-event b { color: #fff !important; }
.fc .fc-event.manoeuver-track:not(.fc-daygrid-dot-event):not(.closed) { background-color: #1F9D5B !important; border: 1px solid #1F9D5B !important; box-shadow: inset 4px 0 0 rgba(0,0,0,.16) !important; }
.fc .fc-event.manoeuver-track:not(.fc-daygrid-dot-event):not(.closed), .fc .fc-event.manoeuver-track:not(.closed) .fc-event-main, .fc .fc-event.manoeuver-track:not(.closed) .fc-event-time, .fc .fc-event.manoeuver-track:not(.closed) .fc-event-title, .fc .fc-event.manoeuver-track:not(.closed) .df-ev-main, .fc .fc-event.manoeuver-track:not(.closed) .df-ev-sub { color: #fff !important; }
.fc .fc-event.manoeuver-track.closed:not(.fc-daygrid-dot-event) { background-color: #DEF3E8 !important; border: 1px solid #1F9D5B55 !important; box-shadow: inset 4px 0 0 #1F9D5B !important; }
.fc .fc-event.manoeuver-track.closed:not(.fc-daygrid-dot-event), .fc .fc-event.manoeuver-track.closed .fc-event-main, .fc .fc-event.manoeuver-track.closed .fc-event-time, .fc .fc-event.manoeuver-track.closed .df-ev-main, .fc .fc-event.manoeuver-track.closed .df-ev-sub { color: #11603A !important; }
.fc .fc-daygrid-dot-event.manoeuver-track .fc-daygrid-event-dot { border-color: #1F9D5B !important; }
.df-ccc-manoeuver-track { background: #1F9D5B !important; border-color: #1F9D5B !important; color: #fff !important; } .df-ccc-manoeuver-track span, .df-ccc-manoeuver-track b { color: #fff !important; }
.fc .fc-event.slippery-track:not(.fc-daygrid-dot-event):not(.closed) { background-color: #9C6A2C !important; border: 1px solid #9C6A2C !important; box-shadow: inset 4px 0 0 rgba(0,0,0,.16) !important; }
.fc .fc-event.slippery-track:not(.fc-daygrid-dot-event):not(.closed), .fc .fc-event.slippery-track:not(.closed) .fc-event-main, .fc .fc-event.slippery-track:not(.closed) .fc-event-time, .fc .fc-event.slippery-track:not(.closed) .fc-event-title, .fc .fc-event.slippery-track:not(.closed) .df-ev-main, .fc .fc-event.slippery-track:not(.closed) .df-ev-sub { color: #fff !important; }
.fc .fc-event.slippery-track.closed:not(.fc-daygrid-dot-event) { background-color: #F3E9DC !important; border: 1px solid #9C6A2C55 !important; box-shadow: inset 4px 0 0 #9C6A2C !important; }
.fc .fc-event.slippery-track.closed:not(.fc-daygrid-dot-event), .fc .fc-event.slippery-track.closed .fc-event-main, .fc .fc-event.slippery-track.closed .fc-event-time, .fc .fc-event.slippery-track.closed .df-ev-main, .fc .fc-event.slippery-track.closed .df-ev-sub { color: #5E3E15 !important; }
.fc .fc-daygrid-dot-event.slippery-track .fc-daygrid-event-dot { border-color: #9C6A2C !important; }
.df-ccc-slippery-track { background: #9C6A2C !important; border-color: #9C6A2C !important; color: #fff !important; } .df-ccc-slippery-track span, .df-ccc-slippery-track b { color: #fff !important; }
.fc .fc-event.theory-test:not(.fc-daygrid-dot-event):not(.closed) { background-color: #E2A20C !important; border: 1px solid #E2A20C !important; box-shadow: inset 4px 0 0 rgba(0,0,0,.16) !important; }
.fc .fc-event.theory-test:not(.fc-daygrid-dot-event):not(.closed), .fc .fc-event.theory-test:not(.closed) .fc-event-main, .fc .fc-event.theory-test:not(.closed) .fc-event-time, .fc .fc-event.theory-test:not(.closed) .fc-event-title, .fc .fc-event.theory-test:not(.closed) .df-ev-main, .fc .fc-event.theory-test:not(.closed) .df-ev-sub { color: #3A2A00 !important; }
.fc .fc-event.theory-test.closed:not(.fc-daygrid-dot-event) { background-color: #FDF2D2 !important; border: 1px solid #E2A20C55 !important; box-shadow: inset 4px 0 0 #E2A20C !important; }
.fc .fc-event.theory-test.closed:not(.fc-daygrid-dot-event), .fc .fc-event.theory-test.closed .fc-event-main, .fc .fc-event.theory-test.closed .fc-event-time, .fc .fc-event.theory-test.closed .df-ev-main, .fc .fc-event.theory-test.closed .df-ev-sub { color: #6B4A00 !important; }
.fc .fc-daygrid-dot-event.theory-test .fc-daygrid-event-dot { border-color: #E2A20C !important; }
.df-ccc-theory-test { background: #E2A20C !important; border-color: #E2A20C !important; color: #3A2A00 !important; } .df-ccc-theory-test span, .df-ccc-theory-test b { color: #3A2A00 !important; }
.fc .fc-event.practical-test:not(.fc-daygrid-dot-event):not(.closed) { background-color: #D43C8C !important; border: 1px solid #D43C8C !important; box-shadow: inset 4px 0 0 rgba(0,0,0,.16) !important; }
.fc .fc-event.practical-test:not(.fc-daygrid-dot-event):not(.closed), .fc .fc-event.practical-test:not(.closed) .fc-event-main, .fc .fc-event.practical-test:not(.closed) .fc-event-time, .fc .fc-event.practical-test:not(.closed) .fc-event-title, .fc .fc-event.practical-test:not(.closed) .df-ev-main, .fc .fc-event.practical-test:not(.closed) .df-ev-sub { color: #fff !important; }
.fc .fc-event.practical-test.closed:not(.fc-daygrid-dot-event) { background-color: #FBE2EF !important; border: 1px solid #D43C8C55 !important; box-shadow: inset 4px 0 0 #D43C8C !important; }
.fc .fc-event.practical-test.closed:not(.fc-daygrid-dot-event), .fc .fc-event.practical-test.closed .fc-event-main, .fc .fc-event.practical-test.closed .fc-event-time, .fc .fc-event.practical-test.closed .df-ev-main, .fc .fc-event.practical-test.closed .df-ev-sub { color: #86184F !important; }
.fc .fc-daygrid-dot-event.practical-test .fc-daygrid-event-dot { border-color: #D43C8C !important; }
.df-ccc-practical-test { background: #D43C8C !important; border-color: #D43C8C !important; color: #fff !important; } .df-ccc-practical-test span, .df-ccc-practical-test b { color: #fff !important; }
.fc .fc-event.pre-booking:not(.fc-daygrid-dot-event):not(.closed) { background-color: #6F8A1C !important; border: 1px solid #6F8A1C !important; box-shadow: inset 4px 0 0 rgba(0,0,0,.16) !important; }
.fc .fc-event.pre-booking:not(.fc-daygrid-dot-event):not(.closed), .fc .fc-event.pre-booking:not(.closed) .fc-event-main, .fc .fc-event.pre-booking:not(.closed) .fc-event-time, .fc .fc-event.pre-booking:not(.closed) .fc-event-title, .fc .fc-event.pre-booking:not(.closed) .df-ev-main, .fc .fc-event.pre-booking:not(.closed) .df-ev-sub { color: #fff !important; }
.fc .fc-event.pre-booking.closed:not(.fc-daygrid-dot-event) { background-color: #EDF2DC !important; border: 1px solid #6F8A1C55 !important; box-shadow: inset 4px 0 0 #6F8A1C !important; }
.fc .fc-event.pre-booking.closed:not(.fc-daygrid-dot-event), .fc .fc-event.pre-booking.closed .fc-event-main, .fc .fc-event.pre-booking.closed .fc-event-time, .fc .fc-event.pre-booking.closed .df-ev-main, .fc .fc-event.pre-booking.closed .df-ev-sub { color: #435511 !important; }
.fc .fc-daygrid-dot-event.pre-booking .fc-daygrid-event-dot { border-color: #6F8A1C !important; }
.df-ccc-pre-booking { background: #6F8A1C !important; border-color: #6F8A1C !important; color: #fff !important; } .df-ccc-pre-booking span, .df-ccc-pre-booking b { color: #fff !important; }
.fc .fc-event.request:not(.fc-daygrid-dot-event):not(.closed) { background-color: #EC7A1A !important; border: 1px solid #EC7A1A !important; box-shadow: inset 4px 0 0 rgba(0,0,0,.16) !important; }
.fc .fc-event.request:not(.fc-daygrid-dot-event):not(.closed), .fc .fc-event.request:not(.closed) .fc-event-main, .fc .fc-event.request:not(.closed) .fc-event-time, .fc .fc-event.request:not(.closed) .fc-event-title, .fc .fc-event.request:not(.closed) .df-ev-main, .fc .fc-event.request:not(.closed) .df-ev-sub { color: #fff !important; }
.fc .fc-event.request.closed:not(.fc-daygrid-dot-event) { background-color: #FDEBDA !important; border: 1px solid #EC7A1A55 !important; box-shadow: inset 4px 0 0 #EC7A1A !important; }
.fc .fc-event.request.closed:not(.fc-daygrid-dot-event), .fc .fc-event.request.closed .fc-event-main, .fc .fc-event.request.closed .fc-event-time, .fc .fc-event.request.closed .df-ev-main, .fc .fc-event.request.closed .df-ev-sub { color: #8A4000 !important; }
.fc .fc-daygrid-dot-event.request .fc-daygrid-event-dot { border-color: #EC7A1A !important; }
.df-ccc-request { background: #EC7A1A !important; border-color: #EC7A1A !important; color: #fff !important; } .df-ccc-request span, .df-ccc-request b { color: #fff !important; }
.fc .fc-event.request-calendar:not(.fc-daygrid-dot-event):not(.closed) { background-color: #EC7A1A !important; border: 1px solid #EC7A1A !important; box-shadow: inset 4px 0 0 rgba(0,0,0,.16) !important; }
.fc .fc-event.request-calendar:not(.fc-daygrid-dot-event):not(.closed), .fc .fc-event.request-calendar:not(.closed) .fc-event-main, .fc .fc-event.request-calendar:not(.closed) .fc-event-time, .fc .fc-event.request-calendar:not(.closed) .fc-event-title, .fc .fc-event.request-calendar:not(.closed) .df-ev-main, .fc .fc-event.request-calendar:not(.closed) .df-ev-sub { color: #fff !important; }
.fc .fc-event.request-calendar.closed:not(.fc-daygrid-dot-event) { background-color: #FDEBDA !important; border: 1px solid #EC7A1A55 !important; box-shadow: inset 4px 0 0 #EC7A1A !important; }
.fc .fc-event.request-calendar.closed:not(.fc-daygrid-dot-event), .fc .fc-event.request-calendar.closed .fc-event-main, .fc .fc-event.request-calendar.closed .fc-event-time, .fc .fc-event.request-calendar.closed .df-ev-main, .fc .fc-event.request-calendar.closed .df-ev-sub { color: #8A4000 !important; }
.fc .fc-daygrid-dot-event.request-calendar .fc-daygrid-event-dot { border-color: #EC7A1A !important; }
.df-ccc-request-calendar { background: #EC7A1A !important; border-color: #EC7A1A !important; color: #fff !important; } .df-ccc-request-calendar span, .df-ccc-request-calendar b { color: #fff !important; }
.fc .fc-event.private:not(.fc-daygrid-dot-event):not(.closed) { background-color: #5B6474 !important; border: 1px solid #5B6474 !important; box-shadow: inset 4px 0 0 rgba(0,0,0,.16) !important; }
.fc .fc-event.private:not(.fc-daygrid-dot-event):not(.closed), .fc .fc-event.private:not(.closed) .fc-event-main, .fc .fc-event.private:not(.closed) .fc-event-time, .fc .fc-event.private:not(.closed) .fc-event-title, .fc .fc-event.private:not(.closed) .df-ev-main, .fc .fc-event.private:not(.closed) .df-ev-sub { color: #fff !important; }
.fc .fc-event.private.closed:not(.fc-daygrid-dot-event) { background-color: #ECEEF2 !important; border: 1px solid #5B647455 !important; box-shadow: inset 4px 0 0 #5B6474 !important; }
.fc .fc-event.private.closed:not(.fc-daygrid-dot-event), .fc .fc-event.private.closed .fc-event-main, .fc .fc-event.private.closed .fc-event-time, .fc .fc-event.private.closed .df-ev-main, .fc .fc-event.private.closed .df-ev-sub { color: #353B47 !important; }
.fc .fc-daygrid-dot-event.private .fc-daygrid-event-dot { border-color: #5B6474 !important; }
.df-ccc-private { background: #5B6474 !important; border-color: #5B6474 !important; color: #fff !important; } .df-ccc-private span, .df-ccc-private b { color: #fff !important; }
.fc .fc-event:not(.closed) .df-ev-sub { opacity: .88; }
/* Smalle kort: aldrig del ord bogstav for bogstav; vis fornavn når der er lidt plads */
.fc .fc-timegrid-event .df-ev-main { word-break: normal !important; overflow-wrap: normal !important; hyphens: none !important; }
.fc .fc-timegrid-event.df-ev-narrow .df-ev-main { word-break: normal !important; overflow-wrap: anywhere !important; -webkit-line-clamp: 3 !important; font-size: 11.5px !important; letter-spacing: -.01em; }
.fc .fc-timegrid-event.df-ev-narrow .df-ev-main[data-short] { font-size: 0 !important; }
.fc .fc-timegrid-event.df-ev-narrow .df-ev-main[data-short]::after { content: attr(data-short); font-size: 11.5px; font-weight: 800; line-height: 1.15; }
/* Tomme dage gøres kun smallere, når en anden dag har dobbeltbookinger */
.fc .fc-timeGridWeek-view .df-day-empty { width: 8% !important; }

/* Telefon: ugevisning 3 dage ad gangen + ugestrimmel (godkendt design B, 2026-11-02) */
.df-wkstrip { display: none; }
@media (max-width: 575px) {
  .fc.df-wk3 .df-wkstrip { display: flex; gap: 4px; margin: 0 0 8px; padding: 6px; background: #fff; border-radius: 14px; box-shadow: 0 1px 0 #E3E7EE; }
  .fc.df-wk3 .df-wkstrip button { flex: 1; min-height: 50px; border: 0; background: transparent; border-radius: 11px; padding: 5px 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; font-family: inherit; font-size: 10.5px; font-weight: 800; color: #6B7383; cursor: pointer; }
  .fc.df-wk3 .df-wkstrip button b { font-size: 15px; font-weight: 900; color: #1B2333; line-height: 1.1; }
  .fc.df-wk3 .df-wkstrip button i { display: flex; gap: 2px; height: 5px; }
  .fc.df-wk3 .df-wkstrip button i span { width: 5px; height: 5px; border-radius: 50%; }
  .fc.df-wk3 .df-wkstrip button.in { background: #EEF1FA; }
  .fc.df-wk3 .df-wkstrip button.in b { color: #33418F; }
  .fc.df-wk3 .df-wkstrip button.today b { background: #33418F; color: #fff; border-radius: 7px; padding: 0 5px; }
  .fc.df-wk3 .fc-view-harness { overflow-x: auto !important; overflow-y: hidden !important; scroll-snap-type: x mandatory; scroll-padding-left: var(--df-ax, 40px); -webkit-overflow-scrolling: touch; scrollbar-width: none; }
  .fc.df-wk3 .fc-view-harness::-webkit-scrollbar { display: none; }
  .fc.df-wk3 .fc-timeGridWeek-view { right: auto !important; width: var(--df-ww, 100%) !important; }
  .fc.df-wk3 .fc-timeGridWeek-view .df-day-empty { width: auto !important; }
  .fc.df-wk3 .fc-timeGridWeek-view col { width: auto; }
  .fc.df-wk3 .fc-timegrid-axis, .fc.df-wk3 td.fc-timegrid-slot-label, .fc.df-wk3 th.fc-timegrid-axis { position: sticky; left: 0; z-index: 4; background: #fff !important; }
  .fc.df-wk3 td.fc-timegrid-col[data-date] { scroll-snap-align: start; }
  .fc.df-wk3 .fc-timegrid-event .df-ev-main { font-size: 13px !important; }
}

@media (max-width: 575px) {
  .fc.df-wk3 .fc-timegrid-cols td.fc-timegrid-axis { position: static !important; background: transparent !important; z-index: auto !important; }
  .fc.df-wk3 td.fc-timegrid-slot-label { z-index: 6 !important; box-shadow: 1px 0 0 #EEF0F4; }
  .fc.df-wk3 .df-wkstrip button span { text-transform: capitalize; }
  /* Overlappende bookinger i en smal kolonne: teksten står på langs i stedet for at blive delt */
  .fc .fc-timegrid-event.df-ev-tiny .fc-event-time { display: none !important; }
  .fc .fc-timegrid-event.df-ev-tiny .df-ev-main { writing-mode: vertical-rl; transform: rotate(180deg); white-space: nowrap !important; overflow: hidden; text-overflow: ellipsis; font-size: 11.5px !important; -webkit-line-clamp: unset !important; display: block !important; max-height: 100%; }
  .fc .fc-timegrid-event.df-ev-tiny .fc-event-main { padding: 5px 2px !important; display: flex; justify-content: center; }
}

@media (max-width: 575px) {
  .fc.df-wk3 .fc-timeGridWeek-view .fc-scroller, .fc.df-wk3 .fc-timeGridWeek-view .fc-scroller-harness { overflow: visible !important; }
  .fc.df-wk3 th.fc-timegrid-axis { position: sticky; left: 0; z-index: 6 !important; background: #F4F6FA !important; }
}
@media (max-width: 575px) { .fc.df-wk3 td.fc-timegrid-slot-label { box-shadow: -8px 0 0 #fff, 1px 0 0 #EEF0F4 !important; } }

/* Kalenderen starter ved ugens tidligste booking, hvis den er før kl. 06 (2026-11-02) */
.fc.df-from1 .fc-timegrid-slots tr:has(td[data-time^="00:"]) { display: none !important; }
.fc.df-from2 .fc-timegrid-slots tr:has(td[data-time^="00:"]),
.fc.df-from2 .fc-timegrid-slots tr:has(td[data-time^="01:"]) { display: none !important; }
.fc.df-from3 .fc-timegrid-slots tr:has(td[data-time^="00:"]),
.fc.df-from3 .fc-timegrid-slots tr:has(td[data-time^="01:"]),
.fc.df-from3 .fc-timegrid-slots tr:has(td[data-time^="02:"]) { display: none !important; }
.fc.df-from4 .fc-timegrid-slots tr:has(td[data-time^="00:"]),
.fc.df-from4 .fc-timegrid-slots tr:has(td[data-time^="01:"]),
.fc.df-from4 .fc-timegrid-slots tr:has(td[data-time^="02:"]),
.fc.df-from4 .fc-timegrid-slots tr:has(td[data-time^="03:"]) { display: none !important; }
.fc.df-from5 .fc-timegrid-slots tr:has(td[data-time^="00:"]),
.fc.df-from5 .fc-timegrid-slots tr:has(td[data-time^="01:"]),
.fc.df-from5 .fc-timegrid-slots tr:has(td[data-time^="02:"]),
.fc.df-from5 .fc-timegrid-slots tr:has(td[data-time^="03:"]),
.fc.df-from5 .fc-timegrid-slots tr:has(td[data-time^="04:"]) { display: none !important; }

/* Telefon, ugevisning: mindre tekst på bookingerne, så der kan stå mere (Mo 2026-11-02) */
@media (max-width: 575px) {
  .fc.df-wk3 .fc-timegrid-event .fc-event-main { padding: 3px 4px 3px 7px !important; }
  .fc.df-wk3 .fc-timegrid-event .df-ev-main { font-size: 11px !important; line-height: 1.15 !important; -webkit-line-clamp: 4 !important; }
  .fc.df-wk3 .fc-timegrid-event .df-ev-sub { font-size: 9.5px !important; line-height: 1.15 !important; }
  .fc.df-wk3 .fc-timegrid-event .fc-event-time { font-size: 9.5px !important; line-height: 1.2 !important; }
  .fc.df-wk3 .fc-timegrid-event.df-ev-narrow .df-ev-main, .fc.df-wk3 .fc-timegrid-event.df-ev-narrow .df-ev-main[data-short]::after { font-size: 10.5px !important; }
  .fc.df-wk3 .fc-timegrid-event.df-ev-tiny .df-ev-main { font-size: 10px !important; }
}

/* Telefon, ugevisning: korte bookinger (ca. 45 min) viser navnet øverst og tiden under, i stedet for på én linje (2026-11-02) */
@media (max-width: 575px) {
  .fc.df-wk3 .fc-timegrid-event.df-ev-short:not(.df-ev-tiny) > .fc-event-main { padding: 2px 4px 2px 7px !important; height: 100%; }
  .fc.df-wk3 .fc-timegrid-event.df-ev-short:not(.df-ev-tiny) > .fc-event-main > .fc-event-main { display: flex !important; flex-direction: column-reverse !important; align-items: stretch !important; justify-content: center !important; gap: 0 !important; height: 100%; overflow: hidden; }
  .fc.df-wk3 .fc-timegrid-event.df-ev-short:not(.df-ev-tiny) .fc-event-title { min-width: 0 !important; overflow: hidden !important; display: block !important; }
  .fc.df-wk3 .fc-timegrid-event.df-ev-short:not(.df-ev-tiny) .df-ev-main { display: block !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; -webkit-line-clamp: unset !important; font-size: 10.5px !important; line-height: 1.15 !important; }
  .fc.df-wk3 .fc-timegrid-event.df-ev-short:not(.df-ev-tiny) .df-ev-sub { display: none !important; }
  .fc.df-wk3 .fc-timegrid-event.df-ev-short:not(.df-ev-tiny) .fc-event-time { font-size: 9px !important; line-height: 1.1 !important; white-space: nowrap !important; overflow: hidden; text-overflow: ellipsis; opacity: .9; margin: 0 !important; }
}
@media (max-width: 575px) {
  .fc.df-wk3 .fc-timegrid-event.df-ev-short:not(.df-ev-tiny) > .fc-event-main { display: flex !important; flex-direction: column !important; justify-content: center !important; align-self: stretch !important; width: 100% !important; min-width: 0 !important; }
  .fc.df-wk3 .fc-timegrid-event.df-ev-short:not(.df-ev-tiny) > .fc-event-main > .fc-event-main { height: auto !important; flex: none !important; }
  .fc.df-wk3 .fc-timegrid-event.df-ev-short:not(.df-ev-tiny) .fc-event-title, .fc.df-wk3 .fc-timegrid-event.df-ev-short:not(.df-ev-tiny) .fc-event-time { flex: none !important; }
}

/* Telefon, ugevisning: bil-ikonet står lille i hjørnet i stedet for på sin egen linje, og skjules på korte kort (2026-11-02) */
@media (max-width: 575px) {
  .fc.df-wk3 .fc-timegrid-event > .fc-event-main { position: relative; }
  .fc.df-wk3 .fc-timegrid-event > .fc-event-main > .fc-event-main > i { position: absolute !important; top: 3px; right: 4px; margin: 0 !important; font-size: 11px !important; line-height: 1 !important; opacity: .85; }
  .fc.df-wk3 .fc-timegrid-event > .fc-event-main > .fc-event-main > i::before { font-size: 11px !important; }
  .fc.df-wk3 .fc-timegrid-event:has(> .fc-event-main > .fc-event-main > i) .fc-event-time { padding-right: 14px; }
  .fc.df-wk3 .fc-timegrid-event.df-ev-short > .fc-event-main > .fc-event-main > i,
  .fc.df-wk3 .fc-timegrid-event.df-ev-tiny > .fc-event-main > .fc-event-main > i { display: none !important; }
  .fc.df-wk3 .fc-timegrid-event:not(.df-ev-short) .fc-event-title { flex: none !important; max-height: none !important; overflow: hidden; }
  .fc.df-wk3 .fc-timegrid-event:not(.df-ev-short):not(.df-ev-tiny) .df-ev-main { display: -webkit-box !important; -webkit-box-orient: vertical !important; -webkit-line-clamp: 3 !important; overflow: hidden !important; line-height: 1.2 !important; padding-bottom: 1px; }
}

/* === Kalender v3.2 (2026-11-02): "closed" fra serveren = afsluttet (moduler gennemført og underskrevet; uden moduler: tiden er gået). Ikke afsluttet = fuld kraftig farve. Afsluttet = lysere udgave af samme farve + mørk, overstreget tekst. Ingen striber. Skal stå sidst. === */
html body .fc .fc-daygrid-dot-event{border-radius:5px!important;padding:1px 5px!important;margin:0 2px 2px!important}
html body .fc .fc-daygrid-dot-event .fc-daygrid-event-dot{display:none!important}
html body .fc .fc-event.fc-event.practical-lesson.practical-lesson:not(.closed):not(.df-x){background-color:#2F6FE0!important;background-image:none!important;border:1px solid #2F6FE0!important;box-shadow:inset 4px 0 0 rgba(0,0,0,.16)!important;opacity:1!important}
html body .fc .fc-event.fc-event.practical-lesson.practical-lesson:not(.closed):not(.df-x), html body .fc .fc-event.fc-event.practical-lesson.practical-lesson:not(.closed):not(.df-x) .fc-event-main, html body .fc .fc-event.fc-event.practical-lesson.practical-lesson:not(.closed):not(.df-x) .fc-event-time, html body .fc .fc-event.fc-event.practical-lesson.practical-lesson:not(.closed):not(.df-x) .fc-event-title, html body .fc .fc-event.fc-event.practical-lesson.practical-lesson:not(.closed):not(.df-x) .df-ev-main, html body .fc .fc-event.fc-event.practical-lesson.practical-lesson:not(.closed):not(.df-x) .df-ev-sub, html body .fc .fc-event.fc-event.practical-lesson.practical-lesson:not(.closed):not(.df-x) i{color:#fff!important;opacity:1!important;text-decoration:none!important}
html body .fc .fc-event.fc-event.practical-lesson.practical-lesson.closed:not(.df-x){background-color:#2F6FE0!important;background-image:linear-gradient(rgba(255,255,255,.68),rgba(255,255,255,.68))!important;border:1px solid #2F6FE088!important;box-shadow:inset 4px 0 0 #2F6FE0!important;opacity:1!important}
html body .fc .fc-event.fc-event.practical-lesson.practical-lesson.closed:not(.df-x), html body .fc .fc-event.fc-event.practical-lesson.practical-lesson.closed:not(.df-x) .fc-event-main, html body .fc .fc-event.fc-event.practical-lesson.practical-lesson.closed:not(.df-x) .fc-event-time, html body .fc .fc-event.fc-event.practical-lesson.practical-lesson.closed:not(.df-x) .fc-event-title, html body .fc .fc-event.fc-event.practical-lesson.practical-lesson.closed:not(.df-x) .df-ev-main, html body .fc .fc-event.fc-event.practical-lesson.practical-lesson.closed:not(.df-x) .df-ev-sub, html body .fc .fc-event.fc-event.practical-lesson.practical-lesson.closed:not(.df-x) i{color:#1B2333!important;opacity:1!important}
html body .fc .fc-event.fc-event.practical-lesson.practical-lesson.closed:not(.df-x) .fc-event-title, html body .fc .fc-event.fc-event.practical-lesson.practical-lesson.closed:not(.df-x) .df-ev-main, html body .fc .fc-event.fc-event.practical-lesson.practical-lesson.closed:not(.df-x) .fc-event-time{text-decoration:line-through!important;text-decoration-color:#2F6FE0!important;text-decoration-thickness:1px!important}
.df-cc-smp.df-ccc-practical-lesson{background-color:#2F6FE0!important;background-image:none!important;border-color:#2F6FE0!important;color:#fff!important}
.df-cc-smp.df-ccc-practical-lesson.is-past{background-image:linear-gradient(rgba(255,255,255,.68),rgba(255,255,255,.68))!important;border-color:#2F6FE088!important;box-shadow:inset 4px 0 0 #2F6FE0!important}
.df-cc-smp.df-ccc-practical-lesson.is-past > *{text-decoration:line-through;text-decoration-color:#2F6FE0;text-decoration-thickness:1px}
html body .fc .fc-event.fc-event.practical-open-booking.practical-open-booking:not(.closed):not(.df-x){background-color:#0E97A3!important;background-image:none!important;border:1px solid #0E97A3!important;box-shadow:inset 4px 0 0 rgba(0,0,0,.16)!important;opacity:1!important}
html body .fc .fc-event.fc-event.practical-open-booking.practical-open-booking:not(.closed):not(.df-x), html body .fc .fc-event.fc-event.practical-open-booking.practical-open-booking:not(.closed):not(.df-x) .fc-event-main, html body .fc .fc-event.fc-event.practical-open-booking.practical-open-booking:not(.closed):not(.df-x) .fc-event-time, html body .fc .fc-event.fc-event.practical-open-booking.practical-open-booking:not(.closed):not(.df-x) .fc-event-title, html body .fc .fc-event.fc-event.practical-open-booking.practical-open-booking:not(.closed):not(.df-x) .df-ev-main, html body .fc .fc-event.fc-event.practical-open-booking.practical-open-booking:not(.closed):not(.df-x) .df-ev-sub, html body .fc .fc-event.fc-event.practical-open-booking.practical-open-booking:not(.closed):not(.df-x) i{color:#fff!important;opacity:1!important;text-decoration:none!important}
html body .fc .fc-event.fc-event.practical-open-booking.practical-open-booking.closed:not(.df-x){background-color:#0E97A3!important;background-image:linear-gradient(rgba(255,255,255,.68),rgba(255,255,255,.68))!important;border:1px solid #0E97A388!important;box-shadow:inset 4px 0 0 #0E97A3!important;opacity:1!important}
html body .fc .fc-event.fc-event.practical-open-booking.practical-open-booking.closed:not(.df-x), html body .fc .fc-event.fc-event.practical-open-booking.practical-open-booking.closed:not(.df-x) .fc-event-main, html body .fc .fc-event.fc-event.practical-open-booking.practical-open-booking.closed:not(.df-x) .fc-event-time, html body .fc .fc-event.fc-event.practical-open-booking.practical-open-booking.closed:not(.df-x) .fc-event-title, html body .fc .fc-event.fc-event.practical-open-booking.practical-open-booking.closed:not(.df-x) .df-ev-main, html body .fc .fc-event.fc-event.practical-open-booking.practical-open-booking.closed:not(.df-x) .df-ev-sub, html body .fc .fc-event.fc-event.practical-open-booking.practical-open-booking.closed:not(.df-x) i{color:#1B2333!important;opacity:1!important}
html body .fc .fc-event.fc-event.practical-open-booking.practical-open-booking.closed:not(.df-x) .fc-event-title, html body .fc .fc-event.fc-event.practical-open-booking.practical-open-booking.closed:not(.df-x) .df-ev-main, html body .fc .fc-event.fc-event.practical-open-booking.practical-open-booking.closed:not(.df-x) .fc-event-time{text-decoration:line-through!important;text-decoration-color:#0E97A3!important;text-decoration-thickness:1px!important}
.df-cc-smp.df-ccc-practical-open-booking{background-color:#0E97A3!important;background-image:none!important;border-color:#0E97A3!important;color:#fff!important}
.df-cc-smp.df-ccc-practical-open-booking.is-past{background-image:linear-gradient(rgba(255,255,255,.68),rgba(255,255,255,.68))!important;border-color:#0E97A388!important;box-shadow:inset 4px 0 0 #0E97A3!important}
.df-cc-smp.df-ccc-practical-open-booking.is-past > *{text-decoration:line-through;text-decoration-color:#0E97A3;text-decoration-thickness:1px}
html body .fc .fc-event.fc-event.theory-booking.theory-booking:not(.closed):not(.df-x){background-color:#7B4FD8!important;background-image:none!important;border:1px solid #7B4FD8!important;box-shadow:inset 4px 0 0 rgba(0,0,0,.16)!important;opacity:1!important}
html body .fc .fc-event.fc-event.theory-booking.theory-booking:not(.closed):not(.df-x), html body .fc .fc-event.fc-event.theory-booking.theory-booking:not(.closed):not(.df-x) .fc-event-main, html body .fc .fc-event.fc-event.theory-booking.theory-booking:not(.closed):not(.df-x) .fc-event-time, html body .fc .fc-event.fc-event.theory-booking.theory-booking:not(.closed):not(.df-x) .fc-event-title, html body .fc .fc-event.fc-event.theory-booking.theory-booking:not(.closed):not(.df-x) .df-ev-main, html body .fc .fc-event.fc-event.theory-booking.theory-booking:not(.closed):not(.df-x) .df-ev-sub, html body .fc .fc-event.fc-event.theory-booking.theory-booking:not(.closed):not(.df-x) i{color:#fff!important;opacity:1!important;text-decoration:none!important}
html body .fc .fc-event.fc-event.theory-booking.theory-booking.closed:not(.df-x){background-color:#7B4FD8!important;background-image:linear-gradient(rgba(255,255,255,.68),rgba(255,255,255,.68))!important;border:1px solid #7B4FD888!important;box-shadow:inset 4px 0 0 #7B4FD8!important;opacity:1!important}
html body .fc .fc-event.fc-event.theory-booking.theory-booking.closed:not(.df-x), html body .fc .fc-event.fc-event.theory-booking.theory-booking.closed:not(.df-x) .fc-event-main, html body .fc .fc-event.fc-event.theory-booking.theory-booking.closed:not(.df-x) .fc-event-time, html body .fc .fc-event.fc-event.theory-booking.theory-booking.closed:not(.df-x) .fc-event-title, html body .fc .fc-event.fc-event.theory-booking.theory-booking.closed:not(.df-x) .df-ev-main, html body .fc .fc-event.fc-event.theory-booking.theory-booking.closed:not(.df-x) .df-ev-sub, html body .fc .fc-event.fc-event.theory-booking.theory-booking.closed:not(.df-x) i{color:#1B2333!important;opacity:1!important}
html body .fc .fc-event.fc-event.theory-booking.theory-booking.closed:not(.df-x) .fc-event-title, html body .fc .fc-event.fc-event.theory-booking.theory-booking.closed:not(.df-x) .df-ev-main, html body .fc .fc-event.fc-event.theory-booking.theory-booking.closed:not(.df-x) .fc-event-time{text-decoration:line-through!important;text-decoration-color:#7B4FD8!important;text-decoration-thickness:1px!important}
.df-cc-smp.df-ccc-theory-booking{background-color:#7B4FD8!important;background-image:none!important;border-color:#7B4FD8!important;color:#fff!important}
.df-cc-smp.df-ccc-theory-booking.is-past{background-image:linear-gradient(rgba(255,255,255,.68),rgba(255,255,255,.68))!important;border-color:#7B4FD888!important;box-shadow:inset 4px 0 0 #7B4FD8!important}
.df-cc-smp.df-ccc-theory-booking.is-past > *{text-decoration:line-through;text-decoration-color:#7B4FD8;text-decoration-thickness:1px}
html body .fc .fc-event.fc-event.first-aid-course.first-aid-course:not(.closed):not(.df-x){background-color:#D7354A!important;background-image:none!important;border:1px solid #D7354A!important;box-shadow:inset 4px 0 0 rgba(0,0,0,.16)!important;opacity:1!important}
html body .fc .fc-event.fc-event.first-aid-course.first-aid-course:not(.closed):not(.df-x), html body .fc .fc-event.fc-event.first-aid-course.first-aid-course:not(.closed):not(.df-x) .fc-event-main, html body .fc .fc-event.fc-event.first-aid-course.first-aid-course:not(.closed):not(.df-x) .fc-event-time, html body .fc .fc-event.fc-event.first-aid-course.first-aid-course:not(.closed):not(.df-x) .fc-event-title, html body .fc .fc-event.fc-event.first-aid-course.first-aid-course:not(.closed):not(.df-x) .df-ev-main, html body .fc .fc-event.fc-event.first-aid-course.first-aid-course:not(.closed):not(.df-x) .df-ev-sub, html body .fc .fc-event.fc-event.first-aid-course.first-aid-course:not(.closed):not(.df-x) i{color:#fff!important;opacity:1!important;text-decoration:none!important}
html body .fc .fc-event.fc-event.first-aid-course.first-aid-course.closed:not(.df-x){background-color:#D7354A!important;background-image:linear-gradient(rgba(255,255,255,.68),rgba(255,255,255,.68))!important;border:1px solid #D7354A88!important;box-shadow:inset 4px 0 0 #D7354A!important;opacity:1!important}
html body .fc .fc-event.fc-event.first-aid-course.first-aid-course.closed:not(.df-x), html body .fc .fc-event.fc-event.first-aid-course.first-aid-course.closed:not(.df-x) .fc-event-main, html body .fc .fc-event.fc-event.first-aid-course.first-aid-course.closed:not(.df-x) .fc-event-time, html body .fc .fc-event.fc-event.first-aid-course.first-aid-course.closed:not(.df-x) .fc-event-title, html body .fc .fc-event.fc-event.first-aid-course.first-aid-course.closed:not(.df-x) .df-ev-main, html body .fc .fc-event.fc-event.first-aid-course.first-aid-course.closed:not(.df-x) .df-ev-sub, html body .fc .fc-event.fc-event.first-aid-course.first-aid-course.closed:not(.df-x) i{color:#1B2333!important;opacity:1!important}
html body .fc .fc-event.fc-event.first-aid-course.first-aid-course.closed:not(.df-x) .fc-event-title, html body .fc .fc-event.fc-event.first-aid-course.first-aid-course.closed:not(.df-x) .df-ev-main, html body .fc .fc-event.fc-event.first-aid-course.first-aid-course.closed:not(.df-x) .fc-event-time{text-decoration:line-through!important;text-decoration-color:#D7354A!important;text-decoration-thickness:1px!important}
.df-cc-smp.df-ccc-first-aid-course{background-color:#D7354A!important;background-image:none!important;border-color:#D7354A!important;color:#fff!important}
.df-cc-smp.df-ccc-first-aid-course.is-past{background-image:linear-gradient(rgba(255,255,255,.68),rgba(255,255,255,.68))!important;border-color:#D7354A88!important;box-shadow:inset 4px 0 0 #D7354A!important}
.df-cc-smp.df-ccc-first-aid-course.is-past > *{text-decoration:line-through;text-decoration-color:#D7354A;text-decoration-thickness:1px}
html body .fc .fc-event.fc-event.first-aid-team-event.first-aid-team-event:not(.closed):not(.df-x){background-color:#D7354A!important;background-image:none!important;border:1px solid #D7354A!important;box-shadow:inset 4px 0 0 rgba(0,0,0,.16)!important;opacity:1!important}
html body .fc .fc-event.fc-event.first-aid-team-event.first-aid-team-event:not(.closed):not(.df-x), html body .fc .fc-event.fc-event.first-aid-team-event.first-aid-team-event:not(.closed):not(.df-x) .fc-event-main, html body .fc .fc-event.fc-event.first-aid-team-event.first-aid-team-event:not(.closed):not(.df-x) .fc-event-time, html body .fc .fc-event.fc-event.first-aid-team-event.first-aid-team-event:not(.closed):not(.df-x) .fc-event-title, html body .fc .fc-event.fc-event.first-aid-team-event.first-aid-team-event:not(.closed):not(.df-x) .df-ev-main, html body .fc .fc-event.fc-event.first-aid-team-event.first-aid-team-event:not(.closed):not(.df-x) .df-ev-sub, html body .fc .fc-event.fc-event.first-aid-team-event.first-aid-team-event:not(.closed):not(.df-x) i{color:#fff!important;opacity:1!important;text-decoration:none!important}
html body .fc .fc-event.fc-event.first-aid-team-event.first-aid-team-event.closed:not(.df-x){background-color:#D7354A!important;background-image:linear-gradient(rgba(255,255,255,.68),rgba(255,255,255,.68))!important;border:1px solid #D7354A88!important;box-shadow:inset 4px 0 0 #D7354A!important;opacity:1!important}
html body .fc .fc-event.fc-event.first-aid-team-event.first-aid-team-event.closed:not(.df-x), html body .fc .fc-event.fc-event.first-aid-team-event.first-aid-team-event.closed:not(.df-x) .fc-event-main, html body .fc .fc-event.fc-event.first-aid-team-event.first-aid-team-event.closed:not(.df-x) .fc-event-time, html body .fc .fc-event.fc-event.first-aid-team-event.first-aid-team-event.closed:not(.df-x) .fc-event-title, html body .fc .fc-event.fc-event.first-aid-team-event.first-aid-team-event.closed:not(.df-x) .df-ev-main, html body .fc .fc-event.fc-event.first-aid-team-event.first-aid-team-event.closed:not(.df-x) .df-ev-sub, html body .fc .fc-event.fc-event.first-aid-team-event.first-aid-team-event.closed:not(.df-x) i{color:#1B2333!important;opacity:1!important}
html body .fc .fc-event.fc-event.first-aid-team-event.first-aid-team-event.closed:not(.df-x) .fc-event-title, html body .fc .fc-event.fc-event.first-aid-team-event.first-aid-team-event.closed:not(.df-x) .df-ev-main, html body .fc .fc-event.fc-event.first-aid-team-event.first-aid-team-event.closed:not(.df-x) .fc-event-time{text-decoration:line-through!important;text-decoration-color:#D7354A!important;text-decoration-thickness:1px!important}
.df-cc-smp.df-ccc-first-aid-team-event{background-color:#D7354A!important;background-image:none!important;border-color:#D7354A!important;color:#fff!important}
.df-cc-smp.df-ccc-first-aid-team-event.is-past{background-image:linear-gradient(rgba(255,255,255,.68),rgba(255,255,255,.68))!important;border-color:#D7354A88!important;box-shadow:inset 4px 0 0 #D7354A!important}
.df-cc-smp.df-ccc-first-aid-team-event.is-past > *{text-decoration:line-through;text-decoration-color:#D7354A;text-decoration-thickness:1px}
html body .fc .fc-event.fc-event.manoeuver-track.manoeuver-track:not(.closed):not(.df-x){background-color:#1F9D5B!important;background-image:none!important;border:1px solid #1F9D5B!important;box-shadow:inset 4px 0 0 rgba(0,0,0,.16)!important;opacity:1!important}
html body .fc .fc-event.fc-event.manoeuver-track.manoeuver-track:not(.closed):not(.df-x), html body .fc .fc-event.fc-event.manoeuver-track.manoeuver-track:not(.closed):not(.df-x) .fc-event-main, html body .fc .fc-event.fc-event.manoeuver-track.manoeuver-track:not(.closed):not(.df-x) .fc-event-time, html body .fc .fc-event.fc-event.manoeuver-track.manoeuver-track:not(.closed):not(.df-x) .fc-event-title, html body .fc .fc-event.fc-event.manoeuver-track.manoeuver-track:not(.closed):not(.df-x) .df-ev-main, html body .fc .fc-event.fc-event.manoeuver-track.manoeuver-track:not(.closed):not(.df-x) .df-ev-sub, html body .fc .fc-event.fc-event.manoeuver-track.manoeuver-track:not(.closed):not(.df-x) i{color:#fff!important;opacity:1!important;text-decoration:none!important}
html body .fc .fc-event.fc-event.manoeuver-track.manoeuver-track.closed:not(.df-x){background-color:#1F9D5B!important;background-image:linear-gradient(rgba(255,255,255,.68),rgba(255,255,255,.68))!important;border:1px solid #1F9D5B88!important;box-shadow:inset 4px 0 0 #1F9D5B!important;opacity:1!important}
html body .fc .fc-event.fc-event.manoeuver-track.manoeuver-track.closed:not(.df-x), html body .fc .fc-event.fc-event.manoeuver-track.manoeuver-track.closed:not(.df-x) .fc-event-main, html body .fc .fc-event.fc-event.manoeuver-track.manoeuver-track.closed:not(.df-x) .fc-event-time, html body .fc .fc-event.fc-event.manoeuver-track.manoeuver-track.closed:not(.df-x) .fc-event-title, html body .fc .fc-event.fc-event.manoeuver-track.manoeuver-track.closed:not(.df-x) .df-ev-main, html body .fc .fc-event.fc-event.manoeuver-track.manoeuver-track.closed:not(.df-x) .df-ev-sub, html body .fc .fc-event.fc-event.manoeuver-track.manoeuver-track.closed:not(.df-x) i{color:#1B2333!important;opacity:1!important}
html body .fc .fc-event.fc-event.manoeuver-track.manoeuver-track.closed:not(.df-x) .fc-event-title, html body .fc .fc-event.fc-event.manoeuver-track.manoeuver-track.closed:not(.df-x) .df-ev-main, html body .fc .fc-event.fc-event.manoeuver-track.manoeuver-track.closed:not(.df-x) .fc-event-time{text-decoration:line-through!important;text-decoration-color:#1F9D5B!important;text-decoration-thickness:1px!important}
.df-cc-smp.df-ccc-manoeuver-track{background-color:#1F9D5B!important;background-image:none!important;border-color:#1F9D5B!important;color:#fff!important}
.df-cc-smp.df-ccc-manoeuver-track.is-past{background-image:linear-gradient(rgba(255,255,255,.68),rgba(255,255,255,.68))!important;border-color:#1F9D5B88!important;box-shadow:inset 4px 0 0 #1F9D5B!important}
.df-cc-smp.df-ccc-manoeuver-track.is-past > *{text-decoration:line-through;text-decoration-color:#1F9D5B;text-decoration-thickness:1px}
html body .fc .fc-event.fc-event.slippery-track.slippery-track:not(.closed):not(.df-x){background-color:#9C6A2C!important;background-image:none!important;border:1px solid #9C6A2C!important;box-shadow:inset 4px 0 0 rgba(0,0,0,.16)!important;opacity:1!important}
html body .fc .fc-event.fc-event.slippery-track.slippery-track:not(.closed):not(.df-x), html body .fc .fc-event.fc-event.slippery-track.slippery-track:not(.closed):not(.df-x) .fc-event-main, html body .fc .fc-event.fc-event.slippery-track.slippery-track:not(.closed):not(.df-x) .fc-event-time, html body .fc .fc-event.fc-event.slippery-track.slippery-track:not(.closed):not(.df-x) .fc-event-title, html body .fc .fc-event.fc-event.slippery-track.slippery-track:not(.closed):not(.df-x) .df-ev-main, html body .fc .fc-event.fc-event.slippery-track.slippery-track:not(.closed):not(.df-x) .df-ev-sub, html body .fc .fc-event.fc-event.slippery-track.slippery-track:not(.closed):not(.df-x) i{color:#fff!important;opacity:1!important;text-decoration:none!important}
html body .fc .fc-event.fc-event.slippery-track.slippery-track.closed:not(.df-x){background-color:#9C6A2C!important;background-image:linear-gradient(rgba(255,255,255,.68),rgba(255,255,255,.68))!important;border:1px solid #9C6A2C88!important;box-shadow:inset 4px 0 0 #9C6A2C!important;opacity:1!important}
html body .fc .fc-event.fc-event.slippery-track.slippery-track.closed:not(.df-x), html body .fc .fc-event.fc-event.slippery-track.slippery-track.closed:not(.df-x) .fc-event-main, html body .fc .fc-event.fc-event.slippery-track.slippery-track.closed:not(.df-x) .fc-event-time, html body .fc .fc-event.fc-event.slippery-track.slippery-track.closed:not(.df-x) .fc-event-title, html body .fc .fc-event.fc-event.slippery-track.slippery-track.closed:not(.df-x) .df-ev-main, html body .fc .fc-event.fc-event.slippery-track.slippery-track.closed:not(.df-x) .df-ev-sub, html body .fc .fc-event.fc-event.slippery-track.slippery-track.closed:not(.df-x) i{color:#1B2333!important;opacity:1!important}
html body .fc .fc-event.fc-event.slippery-track.slippery-track.closed:not(.df-x) .fc-event-title, html body .fc .fc-event.fc-event.slippery-track.slippery-track.closed:not(.df-x) .df-ev-main, html body .fc .fc-event.fc-event.slippery-track.slippery-track.closed:not(.df-x) .fc-event-time{text-decoration:line-through!important;text-decoration-color:#9C6A2C!important;text-decoration-thickness:1px!important}
.df-cc-smp.df-ccc-slippery-track{background-color:#9C6A2C!important;background-image:none!important;border-color:#9C6A2C!important;color:#fff!important}
.df-cc-smp.df-ccc-slippery-track.is-past{background-image:linear-gradient(rgba(255,255,255,.68),rgba(255,255,255,.68))!important;border-color:#9C6A2C88!important;box-shadow:inset 4px 0 0 #9C6A2C!important}
.df-cc-smp.df-ccc-slippery-track.is-past > *{text-decoration:line-through;text-decoration-color:#9C6A2C;text-decoration-thickness:1px}
html body .fc .fc-event.fc-event.theory-test.theory-test:not(.closed):not(.df-x){background-color:#E2A20C!important;background-image:none!important;border:1px solid #E2A20C!important;box-shadow:inset 4px 0 0 rgba(0,0,0,.16)!important;opacity:1!important}
html body .fc .fc-event.fc-event.theory-test.theory-test:not(.closed):not(.df-x), html body .fc .fc-event.fc-event.theory-test.theory-test:not(.closed):not(.df-x) .fc-event-main, html body .fc .fc-event.fc-event.theory-test.theory-test:not(.closed):not(.df-x) .fc-event-time, html body .fc .fc-event.fc-event.theory-test.theory-test:not(.closed):not(.df-x) .fc-event-title, html body .fc .fc-event.fc-event.theory-test.theory-test:not(.closed):not(.df-x) .df-ev-main, html body .fc .fc-event.fc-event.theory-test.theory-test:not(.closed):not(.df-x) .df-ev-sub, html body .fc .fc-event.fc-event.theory-test.theory-test:not(.closed):not(.df-x) i{color:#3A2A00!important;opacity:1!important;text-decoration:none!important}
html body .fc .fc-event.fc-event.theory-test.theory-test.closed:not(.df-x){background-color:#E2A20C!important;background-image:linear-gradient(rgba(255,255,255,.68),rgba(255,255,255,.68))!important;border:1px solid #E2A20C88!important;box-shadow:inset 4px 0 0 #E2A20C!important;opacity:1!important}
html body .fc .fc-event.fc-event.theory-test.theory-test.closed:not(.df-x), html body .fc .fc-event.fc-event.theory-test.theory-test.closed:not(.df-x) .fc-event-main, html body .fc .fc-event.fc-event.theory-test.theory-test.closed:not(.df-x) .fc-event-time, html body .fc .fc-event.fc-event.theory-test.theory-test.closed:not(.df-x) .fc-event-title, html body .fc .fc-event.fc-event.theory-test.theory-test.closed:not(.df-x) .df-ev-main, html body .fc .fc-event.fc-event.theory-test.theory-test.closed:not(.df-x) .df-ev-sub, html body .fc .fc-event.fc-event.theory-test.theory-test.closed:not(.df-x) i{color:#1B2333!important;opacity:1!important}
html body .fc .fc-event.fc-event.theory-test.theory-test.closed:not(.df-x) .fc-event-title, html body .fc .fc-event.fc-event.theory-test.theory-test.closed:not(.df-x) .df-ev-main, html body .fc .fc-event.fc-event.theory-test.theory-test.closed:not(.df-x) .fc-event-time{text-decoration:line-through!important;text-decoration-color:#E2A20C!important;text-decoration-thickness:1px!important}
.df-cc-smp.df-ccc-theory-test{background-color:#E2A20C!important;background-image:none!important;border-color:#E2A20C!important;color:#3A2A00!important}
.df-cc-smp.df-ccc-theory-test.is-past{background-image:linear-gradient(rgba(255,255,255,.68),rgba(255,255,255,.68))!important;border-color:#E2A20C88!important;box-shadow:inset 4px 0 0 #E2A20C!important}
.df-cc-smp.df-ccc-theory-test.is-past > *{text-decoration:line-through;text-decoration-color:#E2A20C;text-decoration-thickness:1px}
html body .fc .fc-event.fc-event.practical-test.practical-test:not(.closed):not(.df-x){background-color:#D43C8C!important;background-image:none!important;border:1px solid #D43C8C!important;box-shadow:inset 4px 0 0 rgba(0,0,0,.16)!important;opacity:1!important}
html body .fc .fc-event.fc-event.practical-test.practical-test:not(.closed):not(.df-x), html body .fc .fc-event.fc-event.practical-test.practical-test:not(.closed):not(.df-x) .fc-event-main, html body .fc .fc-event.fc-event.practical-test.practical-test:not(.closed):not(.df-x) .fc-event-time, html body .fc .fc-event.fc-event.practical-test.practical-test:not(.closed):not(.df-x) .fc-event-title, html body .fc .fc-event.fc-event.practical-test.practical-test:not(.closed):not(.df-x) .df-ev-main, html body .fc .fc-event.fc-event.practical-test.practical-test:not(.closed):not(.df-x) .df-ev-sub, html body .fc .fc-event.fc-event.practical-test.practical-test:not(.closed):not(.df-x) i{color:#fff!important;opacity:1!important;text-decoration:none!important}
html body .fc .fc-event.fc-event.practical-test.practical-test.closed:not(.df-x){background-color:#D43C8C!important;background-image:linear-gradient(rgba(255,255,255,.68),rgba(255,255,255,.68))!important;border:1px solid #D43C8C88!important;box-shadow:inset 4px 0 0 #D43C8C!important;opacity:1!important}
html body .fc .fc-event.fc-event.practical-test.practical-test.closed:not(.df-x), html body .fc .fc-event.fc-event.practical-test.practical-test.closed:not(.df-x) .fc-event-main, html body .fc .fc-event.fc-event.practical-test.practical-test.closed:not(.df-x) .fc-event-time, html body .fc .fc-event.fc-event.practical-test.practical-test.closed:not(.df-x) .fc-event-title, html body .fc .fc-event.fc-event.practical-test.practical-test.closed:not(.df-x) .df-ev-main, html body .fc .fc-event.fc-event.practical-test.practical-test.closed:not(.df-x) .df-ev-sub, html body .fc .fc-event.fc-event.practical-test.practical-test.closed:not(.df-x) i{color:#1B2333!important;opacity:1!important}
html body .fc .fc-event.fc-event.practical-test.practical-test.closed:not(.df-x) .fc-event-title, html body .fc .fc-event.fc-event.practical-test.practical-test.closed:not(.df-x) .df-ev-main, html body .fc .fc-event.fc-event.practical-test.practical-test.closed:not(.df-x) .fc-event-time{text-decoration:line-through!important;text-decoration-color:#D43C8C!important;text-decoration-thickness:1px!important}
.df-cc-smp.df-ccc-practical-test{background-color:#D43C8C!important;background-image:none!important;border-color:#D43C8C!important;color:#fff!important}
.df-cc-smp.df-ccc-practical-test.is-past{background-image:linear-gradient(rgba(255,255,255,.68),rgba(255,255,255,.68))!important;border-color:#D43C8C88!important;box-shadow:inset 4px 0 0 #D43C8C!important}
.df-cc-smp.df-ccc-practical-test.is-past > *{text-decoration:line-through;text-decoration-color:#D43C8C;text-decoration-thickness:1px}
html body .fc .fc-event.fc-event.pre-booking.pre-booking:not(.closed):not(.df-x){background-color:#6F8A1C!important;background-image:none!important;border:1px solid #6F8A1C!important;box-shadow:inset 4px 0 0 rgba(0,0,0,.16)!important;opacity:1!important}
html body .fc .fc-event.fc-event.pre-booking.pre-booking:not(.closed):not(.df-x), html body .fc .fc-event.fc-event.pre-booking.pre-booking:not(.closed):not(.df-x) .fc-event-main, html body .fc .fc-event.fc-event.pre-booking.pre-booking:not(.closed):not(.df-x) .fc-event-time, html body .fc .fc-event.fc-event.pre-booking.pre-booking:not(.closed):not(.df-x) .fc-event-title, html body .fc .fc-event.fc-event.pre-booking.pre-booking:not(.closed):not(.df-x) .df-ev-main, html body .fc .fc-event.fc-event.pre-booking.pre-booking:not(.closed):not(.df-x) .df-ev-sub, html body .fc .fc-event.fc-event.pre-booking.pre-booking:not(.closed):not(.df-x) i{color:#fff!important;opacity:1!important;text-decoration:none!important}
html body .fc .fc-event.fc-event.pre-booking.pre-booking.closed:not(.df-x){background-color:#6F8A1C!important;background-image:linear-gradient(rgba(255,255,255,.68),rgba(255,255,255,.68))!important;border:1px solid #6F8A1C88!important;box-shadow:inset 4px 0 0 #6F8A1C!important;opacity:1!important}
html body .fc .fc-event.fc-event.pre-booking.pre-booking.closed:not(.df-x), html body .fc .fc-event.fc-event.pre-booking.pre-booking.closed:not(.df-x) .fc-event-main, html body .fc .fc-event.fc-event.pre-booking.pre-booking.closed:not(.df-x) .fc-event-time, html body .fc .fc-event.fc-event.pre-booking.pre-booking.closed:not(.df-x) .fc-event-title, html body .fc .fc-event.fc-event.pre-booking.pre-booking.closed:not(.df-x) .df-ev-main, html body .fc .fc-event.fc-event.pre-booking.pre-booking.closed:not(.df-x) .df-ev-sub, html body .fc .fc-event.fc-event.pre-booking.pre-booking.closed:not(.df-x) i{color:#1B2333!important;opacity:1!important}
html body .fc .fc-event.fc-event.pre-booking.pre-booking.closed:not(.df-x) .fc-event-title, html body .fc .fc-event.fc-event.pre-booking.pre-booking.closed:not(.df-x) .df-ev-main, html body .fc .fc-event.fc-event.pre-booking.pre-booking.closed:not(.df-x) .fc-event-time{text-decoration:line-through!important;text-decoration-color:#6F8A1C!important;text-decoration-thickness:1px!important}
.df-cc-smp.df-ccc-pre-booking{background-color:#6F8A1C!important;background-image:none!important;border-color:#6F8A1C!important;color:#fff!important}
.df-cc-smp.df-ccc-pre-booking.is-past{background-image:linear-gradient(rgba(255,255,255,.68),rgba(255,255,255,.68))!important;border-color:#6F8A1C88!important;box-shadow:inset 4px 0 0 #6F8A1C!important}
.df-cc-smp.df-ccc-pre-booking.is-past > *{text-decoration:line-through;text-decoration-color:#6F8A1C;text-decoration-thickness:1px}
html body .fc .fc-event.fc-event.request.request:not(.closed):not(.df-x){background-color:#EC7A1A!important;background-image:none!important;border:1px solid #EC7A1A!important;box-shadow:inset 4px 0 0 rgba(0,0,0,.16)!important;opacity:1!important}
html body .fc .fc-event.fc-event.request.request:not(.closed):not(.df-x), html body .fc .fc-event.fc-event.request.request:not(.closed):not(.df-x) .fc-event-main, html body .fc .fc-event.fc-event.request.request:not(.closed):not(.df-x) .fc-event-time, html body .fc .fc-event.fc-event.request.request:not(.closed):not(.df-x) .fc-event-title, html body .fc .fc-event.fc-event.request.request:not(.closed):not(.df-x) .df-ev-main, html body .fc .fc-event.fc-event.request.request:not(.closed):not(.df-x) .df-ev-sub, html body .fc .fc-event.fc-event.request.request:not(.closed):not(.df-x) i{color:#fff!important;opacity:1!important;text-decoration:none!important}
html body .fc .fc-event.fc-event.request.request.closed:not(.df-x){background-color:#EC7A1A!important;background-image:linear-gradient(rgba(255,255,255,.68),rgba(255,255,255,.68))!important;border:1px solid #EC7A1A88!important;box-shadow:inset 4px 0 0 #EC7A1A!important;opacity:1!important}
html body .fc .fc-event.fc-event.request.request.closed:not(.df-x), html body .fc .fc-event.fc-event.request.request.closed:not(.df-x) .fc-event-main, html body .fc .fc-event.fc-event.request.request.closed:not(.df-x) .fc-event-time, html body .fc .fc-event.fc-event.request.request.closed:not(.df-x) .fc-event-title, html body .fc .fc-event.fc-event.request.request.closed:not(.df-x) .df-ev-main, html body .fc .fc-event.fc-event.request.request.closed:not(.df-x) .df-ev-sub, html body .fc .fc-event.fc-event.request.request.closed:not(.df-x) i{color:#1B2333!important;opacity:1!important}
html body .fc .fc-event.fc-event.request.request.closed:not(.df-x) .fc-event-title, html body .fc .fc-event.fc-event.request.request.closed:not(.df-x) .df-ev-main, html body .fc .fc-event.fc-event.request.request.closed:not(.df-x) .fc-event-time{text-decoration:line-through!important;text-decoration-color:#EC7A1A!important;text-decoration-thickness:1px!important}
.df-cc-smp.df-ccc-request{background-color:#EC7A1A!important;background-image:none!important;border-color:#EC7A1A!important;color:#fff!important}
.df-cc-smp.df-ccc-request.is-past{background-image:linear-gradient(rgba(255,255,255,.68),rgba(255,255,255,.68))!important;border-color:#EC7A1A88!important;box-shadow:inset 4px 0 0 #EC7A1A!important}
.df-cc-smp.df-ccc-request.is-past > *{text-decoration:line-through;text-decoration-color:#EC7A1A;text-decoration-thickness:1px}
html body .fc .fc-event.fc-event.private.private:not(.closed):not(.df-x){background-color:#5B6474!important;background-image:none!important;border:1px solid #5B6474!important;box-shadow:inset 4px 0 0 rgba(0,0,0,.16)!important;opacity:1!important}
html body .fc .fc-event.fc-event.private.private:not(.closed):not(.df-x), html body .fc .fc-event.fc-event.private.private:not(.closed):not(.df-x) .fc-event-main, html body .fc .fc-event.fc-event.private.private:not(.closed):not(.df-x) .fc-event-time, html body .fc .fc-event.fc-event.private.private:not(.closed):not(.df-x) .fc-event-title, html body .fc .fc-event.fc-event.private.private:not(.closed):not(.df-x) .df-ev-main, html body .fc .fc-event.fc-event.private.private:not(.closed):not(.df-x) .df-ev-sub, html body .fc .fc-event.fc-event.private.private:not(.closed):not(.df-x) i{color:#fff!important;opacity:1!important;text-decoration:none!important}
html body .fc .fc-event.fc-event.private.private.closed:not(.df-x){background-color:#5B6474!important;background-image:linear-gradient(rgba(255,255,255,.68),rgba(255,255,255,.68))!important;border:1px solid #5B647488!important;box-shadow:inset 4px 0 0 #5B6474!important;opacity:1!important}
html body .fc .fc-event.fc-event.private.private.closed:not(.df-x), html body .fc .fc-event.fc-event.private.private.closed:not(.df-x) .fc-event-main, html body .fc .fc-event.fc-event.private.private.closed:not(.df-x) .fc-event-time, html body .fc .fc-event.fc-event.private.private.closed:not(.df-x) .fc-event-title, html body .fc .fc-event.fc-event.private.private.closed:not(.df-x) .df-ev-main, html body .fc .fc-event.fc-event.private.private.closed:not(.df-x) .df-ev-sub, html body .fc .fc-event.fc-event.private.private.closed:not(.df-x) i{color:#1B2333!important;opacity:1!important}
html body .fc .fc-event.fc-event.private.private.closed:not(.df-x) .fc-event-title, html body .fc .fc-event.fc-event.private.private.closed:not(.df-x) .df-ev-main, html body .fc .fc-event.fc-event.private.private.closed:not(.df-x) .fc-event-time{text-decoration:line-through!important;text-decoration-color:#5B6474!important;text-decoration-thickness:1px!important}
.df-cc-smp.df-ccc-private{background-color:#5B6474!important;background-image:none!important;border-color:#5B6474!important;color:#fff!important}
.df-cc-smp.df-ccc-private.is-past{background-image:linear-gradient(rgba(255,255,255,.68),rgba(255,255,255,.68))!important;border-color:#5B647488!important;box-shadow:inset 4px 0 0 #5B6474!important}
.df-cc-smp.df-ccc-private.is-past > *{text-decoration:line-through;text-decoration-color:#5B6474;text-decoration-thickness:1px}
.df-cc-smp.is-past, .df-cc-smp.is-past *{color:#1B2333!important}
.df-cc-state .df-cc-sc:has(.is-closed){display:none!important}
.df-cc-state{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
/* Dagsoverblik: "Åbn booking"-knappen i Næste-kortet kunne ikke læses (hvid på hvid) */
html body .df-td-next .df-td-open, html body .df-td-next .df-td-open *{color:#1B2333!important;color:color-mix(in srgb, var(--df-c, #1B2333) 70%, #000)!important;font-weight:700!important}
/* Lodret tekst på smalle kort: skæres af med … inden for kortet */
html body .fc .fc-timegrid-event.df-ev-tiny{overflow:hidden!important}
html body .fc .fc-timegrid-event.df-ev-tiny .fc-event-main, html body .fc .fc-timegrid-event.df-ev-tiny .fc-event-title{overflow:hidden!important;max-height:100%!important}
/* Overlap: kort booking oven i en lang lægges i fuld bredde, og den lange bookings tekst rykkes ned under den */
html body .fc .fc-timegrid-event-harness.df-full{left:10px!important;right:0!important;inset-inline-start:10px!important;inset-inline-end:0!important;margin-left:0!important;margin-right:0!important;z-index:6!important}
html body .fc .fc-timegrid-event-harness.df-full > .fc-timegrid-event{box-shadow:0 0 0 1.5px #fff, 0 2px 6px rgba(16,24,40,.25)!important}
html body .fc .fc-timegrid-event-harness.df-push > .fc-timegrid-event > .fc-event-main{padding-top:var(--df-push,0px)!important}

/* Bookingvindue: ingen køretøjer ved teori/førstehjælp, brikker brydes pænt, knapperne altid synlige i bunden */
#add-booking form.df-no-veh .section-wrapper:has(select[name="data.vehicle_ids"]){display:none!important}
#add-booking .select2-container{max-width:100%!important}
#add-booking .select2-selection--multiple .select2-selection__rendered{display:flex!important;flex-wrap:wrap!important;gap:4px!important;white-space:normal!important;max-width:100%!important}
#add-booking .select2-selection--multiple .select2-selection__choice{max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
#add-booking .row:has(> .df-sum-host){position:sticky!important;bottom:-1px!important;z-index:7!important;background:var(--bs-modal-bg,#fff)!important}
#add-booking .df-sum-host{background:var(--bs-modal-bg,#fff)!important;box-shadow:0 -10px 16px -12px rgba(16,24,40,.25)!important;padding-top:10px!important;margin-bottom:0!important}
.df-cc-smp.is-past, .df-cc-smp.is-past *{color:#1B2333!important}

/* === Lærerfilter som brikker (2026-11-02) === */
html body #filterCollapse .row > .section-wrapper.col-lg-3.df-tc-on, html body .row > .section-wrapper.df-tc-on.df-tc-on.df-tc-on{order:-1;flex:0 0 100%!important;max-width:100%!important;width:100%!important}
.section-wrapper.df-tc-on > *:not(.df-tc){display:none!important}
.df-tc{display:flex;flex-direction:column;gap:10px;padding:4px 0 8px}
.df-tc-hd{display:flex;align-items:baseline;gap:10px}
.df-tc-lb{font-size:13px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#4A5263}
.df-tc-ct{font-size:13px;font-weight:700;color:#4A5263}
.df-tc-row{display:flex;flex-wrap:wrap;gap:8px}
.df-tc-chip{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px 0 6px;border-radius:999px;border:1.5px solid #DDE2EA;background:#fff;color:#1B2333;font:inherit;font-size:15px;font-weight:800;cursor:pointer;transition:background .12s,border-color .12s}
.df-tc-chip:hover{border-color:#33418F}
.df-tc-chip[data-id=""]{padding:0 18px}
.df-tc-chip i{width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-style:normal;font-size:12px;font-weight:900;background:#EEF1FA;color:#33418F}
.df-tc-chip.is-on{background:#33418F;border-color:#33418F;color:#fff}
.df-tc-chip.is-on i{background:rgba(255,255,255,.22);color:#fff}
.df-tc-chip:focus-visible{outline:3px solid #9DB1F5;outline-offset:2px}
@media (max-width:575px){.df-tc-chip{font-size:14px;padding-right:12px}}

/* === Holdoversigt: underskrifter (2026-11-02) === */
.module-signature-card .signature-details .row{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0!important}
@media (max-width:1199px){.module-signature-card .signature-details .row{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:575px){.module-signature-card .signature-details .row{grid-template-columns:1fr}}
.module-signature-card .signature-details .row > [class*=col]{width:auto!important;max-width:none!important;padding:0!important;flex:none!important}
.module-signature-card .signature-status-card{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:10px;row-gap:2px;align-items:center;min-height:60px;height:100%;padding:8px 12px!important;box-sizing:border-box;border:1px solid #E3E7EE!important;border-radius:12px!important;background:#fff!important;position:relative}
.module-signature-card .signature-status-card .df-sg-av{grid-column:1;grid-row:1 / 3;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-style:normal;font-size:12px;font-weight:900;background:#EEF1FA;color:#33418F}
.module-signature-card .signature-status-card h6{grid-column:2;grid-row:1;margin:0!important;font-size:14.5px!important;font-weight:800!important;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#1B2333}
.module-signature-card .signature-status-card small{grid-column:2;grid-row:2;margin:0!important;font-size:12.5px!important;font-weight:700!important;line-height:1.25;color:#4A5263;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:static!important}
.module-signature-card .signature-status-card small.df-sg-ok{color:#146B3A!important}
.module-signature-card .signature-status-card small.df-sg-no{color:#A3202C!important}
.module-signature-card .signature-status-card .signature-status-card-icon{grid-column:3;grid-row:1 / 3;position:static!important;width:28px!important;height:28px!important;min-width:28px;padding:0!important;margin:0!important;border-radius:50%!important;display:flex!important;align-items:center;justify-content:center;background:#D7354A!important;transform:none!important;inset:auto!important}
.module-signature-card .signature-status-card.signed .signature-status-card-icon{background:#1F9D5B!important}
.module-signature-card .signature-status-card .signature-status-card-icon i{color:#fff!important;font-size:12px!important;line-height:1!important;display:flex}
/* lærerbrikker: navn + antal underskrifter */
.module-signature-card .df-sg-teach .row > [class*=col]{width:auto!important}
.module-signature-card .df-sg-teach .row{display:flex!important;flex-wrap:wrap;gap:8px}
.module-signature-card .df-sg-teach .signature-status-card{display:flex!important;align-items:center;gap:8px;min-height:40px;height:auto;padding:0 6px 0 14px!important;border-radius:999px!important;background:#F7F8FA!important;border-color:#EEF0F4!important}
.module-signature-card .df-sg-teach .signature-status-card.signed{background:#fff!important;border-color:#DDE2EA!important}
.module-signature-card .df-sg-teach .signature-status-card h6{font-size:14px!important;color:#6B7383}
.module-signature-card .df-sg-teach .signature-status-card.signed h6{color:#1B2333}
.module-signature-card .df-sg-teach .signature-status-card-icon{width:auto!important;min-width:0;height:auto!important;background:transparent!important}
.module-signature-card .df-sg-teach .signature-status-card-icon i{display:none!important}
.module-signature-card .df-sg-teach .signature-status-card-icon .badge{position:static!important;transform:none!important;min-width:24px;height:24px;border-radius:12px!important;display:inline-flex!important;align-items:center;justify-content:center;padding:0 7px!important;font-size:12px!important;font-weight:900!important;background:#E3E7EE!important;color:#4A5263!important}
.module-signature-card .df-sg-teach .signature-status-card.signed .signature-status-card-icon .badge{background:#1F9D5B!important;color:#fff!important}
/* overskrift, faner og filter */
.df-sg-hd{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:6px 0 10px}
.df-sg-hd h5{margin:0!important}
.df-sg-tabs{display:inline-flex;gap:4px;background:#F1F3F7;padding:4px;border-radius:12px}
.df-sg-tabs button{border:0;border-radius:9px;padding:8px 14px;min-height:36px;font:inherit;font-size:14px;font-weight:800;background:transparent;color:#4A5263;cursor:pointer}
.df-sg-tabs button.is-on{background:#fff;color:#1B2333;box-shadow:0 1px 2px rgba(16,24,40,.08)}
.signature-details.df-sg-f-no .df-sg-is-ok, .signature-details.df-sg-f-ok .df-sg-is-no{display:none!important}
.df-sg-pill{display:inline-flex;align-items:center;margin-left:12px;border-radius:999px;padding:5px 11px;font-size:13px;font-weight:800;white-space:nowrap}
.df-sg-pill.is-no{background:#FDECEC;color:#A3202C}
.df-sg-pill.is-ok{background:#E3F6EC;color:#146B3A}

.module-signature-card .df-sg-teach .signature-status-card h6{white-space:nowrap!important;overflow:visible!important}
.module-signature-card .df-sg-teach .signature-status-card:not(:has(.badge)) .signature-status-card-icon{width:22px!important;height:22px!important;background:#E3E7EE!important;border-radius:50%!important}
.module-signature-card .df-sg-teach .signature-status-card.signed:not(:has(.badge)) .signature-status-card-icon{background:#1F9D5B!important}
.module-signature-card .df-sg-teach .signature-status-card:not(:has(.badge)) .signature-status-card-icon i{display:flex!important;font-size:10px!important;color:#4A5263!important}
.module-signature-card .df-sg-teach .signature-status-card.signed:not(:has(.badge)) .signature-status-card-icon i{color:#fff!important}
.module-signature-card .signature-details:not(.df-sg-teach) .signature-status-card h6{white-space:normal!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.module-signature-card .signature-details:not(.df-sg-teach) .signature-status-card small{white-space:normal!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}

.module-signature-card .signature-details:not(.df-sg-teach) .row{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))!important}
.module-signature-card .signature-status-card h6, .module-signature-card .signature-status-card small{height:auto!important;max-height:none!important;min-height:0!important;position:static!important;transform:none!important;align-self:center}
.module-signature-card .signature-details:not(.df-sg-teach) .signature-status-card h6{align-self:end}
.module-signature-card .signature-details:not(.df-sg-teach) .signature-status-card small{align-self:start}
.module-signature-card .df-sg-teach .signature-status-card{flex-wrap:nowrap!important;flex-direction:row!important;width:auto!important}
.module-signature-card .df-sg-teach .signature-status-card > *{flex:none!important;margin:0!important}
.df-sg-pill{margin-left:auto!important;margin-right:12px!important}
.module-signature-card .signature-details:not(.df-sg-teach) .signature-status-card{height:auto!important;max-height:none!important;min-height:60px!important;overflow:visible!important}
.module-signature-card .signature-details:not(.df-sg-teach) .row > [class*=col]{height:auto!important;display:flex}
.module-signature-card .signature-details:not(.df-sg-teach) .row > [class*=col] > .signature-status-card{flex:1}

/* Luk-krydset i pop-ups: hele firkanten lukker (typefeltet i toppen lå hen over knappen) (2026-11-02) */
html body .modal .modal-header .btn-close{position:relative!important;z-index:40!important;pointer-events:auto!important}
html body .modal .df-bd-type{pointer-events:none!important}
html body .modal .df-bd-type a, html body .modal .df-bd-type button{pointer-events:auto!important}

/* === Nye elever: "Vis alle elever" i listen + siden Afventer studerende i samme kortstil (2026-11-02) === */
.df-ap-all{position:sticky;bottom:0;display:flex;align-items:center;justify-content:center;gap:8px;margin:8px 0 0;min-height:48px;border-radius:14px;background:#fff;border:1.5px solid #DDE2EA;color:#33418F!important;font-weight:800;font-size:15px;text-decoration:none!important;box-shadow:0 -8px 14px -10px rgba(16,24,40,.25)}
.df-ap-all:hover{border-color:#33418F;background:#F5F7FD}
.df-ap-all b{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;margin-left:6px;border-radius:11px;background:#EEF1FA;color:#33418F;font-size:12px}
.df-onl-row{row-gap:4px}
.df-onl-row .student-card.awaiting{display:flex!important;flex-direction:column;gap:12px;height:100%;padding:16px!important;border:1px solid #E3E7EE!important;border-radius:16px!important;background:#fff!important;box-shadow:0 1px 2px rgba(16,24,40,.04)!important}
.df-onl-row .student-card.awaiting .student-card-header{display:flex!important;align-items:flex-start;gap:12px;margin:0!important;padding:0!important;border:0!important}
html body .df-onl-row .student-card.awaiting .student-card-img{display:block!important;width:auto!important;height:auto!important;background:none!important;border:0!important;padding:0!important;margin:0!important;flex:none}
.df-onl-row .df-onl-av{flex:none;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:900}
.df-onl-row .student-card-details{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}
.df-onl-row .student-card-details h5{margin:0!important;font-size:17px!important;font-weight:900!important;line-height:1.25}
.df-onl-row .student-card-details h5 a{color:#1B2333!important;text-decoration:none!important}
.df-onl-row .student-card-details h5 a::after{content:" \203A";color:#33418F;font-weight:900}
.df-onl-row .student-card-details h6{margin:0!important;font-size:13px!important;font-weight:600!important;color:#4A5263!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.df-onl-mt{margin-top:4px;font-size:13px;font-weight:700;color:#4A5263;display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.df-onl-new{display:inline-flex;align-items:center;height:20px;padding:0 8px;border-radius:10px;background:#E3F6EC;color:#146B3A;font-size:11.5px;font-weight:900;letter-spacing:.03em}
.df-onl-row .student-card.awaiting .student-card-body{margin:0!important;padding:0!important;border:0!important;flex:1}
.df-onl-row .student-card-body-content{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0!important;padding:0!important}
.df-onl-row .student-card-body-content h4{margin:0!important;font-size:11.5px!important;font-weight:900!important;letter-spacing:.08em;text-transform:uppercase;color:#6B7383!important}
.df-onl-row .teams-list{display:flex;flex-wrap:wrap;gap:6px;margin:0!important;padding:0!important;list-style:none}
.df-onl-row .teams-list li{margin:0!important;padding:0!important;background:none!important;border:0!important}
.df-onl-row .teams-list a{display:inline-flex;align-items:center;max-width:100%;height:28px;padding:0 10px;border-radius:8px;background:#F1F3F7;color:#1B2333!important;font-size:12.5px;font-weight:800;text-decoration:none!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.df-onl-row .student-card.awaiting .student-card-footer{display:grid!important;grid-template-columns:1fr 1.6fr;gap:10px;margin:0!important;padding:0!important;border:0!important}
.df-onl-row .student-card-footer form{margin:0!important;width:100%}
.df-onl-row .student-card-footer form:first-child{order:2}
.df-onl-row .student-card-footer form:last-child{order:1}
.df-onl-row .student-card-footer .btn, .df-onl-row .student-card-footer button{width:100%!important;min-height:48px!important;border-radius:12px!important;font-size:15px!important;font-weight:800!important;box-shadow:none!important;margin:0!important}
.df-onl-row .student-card-footer form:first-child .btn, .df-onl-row .student-card-footer form:first-child button{background:#33418F!important;border:1.5px solid #33418F!important;color:#fff!important}
.df-onl-row .student-card-footer form:last-child .btn, .df-onl-row .student-card-footer form:last-child button{background:#fff!important;border:1.5px solid #DDE2EA!important;color:#A3202C!important}
.df-onl-row .student-card-footer form:first-child button:hover{background:#2A3677!important}
.df-onl-row .student-card-footer form:last-child button:hover{border-color:#A3202C!important;background:#FFF5F5!important}

html body .df-onl-row .student-card.awaiting.df-stc .student-card-footer form:first-child button, html body .df-onl-row .student-card.awaiting .student-card-footer form:first-child .btn.btn-success{background:#33418F!important;border:1.5px solid #33418F!important;color:#fff!important}
html body .df-onl-row .student-card.awaiting.df-stc .student-card-footer form:last-child button, html body .df-onl-row .student-card.awaiting .student-card-footer form:last-child .btn.btn-danger{background:#fff!important;border:1.5px solid #DDE2EA!important;color:#A3202C!important}
html body .df-onl-row .student-card.awaiting.df-stc .student-card-footer form:first-child button:hover{background:#2A3677!important}
html body .df-onl-row .student-card.awaiting.df-stc .student-card-footer form:last-child button:hover{border-color:#A3202C!important;background:#FFF5F5!important}
html body .df-onl-row .student-card.awaiting .student-card-footer button *{color:inherit!important}
html body .df-onl-row .student-card-body-content h4{width:auto!important;flex:none!important;max-width:none!important}
html body .df-onl-row .teams-list{flex:1 1 0!important;min-width:0!important;width:auto!important}
html body .df-onl-row .teams-list li{max-width:100%!important;min-width:0}
html body .df-onl-row .teams-list a{max-width:100%!important;width:auto!important}
html body .df-onl-row .student-card-details, html body .df-onl-row .df-onl-mt{min-width:0!important;white-space:normal!important}
html body .df-onl-row .df-onl-mt{display:flex!important;flex-wrap:wrap!important;max-width:100%!important;overflow:visible!important}
html body .df-onl-row .student-card-header{min-width:0!important;max-width:100%!important}

/* === Meddelelser: nyt vindue og ny side (2026-11-02) === */
html body .notification-dropdown.df-nt{width:400px;max-width:calc(100vw - 24px);padding:0!important;border:1px solid #E3E7EE!important;border-radius:20px!important;box-shadow:0 18px 40px -12px rgba(16,24,40,.28)!important;overflow:hidden;background:#fff!important}
.df-nt-head{display:flex;align-items:center;gap:12px;padding:16px 16px 12px;border-bottom:1px solid #EEF0F4}
.df-nt-hic{flex:none;width:44px;height:44px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:#EEF1FA;color:#33418F}
.df-nt-ht{flex:1;min-width:0}
.df-nt-ht h5{margin:0!important;font-size:18px!important;font-weight:900!important;color:#1B2333}
.df-nt-ht small{font-size:13px;font-weight:700;color:#4A5263}
.df-nt-clear{border:0;background:#F1F3F7;color:#1B2333;font:inherit;font-size:13.5px;font-weight:800;border-radius:10px;padding:0 12px;min-height:36px;cursor:pointer}
.df-nt-clear:hover{background:#E6E9F0}
.df-nt-list{list-style:none;margin:0!important;padding:8px!important;max-height:min(60vh,460px);overflow-y:auto}
.df-nt-item{margin:0 0 4px!important;padding:0!important;background:none!important;border:0!important}
.df-nt-item > a, .df-nt-item .df-ntp-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;text-decoration:none!important;color:#1B2333!important;background:#fff;transition:background .12s}
.df-nt-item > a:hover{background:#F5F7FA}
.df-nt-item.is-new > a, .df-nt-item.is-new .df-ntp-row{background:#F2F5FF}
.df-nt-ic{flex:none;width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#E8F0FF;color:#1D3F8F}
.df-nt-item.k-change .df-nt-ic{background:#FFF3E0;color:#8A4B00}
.df-nt-item.k-cancel .df-nt-ic{background:#FDE8EA;color:#9B1C2B}
.df-nt-item.k-sign .df-nt-ic, .df-nt-item.k-done .df-nt-ic{background:#E3F6EC;color:#17603D}
.df-nt-item.k-request .df-nt-ic{background:#EEEBFF;color:#4A3AA8}
.df-nt-tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.df-nt-tx b{font-size:14.5px;font-weight:800;line-height:1.25;color:#1B2333}
.df-nt-tx small{font-size:12.5px;font-weight:700;color:#4A5263;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.df-nt-dot{flex:none;width:10px;height:10px;border-radius:50%;background:#33418F}
.df-nt-empty{display:flex;flex-direction:column;align-items:center;gap:6px;padding:28px 16px!important;text-align:center}
.df-nt-empty .df-nt-hic{background:#E3F6EC;color:#17603D}
.df-nt-empty b{font-size:15px;font-weight:900}
.df-nt-empty small{font-size:13px;color:#4A5263;font-weight:600}
.df-nt-all{display:flex;align-items:center;justify-content:center;gap:6px;min-height:50px;border-top:1px solid #EEF0F4;color:#33418F!important;font-weight:800;font-size:15px;text-decoration:none!important;background:#fff}
.df-nt-all:hover{background:#F5F7FD}
@media (max-width:575px){html body .notification-dropdown.df-nt{position:fixed!important;left:12px!important;right:12px!important;top:72px!important;width:auto;transform:none!important;inset:72px 12px auto 12px!important}}
/* fuld side */
.df-ntp{padding:20px!important;border-radius:20px!important}
.df-ntp-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.df-ntp-top h4{margin:0!important;font-size:20px!important;font-weight:900!important}
.df-ntp-top small{font-size:13px;font-weight:600;color:#4A5263}
.df-ntp-list{max-height:none!important;padding:0!important}
.df-ntp-row{align-items:flex-start!important;border:1px solid #EEF0F4}
.df-ntp-msg{font-size:14px;color:#1B2333;line-height:1.4;margin:2px 0}
.df-ntp-msg p{margin:0}
.df-ntp-acts{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.df-ntp-acts .btn, .df-ntp-acts a{border-radius:10px!important;font-weight:800!important}
.df-ntp-del{border:0;background:transparent;color:#6B7383;width:36px;height:36px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.df-ntp-del:hover{background:#FDE8EA;color:#9B1C2B}
.df-ntp-pg{margin-top:12px}
@media (max-width:575px){.df-ntp-row{flex-wrap:wrap}.df-ntp-acts{width:100%;justify-content:flex-start;padding-left:50px}}
html body .df-nt-item{display:block!important;width:100%!important}
html body .df-nt-item > a{width:100%!important;box-sizing:border-box}

/* Dagsoverblik: Næste-bookingen står også i listen, fremhævet (2026-11-02) */
html body .df-td-row.is-next{background:#fff!important;box-shadow:inset 0 0 0 2px var(--df-c),0 4px 12px -6px rgba(16,24,40,.25)!important}
html body .df-td-row.is-next .df-td-time b, html body .df-td-row.is-next .df-td-txt b{color:#1B2333!important}
.df-td-nowtag{display:inline-flex;align-items:center;height:20px;padding:0 8px;margin-left:6px;border-radius:10px;background:var(--df-c);color:var(--df-ink,#fff);font-style:normal;font-size:11.5px;font-weight:900;vertical-align:2px}

/* ===== Elevliste A (2026-11-02): én linje pr. elev ===== */
.df-sl-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0 12px}
.df-sl-tab{border:1px solid #E3E7EE;background:#fff;color:#344054;border-radius:999px;padding:7px 14px;font-size:14px;font-weight:600;display:inline-flex;align-items:center;gap:6px;cursor:pointer}
.df-sl-tab:hover{border-color:#B9C2D6}
.df-sl-tab.is-on{background:#33418F;border-color:#33418F;color:#fff}
.df-sl-cnt{min-width:22px;height:20px;padding:0 6px;border-radius:10px;background:#EEF1FA;color:#33418F;font-size:12px;display:inline-flex;align-items:center;justify-content:center}
.df-sl-tab.is-on .df-sl-cnt{background:rgba(255,255,255,.22);color:#fff}
.df-sl{border:1px solid #E3E7EE;border-radius:16px;background:#fff;overflow:visible;box-shadow:0 1px 2px rgba(16,24,40,.04)}
.df-sl-head,.df-sl-row{display:grid;grid-template-columns:minmax(200px,1.5fr) minmax(150px,1.1fr) minmax(170px,1.2fr) minmax(140px,1fr) 150px 74px;gap:14px;align-items:center;padding:12px 16px}
.df-sl-head{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#667085;border-bottom:1px solid #E3E7EE;background:#F8F9FC;border-radius:16px 16px 0 0}
.df-sl-row{border-bottom:1px solid #EEF0F4}
.df-sl-row:last-of-type{border-bottom:0}
.df-sl-row:hover{background:#FAFBFD}
.df-sl-row small{display:block;color:#667085;font-size:13px;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.df-sl-row b{display:block;color:#101828;font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.df-sl-who{display:flex;align-items:center;gap:12px;min-width:0;text-decoration:none!important;color:inherit}
.df-sl-av{flex:none;width:40px;height:40px;border-radius:50%;background:#EEF1FA;color:#33418F;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px}
.df-sl-id{min-width:0}
.df-sl-who:hover b{color:#33418F}
.df-sl-team,.df-sl-prog,.df-sl-next{min-width:0}
.df-sl-lbl{display:none}
.df-sl-bar{height:6px;border-radius:3px;background:#EEF0F4;overflow:hidden;margin-bottom:5px}
.df-sl-bar i{display:block;height:100%;background:#33418F;border-radius:3px}
.df-sl-none{color:#98A2B3!important}
.df-sl-pill{display:inline-block;padding:4px 10px;border-radius:999px;font-size:12.5px;font-weight:700;white-space:nowrap}
.df-sl-pill.is-ok{background:#EAF2FF;color:#1D4ED8}
.df-sl-pill.is-test{background:#F3EBFF;color:#6D28D9}
.df-sl-pill.is-sign{background:#FDECEC;color:#B42318}
.df-sl-pill.is-nobook{background:#FFF3E5;color:#B54708}
.df-sl-act{display:flex;align-items:center;justify-content:flex-end;gap:4px;position:relative}
.df-sl-more,.df-sl-go{width:32px;height:32px;border-radius:8px;border:0;background:transparent;color:#475467;font-size:20px;line-height:1;display:inline-flex;align-items:center;justify-content:center;text-decoration:none!important}
.df-sl-more:hover,.df-sl-go:hover{background:#F2F4F7;color:#101828}
.df-sl-menu{padding:8px!important;border-radius:12px!important;border:1px solid #E3E7EE!important;box-shadow:0 8px 24px rgba(16,24,40,.12)!important;min-width:0!important}
.df-sl-menu > ul{margin:0!important;flex-wrap:wrap;gap:6px!important}
.df-sl-row small b{display:inline;font-size:13px}
@media (max-width:991px){.df-sl-row{grid-template-areas:"who act" "team team" "prog prog" "next st"}.df-sl-lbl{margin-bottom:1px}.df-sl-row .df-sl-bar{margin:3px 0 4px}}
.df-sl-menu{width:max-content!important}
.df-sl-menu > ul{flex-direction:row!important;flex-wrap:nowrap!important}
@media (max-width:991px){
 .df-sl{border:0;background:transparent;box-shadow:none}
 .df-sl-head{display:none}
 .df-sl-row{grid-template-columns:1fr auto;grid-template-areas:"who act" "team team" "prog prog" "next st";gap:10px 12px;margin-bottom:10px;border:1px solid #E3E7EE!important;border-radius:14px;background:#fff;padding:14px}
 .df-sl-who{grid-area:who}.df-sl-act{grid-area:act}.df-sl-team{grid-area:team}.df-sl-prog{grid-area:prog}.df-sl-next{grid-area:next}.df-sl-st{grid-area:st;align-self:end;justify-self:end}
 .df-sl-lbl{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#98A2B3;margin-bottom:2px}
 .df-sl-tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}
 .df-sl-tab{flex:none}
}

/* Elevliste A – farver som i designet (2026-11-02) */
.df-sl-row{color:#1B2333}
.df-sl-row b{color:#1B2333;font-weight:800}
.df-sl-who b{font-size:15.5px}
.df-sl-row small{color:#4A5263;font-weight:600;font-size:12.5px}
.df-sl-row small b{font-weight:800}
.df-sl-head{background:#fff;color:#4A5263;font-weight:900;letter-spacing:.07em}
.df-sl{border-radius:18px}
.df-sl-row{border-bottom-color:#F1F3F7}
.df-sl-av.is-c0{background:#E8F0FF;color:#1D3F8F}
.df-sl-av.is-c1{background:#EEEBFF;color:#4A3AA8}
.df-sl-av.is-c2{background:#FDE8EF;color:#9B1C4B}
.df-sl-av.is-c3{background:#E0F6F8;color:#0B5F6B}
.df-sl-av.is-c4{background:#FFF3E0;color:#8A4B00}
.df-sl-av.is-c5{background:#E3F6EC;color:#17603D}
.df-sl-av{font-weight:900;font-size:13px}
.df-sl-bar{height:7px;border-radius:4px}
.df-sl-pill{height:26px;padding:0 10px;border-radius:13px;font-weight:800;display:inline-flex;align-items:center}
.df-sl-pill.is-ok{background:#E8F0FF;color:#1D3F8F}
.df-sl-pill.is-test{background:#EEEBFF;color:#4A3AA8}
.df-sl-pill.is-sign{background:#FDE8EA;color:#9B1C2B}
.df-sl-pill.is-nobook{background:#FFF3E0;color:#8A4B00}
.df-sl-go{width:36px;height:36px;border-radius:10px;background:#F1F3F9;color:#33418F;font-size:22px;font-weight:700}
.df-sl-go:hover{background:#E4E8F4;color:#33418F}
.df-sl-tabs{display:inline-flex;gap:4px;background:#EEF1F6;padding:4px;border-radius:14px}
.df-sl-tab{border:0;background:transparent;color:#4A5263;border-radius:10px;height:40px;padding:0 14px;font-weight:800}
.df-sl-tab:hover{background:rgba(255,255,255,.6)}
.df-sl-tab.is-on{background:#fff;color:#1B2333;box-shadow:0 1px 2px rgba(16,24,40,.1)}
.df-sl-cnt{background:transparent;color:inherit;opacity:.75;padding:0;min-width:0}
.df-sl-tab.is-on .df-sl-cnt{background:transparent;color:inherit}
@media (max-width:991px){.df-sl-tabs{display:flex;max-width:100%}}

/* CPR-felt maskeret med Vis/Skjul (2026-11-02) */
.df-cpr{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}
.df-cpr-val{font-variant-numeric:tabular-nums;letter-spacing:.02em}
.df-cpr-btn{border:1px solid #DDE2EA;background:#fff;color:#33418F;border-radius:8px;padding:2px 10px;font-size:12.5px;font-weight:700;line-height:1.6;cursor:pointer}
.df-cpr-btn:hover{background:#F1F3F9}

/* Klikbar mail/telefon på elevsiden (2026-11-02) */
.df-contact-link{color:#33418F!important;font-weight:700;text-decoration:none}
.df-contact-link:hover{text-decoration:underline}
.df-contact-sms{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:8px;border:1px solid #DDE2EA;font-size:12px;font-weight:700;color:#33418F!important;text-decoration:none}

/* 2026-11-02: menuen uden baggrundsmønster (Mo: ingen hashtags/ikoner bag tekst) */
aside.sidebar { background-image: none !important; }

/* === Web-uge: kompakte bookingkort (Mo 2026-11-02) === */
@media (min-width:576px){
/* Lektioner/prøver: kun navnet på én linje (for langt navn afkortes med ".." af df-event-hover.js), ingen bookingtype */
html body .fc .fc-timegrid-event:is(.practical-lesson,.practical-test) .df-ev-main{display:block!important;-webkit-line-clamp:unset!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:clip!important}
html body .fc .fc-timegrid-event:is(.practical-lesson,.practical-test) .df-ev-sub{display:none!important}
html body .fc .fc-timegrid-event:is(.practical-lesson,.practical-test) .fc-event-title.df-cut{display:flex!important;align-items:baseline;min-width:0}
html body .fc .fc-timegrid-event:is(.practical-lesson,.practical-test) .fc-event-title.df-cut .df-ev-main{flex:0 0 auto}
html body .fc .fc-timegrid-event:is(.practical-lesson,.practical-test) .fc-event-title.df-cut::after{content:'..';flex:0 0 auto;font-weight:800;font-size:inherit}
/* Korte bookinger: navn (lille) øverst, tid under */
html body .fc .fc-timegrid-event.df-ev-short{padding-top:1px!important;padding-bottom:1px!important}
html body .fc .fc-timegrid-event.df-ev-short > .fc-event-main{padding-top:0!important;padding-bottom:0!important}
html body .fc .fc-timegrid-event.df-ev-short .fc-event-main .fc-event-main{flex-direction:column!important;align-items:stretch!important;justify-content:center!important;gap:0!important;padding-top:0!important;padding-bottom:0!important;min-width:0;overflow:hidden}
html body .fc .fc-timegrid-event.df-ev-short .fc-event-title{order:1!important;flex:0 0 auto!important;height:auto!important;max-height:none!important;min-width:0!important;margin:0!important;overflow:hidden!important}
html body .fc .fc-timegrid-event.df-ev-short .df-ev-main{display:block!important;-webkit-line-clamp:unset!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:clip!important;font-size:11px!important;line-height:1.1!important}
html body .fc .fc-timegrid-event.df-ev-short .df-ev-sub{display:none!important}
html body .fc .fc-timegrid-event.df-ev-short .fc-event-time{order:2!important;flex:0 0 auto!important;font-size:9.5px!important;line-height:1.05!important;font-weight:600!important;opacity:.85;margin:0!important;white-space:nowrap;overflow:hidden}
/* Bil-ikonet i hjørnet, så det ikke skubber navnet væk */
html body .fc .fc-timegrid-event:is(.practical-lesson,.practical-test,.theory-booking){position:relative}
html body .fc .fc-timegrid-event:is(.practical-lesson,.practical-test,.theory-booking) i[class*="fi-"]{position:absolute!important;top:3px;right:5px;font-size:11px;line-height:1;margin:0!important}
}

@media (min-width:576px){
/* Luft mellem bookinger, der ligger lige efter hinanden */
html body .fc .fc-timegrid-event-harness > .fc-timegrid-event{height:calc(100% - 2px)!important;min-height:0!important;margin-bottom:0!important;overflow:hidden}
/* Navnet prioriteres: tiden står under og klippes væk først, hvis kortet er lavt */
html body .fc .fc-timegrid-event:is(.practical-lesson,.practical-test):not(.df-ev-short) .fc-event-main .fc-event-main{display:flex!important;flex-direction:column!important;overflow:hidden}
html body .fc .fc-timegrid-event:is(.practical-lesson,.practical-test):not(.df-ev-short) .fc-event-title{order:1!important;flex:0 0 auto!important}
html body .fc .fc-timegrid-event:is(.practical-lesson,.practical-test):not(.df-ev-short) .fc-event-time{order:2!important;font-size:11px!important;opacity:.85}
}

/* Faste dagkolonner: alle dage lige brede, også tomme dage (Mo 2026-11-02 "lås kalenderens dage") */
html body .fc .fc-timeGridWeek-view .df-day-empty{width:auto!important}
html body .fc .fc-timeGridWeek-view th.df-day-empty .fc-col-header-cell-cushion{font-size:inherit!important;white-space:nowrap;padding:inherit!important}

/* Forhåndsbookinger ligger altid bagerst, så lektioner/overbookinger ses ovenpå (Mo 2026-11-02) */
html body .fc .fc-timegrid-event-harness:has(> .fc-timegrid-event.pre-booking){z-index:1!important}
@media (min-width:576px){html body .fc .fc-timegrid-event-harness:has(> .fc-timegrid-event.pre-booking){left:0!important;right:0!important;inset-inline-start:0!important;inset-inline-end:0!important}}
html body .fc .fc-timegrid-event-harness:not(:has(> .fc-timegrid-event.pre-booking)){z-index:5!important}
html body .fc .fc-timegrid-event-harness:not(:has(> .fc-timegrid-event.pre-booking)):hover{z-index:6!important}
