/* Dienstplanung – standalone visual layer. Elementor colours are intentionally overridden. */
body.dienstplanung-page{background:#050505!important;color:#fff!important}
body.dienstplanung-page .elementor,body.dienstplanung-page .elementor-section,body.dienstplanung-page .e-con,body.dienstplanung-page .elementor-widget-shortcode,body.dienstplanung-page .elementor-widget-container{background:transparent!important}
body.dienstplanung-page .elementor-button,body.dienstplanung-page button{box-shadow:none}
.dienstplanung-public{--red:#e30613;--red-dark:#b8000d;--bg:#050505;--panel:#101010;--panel2:#151515;--line:#292929;--muted:#a8a8a8;max-width:1440px;margin:-18px auto 0;padding:10px 28px 64px;font-family:Arial,Helvetica,sans-serif;color:#fff!important;background:var(--bg)!important;min-height:100vh}
.dienstplanung-public *{box-sizing:border-box;font-family:Arial,Helvetica,sans-serif!important}
.od-hero{padding:14px 0 30px;border-bottom:1px solid var(--red)}
.od-brand{position:relative;display:block;min-height:90px}.od-title-block{position:relative;z-index:2}.od-logo-img{position:absolute;top:0;height:auto;max-width:350px;max-height:350px;object-fit:contain;object-position:center;display:block;z-index:1}.od-logo-img.od-logo-position-left{left:0}.od-logo-img.od-logo-position-center{left:50%;transform:translateX(-50%)}.od-logo-img.od-logo-position-right{right:0}.od-kicker{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:#bbb;font-weight:800;margin-bottom:7px}.od-brand h1{margin:0!important;color:#fff!important;font-size:clamp(32px,4vw,52px)!important;line-height:.98!important;font-weight:850!important;letter-spacing:-.035em}
.od-notices{display:grid;gap:10px;margin:22px 0}.od-notice{display:flex;gap:14px;padding:16px 18px;background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--red)}.od-notice-icon{font-size:21px}.od-notice strong{color:#fff}.od-notice p{margin:4px 0 0;color:#c5c5c5;line-height:1.5}
.od-calendar-divider{height:1px;background:var(--red);margin:0 0 12px}.od-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;align-items:stretch}.od-day{background:#0b0b0b;border:1px solid var(--line);min-width:0;padding:12px}.od-day-head{min-height:65px;padding-bottom:9px;border-bottom:1px solid var(--red)}.od-day-head>span{display:block;color:var(--red);font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;margin-bottom:5px}.od-day h2{margin:0!important;color:#fff!important;font-size:14px!important;line-height:1.25!important;font-weight:800!important;text-transform:capitalize!important}.od-empty-day{display:flex;align-items:center;justify-content:center;min-height:92px;color:#777;font-size:12px;text-align:center}
.od-service{position:relative;display:grid;grid-template-columns:1fr auto;gap:9px;margin-top:9px;padding:12px;background:#141414!important;border:2px solid currentColor;cursor:pointer;transition:transform .12s ease,filter .12s ease}.od-service:hover{transform:translateY(-1px);filter:brightness(1.08)}.od-service.nfs{color:#e53935}.od-service.ra{color:#f39c12}.od-service.rs{color:#39a96b}.od-service.rh{color:#3f82d6}.od-service.is-requested{background:#666!important;border-color:#666!important;color:#eee!important;cursor:default!important;filter:none!important;transform:none!important}.od-service-main{min-width:0}.od-code-line{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.od-code-line b{font-size:17px;color:#fff!important;letter-spacing:.01em}.od-qual{display:inline-flex;align-items:center;justify-content:center;padding:3px 7px;font-size:10px;font-weight:900;line-height:1;border-radius:999px;color:#fff!important;background:#555!important}.od-qual.nfs{background:#d62828!important}.od-qual.ra{background:#e67e22!important}.od-qual.rs{background:#2e8b57!important}.od-qual.rh{background:#2f6db0!important}.od-service small{display:block;margin-top:7px;color:#d0d0d0;font-size:11px;line-height:1.35}.od-bonus{align-self:start;color:#fff!important;font-weight:900;white-space:nowrap;font-size:13px}.od-take{grid-column:1/-1!important;width:100%!important;border:1px solid #3a3a3a!important;background:#1b1b1b!important;color:#fff!important;padding:9px 10px!important;font-size:12px!important;font-weight:900!important;cursor:pointer!important}.od-requested{grid-column:1/-1;color:#fff;font-size:11px;font-weight:800;padding-top:2px}
.od-bottom-note{margin:22px 0 0;padding:15px 17px;background:#111;border:1px solid var(--line);color:#cfcfcf;font-size:13px;line-height:1.5}.od-links{margin-top:30px;padding-top:26px;border-top:1px solid var(--red)}.od-section-head{display:flex;gap:12px;align-items:center;margin-bottom:14px}.od-section-head>span{font-size:23px}.od-section-head h2{margin:0!important;color:#fff!important;font-size:22px!important}.od-section-head p{margin:3px 0 0;color:#777;font-size:12px}.od-link-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.od-link-grid a{display:flex;align-items:center;gap:9px;min-height:52px;padding:12px 14px;background:#111;border:1px solid #292929;color:#fff!important;text-decoration:none!important;font-weight:800!important;font-size:13px!important;transition:border-color .12s ease,background .12s ease}.od-link-grid a:hover{background:#171717!important;border-color:var(--red)!important;color:#fff!important}.od-link-grid a b{margin-left:auto;color:var(--red)}
.od-modal{display:none;position:fixed!important;inset:0!important;background:rgba(0,0,0,.78)!important;z-index:999999!important;padding:18px;align-items:center;justify-content:center}.od-modal.is-open{display:flex}.od-modal-card{width:min(500px,100%);background:#111!important;border:1px solid #333!important;padding:28px!important;position:relative;box-shadow:0 20px 70px rgba(0,0,0,.6)}.od-close{position:absolute!important;right:12px!important;top:8px!important;border:0!important;background:transparent!important;color:#fff!important;font-size:30px!important;cursor:pointer!important}.od-modal-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--red);font-weight:900}.od-modal-card h2{margin:6px 0 8px!important;color:#fff!important;font-size:28px!important}.od-modal-service{font-weight:800;color:#ccc;margin:0 0 18px}.od-modal-card label{display:block;color:#bbb;font-size:12px;font-weight:800}.od-modal-card input{display:block;width:100%;margin-top:6px!important;padding:12px!important;border:1px solid #333!important;background:#181818!important;color:#fff!important;font-size:16px!important}.od-modal-card input:focus{border-color:var(--red)!important;outline:none}.od-modal-card form{display:grid;gap:12px}.od-modal-card form button{width:100%!important;border:0!important;background:var(--red)!important;color:#fff!important;padding:13px!important;font-weight:900!important;cursor:pointer!important}.od-hp{position:absolute!important;left:-9999px!important}.od-success{display:none;margin-top:14px;padding:15px;background:#173c29;color:#d6ffe5;border:1px solid #2d7a50;line-height:1.5}.od-success.show{display:block}
@media(max-width:1180px){.od-calendar{grid-template-columns:repeat(4,minmax(0,1fr))}.od-link-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.dienstplanung-public{padding:20px 14px 45px}.od-calendar{grid-template-columns:repeat(2,minmax(0,1fr))}.od-link-grid{grid-template-columns:1fr 1fr}.od-brand{min-height:55px}.od-logo-img{max-width:120px;max-height:120px}}
@media(max-width:520px){.od-calendar{grid-template-columns:1fr}.od-link-grid{grid-template-columns:1fr}.od-brand{min-height:0;display:flex;flex-direction:column}.od-title-block{width:100%}.od-logo-img{position:static!important;left:auto!important;right:auto!important;top:auto!important;transform:none!important;width:auto!important;max-width:min(180px,60vw)!important;max-height:72px!important;height:auto!important;object-fit:contain;margin:16px 0 0}.od-logo-img.od-logo-position-left{align-self:flex-start}.od-logo-img.od-logo-position-center{align-self:center}.od-logo-img.od-logo-position-right{align-self:flex-end}.od-day-head{min-height:auto}.od-service{grid-template-columns:1fr auto}.od-brand h1{font-size:34px!important}}

/* V1.4.22 – Mobile: Logo in eigener Zeile statt über Kicker/Titel zu liegen. */

/* Final visual overrides: never inherit Elementor colours/fonts */
body.dienstplanung-page .dienstplanung-public, body.dienstplanung-page .dienstplanung-public *{font-family:Arial,Helvetica,sans-serif!important}
body.dienstplanung-page .dienstplanung-public .od-service, body.dienstplanung-page .dienstplanung-public .od-day, body.dienstplanung-page .dienstplanung-public .od-empty-day{background-color:#101010!important;color:#fff!important}
body.dienstplanung-page .dienstplanung-public .od-service.is-requested{background-color:#555!important;color:#eee!important}
body.dienstplanung-page .dienstplanung-public button.od-take{background:#1b1b1b!important;color:#fff!important}
body.dienstplanung-page .dienstplanung-public .od-logo-img{background:transparent!important}


/* v0.4 visual corrections: dark cards, centered content, qualification borders/fills, no Elementor bleed */
body.dienstplanung-page .dienstplanung-public .od-service{
  background:#141414!important;
  color:#fff!important;
  border:2px solid #3a3a3a!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  text-align:center!important;
  min-height:124px!important;
  padding:13px 11px!important;
}
body.dienstplanung-page .dienstplanung-public .od-service-main{width:100%!important;display:flex!important;flex-direction:column!important;align-items:center!important}
body.dienstplanung-page .dienstplanung-public .od-code-line{justify-content:center!important;align-items:center!important;width:100%!important}
body.dienstplanung-page .dienstplanung-public .od-code-line b{font-size:17px!important;color:#fff!important}
body.dienstplanung-page .dienstplanung-public .od-bonus{align-self:auto!important;margin-top:4px!important;color:#fff!important;font-size:13px!important}
body.dienstplanung-page .dienstplanung-public .od-service small{color:#ddd!important;text-align:center!important}
body.dienstplanung-page .dienstplanung-public .od-take{
  grid-column:auto!important;width:auto!important;min-width:150px!important;margin-top:auto!important;
  align-self:center!important;background:#1b1b1b!important;color:#fff!important;
  border:1px solid #444!important;padding:9px 12px!important;text-align:center!important;
}

body.dienstplanung-page .dienstplanung-public .od-requested{grid-column:auto!important;width:100%!important;text-align:center!important;color:#fff!important;margin-top:auto!important;padding-top:8px!important}

/* v0.5: action buttons are contained inside every service card */
body.dienstplanung-page .dienstplanung-public .od-service{overflow:hidden!important;min-width:0!important;max-width:100%!important}
body.dienstplanung-page .dienstplanung-public .od-take{display:block!important;box-sizing:border-box!important;max-width:100%!important;min-width:0!important;width:100%!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important;text-align:center!important;line-height:1.25!important;margin:0!important}
body.dienstplanung-page .dienstplanung-public .od-code-line,.dienstplanung-public .od-service-main{min-width:0!important;max-width:100%!important}
body.dienstplanung-page .dienstplanung-public .od-service *{max-width:100%}

/* Diensttausch */
.dienstplanung-public .od-swap-public{margin-top:28px;padding-top:24px;border-top:1px solid var(--red)}
.dienstplanung-public .od-swap-public .od-section-head{margin-bottom:14px}
.dienstplanung-public #od-swap-form{display:grid;grid-template-columns:1fr 1.2fr 2.4fr auto;gap:10px;align-items:end}
.dienstplanung-public #od-swap-form label{display:block;color:#fff;font-size:12px;font-weight:800}
.dienstplanung-public #od-swap-form input,.dienstplanung-public #od-swap-form textarea{display:block;width:100%;box-sizing:border-box;margin-top:6px;background:#111!important;color:#fff!important;border:1px solid #343434!important;padding:11px 12px!important;font:inherit!important;min-height:44px}
.dienstplanung-public #od-swap-form textarea{resize:vertical;min-height:44px}
.dienstplanung-public #od-swap-form button{min-height:44px;padding:11px 18px;background:var(--red)!important;color:#fff!important;border:1px solid var(--red)!important;font:inherit;font-weight:900;cursor:pointer}
.dienstplanung-public #od-swap-form button:disabled{opacity:.6;cursor:wait}
.dienstplanung-public .od-swap-success{display:none;margin-top:12px;padding:12px 14px;background:#123d28;border:1px solid #2e8b57;color:#fff;font-weight:800}
.dienstplanung-public .od-swap-success.show{display:block}
.dienstplanung-public .od-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
@media(max-width:900px){.dienstplanung-public #od-swap-form{grid-template-columns:1fr 1fr}.dienstplanung-public #od-swap-form .od-swap-wide{grid-column:1/-1}.dienstplanung-public #od-swap-form button{grid-column:1/-1}}
@media(max-width:520px){.dienstplanung-public #od-swap-form{grid-template-columns:1fr}}


/* v0.11 – compact public service cards for busy days */
body.dienstplanung-page .dienstplanung-public .od-service{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  grid-template-rows:auto auto!important;
  align-items:center!important;
  justify-items:stretch!important;
  gap:5px 7px!important;
  min-height:0!important;
  padding:9px 8px!important;
  margin-top:7px!important;
}
body.dienstplanung-page .dienstplanung-public .od-service-main{
  grid-column:1!important;
  grid-row:1!important;
  width:auto!important;
  min-width:0!important;
}
body.dienstplanung-page .dienstplanung-public .od-code-line{
  width:100%!important;
  justify-content:flex-start!important;
  gap:5px!important;
  flex-wrap:nowrap!important;
}
body.dienstplanung-page .dienstplanung-public .od-code-line b{font-size:15px!important}
body.dienstplanung-page .dienstplanung-public .od-qual{padding:3px 6px!important;font-size:9px!important;flex:0 0 auto!important}
body.dienstplanung-page .dienstplanung-public .od-bonus{
  grid-column:2!important;
  grid-row:1!important;
  align-self:center!important;
  font-size:12px!important;
  line-height:1.1!important;
}
body.dienstplanung-page .dienstplanung-public .od-service small{
  margin-top:4px!important;
  font-size:10px!important;
}
body.dienstplanung-page .dienstplanung-public .od-take{
  grid-column:1/-1!important;
  grid-row:2!important;
  min-height:34px!important;
  padding:6px 7px!important;
  font-size:11px!important;
  line-height:1.15!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
body.dienstplanung-page .dienstplanung-public .od-requested{
  grid-column:1/-1!important;
  grid-row:2!important;
  padding-top:3px!important;
  font-size:10px!important;
}
@media(max-width:520px){
  body.dienstplanung-page .dienstplanung-public .od-service{padding:9px 8px!important}
}

/* v0.12 – genuinely compact service cards; action stays inside card and never breaks the word */
body.dienstplanung-page .dienstplanung-public .od-service{
  gap:3px 6px!important;
  padding:7px 7px!important;
}
body.dienstplanung-page .dienstplanung-public .od-code-line b{font-size:14px!important;line-height:1!important}
body.dienstplanung-page .dienstplanung-public .od-qual{padding:2px 5px!important;font-size:8px!important}
body.dienstplanung-page .dienstplanung-public .od-bonus{font-size:11px!important;line-height:1!important;margin:0!important}
body.dienstplanung-page .dienstplanung-public .od-take{
  width:100%!important;
  min-width:0!important;
  min-height:30px!important;
  height:30px!important;
  padding:4px 5px!important;
  font-size:10px!important;
  line-height:1!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  overflow-wrap:normal!important;
  word-break:keep-all!important;
  text-overflow:clip!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
body.dienstplanung-page .dienstplanung-public .od-service small{margin-top:2px!important;font-size:9px!important;line-height:1.2!important}


/* v1.0 – genuinely compact service cards */
body.dienstplanung-page .dienstplanung-public .od-service{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-rows:auto auto!important;align-items:center!important;gap:4px 7px!important;min-height:0!important;height:auto!important;padding:6px!important;margin-top:6px!important}
body.dienstplanung-page .dienstplanung-public .od-service-main{grid-column:1;grid-row:1;min-width:0!important;width:auto!important;display:block!important}
body.dienstplanung-page .dienstplanung-public .od-code-line{justify-content:flex-start!important;width:auto!important;flex-wrap:nowrap!important;gap:5px!important}
body.dienstplanung-page .dienstplanung-public .od-code-line b{font-size:14px!important;line-height:1!important}
body.dienstplanung-page .dienstplanung-public .od-qual{font-size:8px!important;padding:2px 5px!important}
body.dienstplanung-page .dienstplanung-public .od-bonus{grid-column:2!important;grid-row:1!important;font-size:10px!important;line-height:1!important;align-self:center!important}
body.dienstplanung-page .dienstplanung-public .od-service small{grid-column:1/-1!important;margin:0!important;font-size:8px!important;line-height:1.15!important}
body.dienstplanung-page .dienstplanung-public .od-take{grid-column:1/-1!important;grid-row:2!important;width:100%!important;height:27px!important;min-height:27px!important;padding:3px 4px!important;font-size:10px!important;line-height:1!important;white-space:nowrap!important;word-break:keep-all!important;overflow:hidden!important}
body.dienstplanung-page .dienstplanung-public .od-requested{grid-column:1/-1!important;grid-row:2!important;padding:2px 0 0!important;font-size:9px!important}
@media(max-width:520px){body.dienstplanung-page .dienstplanung-public .od-service{padding:6px 5px!important}.od-calendar{gap:8px!important}}

/* Optional: hide the surrounding page title so the configurable service title is the only page heading. */
body.dienstplanung-hide-page-title .elementor-page-title,
body.dienstplanung-hide-page-title .elementor-widget-theme-post-title,
body.dienstplanung-hide-page-title .elementor-widget-theme-post-title h1,
body.dienstplanung-hide-page-title .page-header .entry-title,
body.dienstplanung-hide-page-title .entry-header .entry-title,
body.dienstplanung-hide-page-title h1.entry-title {
  display:none!important;
}

/* V1.4.7 – public theme variants and compact, equal-height swap form */
.dienstplanung-public.theme-light{--red:#e30613;--red-dark:#b8000d;--bg:#f3f3f3;--panel:#fff;--panel2:#fafafa;--line:#d4d4d4;--muted:#666;color:#202020!important;background:#f3f3f3!important}
.dienstplanung-public.theme-light .od-hero{border-color:var(--red)!important}
.dienstplanung-public.theme-light .od-brand h1,
.dienstplanung-public.theme-light .od-notice strong,
.dienstplanung-public.theme-light .od-day h2{color:#202020!important}
.dienstplanung-public.theme-light .od-kicker{color:#555!important}
.dienstplanung-public.theme-light .od-notice{background:#fff!important;border-color:#d4d4d4!important;color:#202020!important}
.dienstplanung-public.theme-light .od-notice p{color:#555!important}
.dienstplanung-public.theme-light .od-day{background:#fff!important;border-color:#d4d4d4!important}
.dienstplanung-public.theme-light .od-empty-day{color:#777!important}
.dienstplanung-public.theme-light .od-service{background:#fff!important}
.dienstplanung-public.theme-light .od-service .od-code-line b,
.dienstplanung-public.theme-light .od-service small,
.dienstplanung-public.theme-light .od-service .od-bonus{color:#202020!important}
.dienstplanung-public.theme-light .od-take{background:#202020!important;color:#fff!important;border-color:#202020!important}
.dienstplanung-public.theme-light .od-bottom-note{background:#fff!important;color:#333!important;border-color:#d4d4d4!important}
.dienstplanung-public.theme-light .od-swap-public{border-color:var(--red)!important}
.dienstplanung-public.theme-light .od-section-head h2{color:#202020!important}
.dienstplanung-public.theme-light #od-swap-form label{color:#202020!important}
.dienstplanung-public.theme-light #od-swap-form input,
.dienstplanung-public.theme-light #od-swap-form textarea{background:#fff!important;color:#202020!important;border-color:#b8b8b8!important}
.dienstplanung-public.theme-light .od-links a{background:#fff!important;color:#202020!important;border-color:#d4d4d4!important}
.dienstplanung-public.theme-light .od-links a b{color:#e30613!important}

.dienstplanung-public #od-swap-form{grid-template-columns:minmax(150px,1fr) minmax(180px,1.15fr) minmax(280px,2fr) auto!important;align-items:end!important}
.dienstplanung-public #od-swap-form input,
.dienstplanung-public #od-swap-form textarea{height:44px!important;min-height:44px!important;max-height:44px!important;resize:none!important;margin-top:6px!important;padding:10px 12px!important;box-sizing:border-box!important}
.dienstplanung-public #od-swap-form button{height:44px!important;min-height:44px!important;max-height:44px!important;padding:8px 18px!important;white-space:nowrap!important;font-size:16px!important}
@media(max-width:900px){.dienstplanung-public #od-swap-form{grid-template-columns:1fr 1fr!important}.dienstplanung-public #od-swap-form .od-swap-wide{grid-column:1/-1!important}.dienstplanung-public #od-swap-form button{grid-column:1/-1!important;justify-self:start!important}}
@media(max-width:520px){.dienstplanung-public #od-swap-form{grid-template-columns:1fr!important}.dienstplanung-public #od-swap-form .od-swap-wide{grid-column:auto!important}.dienstplanung-public #od-swap-form button{grid-column:auto!important}}
body.dienstplanung-theme-light{background:#f3f3f3!important;color:#202020!important}
body.dienstplanung-theme-light .elementor,body.dienstplanung-theme-light .elementor-section,body.dienstplanung-theme-light .e-con,body.dienstplanung-theme-light .elementor-widget-shortcode,body.dienstplanung-theme-light .elementor-widget-container{background:transparent!important}

/* V1.4.8 – requested services keep the normal card geometry; only visual state changes. */
body.dienstplanung-page .dienstplanung-public .od-service.is-requested{
  background:#555!important;
  border-color:currentColor;
  color:#eee!important;
}
body.dienstplanung-page .dienstplanung-public .od-service.is-requested .od-requested{
  width:100%!important;
  height:27px!important;
  min-height:27px!important;
  box-sizing:border-box!important;
  padding:3px 4px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid #777!important;
  background:#4a4a4a!important;
  color:#fff!important;
  font-size:10px!important;
  line-height:1!important;
  font-weight:900!important;
}
body.dienstplanung-page .dienstplanung-public.theme-light .od-service.is-requested{background:#d8d8d8!important;color:#444!important}
body.dienstplanung-page .dienstplanung-public.theme-light .od-service.is-requested .od-requested{background:#c9c9c9!important;border-color:#aaa!important;color:#333!important}


/* V1.4.9 – complete light theme correction. Dark theme remains unchanged. */
body.dienstplanung-theme-light .dienstplanung-public.theme-light,
body.dienstplanung-theme-light .dienstplanung-public.theme-light *{
  --light-text:#202020;
}
body.dienstplanung-theme-light .dienstplanung-public.theme-light .od-day,
body.dienstplanung-theme-light .dienstplanung-public.theme-light .od-service,
body.dienstplanung-theme-light .dienstplanung-public.theme-light .od-empty-day{
  background:#fff!important;
  color:var(--light-text)!important;
}
body.dienstplanung-theme-light .dienstplanung-public.theme-light .od-day-head h2,
body.dienstplanung-theme-light .dienstplanung-public.theme-light .od-day h2,
body.dienstplanung-theme-light .dienstplanung-public.theme-light .od-service .od-code-line b,
body.dienstplanung-theme-light .dienstplanung-public.theme-light .od-service small,
body.dienstplanung-theme-light .dienstplanung-public.theme-light .od-service .od-bonus,
body.dienstplanung-theme-light .dienstplanung-public.theme-light .od-empty-day{
  color:var(--light-text)!important;
}
body.dienstplanung-theme-light .dienstplanung-public.theme-light .od-day{
  border-color:#d4d4d4!important;
}
body.dienstplanung-theme-light .dienstplanung-public.theme-light .od-service{
  border-color:currentColor!important;
}
body.dienstplanung-theme-light .dienstplanung-public.theme-light .od-service.is-requested{
  background:#e0e0e0!important;
  color:#444!important;
  border-color:currentColor!important;
  filter:none!important;
}
body.dienstplanung-theme-light .dienstplanung-public.theme-light .od-service.is-requested .od-code-line b,
body.dienstplanung-theme-light .dienstplanung-public.theme-light .od-service.is-requested small,
body.dienstplanung-theme-light .dienstplanung-public.theme-light .od-service.is-requested .od-bonus{
  color:#444!important;
}
body.dienstplanung-theme-light .dienstplanung-public.theme-light .od-service.is-requested .od-requested{
  background:#c9c9c9!important;
  border-color:#aaa!important;
  color:#333!important;
}
body.dienstplanung-theme-light .dienstplanung-public.theme-light .od-take{
  background:#202020!important;
  color:#fff!important;
  border-color:#202020!important;
}
body.dienstplanung-theme-light .dienstplanung-public.theme-light .od-notice,
body.dienstplanung-theme-light .dienstplanung-public.theme-light .od-bottom-note,
body.dienstplanung-theme-light .dienstplanung-public.theme-light .od-links a{
  background:#fff!important;
  color:#333!important;
  border-color:#d4d4d4!important;
}
body.dienstplanung-theme-light .dienstplanung-public.theme-light .od-notice strong,
body.dienstplanung-theme-light .dienstplanung-public.theme-light .od-section-head h2{
  color:#202020!important;
}
body.dienstplanung-theme-light .dienstplanung-public.theme-light #od-swap-form label{
  color:#202020!important;
}
body.dienstplanung-theme-light .dienstplanung-public.theme-light #od-swap-form input,
body.dienstplanung-theme-light .dienstplanung-public.theme-light #od-swap-form textarea{
  background:#fff!important;
  color:#202020!important;
  border-color:#b8b8b8!important;
}
/* V1.4.10: qualification color is the single source of truth for service card borders. */
.dienstplanung-public .od-service[style*="border-color"]{border-color:var(--qual-color,currentColor)!important}
.dienstplanung-public .od-service.is-requested[style*="border-color"]{border-color:var(--qual-color,currentColor)!important}
.dienstplanung-public .od-service[style*="border-color"]{--qual-color:currentColor}
/* V1.4.10: qualification color is the single source of truth for service card borders. */
.dienstplanung-public .od-service[style*="border-color"]{border-color:var(--qual-color,currentColor)!important}


/* V1.4.17: no short-term highlighting; qualification color remains the card border. */
.dienstplanung-public .od-service { border-color: var(--qual-color, #555) !important; }
.dienstplanung-public.theme-dark .od-service:not(.is-requested) { background: #111 !important; }
.dienstplanung-public.theme-light .od-service:not(.is-requested) { background: #fff !important; }
.od-delete-form { display:inline-block; margin:0; padding:0; }
.od-delete-form .od-icon-button { border:0; background:transparent; padding:0; cursor:pointer; }

/* Lückenlos Benutzeranmeldung */
.lue-auth-card{max-width:520px;margin:40px auto;padding:34px;background:#111;border:1px solid #2b2b2b;box-sizing:border-box;text-align:left}.theme-light .lue-auth-card{background:#fff;border-color:#d7d7d7;color:#222}.lue-auth-logo{display:block;max-width:260px;max-height:110px;object-fit:contain;margin:0 auto 28px}.lue-auth-card .od-kicker{font-size:13px;letter-spacing:.12em;text-transform:uppercase;opacity:.75}.lue-auth-card h1{margin:6px 0 24px;font-size:32px}.lue-auth-form{display:flex;flex-direction:column;gap:14px}.lue-auth-form label,.lue-account-form label{display:flex;flex-direction:column;gap:7px;font-weight:600}.lue-auth-form input,.lue-account-form input{width:100%;box-sizing:border-box;padding:13px 14px;border:1px solid #555;background:#181818;color:#fff;font:inherit}.theme-light .lue-auth-form input,.theme-light .lue-account-form input{background:#fff;color:#222;border-color:#bbb}.lue-auth-form button,.lue-account-form button{border:0;padding:13px 18px;background:#b00000;color:#fff;font-weight:700;cursor:pointer}.lue-forgot-toggle{margin-top:18px;background:none;border:0;color:#aaa;text-decoration:underline;cursor:pointer;padding:0}.theme-light .lue-forgot-toggle{color:#555}.lue-auth-message,.lue-account-message{margin-top:16px;padding:10px 12px;display:none}.lue-auth-message.show,.lue-account-message.show{display:block;background:rgba(176,0,0,.12);border-left:3px solid #b00000}.lue-auth-home{display:block;margin-top:18px;color:inherit}.lue-hidden{display:none!important}.lue-account-strip{margin:35px 0 0;max-width:none;padding:16px 0;border-top:1px solid var(--red);display:flex;align-items:center;gap:14px;flex-wrap:wrap}.lue-account-strip>span{margin-right:auto;font-weight:700}.lue-account-strip button{background:none;border:0;color:inherit;text-decoration:underline;cursor:pointer;padding:4px}.lue-account-form{width:100%;display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:10px;margin-top:10px}.lue-account-form .lue-account-message{grid-column:1/-1;margin:0}.od-qual-required{display:block;font-size:11px;opacity:.7;margin-top:4px}.od-take:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:700px){.lue-account-form{grid-template-columns:1fr}.lue-auth-card{margin:20px auto;padding:24px}.lue-account-strip>span{width:100%;margin-right:0}}

/* V1.4.21 – Account-Leiste bündig zur Inhaltsbreite */
.lue-auth-card.lue-login-only .lue-auth-logo{margin-bottom:8px}
.lue-auth-card.lue-login-only .lue-auth-form{margin-top:0}

/* V1.4.23 – Mobile: Kopfbereich vollständig zentriert. */
@media(max-width:520px){
  .od-brand{text-align:center;align-items:center}
  .od-title-block{width:100%;text-align:center}
  .od-logo-img.od-logo-position-left,
  .od-logo-img.od-logo-position-center,
  .od-logo-img.od-logo-position-right{align-self:center}
}
