@font-face { font-family:"MobileBooking Poppins"; src:url("/assets/fonts/Poppins-Regular.ttf") format("truetype"); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:"MobileBooking Poppins"; src:url("/assets/fonts/Poppins-Medium.ttf") format("truetype"); font-weight:500; font-style:normal; font-display:swap; }
@font-face { font-family:"MobileBooking Poppins"; src:url("/assets/fonts/Poppins-SemiBold.ttf") format("truetype"); font-weight:600; font-style:normal; font-display:swap; }
@font-face { font-family:"MobileBooking Poppins"; src:url("/assets/fonts/Poppins-Bold.ttf") format("truetype"); font-weight:700; font-style:normal; font-display:swap; }

html[data-appearance="glass-air"][data-design="v2"][data-theme],
html[data-appearance="glass-air"][data-design="v2"][data-theme] body {
  --font:"MobileBooking Poppins",system-ui,sans-serif!important; --font-body:var(--font)!important; --font-heading:var(--font)!important;
  --air-bg:var(--mb-paper); --air-soft:var(--mb-soft); --air-text:var(--mb-ink); --air-muted:var(--mb-muted);
  --air-line:var(--mb-line); --air-line-strong:var(--mb-line-strong); --air-glass:var(--mb-paper);
  --air-action:var(--mb-action-bg); --air-on-action:var(--mb-action-text);
  --air-accent:var(--mb-blue); --air-accent-hover:var(--mb-blue-hover); --air-selected:var(--mb-blue-soft);
  --air-success:var(--mb-success); --air-success-bg:var(--mb-success-soft);
  --air-danger:var(--mb-danger); --air-danger-bg:var(--mb-danger-soft);
  --air-warning:var(--mb-warning); --air-warning-bg:var(--mb-warning-soft);
  --air-info:var(--mb-blue); --air-info-bg:var(--mb-blue-soft);
  font-family:var(--font)!important; background:var(--air-bg); color:var(--air-text);
}
/* Map existing semantic families at their owning scopes, including legacy
   shell descendants that otherwise redeclare the old palette. */
html[data-appearance="glass-air"][data-design="v2"][data-theme],
html[data-appearance="glass-air"][data-design="v2"][data-theme] body,
html[data-appearance="glass-air"][data-design="v2"][data-theme] body.admin-v4,
html[data-appearance="glass-air"][data-design="v2"][data-theme] body.app-v4.mb-workspace:not(.bkc-mode),
html[data-appearance="glass-air"][data-design="v2"][data-theme] :is(nav.nav,.mb-shell-header-region,.mb-shell-sidebar-region,#admin-nav-tabs,.mob-bnav) {
  --mb-premium-bg:var(--air-bg); --mb-premium-bg-2:var(--air-soft);
  --mb-premium-surface:var(--air-bg); --mb-premium-surface-2:var(--air-soft);
  --mb-premium-elevated:var(--air-bg); --mb-premium-line:var(--air-line); --mb-premium-line-strong:var(--air-line-strong);
  --mb-premium-text:var(--air-text); --mb-premium-text-2:var(--air-text);
  --mb-premium-muted:var(--air-muted); --mb-premium-muted-2:var(--air-muted);
  --mb-premium-blue:var(--air-accent); --mb-premium-blue-2:var(--air-accent); --mb-premium-cyan:var(--air-accent);
  --mb-premium-green:var(--air-success); --mb-premium-danger:var(--air-danger); --mb-premium-warn:var(--air-warning);
  --mb-premium-gradient:none; --mb-premium-gradient-soft:none; --mb-premium-shadow:none; --mb-premium-shadow-blue:none;
  --mb-user-bg:var(--air-bg); --mb-user-surface:var(--air-bg); --mb-user-surface-alt:var(--air-soft);
  --mb-user-text:var(--air-text); --mb-user-muted:var(--air-muted); --mb-user-soft:var(--air-muted);
  --mb-user-line:var(--air-line); --mb-user-line-strong:var(--air-line-strong);
  --mb-user-petrol:var(--air-accent); --mb-user-petrol-strong:var(--air-accent); --mb-user-accent:var(--air-accent); --mb-user-petrol-soft:var(--air-soft);
  --ws-primary:var(--air-action); --ws-primary-text:var(--air-on-action); --ws-selected:var(--air-selected); --ws-selected-text:var(--air-text); --ws-focus:var(--air-accent);
  --mb-shell-bg:var(--air-bg); --mb-shell-surface:var(--air-bg); --mb-shell-surface-soft:var(--air-soft);
  --mb-shell-text:var(--air-text); --mb-shell-text-muted:var(--air-muted); --mb-shell-text-soft:var(--air-muted);
  --mb-shell-border:var(--air-line); --mb-shell-border-strong:var(--air-line-strong); --mb-shell-divider:var(--air-line);
  --mb-shell-accent:var(--air-accent); --mb-shell-accent-strong:var(--air-accent); --mb-shell-accent-soft:var(--air-soft); --mb-shell-accent-bar:var(--air-accent); --mb-shell-danger:var(--air-danger);
  --rl-canvas:var(--air-bg); --rl-canvas-2:var(--air-soft); --rl-surface:var(--air-bg); --rl-surface-soft:var(--air-soft); --rl-surface-muted:var(--air-soft);
  --rl-text:var(--air-text); --rl-text-2:var(--air-muted); --rl-text-3:var(--air-muted); --rl-text-4:var(--air-muted);
  --rl-line:var(--air-line); --rl-line-strong:var(--air-line-strong); --rl-line-accent:var(--air-text);
  --rl-petrol:var(--air-accent); --rl-petrol-deep:var(--air-accent); --rl-teal:var(--air-accent); --rl-danger:var(--air-danger);
  --rl-gradient:none; --rl-gradient-soft:none; --rl-wash:none; --rl-shadow:none; --rl-shadow-sm:none; --rl-shadow-lg:none;
  --bg:var(--air-bg); --s1:var(--air-bg); --s2:var(--air-soft); --s3:var(--air-soft)!important; --s4:var(--air-line)!important;
  --t1:var(--air-text); --t2:var(--air-text); --t3:var(--air-muted); --t4:var(--air-muted);
  --b1:var(--air-line); --b2:var(--air-line); --b3:var(--air-line-strong);
  --np:var(--air-accent); --na:var(--air-accent); --nb:var(--air-info); --ng:var(--air-success); --nd:var(--air-danger); --nv:var(--air-accent);
  --sh:none; --sh2:none; --color-primary:var(--air-accent); --color-primary-hover:var(--air-accent); --color-primary-soft:var(--air-soft);
  --canvas:var(--air-bg); --surface:var(--air-bg); --surface-1:var(--air-bg); --surface-2:var(--air-soft); --surface-elevated:var(--air-bg);
  --text-1:var(--air-text); --text-2:var(--air-muted); --text-primary:var(--air-text); --text-secondary:var(--air-text); --text-muted:var(--air-muted);
  --border:var(--air-line); --border-strong:var(--air-line-strong); --shadow:none; --shadow-glow:none;
  --color-success:var(--air-success); --color-danger:var(--air-danger); --color-warning:var(--air-warning);
  --accent-emerald:var(--air-accent); --accent-emerald-hover:var(--air-accent);
  --accent-emerald-soft:var(--air-soft); --on-primary:var(--air-bg);
  --v11-bg:var(--air-bg); --v11-bg-warm:var(--air-soft);
  --v11-ink:var(--air-text); --v11-ink-soft:var(--air-muted); --v11-ink-muted:var(--air-muted);
  --v11-mint:var(--air-accent); --v11-mint-deep:var(--air-accent); --v11-teal:var(--air-accent); --v11-deep:var(--air-text); --v11-blue:var(--air-accent); --v11-champagne:var(--air-text);
  --v11-surface:var(--air-glass); --v11-surface-strong:var(--air-bg); --v11-line:var(--air-line); --v11-line-strong:var(--air-line-strong);
  --v11-gradient-cta:linear-gradient(var(--air-accent),var(--air-accent)); --v11-gradient-cta-hover:var(--v11-gradient-cta);
  --v11-gradient-brand-text:var(--v11-gradient-cta); --v11-gradient-mint:none; --v11-shadow-cta:none;
}
/* Support also appears on public and admin pages. */
html[data-appearance="glass-air"][data-design="v2"][data-theme] body #supw-fab.supw-fab {
  background:var(--air-action)!important; color:var(--air-on-action)!important; box-shadow:none!important; filter:none;
}
html[data-appearance="glass-air"][data-design="v2"][data-theme] body #supw-fab.supw-fab svg {
  color:var(--air-on-action)!important; stroke:var(--air-on-action)!important;
}
html[data-appearance="glass-air"][data-design="v2"][data-theme] body #supw-panel :is(.supw-head,.supw-rating-box,.supw-type) {
  background:var(--air-soft)!important; color:var(--air-text)!important; border-color:var(--air-line)!important; box-shadow:none!important;
}
html[data-appearance="glass-air"][data-design="v2"][data-theme] body #supw-panel :is(.supw-btn-p,.supw-type.is-active) {
  background:var(--air-action)!important; color:var(--air-on-action)!important; border-color:var(--air-accent)!important;
  box-shadow:none!important; animation:none!important; transform:none;
}
html[data-appearance="glass-air"][data-design="v2"][data-theme] body #supw-panel :is(.supw-type,.supw-btn-p) svg { color:inherit!important; }
html[data-appearance="glass-air"][data-design="v2"][data-theme] body #supw-panel :is(input,textarea):focus {
  border-color:var(--air-accent); box-shadow:none;
}
/* Legacy utility controls contain literal brand gradients, not theme tokens. */
html[data-appearance="glass-air"][data-design="v2"][data-theme] body.app-v4.mb-workspace :is(.supw-fab,.supw-fab:hover,.ob-progress-bar,.ob-mini__cta,.ob-step-cta:hover) {
  background:var(--air-action)!important; color:var(--air-on-action)!important;
  -webkit-text-fill-color:var(--air-on-action)!important; border-color:var(--air-accent)!important;
  box-shadow:none!important;
}
html[data-appearance="glass-air"][data-design="v2"][data-theme] body.app-v4.mb-workspace .ob-panel::before { content:none!important; }
html[data-appearance="glass-air"][data-design="v2"][data-theme] body {
  background:var(--air-bg)!important; color:var(--air-text)!important; letter-spacing:0;
}
html[data-appearance="glass-air"] body::before,
html[data-appearance="glass-air"] body::after { content:none!important; }
html[data-appearance="glass-air"][data-design="v2"][data-theme] body :is(#app,.page,.ac-cal,#admin-main) {
  background-color:var(--air-bg)!important; background-image:none!important;
}
html[data-appearance="glass-air"][data-design="v2"][data-theme] body.app-v4.mb-workspace:not(.bkc-mode) #app > nav.nav.mb-app-shell,
html[data-appearance="glass-air"][data-design="v2"][data-theme] body :is(.mb-shell-header-region,#admin-nav-tabs) {
  background:var(--air-glass)!important; backdrop-filter:none; box-shadow:none!important; border-color:var(--air-line)!important;
}
html[data-appearance="glass-air"][data-design="v2"][data-theme] body :is(.nav-brand,.mb-shell-header-region--brand,.mb-wordmark) {
  background:transparent!important; border:0!important; box-shadow:none!important;
}
html[data-appearance="glass-air"][data-design="v2"][data-theme] body #nav-av {
  box-shadow:none!important; filter:none!important; background:var(--air-action)!important; color:var(--air-on-action)!important; -webkit-text-fill-color:var(--air-on-action)!important;
}
html[data-appearance="glass-air"][data-design="v2"][data-theme] body :is(h1,h2,h3,.mb-page-hero__title) { letter-spacing:0!important; }
html[data-appearance="glass-air"][data-design="v2"][data-theme] body :is(button,input,select,textarea,a):focus-visible {
  outline:2px solid var(--air-accent)!important; outline-offset:3px;
}
html[data-appearance="glass-air"][data-design="v2"][data-theme] body.admin-v4 .btn-p,
html[data-appearance="glass-air"][data-design="v2"][data-theme] body #app :is(.btn-p,.mb-btn--primary,.btn-primary) {
  background:var(--air-action)!important; color:var(--air-on-action)!important; -webkit-text-fill-color:var(--air-on-action)!important;
  border-color:var(--air-accent)!important; box-shadow:none!important; text-shadow:none!important;
}
html[data-appearance="glass-air"][data-design="v2"][data-theme] body #app :is(.btn-p,.mb-btn--primary,.btn-primary) :is(span,svg) { color:inherit!important; -webkit-text-fill-color:inherit!important; }
html[data-appearance="glass-air"][data-design="v2"][data-theme] body #app :is(.mb-cust__detail,.mb-req__detail,.mb-req__list,.mb-cust__list,.ac-cal__shell,.bw-card,.mb-treat-card) {
  background:var(--air-bg)!important; background-image:none!important; border-color:var(--air-line)!important; box-shadow:none!important; border-radius:12px!important;
}
html[data-appearance="glass-air"][data-design="v2"][data-theme] body.app-v4.mb-workspace:not(.bkc-mode) #app > #page-kunden .mb-cust__kpis {
  padding:12px 24px!important; gap:12px 24px!important; background:var(--air-bg)!important;
}
html[data-appearance="glass-air"][data-design="v2"][data-theme] body.app-v4.mb-workspace:not(.bkc-mode) #app > #page-kunden .mb-cust__kpi { gap:4px!important; }
html[data-appearance="glass-air"][data-design="v2"][data-theme] body.app-v4.mb-workspace:not(.bkc-mode) #app > #page-kunden .mb-cust__kpi-label { font-size:12px!important; }
html[data-appearance="glass-air"][data-design="v2"][data-theme] body.app-v4.mb-workspace:not(.bkc-mode) #app > #page-kunden .mb-cust__kpi-value { font-size:20px!important; line-height:1.35!important; }
html[data-appearance="glass-air"][data-design="v2"][data-theme] body #app :is(.mb-cust__row,.mb-req__item) { box-shadow:none!important; border-radius:0!important; }
html[data-appearance="glass-air"][data-design="v2"][data-theme] body #app :is(.mb-cust__row,.mb-req__item)[data-selected="true"] { background:var(--air-soft)!important; border-color:var(--air-line)!important; }
html[data-appearance="glass-air"][data-design="v2"][data-theme] body #app .mb-req__status-pill[data-status="accepted"] { background:var(--air-success-bg)!important; color:var(--air-success)!important; -webkit-text-fill-color:var(--air-success)!important; }
html[data-appearance="glass-air"][data-design="v2"][data-theme] body #app .mb-req__status-pill[data-status="declined"] { background:var(--air-danger-bg)!important; color:var(--air-danger)!important; -webkit-text-fill-color:var(--air-danger)!important; }
html[data-appearance="glass-air"][data-design="v2"][data-theme] body #app .mb-req__status-pill[data-status="new"] { background:var(--air-info-bg)!important; color:var(--air-info)!important; -webkit-text-fill-color:var(--air-info)!important; }
html[data-appearance="glass-air"][data-design="v2"][data-theme] body #app .mb-req__status-pill[data-status="expired"] { background:var(--air-soft)!important; color:var(--air-muted)!important; -webkit-text-fill-color:var(--air-muted)!important; }
html[data-appearance="glass-air"][data-design="v2"][data-theme] body #page-buchung :is(.bw-hd,.bw-card,.bw-treat-card,.bw-treat-availability,.bw-nav) { background-image:none!important; box-shadow:none!important; }
html[data-appearance="glass-air"][data-design="v2"][data-theme] body #page-buchung :is(.bw-treat-card,.bw-treat-availability) { background-color:var(--air-bg)!important; border-color:var(--air-line)!important; }
html[data-appearance="glass-air"][data-design="v2"][data-theme] body #page-buchung .bw-treat-card:has(input:checked) { border-color:var(--air-accent)!important; }
html[data-appearance="glass-air"][data-design="v2"][data-theme] body.app-v4.mb-workspace :is(input,select,textarea) { accent-color:var(--air-accent)!important; }
html[data-appearance="glass-air"][data-design="v2"][data-theme] body #settings-workspace :is(.settings-topic-row,.settings-section) { box-shadow:none!important; }
@media(max-width:640px) {
  html[data-appearance="glass-air"][data-design="v2"][data-theme] body.app-v4.mb-workspace:not(.bkc-mode) #app > #page-kunden .mb-cust__kpis { padding:12px 16px!important; gap:12px 16px!important; }
  html[data-appearance="glass-air"][data-design="v2"][data-theme] body :is(.mobile-more-sheet,.mob-bnav) { background:var(--air-glass)!important; color:var(--air-text)!important; backdrop-filter:none; }
}
@media(prefers-reduced-transparency:reduce) {
  html[data-appearance="glass-air"][data-design="v2"][data-theme] body :is(nav.nav,.mb-shell-header-region,#admin-nav-tabs,.mobile-more-sheet,.mob-bnav) { background:var(--air-bg)!important; backdrop-filter:none!important; }
}
@media(prefers-reduced-motion:reduce) {
  html[data-appearance="glass-air"] body,
  html[data-appearance="glass-air"] body * { transition:none!important; scroll-behavior:auto!important; }
}
/* Match the legacy workspace selectors so semantic states are not flattened
   by its generic panel and badge rules. */
html[data-appearance="glass-air"][data-design="v2"][data-theme] body.app-v4.mb-workspace:not(.bkc-mode) #app > #page-kunden.page .mb-cust__kpis {
  background:var(--air-bg)!important; border-radius:0!important; gap:8px 24px!important;
}
html[data-appearance="glass-air"][data-design="v2"][data-theme] body.app-v4.mb-workspace:not(.bkc-mode) #app > #page-kunden.page .mb-cust__row {
  border-radius:0!important; box-shadow:none!important; border:0!important; border-bottom:1px solid var(--air-line)!important;
}
html[data-appearance="glass-air"][data-design="v2"][data-theme] body.app-v4.mb-workspace:not(.bkc-mode) #app > #page-anfragen.page .mb-req__status-pill {
  background:var(--air-status-bg,var(--air-soft))!important; color:var(--air-status,var(--air-muted))!important; -webkit-text-fill-color:var(--air-status,var(--air-muted))!important;
}
html[data-appearance="glass-air"] .mb-req__status-pill[data-status="accepted"] { --air-status:var(--air-success); --air-status-bg:var(--air-success-bg); }
html[data-appearance="glass-air"] .mb-req__status-pill[data-status="declined"] { --air-status:var(--air-danger); --air-status-bg:var(--air-danger-bg); }
html[data-appearance="glass-air"] .mb-req__status-pill[data-status="new"] { --air-status:var(--air-info); --air-status-bg:var(--air-info-bg); }
html[data-appearance="glass-air"][data-design="v2"][data-theme] body.admin-v4 {
  /* The legacy admin shell pins these aliases with !important. Resolve them
     here as well so secondary text and table borders cannot stay petrol. */
  --mb-admin-bg:var(--air-bg); --mb-admin-surface:var(--air-bg); --mb-admin-surface-alt:var(--air-soft);
  --mb-admin-text:var(--air-text); --mb-admin-muted:var(--air-muted); --mb-admin-soft:var(--air-muted);
  --mb-admin-line:var(--air-line); --mb-admin-line-strong:var(--air-line-strong);
  --mb-admin-petrol:var(--air-accent); --mb-admin-petrol-strong:var(--air-accent); --mb-admin-petrol-soft:var(--air-soft);
  --np:var(--air-accent)!important; --na:var(--air-accent)!important; --nv:var(--air-accent)!important; --nc:var(--air-accent)!important;
  --nb:var(--air-info)!important; --ng:var(--air-success)!important; --nd:var(--air-danger)!important;
  --bg:var(--air-bg)!important; --s0:var(--air-bg)!important; --s1:var(--air-bg)!important; --s2:var(--air-soft)!important;
  --b1:var(--air-line)!important; --b2:var(--air-line)!important; --b3:var(--air-line-strong)!important;
  --t1:var(--air-text)!important; --t2:var(--air-text)!important; --t3:var(--air-muted)!important; --t4:var(--air-muted)!important;
  background:var(--air-bg)!important; color:var(--air-text)!important;
}
html[data-appearance="glass-air"][data-design="v2"][data-theme] body.admin-v4 :is(.content,.table-wrap,.table-header,.card,.panel,.admin-card,.tenant-card,.stat-card,.info-card,.mb-card,.kpi-card,.dash-mod,.tfa-card) {
  background:var(--air-bg)!important; color:var(--air-text)!important; border-color:var(--air-line)!important; box-shadow:none!important;
}
html[data-appearance="glass-air"][data-design="v2"][data-theme] body.admin-v4 :is(.btn-n,thead,th,.nav-user,.nav-brand) {
  background:var(--air-soft)!important; color:var(--air-text)!important; border-color:var(--air-line)!important; box-shadow:none!important;
}
html[data-appearance="glass-air"][data-design="v2"][data-theme] body.admin-v4 :is(input,select,textarea) {
  background:var(--air-bg)!important; color:var(--air-text)!important; border-color:var(--air-line-strong)!important; box-shadow:none!important;
}
html[data-appearance="glass-air"][data-design="v2"][data-theme] body.admin-v4 nav.nav {
  background:var(--air-glass)!important; border-color:var(--air-line)!important; box-shadow:none!important;
}
html[data-appearance="glass-air"][data-design="v2"][data-theme] body.admin-v4 .nav-brand { background:transparent!important; }

/* Shared control states across public, tenant and operator surfaces. */
html[data-appearance="glass-air"] body { font-size:16px; line-height:1.5; }
html[data-appearance="glass-air"] :is(button,input,select,textarea) { font-family:var(--font); }
html[data-appearance="glass-air"] button { min-height:44px!important; min-width:44px; }
html[data-appearance="glass-air"] :is(.btn,.mb-btn,.btn-primary,.btn-submit) { min-height:44px; border-radius:8px; font-weight:600; transition:background-color 180ms,border-color 180ms,opacity 180ms; }
html[data-appearance="glass-air"] :is(button,a)[aria-disabled="true"],html[data-appearance="glass-air"] button:disabled { opacity:.55; cursor:not-allowed; }
html[data-appearance="glass-air"] :is(button,a):not(:disabled):active { translate:0 1px; }
html[data-appearance="glass-air"] :is(input,select,textarea):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="range"]):not([type="color"]):not([type="file"]) { min-height:44px!important; font-size:16px!important; }
html[data-appearance="glass-air"] :is(.fl,.field-label,.al-label) { font-size:13px; line-height:1.5; }
html[data-appearance="glass-air"] :is(.page-title,.mb-page-hero__title) { font-size:clamp(24px,2.5vw,32px); line-height:1.25; }
html[data-appearance="glass-air"] :is(h1,h2,h3) { font-weight:600; text-wrap:balance; }
html[data-appearance="glass-air"] :is(.kpi-val,.stat-value,.mb-cust__kpi-value,td) { font-variant-numeric:tabular-nums; }
html[data-appearance="glass-air"] :is(.btn-p,.mb-btn--primary,.btn-primary):not(:disabled):hover { filter:brightness(.92); }
html[data-appearance="glass-air"] :is(button,input,select,textarea,a):focus-visible { outline:2px solid var(--air-accent); outline-offset:3px; }
html[data-appearance="glass-air"] :is(input,textarea)[aria-invalid="true"] { border-color:var(--air-danger)!important; }
@media(prefers-reduced-motion:reduce) { html[data-appearance="glass-air"] :is(button,a):active { translate:none; } }
