.tl_listing.showColumns .vacation-period { font-size:.78em; min-width:250px; }
.tl_listing.showColumns .vacation-period__bar { display:flex; gap:2px; height:7px; margin:1px 0 5px; }
.tl_listing.showColumns .vacation-period__bar > span { flex:1 1 0; min-width:0; background:var(--vacation-status-color,#777); }
.tl_listing.showColumns .vacation-period__bar > span:first-child { border-radius:7px 0 0 7px; }
.tl_listing.showColumns .vacation-period__bar > span:last-child { border-radius:0 7px 7px 0; }
.tl_listing.showColumns .vacation-period__bar > span:only-child { border-radius:7px; }
.tl_listing.showColumns .vacation-period__meta { display:flex; justify-content:space-between; gap:12px; align-items:baseline; white-space:nowrap; }
.tl_listing.showColumns .vacation-period__meta > span { color:var(--text-color-light,#777); }
.tl_listing.showColumns td.tl_right_nowrap { vertical-align:middle; }
.tl_listing.showColumns .vacation-booking-type img { display:inline-block; vertical-align:middle; }
.tl_listing.showColumns .vacation-booking-type--private img { filter:brightness(0) saturate(100%) invert(48%) sepia(66%) saturate(1695%) hue-rotate(297deg) brightness(100%) contrast(93%); }
.tl_listing.showColumns .vacation-booking-type--business img { filter:brightness(0) saturate(100%) invert(20%) sepia(45%) saturate(1450%) hue-rotate(224deg) brightness(100%) contrast(95%); }
.tl_listing.showColumns .vacation-guests { display:inline-flex; align-items:flex-end; gap:2px; min-height:18px; }
.tl_listing.showColumns .vacation-guest-icon { display:inline-block; width:16px; height:16px; background:#fff; -webkit-mask:var(--vacation-guest-icon) center/contain no-repeat; mask:var(--vacation-guest-icon) center/contain no-repeat; }
.tl_listing.showColumns .vacation-guest-icon--child { width:12px; height:12px; opacity:.75; }
.tl_listing.showColumns .vacation-guest-icon--male { background:#1686c9; }
.tl_listing.showColumns .vacation-guest-icon--female { background:#e85aa5; }
.tl_listing.showColumns .vacation-guest-icon--neutral { background:var(--text-color-light,#777); }
.tl_listing.showColumns .vacation-guest-icon--diverse { background:linear-gradient(135deg,#e40303 0 16%,#ff8c00 16% 32%,#ffed00 32% 48%,#008026 48% 64%,#004dff 64% 80%,#750787 80% 100%); }
/* Contao adds the technical sort column for mode=1; it is intentionally not part of the booking projection. */
.tl_listing.showColumns th.col_id.ordered_by { display:none; }
/* Build 4.1.17: role-aware guest icons keep the existing salutation color logic. */
.tl_listing.showColumns .vacation-guest-icon--neutral { background:var(--text-color-light, #777); }

.vacation-participants { clear:both; width:100%; }
.vacation-participant-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:8px 0; }
.vacation-participant-card { box-sizing:border-box; padding:12px; border:1px solid var(--border-color,#bbb); border-radius:4px; background:var(--content-bg,#fff); }
.vacation-participant-card--booker { border-width:2px; border-color:var(--blue,#1686c9); }
.vacation-participant-card--child { border-style:dashed; }
.vacation-participant-card__head { display:flex; justify-content:space-between; gap:8px; align-items:center; margin-bottom:10px; }
.vacation-participant-card__head span { color:var(--text-color-light,#777); font-size:.78em; }
.vacation-participant-card label { display:block; margin:7px 0; font-size:.9em; }
.vacation-participant-card .tl_text,.vacation-participant-card .tl_select { box-sizing:border-box; width:100%; margin-top:3px; }
@media (max-width:1100px){.vacation-participant-grid{grid-template-columns:repeat(4,minmax(0,1fr));}}
/* Build 4.1.31 participant cards */
.vacation-participant-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:8px 0}
.vacation-participant-card{overflow:hidden;box-sizing:border-box;padding:0;border:0!important;border-radius:var(--border-radius,4px);background:var(--content-bg,#1b1d21)}
.vacation-participant-card--booker{background:#222f3e!important;color:#fff}
.vacation-participant-card__head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:0;padding:10px 12px;background:color-mix(in srgb,currentColor 5%,transparent)}
.vacation-participant-card__kind{display:inline-flex;align-items:center;gap:5px;font-size:.78em;color:var(--text-color-light,#999)}
.vacation-participant-card__body{padding:4px 12px 12px}
.vacation-participant-card__body>label{display:block;margin:7px 0}
.vacation-participant-card__body .tl_text,.vacation-participant-card__body .tl_select{box-sizing:border-box;width:100%;margin-top:3px}
.vacation-card-field--salutation{width:50%}
.vacation-card-name-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.vacation-card-name-row label{display:block;margin:7px 0}
.vacation-participant-card__footer{padding:10px 12px;border-top:1px solid color-mix(in srgb,currentColor 12%,transparent);font-size:.9em}
.vacation-card-person{display:inline-block;width:16px;height:16px;background:var(--text-color-light,#888);-webkit-mask:var(--vacation-card-icon) center/contain no-repeat;mask:var(--vacation-card-icon) center/contain no-repeat}
.vacation-card-person--child{width:12px;height:12px;opacity:.8}.vacation-card-person--male{background:#1686c9}.vacation-card-person--female{background:#e85aa5}.vacation-card-person--diverse{background:linear-gradient(135deg,#e40303 0 16%,#ff8c00 16% 32%,#ffed00 32% 48%,#008026 48% 64%,#004dff 64% 80%,#750787 80% 100%)}
@media(max-width:1100px){.vacation-participant-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:650px){.vacation-participant-grid{grid-template-columns:1fr}.vacation-card-name-row{grid-template-columns:1fr}}

.vacation-widget-disabled{opacity:.55}.vacation-widget-disabled .tl_select{cursor:not-allowed}

/* Build 5.0.1: Contao-native workflow workspace */
.vacation-workflow{max-width:none;padding:0 0 24px}.vacation-workflow-toolbar{margin-bottom:0}.vacation-workflow-toolbar .tl_header{min-height:18px}.vacation-workflow-toolbar .header_edit{margin-left:18px}.vacation-workflow-section{margin:0;padding:18px 20px 22px}.vacation-workflow-section>legend{font-weight:600}.vacation-workflow-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.vacation-workflow-card{box-sizing:border-box;min-width:0;padding:14px;border:0;border-radius:var(--border-radius,4px);background:var(--content-bg,#f3f3f3)}.vacation-workflow-card>small,.vacation-workflow-card>strong,.vacation-workflow-card>span{display:block}.vacation-workflow-card>small{margin-bottom:6px;color:var(--text-color-light,#777);font-size:.78em}.vacation-workflow-card>strong{overflow:hidden;text-overflow:ellipsis}.vacation-workflow-card>span{margin-top:4px;color:var(--text-color-light,#777);font-size:.78em}.vacation-workflow-check{text-align:center}.vacation-workflow-check summary{list-style:none;cursor:pointer}.vacation-workflow-check summary::-webkit-details-marker{display:none}.vacation-workflow-check__icon{display:block;margin-bottom:7px;font-size:1.55rem;line-height:1}.vacation-workflow-check small{margin-top:6px}.vacation-workflow-check p{margin:12px 0 0;font-size:.85em}.vacation-workflow-check--ok{background:color-mix(in srgb,#61a525 10%,var(--content-bg,#f3f3f3))}.vacation-workflow-check--warning{background:color-mix(in srgb,#e59b22 12%,var(--content-bg,#f3f3f3))}.vacation-workflow-check--error{background:color-mix(in srgb,#c94a4a 12%,var(--content-bg,#f3f3f3))}.vacation-workflow-check--ok .vacation-workflow-check__icon{color:#61a525}.vacation-workflow-check--warning .vacation-workflow-check__icon{color:#e59b22}.vacation-workflow-check--error .vacation-workflow-check__icon{color:#c94a4a}.vacation-workflow-deviations{margin:16px 0 0!important}.vacation-workflow-deviations>strong{display:block;margin-bottom:6px}.vacation-workflow-deviation{display:flex;gap:9px;align-items:flex-start;margin-top:5px}.vacation-workflow-deviation__icon{flex:0 0 18px;font-weight:700;text-align:center}.vacation-workflow-deviation__icon--warning{color:#e59b22}.vacation-workflow-deviation__icon--error{color:#c94a4a}.vacation-workflow-summary{margin-top:0}.vacation-workflow-contact{display:flex;align-items:center;gap:8px 12px;margin-bottom:18px;white-space:nowrap}.vacation-workflow-person{display:inline-block;width:16px;height:16px;background:var(--text-color-light,#777);-webkit-mask:var(--vacation-person-icon) center/contain no-repeat;mask:var(--vacation-person-icon) center/contain no-repeat}.vacation-workflow-person--male{background:#1686c9}.vacation-workflow-person--female{background:#e85aa5}.vacation-workflow-person--diverse{background:linear-gradient(135deg,#e40303 0 16%,#ff8c00 16% 32%,#ffed00 32% 48%,#008026 48% 64%,#004dff 64% 80%,#750787 80% 100%)}.vacation-workflow-contact-action{padding:4px 8px!important}.vacation-workflow-chat{display:flex}.vacation-workflow-message{max-width:min(680px,80%);padding:12px 14px;border-radius:var(--border-radius,4px);background:var(--content-bg,#f3f3f3)}.vacation-workflow-message small{display:block;margin-bottom:5px;color:var(--text-color-light,#777);font-size:.78em}.vacation-workflow-message p{margin:0;line-height:1.5}.vacation-workflow-primary{background:var(--green)!important;border-color:var(--green)!important}.vacation-workflow .tl_formbody_submit{margin-top:0}.vacation-workflow #ctrl_managerNote{width:100%;box-sizing:border-box}@media(max-width:1000px){.vacation-workflow-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:650px){.vacation-workflow-grid{grid-template-columns:1fr}.vacation-workflow-contact{align-items:flex-start;flex-wrap:wrap;white-space:normal}}

/* Build 5.0.2 workflow refinements */
.vacation-workflow-toolbar .tl_header{display:flex;align-items:center}
.vacation-workflow-toolbar__spacer{flex:1 1 auto}
.vacation-workflow-toolbar .vacation-workflow-toolbar__action{margin-left:18px}
.vacation-workflow-toolbar .header_edit{margin-left:0}
.vacation-workflow-check{padding:0;margin:14px}
.vacation-workflow-check summary{padding:14px}
.vacation-workflow-check p{margin:0;padding:0 14px 14px}
.vacation-workflow-check__icon{display:block;width:20px;height:20px;margin:0 auto 7px}
.vacation-workflow-deviation__icon img{display:block;width:18px;height:18px}


/* Build 5.0.3 workflow polish */
.vacation-workflow{display:flex;flex-wrap:wrap;align-items:flex-start;max-width:none;padding:0 0 24px}
.vacation-workflow-toolbar{width:100%;margin-bottom:0}
.vacation-workflow-toolbar .tl_header{display:flex;align-items:center}
.vacation-workflow-toolbar .vacation-workflow-toolbar__action{display:inline-flex;align-items:center;gap:6px;margin-left:18px}
.vacation-workflow-toolbar .vacation-workflow-toolbar__action img{width:16px;height:16px;display:block}
.vacation-workflow-section{box-sizing:border-box;margin:0;padding:18px 20px 22px;flex:1 1 100%;min-width:0}
.vacation-workflow-section.w50{flex:0 0 50%;width:50%}
.vacation-workflow-section>legend>button{font-weight:600;font-size:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
.vacation-workflow-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;width:100%}
.vacation-workflow-card{box-sizing:border-box;min-width:0;padding:12px;border:0;border-radius:var(--border-radius,4px);background:var(--content-bg,#f3f3f3)}
.vacation-workflow-card>small{margin-bottom:5px;color:var(--text-color-light,#777);font-size:.78em}
.vacation-workflow-person{display:inline-block;width:16px;height:16px;vertical-align:-3px;margin-right:5px;background:var(--text-color-light,#777);-webkit-mask:var(--vacation-person-icon) center/contain no-repeat;mask:var(--vacation-person-icon) center/contain no-repeat}
.vacation-workflow-check{text-align:center;margin:0;padding:0;min-height:0;border:0}
.vacation-workflow-check summary{display:flex;align-items:center;justify-content:center;gap:7px;list-style:none;cursor:pointer;padding:14px;position:relative}
.vacation-workflow-check__icon{display:block;width:20px;height:20px;margin:0;flex:none}
.vacation-workflow-check__chevron{width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-left:3px;margin-top:-4px}
.vacation-workflow-check[open] .vacation-workflow-check__chevron{transform:rotate(225deg);margin-top:4px}
.vacation-workflow-check p{margin:0;padding:0 14px 14px;font-size:.85em;text-align:left}
.vacation-workflow-check--ok .vacation-workflow-check__icon{filter:none}.vacation-workflow-check--warning .vacation-workflow-check__icon{filter:none}.vacation-workflow-check--error .vacation-workflow-check__icon{filter:none}
.vacation-workflow-deviations{margin:16px 0 0;display:flex;flex-direction:column;gap:8px}
.vacation-workflow-deviations>strong{display:block;margin-bottom:2px}
.vacation-workflow-deviation{display:flex;gap:9px;align-items:flex-start;margin:0!important;padding:10px 12px!important}
.vacation-workflow-deviation>div:first-child{flex:0 0 18px}.vacation-workflow-deviation img{width:18px;height:18px}
.vacation-workflow-chat{display:flex;flex-direction:column;gap:12px}
.vacation-workflow .tl_formbody_submit{width:100%;margin-top:0}
@media(max-width:1000px){.vacation-workflow-section.w50{flex-basis:100%;width:100%}}
@media(max-width:650px){.vacation-workflow-message{max-width:100%}.vacation-workflow-toolbar .vacation-workflow-toolbar__action{margin-left:12px}}

/* Build 5.0.4 workspace layout */
.vacation-workflow{padding-bottom:0;align-items:stretch}
.vacation-workflow-section.w50{display:block;align-self:stretch}
.vacation-workflow-request-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:100%}
.vacation-workflow-request-grid .vacation-workflow-card{background:#222f3e;border-radius:var(--border-radius,4px)}
.vacation-workflow-request-grid .vacation-workflow-card>small,.vacation-workflow-request-grid .vacation-workflow-card>span{color:#aeb8c3}
.vacation-workflow-period-card{grid-column:1/-1}
.vacation-workflow-period-card .vacation-period{min-width:0}
.vacation-workflow-checks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;width:100%}
.vacation-workflow-check summary{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:92px;padding:12px}
.vacation-workflow-check__icon{margin:0 auto;width:22px;height:22px}
.vacation-workflow-check--ok .vacation-workflow-check__icon{filter:brightness(0) saturate(100%) invert(56%) sepia(74%) saturate(475%) hue-rotate(43deg) brightness(87%) contrast(90%)}
.vacation-workflow-check--warning .vacation-workflow-check__icon{filter:brightness(0) saturate(100%) invert(65%) sepia(72%) saturate(731%) hue-rotate(350deg) brightness(94%) contrast(90%)}
.vacation-workflow-check--error .vacation-workflow-check__icon{filter:brightness(0) saturate(100%) invert(39%) sepia(52%) saturate(1137%) hue-rotate(315deg) brightness(91%) contrast(89%)}
.vacation-workflow-check__chevron{display:block;width:7px;height:7px;margin:1px auto 0;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg)}
.vacation-workflow-check[open] .vacation-workflow-check__chevron{transform:rotate(225deg);margin-top:5px}
.vacation-workflow-deviation--warning img{filter:brightness(0) saturate(100%) invert(65%) sepia(72%) saturate(731%) hue-rotate(350deg) brightness(94%) contrast(90%)}
.vacation-workflow-deviation--error img{filter:brightness(0) saturate(100%) invert(39%) sepia(52%) saturate(1137%) hue-rotate(315deg) brightness(91%) contrast(89%)}
.vacation-workflow-section:not(.w50){flex-basis:100%;width:100%;clear:both}
.vacation-workflow-message-row{display:flex;width:100%}.vacation-workflow-message-row--customer{justify-content:flex-start}.vacation-workflow-message-row--manager,.vacation-workflow-message-row--system{justify-content:flex-end}
.vacation-workflow-message{position:relative;max-width:min(680px,72%);border-radius:var(--border-radius,4px);box-shadow:none}
.vacation-workflow-message--customer{background:color-mix(in srgb,#1686c9 18%,var(--content-bg,#f3f3f3))}
.vacation-workflow-message--manager{background:color-mix(in srgb,#61a525 18%,var(--content-bg,#f3f3f3))}
.vacation-workflow-message--system{background:color-mix(in srgb,#666 22%,var(--content-bg,#f3f3f3))}
.vacation-workflow-message small{font-size:.72em;color:var(--text-color-light,#888)}
@media(max-width:1000px){.vacation-workflow-request-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.vacation-workflow-checks{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:700px){.vacation-workflow-request-grid,.vacation-workflow-checks{grid-template-columns:1fr}.vacation-workflow-period-card{grid-column:auto}.vacation-workflow-message{max-width:90%}}

/* Build 5.0.5 workspace refinements */
.vacation-workflow{width:100%;padding-bottom:0}
.vacation-workflow>form{display:flex;flex-wrap:wrap;align-items:stretch;width:100%}
.vacation-workflow-toolbar{}
.vacation-workflow-toolbar .vacation-workflow-type{display:inline-flex;align-items:center;margin-right:8px}
.vacation-workflow-type img{display:block;width:16px;height:16px}
.vacation-workflow-type--private img{filter:brightness(0) saturate(100%) invert(48%) sepia(66%) saturate(1695%) hue-rotate(297deg) brightness(100%) contrast(93%)}
.vacation-workflow-type--business img{filter:brightness(0) saturate(100%) invert(20%) sepia(45%) saturate(1450%) hue-rotate(224deg) brightness(100%) contrast(95%)}
.vacation-workflow-section.w50{border-bottom:0}
.vacation-workflow-section.w50+ .vacation-workflow-section.w50{border-bottom:0}
.vacation-workflow-request-grid .vacation-workflow-card{border-radius:var(--border-radius,4px);background:#222f3e}
.vacation-workflow-guests{display:inline-flex;align-items:flex-end;gap:2px;min-height:18px}
.vacation-workflow-guest-icon{display:inline-block;width:16px;height:16px;background:var(--text-color-light,#777);-webkit-mask:var(--vacation-guest-icon) center/contain no-repeat;mask:var(--vacation-guest-icon) center/contain no-repeat}
.vacation-workflow-guest-icon--child{width:12px;height:12px;opacity:.75}.vacation-workflow-guest-icon--male{background:#1686c9}.vacation-workflow-guest-icon--female{background:#e85aa5}.vacation-workflow-guest-icon--neutral{background:var(--text-color-light,#777)}.vacation-workflow-guest-icon--diverse{background:linear-gradient(135deg,#e40303 0 16%,#ff8c00 16% 32%,#ffed00 32% 48%,#008026 48% 64%,#004dff 64% 80%,#750787 80% 100%)}
.vacation-workflow-period-card .vacation-period__bar{display:flex;gap:2px;height:7px;margin:1px 0 5px}.vacation-workflow-period-card .vacation-period__bar>span{flex:1 1 0;min-width:0;background:var(--vacation-status-color,#777)}.vacation-workflow-period-card .vacation-period__bar>span:first-child{border-radius:7px 0 0 7px}.vacation-workflow-period-card .vacation-period__bar>span:last-child{border-radius:0 7px 7px 0}.vacation-workflow-period-card .vacation-period__bar>span:only-child{border-radius:7px}.vacation-workflow-period-card .vacation-period__meta{display:flex;justify-content:space-between;gap:12px;align-items:baseline;white-space:nowrap}.vacation-workflow-period-card .vacation-period__meta>span{color:#aeb8c3}
.vacation-workflow-check{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:14px;border-radius:var(--border-radius,4px);cursor:help}
.vacation-workflow-check__icon{margin:0 auto 10px;width:24px;height:24px}.vacation-workflow-check__chevron,.vacation-workflow-check p{display:none!important}
#pal_workflow_communication{border-top:1px solid var(--border-color,#444);margin-top:0}
.vacation-workflow-message--customer{border-radius:25px 10px 25px 0}.vacation-workflow-message--manager,.vacation-workflow-message--system{border-radius:10px 25px 0 25px}
.vacation-workflow-chat{max-height:480px;overflow:auto;padding-right:4px}.vacation-workflow-chat.is-truncated:after{content:'…';display:block;text-align:center;color:var(--text-color-light,#888);font-size:1.4em}
.vacation-workflow #pal_workflow_note .widget{}.vacation-workflow #ctrl_managerNote{width:100%;min-height:336px;box-sizing:border-box}
@media(max-width:1000px){.vacation-workflow-section.w50{min-height:0}}
.vacation-workflow-header-summary{display:inline-block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-color,#ddd)}


/* Build 5.0.8: native Contao assessment boxes and workflow actions */
.vacation-workflow-assessment{margin:0!important;width:100%;box-sizing:border-box}
.vacation-workflow-assessment--warning{background-color:color-mix(in srgb,#e59b22 18%,var(--content-bg,#f3f3f3));color:#e59b22}
.vacation-workflow-danger{color:var(--red)!important;border-color:var(--red)!important}
.vacation-workflow-danger:hover{color:#fff!important;background:var(--red)!important}

/* Build 5.0.12: align workflow fieldset content with Contao backend spacing */
#pal_workflow_request .vacation-workflow-request-grid,
#pal_workflow_communication .vacation-workflow-chat {
  margin-left:12px;
  margin-right:12px;
  width:calc(100% - 24px);
  box-sizing:border-box;
}
#pal_workflow_assessment .vacation-workflow-assessment {
  margin-left:12px!important;
  margin-right:12px!important;
  width:calc(100% - 24px);
  box-sizing:border-box;
}

/* Build 5.0.13: use Contao backend content spacing consistently */
.vacation-workflow-section{
  margin:18px 0;
  padding:0 15px;
}
.vacation-workflow-section.w50{
  box-sizing:border-box;
  flex:0 0 50%;
  width:50%;
  margin:18px 0;
  padding:0 15px;
}
#pal_workflow_request .vacation-workflow-request-grid,
#pal_workflow_communication .vacation-workflow-chat{
  margin-left:0;
  margin-right:0;
  width:100%;
}
#pal_workflow_assessment .vacation-workflow-assessment{
  margin-left:0!important;
  margin-right:0!important;
  width:100%;
}
#pal_workflow_communication{
  border-top:1px solid var(--border-color,#444);
  margin-top:18px;
}
#pal_workflow_note{
  margin-top:18px;
}
@media(max-width:1000px){
}

/* Build 5.0.14: Contao-native fieldset rhythm/alignment */
.vacation-workflow-section{
  box-sizing:border-box;
  margin:18px 0;
  padding:0 15px;
}
.vacation-workflow-section>legend{
  margin:0;
  padding:0;
}
.vacation-workflow-section>legend>button{
  margin:0;
  padding:0;
}
#pal_workflow_communication{
  margin-top:18px;
  padding-top:0;
  padding-bottom:18px;
  border-top:1px solid var(--border-color,#444);
}
#pal_workflow_communication .vacation-workflow-chat{
  margin-top:18px;
}
#pal_workflow_note{
  margin-top:18px;
  margin-bottom:0;
  padding-bottom:18px;
  border-bottom:0!important;
}

/* Build 5.0.15: requested workspace padding cleanup */
.vacation-workflow-section,
.vacation-workflow-section.w50{
  padding:0;
}
.vacation-workflow-request-grid{
  padding:15px;
  box-sizing:border-box;
}

/* Build 5.0.16: assessment/chat spacing refinement */
#pal_workflow_assessment .vacation-workflow-assessment{
  margin-left:12px!important;
  margin-right:0!important;
  width:calc(100% - 24px);
  box-sizing:border-box;
}
.vacation-workflow-chat{
  padding:15px;
  box-sizing:border-box;
}

/* Build 5.0.18: final assessment/communication margin refinement */
.vacation-workflow-assessment{
  margin-top:15px;
}
#pal_workflow_assessment .vacation-workflow-assessment{
  margin-left:12px!important;
  margin-right:0!important;
  margin-top:15px!important;
  margin-bottom:0!important;
  width:calc(100% - 24px);
  box-sizing:border-box;
}
#pal_workflow_communication{
  margin-top:0!important;
}

/* Compact lifecycle navigation next to the regular Contao global operations. */
.tl_buttons .operations .header_vacation_view,
.tl_buttons.operations .header_vacation_view {
    font-size: 0;
}
.tl_buttons .operations .header_vacation_view img,
.tl_buttons.operations .header_vacation_view img {
    width: 16px;
    height: 16px;
    margin: 0;
}

/* Keep lifecycle navigation stable; highlight the current view without removing buttons. */
.tl_buttons .operations .header_vacation_view--current,
.tl_buttons.operations .header_vacation_view--current {
    border-radius: var(--border-radius,4px);
    background: color-mix(in srgb,currentColor 12%,transparent);
}
.tl_buttons .operations .header_vacation_active,
.tl_buttons.operations .header_vacation_active { color:#c27624; }
.tl_buttons .operations .header_vacation_archive,
.tl_buttons.operations .header_vacation_archive { color:var(--text); }
.tl_buttons .operations .header_vacation_trash,
.tl_buttons.operations .header_vacation_trash { color:var(--red); }

/* Build 5.2.2: semantic assessment messages using Contao variables. */
.vacation-workflow-assessment--success{color:var(--green)!important;background:color-mix(in srgb,var(--green) 14%,transparent)!important}
.vacation-workflow-assessment--error{color:var(--red)!important;background:color-mix(in srgb,var(--red) 12%,transparent)!important}
.vacation-workflow-assessment--warning{color:var(--orange,var(--contao))!important;background:color-mix(in srgb,var(--orange,var(--contao)) 12%,transparent)!important}

/* Compact, visually connected alternative selector/action. */
.vacation-workflow-alternative-action{display:inline-flex;align-items:stretch;vertical-align:middle;margin-right:6px}
.vacation-workflow-alternative-action .vacation-workflow-alternative-select{width:auto;max-width:320px;min-width:150px;border-color:var(--green);border-radius:var(--border-radius,4px) 0 0 var(--border-radius,4px);margin:0}
.vacation-workflow-alternative-action .vacation-workflow-primary{margin-left:-1px;border-radius:0 var(--border-radius,4px) var(--border-radius,4px) 0}

/* Stable lifecycle mini navigation; current view uses Contao's accent. */
.tl_buttons .operations .header_vacation_view--current,
.tl_buttons.operations .header_vacation_view--current{color:var(--contao)!important;border-bottom:1px solid var(--contao);border-radius:0;background:color-mix(in srgb,var(--contao) 8%,transparent)}
/* Workflow 5.3: timeline, draft mail and action alignment */
.vacation-workflow-chat{display:flex;flex-direction:column;gap:10px}
.vacation-workflow-message--system{background:color-mix(in srgb,var(--text) 14%,var(--content-bg));color:var(--text)}
.vacation-workflow-email{padding:15px}
.vacation-workflow-email-template{margin-bottom:15px}
.vacation-workflow-email-template .tl_select{width:auto;min-width:180px}
.vacation-workflow .tl_submit_container{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.vacation-workflow-alternative-action{display:inline-flex;align-items:stretch;margin:0}
.vacation-workflow-alternative-action .tl_select,.vacation-workflow-alternative-action .tl_submit{height:100%;min-height:34px;box-sizing:border-box}
.vacation-workflow-secondary-action{display:inline-flex;align-items:center;gap:6px;text-decoration:none}

/* Build 5.3.1: compact unified history and note composer */
.vacation-workflow-event{
  display:flex;
  align-items:center;
  gap:7px;
  min-height:24px;
  margin:5px 0;
  color:var(--text-color-light,var(--text));
  font-size:.8125rem;
  line-height:1.25;
}
.vacation-workflow-event img{flex:0 0 16px;width:16px;height:16px}
.vacation-workflow-event>span{font-weight:500}
.vacation-workflow-event>small{font:inherit;color:var(--text-color-light,var(--text));opacity:.75}
.vacation-workflow-note-composer{
  width:min(520px,100%);
  margin:18px 0 0 auto;
  padding:10px 12px 12px;
  box-sizing:border-box;
  border:1px solid var(--border-color);
  border-radius:10px 25px 0 25px;
  background:var(--form-bg,var(--content-bg));
}
.vacation-workflow-note-composer label{display:block;margin:0 0 7px;font-weight:600}
.vacation-workflow-note-composer .tl_textarea{width:100%;min-height:72px;box-sizing:border-box;resize:vertical}

/* Build 5.3.2: compact centered history, message preview and messenger note composer */
.vacation-workflow-event{justify-content:center;font-size:.75rem;color:var(--text-color-light,var(--text));gap:6px}
.vacation-workflow-event>span{font-weight:400}
.vacation-workflow-event>small{font-size:.75rem;opacity:.7}
.vacation-workflow-event--info img{filter:none}
.vacation-workflow-event--success img{filter:none}
.vacation-workflow-event--danger img{filter:none}
.vacation-workflow-event--info{color:var(--blue)}
.vacation-workflow-event--success{color:var(--green)}
.vacation-workflow-event--danger{color:var(--red)}
.vacation-workflow-preview{display:inline-flex;align-items:center;justify-content:center;padding:0;margin-left:5px;border:0;background:transparent;vertical-align:middle;cursor:pointer}
.vacation-workflow-preview img{width:16px;height:16px;filter:none}
.vacation-workflow-preview{color:var(--green)}
.vacation-workflow-note-composer{display:flex;align-items:center;width:min(680px,100%);margin:18px 0 0 auto;padding:5px 6px 5px 14px;border:1px solid var(--border-color);border-radius:25px;background:color-mix(in srgb,var(--text) 5%,var(--content-bg));box-sizing:border-box}
.vacation-workflow-note-composer .tl_text{flex:1;width:auto;min-width:0;border:0!important;background:transparent!important;box-shadow:none!important;padding:7px 4px}
.vacation-workflow-note-send{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:0;border-radius:50%;background:color-mix(in srgb,var(--contao) 14%,transparent);cursor:pointer}
.vacation-workflow-note-send:hover{background:color-mix(in srgb,var(--contao) 22%,transparent)}
.vacation-workflow-note-send img{width:18px;height:18px}
.vacation-workflow-modal{border:1px solid var(--border-color);border-radius:var(--border-radius,4px);background:var(--content-bg);color:var(--text);padding:0;max-width:min(720px,calc(100vw - 40px));width:720px;box-shadow:0 10px 40px rgba(0,0,0,.35)}
.vacation-workflow-modal::backdrop{background:rgba(0,0,0,.45)}
.vacation-workflow-modal__head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border-color)}
.vacation-workflow-modal__head strong{font-size:1rem}.vacation-workflow-modal__close{border:0;background:transparent;color:var(--text);font-size:1.4rem;cursor:pointer}
.vacation-workflow-modal__body{padding:18px}.vacation-workflow-modal__meta{display:grid;grid-template-columns:max-content 1fr;gap:7px 12px;margin-bottom:18px;font-size:.8125rem}.vacation-workflow-modal__content{padding:14px;border:1px solid var(--border-color);border-radius:var(--border-radius,4px);background:var(--form-bg,var(--content-bg));line-height:1.5}

/* Build 5.3.3: single-line messenger note composer */
.vacation-workflow-note-composer{
  display:flex;
  align-items:center;
  width:min(680px,100%);
  min-height:44px;
  height:44px;
  margin:18px 0 0 auto;
  padding:4px 5px 4px 14px;
  overflow:hidden;
  border:1px solid var(--border-color);
  border-radius:22px;
  background:color-mix(in srgb,var(--text) 6%,var(--content-bg));
  box-sizing:border-box;
}
.vacation-workflow-note-composer .tl_text{
  flex:1;
  width:auto;
  min-width:0;
  height:34px;
  min-height:34px;
  margin:0;
  padding:6px 8px;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  line-height:22px;
}
.vacation-workflow-note-send{
  flex:0 0 34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  margin:0;
  padding:0;
  border:0;
  border-radius:50%;
  background:color-mix(in srgb,var(--text) 22%,var(--content-bg));
  cursor:pointer;
}
.vacation-workflow-note-send:hover{background:color-mix(in srgb,var(--text) 30%,var(--content-bg))}
.vacation-workflow-note-send img{width:18px;height:18px;filter:brightness(0) invert(1)}


/* Build 5.3.4: sticky compact note composer and semantic timeline icons */
.vacation-workflow-chat{position:relative;padding-bottom:74px}
.vacation-workflow-note-composer{
  position:sticky;
  bottom:12px;
  z-index:4;
  margin:18px 0 0 auto;
}
.vacation-workflow-note-composer .tl_text,
.vacation-workflow-note-composer .tl_text:focus,
.vacation-workflow-note-composer .tl_text:focus-visible{
  outline:0!important;
  border:0!important;
  box-shadow:none!important;
}
.vacation-workflow-note-composer:focus-within{
  border-color:var(--contao);
  box-shadow:0 0 0 1px color-mix(in srgb,var(--contao) 35%,transparent);
}
.vacation-workflow-note-send{background:color-mix(in srgb,var(--text) 28%,var(--content-bg))}
.vacation-workflow-note-send:hover{background:color-mix(in srgb,var(--text) 36%,var(--content-bg))}
.vacation-workflow-note-send img{filter:brightness(0) invert(1)}
.vacation-workflow-preview img{filter:none}
.vacation-workflow-modal__content p{margin:0 0 .8em}
.vacation-workflow-modal__content p:last-child{margin-bottom:0}
.vacation-workflow-preview{width:18px;height:18px;margin-left:6px;background:var(--green);-webkit-mask:url('/system/themes/flexible/icons/show.svg') center/16px 16px no-repeat;mask:url('/system/themes/flexible/icons/show.svg') center/16px 16px no-repeat}
.vacation-workflow-preview img{display:none}
.vacation-workflow-event--info img[src$="/info.svg"]{display:none}
.vacation-workflow-event--info:before{content:"";width:14px;height:14px;flex:0 0 14px;background:var(--blue);-webkit-mask:url('/bundles/berningsystemsvacationmanagement/info.svg') center/14px 14px no-repeat;mask:url('/bundles/berningsystemsvacationmanagement/info.svg') center/14px 14px no-repeat}

/* Build 5.3.5: timeline notes, sent-message semantics and latest-first viewport */
.vacation-workflow-chat{padding-bottom:0!important}
.vacation-workflow-event--neutral{color:var(--text-color-light,var(--text))}
.vacation-workflow-note-entry{
  display:flex;align-items:center;justify-content:center;gap:7px;
  width:max-content;max-width:min(760px,90%);margin:8px auto;padding:8px 12px;
  border-radius:var(--border-radius,4px);
  background:color-mix(in srgb,var(--blue) 14%,var(--content-bg));
  color:var(--blue);font-size:.75rem;line-height:1.3;box-sizing:border-box
}
.vacation-workflow-note-entry>span:not(.vacation-workflow-note-entry__icon){color:var(--text)}
.vacation-workflow-note-entry small{color:var(--text-color-light,var(--text));opacity:.75}
.vacation-workflow-note-entry__icon{width:14px;height:14px;flex:0 0 14px;background:var(--blue);-webkit-mask:url('/bundles/berningsystemsvacationmanagement/info.svg') center/14px 14px no-repeat;mask:url('/bundles/berningsystemsvacationmanagement/info.svg') center/14px 14px no-repeat}
.vacation-workflow-sent-icon{display:inline-block;width:15px;height:15px;margin-right:7px;vertical-align:-2px;background:var(--orange);-webkit-mask:url('/bundles/berningsystemsvacationmanagement/send.svg') center/15px 15px no-repeat;mask:url('/bundles/berningsystemsvacationmanagement/send.svg') center/15px 15px no-repeat}
.vacation-workflow-preview{display:inline-block;width:16px;height:16px;margin-left:7px;vertical-align:-3px;background:var(--green);-webkit-mask:url('/system/themes/flexible/icons/visible.svg') center/16px 16px no-repeat;mask:url('/system/themes/flexible/icons/visible.svg') center/16px 16px no-repeat}
.vacation-workflow-preview img{display:none!important}

/* Build 5.3.6: compact/expandable history and semantic edit/rejection states */
#pal_workflow_communication .vacation-workflow-chat{
  max-height:480px;
  overflow:auto;
  transition:max-height .22s ease;
  scroll-behavior:smooth;
  position:relative;
}
.vacation-workflow-edit-icon{
  width:14px;height:14px;flex:0 0 14px;
  background:var(--text-color-light,var(--text));
  -webkit-mask:url('/system/themes/flexible/icons/edit.svg') center/14px 14px no-repeat;
  mask:url('/system/themes/flexible/icons/edit.svg') center/14px 14px no-repeat;
}
.vacation-workflow-message--rejection{
  background:color-mix(in srgb,var(--red) 20%,var(--content-bg))!important;
  border-color:color-mix(in srgb,var(--red) 45%,transparent);
}

/* Build 5.3.7: sent mail icon, compact timeline wrapping and template switching */
.vacation-workflow-event{overflow-wrap:anywhere;text-align:center}
.vacation-workflow-event>span{overflow-wrap:anywhere}
.vacation-workflow-note-entry{max-width:min(50%,760px);white-space:normal;overflow-wrap:anywhere}
.vacation-workflow-mail-icon{display:inline-block;width:16px;height:16px;margin-left:5px;vertical-align:-5px;background:var(--green);-webkit-mask:url('/bundles/berningsystemsvacationmanagement/mail-check.svg') center/16px 16px no-repeat;mask:url('/bundles/berningsystemsvacationmanagement/mail-check.svg') center/16px 16px no-repeat}
.vacation-workflow-mail-icon--rejection{background:var(--red)}
.vacation-workflow-mail-icon--question{background:var(--orange);-webkit-mask:url('/bundles/berningsystemsvacationmanagement/mail-question-mark.svg') center/16px 16px no-repeat;mask:url('/bundles/berningsystemsvacationmanagement/mail-question-mark.svg') center/16px 16px no-repeat}
.vacation-workflow-mail-icon--offer,.vacation-workflow-mail-icon--confirmation,.vacation-workflow-mail-icon--reminder{background:var(--green)}
/* Build 5.4.0 */
.vacation-workflow-note-entry>small{white-space:nowrap;flex:0 0 auto}
.vacation-workflow-preview--text{width:auto;height:auto;margin:0;padding:0;background:none!important;-webkit-mask:none!important;mask:none!important;color:inherit;font:inherit;text-decoration:none}
.vacation-workflow-preview--text:hover{text-decoration:underline}
.vacation-workflow-send-button{display:inline-flex;align-items:center;gap:7px}
.vacation-workflow-send-button__icon{width:15px;height:15px;display:inline-block;background:var(--green);-webkit-mask:url('/bundles/berningsystemsvacationmanagement/send.svg') center/15px 15px no-repeat;mask:url('/bundles/berningsystemsvacationmanagement/send.svg') center/15px 15px no-repeat}
.vacation-workflow-send-button--red .vacation-workflow-send-button__icon{background:var(--red)}
.vacation-workflow-send-button--orange .vacation-workflow-send-button__icon{background:var(--orange)}
.vacation-workflow-send-button--green .vacation-workflow-send-button__icon{background:var(--green)}
/* Build 5.4.1: semantic outgoing mail icons */
.vacation-workflow-message--manager{background:color-mix(in srgb,var(--green) 18%,var(--content-bg,#f3f3f3))!important}
.vacation-workflow-message--manager p{position:relative;padding-top:2px}
.vacation-workflow-message--manager>small{padding-right:0}
.vacation-workflow-mail-icon--rejection{background:var(--red);-webkit-mask:url('/bundles/berningsystemsvacationmanagement/mail-x.svg') center/16px 16px no-repeat;mask:url('/bundles/berningsystemsvacationmanagement/mail-x.svg') center/16px 16px no-repeat}

.vacation-workflow-note-composer{margin:18px auto 0 auto!important}

/* Build 5.5.0: native edit request + live assessment side by side. */
#pal_request_legend,#pal_assessment_legend{box-sizing:border-box;width:50%;float:left;min-height:260px}
#pal_contact_legend{clear:both}
#pal_request_legend .widget-group{display:flex;flex-wrap:wrap;align-items:flex-start}
#pal_request_legend .widget.w50{box-sizing:border-box;width:50%}
#pal_assessment_legend .vacation-live-assessment{padding:15px;box-sizing:border-box}
.vacation-live-assessment__message{padding:14px 16px;border-radius:var(--border-radius,4px);line-height:1.4;background:var(--info-bg);color:var(--blue)}
.vacation-live-assessment__message--success{background:color-mix(in srgb,var(--green) 12%,transparent);color:var(--green)}
.vacation-live-assessment__message--warning{background:color-mix(in srgb,var(--orange) 12%,transparent);color:var(--orange)}
.vacation-live-assessment__message--error{background:color-mix(in srgb,var(--red) 12%,transparent);color:var(--red)}
.vacation-live-assessment__alternatives{margin-top:8px}.vacation-live-assessment__alternative{padding:10px 14px;color:var(--blue);background:var(--info-bg);border-radius:var(--border-radius,4px)}
@media(max-width:1000px){#pal_request_legend,#pal_assessment_legend{width:100%;float:none;min-height:0}}

/* Build 5.5.1: edit request cards aligned with workflow workspace. */
#pal_request_legend .widget-group{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  padding:15px;
  box-sizing:border-box;
}
#pal_request_legend .widget-group > .widget{
  width:auto!important;
  margin:0!important;
  padding:12px 14px!important;
  box-sizing:border-box;
  background:#222f3e;
  border-radius:var(--border-radius,4px);
  min-width:0;
}
#pal_request_legend .widget-group > .widget h3{margin-top:0}
#pal_request_legend .widget-group > .widget .tl_help{margin-bottom:0}
#pal_request_legend .widget-group > .widget input.tl_text,
#pal_request_legend .widget-group > .widget select.tl_select,
#pal_request_legend .widget-group > .widget .tl_select_wrapper,
#pal_request_legend .widget-group > .widget .choices{max-width:100%;width:100%}
#pal_request_legend .widget-group > .widget.wizard{display:block}
#pal_request_legend .widget-group > .widget.wizard input.tl_text{width:calc(100% - 30px)}
#pal_request_legend .widget-group > .widget.wizard > img{margin-left:6px}
#pal_contact_legend{clear:both;width:100%}
@media(max-width:1200px){#pal_request_legend .widget-group{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){#pal_request_legend .widget-group{grid-template-columns:1fr}}


/* Build 5.5.2: edit view mirrors the workflow request/assessment layout. */
.vacation-edit-topgrid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0;
  width: 100%;
  align-items: stretch;
}
.vacation-edit-topgrid > .tl_box {
  min-width: 0;
  box-sizing: border-box;
  margin: 18px 0;
  padding: 0;
}
.vacation-edit-topgrid > .tl_box > legend {
  margin: 0;
  padding: 0 15px;
}
.vacation-edit-topgrid > .tl_box > .widget-group {
  box-sizing: border-box;
  padding: 15px;
}
#pal_request_legend .widget-group {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  align-items: stretch;
}
#pal_request_legend .widget-group > .widget {
  min-width: 0;
  margin: 0 !important;
  padding: 15px;
  box-sizing: border-box;
  border-radius: var(--border-radius, 4px);
  background: #222f3e;
}
#pal_request_legend .widget-group > .widget h3 {
  margin-top: 0;
}
#pal_request_legend .widget-group > .widget input.tl_text,
#pal_request_legend .widget-group > .widget select.tl_select,
#pal_request_legend .widget-group > .widget .tl_select_wrapper,
#pal_request_legend .widget-group > .widget .choices {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
#pal_request_legend .widget-group > .widget .tl_help {
  margin-bottom: 0;
}
#pal_request_legend .widget-group > .wizard.widget input.tl_text {
  width: calc(100% - 26px);
  display: inline-block;
}
#pal_request_legend .widget-group > .wizard.widget img {
  vertical-align: middle;
}
#pal_assessment_legend .widget-group {
  box-sizing: border-box;
  padding: 15px;
}
#pal_assessment_legend .vacation-live-assessment,
#pal_assessment_legend .vacation-workflow-assessment {
  width: 100%;
  box-sizing: border-box;
}
#pal_contact_legend,
#pal_address_legend,
#pal_message_legend,
#pal_note_legend {
  display: block;
  width: 100%;
  box-sizing: border-box;
  margin: 18px 0;
  padding: 0;
}
.vacation-edit-header-card {
  width: 100% !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
.vacation-edit-header {
  width: 100%;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 44px;
  padding: 0 14px;
  border-radius: var(--border-radius, 4px);
}
.vacation-edit-header__status {
  display: inline-block;
  width: 10px;
  height: 10px;
  flex: 0 0 10px;
  border-radius: 50%;
  background: var(--blue);
}
.vacation-edit-header__status--success { background: var(--green); }
.vacation-edit-header__status--warning { background: var(--orange); }
.vacation-edit-header__status--danger { background: var(--red); }
.vacation-edit-header__status--info,
.vacation-edit-header__status--new { background: var(--blue); }
@media (max-width: 1100px) {
  .vacation-edit-topgrid { grid-template-columns: 1fr; }
}
@media (max-width: 780px) {
  #pal_request_legend .widget-group { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px) {
  #pal_request_legend .widget-group { grid-template-columns: 1fr; }
}

/* Build 5.5.4: workflow-like edit header and stable 50/50 edit layout. */
.vacation-edit-topgrid { width:100%; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.vacation-edit-topgrid > #pal_request_legend,
.vacation-edit-topgrid > #pal_assessment_legend { width:auto !important; min-width:0; }
#pal_request_legend > .widget-group { width:100%; grid-template-columns:repeat(3,minmax(0,1fr)); }
#pal_request_legend .widget-group > .widget h3.small { font-size:.75rem; font-weight:400; color:var(--text-light); margin:0 0 7px; }
#pal_request_legend .widget-group > .widget .tl_help { display:none !important; }
#pal_request_legend .widget-group > .widget { width:auto !important; max-width:none !important; }
#pal_assessment_legend .widget-group { width:100%; }
.vacation-edit-header { }
.vacation-edit-header__tools { margin-left:auto; display:flex; align-items:center; gap:8px; min-width:0; }
.vacation-edit-header__tools .tl_formbody { display:contents; }
.vacation-edit-header__tools select.tl_select { width:auto; max-width:320px; }
.vacation-edit-header__tools .vacation-edit-header__back { margin-left:4px; }
.vacation-edit-header-card,
.vacation-edit-header-card + * { border-top:0 !important; }
.tl_formbody_edit > .jump-targets { display:none !important; }

/* Build 5.5.5: shared UI foundation. Workspace and edit views use these classes. */
.vacation-ui-request-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  width:100%;
  box-sizing:border-box;
}
.vacation-ui-card{
  min-width:0;
  box-sizing:border-box;
  padding:15px;
  background:#222f3e;
  border-radius:var(--border-radius,4px);
}
.vacation-ui-card__label{
  display:block;
  margin:0 0 7px;
  color:var(--text-light);
  font-size:.75rem;
  font-weight:400;
}
.vacation-ui-card--period{grid-column:1 / -1}
.vacation-ui-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;align-items:start}
.vacation-ui-control{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;min-width:0}
.vacation-ui-control .tl_select_wrapper,.vacation-ui-control .choices,.vacation-ui-control select.tl_select,.vacation-ui-control input.tl_text{width:100%!important;max-width:100%!important;box-sizing:border-box}
.vacation-ui-control.wizard{display:grid!important;grid-template-columns:minmax(0,1fr) 20px;gap:6px;align-items:center}
.vacation-ui-control.wizard input.tl_text{width:100%!important;min-width:0}
.vacation-ui-control.wizard > img{margin:0!important}
.vacation-ui-sublabel{display:block;margin-top:6px;color:var(--text-light);font-size:.6875rem;font-weight:400}

/* Edit request: exactly one shared request grid in the left 50%, assessment in the right 50%. */
.vacation-edit-topgrid{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;width:100%;align-items:start}
.vacation-edit-topgrid > #pal_request_legend,.vacation-edit-topgrid > #pal_assessment_legend{width:auto!important;min-width:0!important;float:none!important;box-sizing:border-box}
#pal_request_legend > .widget-group{display:block!important;width:100%!important;padding:15px!important;box-sizing:border-box}
#pal_request_legend > .widget-group > .vacation-ui-request-grid{width:100%}
#pal_assessment_legend > .widget-group{padding:15px!important;box-sizing:border-box}
@media(max-width:1100px){.vacation-edit-topgrid{grid-template-columns:1fr!important}}
@media(max-width:700px){.vacation-ui-request-grid{grid-template-columns:1fr}.vacation-ui-card--period{grid-column:auto}.vacation-ui-split{grid-template-columns:1fr}}

/* Build 5.5.6: final edit-header cleanup. */
.tl_formbody_edit > .operations,
.tl_formbody > .operations#tl_buttons { display:none !important; }
fieldset.tl_box.nolegend:has(.vacation-edit-header) { border-bottom:0 !important; }
.w50.widget.vacation-ui-control { min-height:0 !important; }

/* Build 5.5.8: requested Contao spacing reset for the shared edit UI. */
.vacation-edit-header { }
fieldset.tl_tbox.nolegend { margin: 18px 0 !important; }
.widget.w100.vacation-edit-header-card { margin: 0 !important; }
.tl_header.vacation-edit-header { margin: 0 !important; }
.vacation-edit-topgrid > .tl_box > legend { padding: 0 !important; }
.tl_box, .tl_tbox { padding: 12px 0 0 !important; }
.vacation-ui-request-grid.vacation-workflow-request-grid { padding: 0 !important; }
.vacation-edit-topgrid > .tl_box { margin: 0 !important; }
.tl_help { margin-top: 20px; margin-bottom: 20px; }

/* Build 5.5.9: edit view cleanup, live assessment visibility and address card. */
.vacation-edit-header { }
fieldset.tl_tbox.nolegend:has(.vacation-edit-header) { border-bottom: hidden !important; }
.tl_box:last-child, .tl_tbox:last-child { border-bottom: var(--border) !important; }
.vacation-live-assessment__message { opacity:1; font-size:.875rem; font-weight:400; }
.vacation-live-assessment__message--success { color:var(--green) !important; }
.vacation-live-assessment__message--warning { color:var(--orange) !important; }
.vacation-live-assessment__message--error { color:var(--red) !important; }

#pal_address_legend > .widget-group { display:block; padding:15px; box-sizing:border-box; }
.vacation-address-card { max-width:680px; background:#222f3e; border-radius:var(--border-radius,4px); overflow:hidden; }
.vacation-address-card__head { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px 12px; background:color-mix(in srgb,#222f3e 84%,white); }
.vacation-address-card__head strong { font-size:.875rem; }
.vacation-address-card__kind { display:inline-flex; align-items:center; gap:5px; color:var(--text-light); font-size:.6875rem; }
.vacation-address-card__icon { width:16px; height:16px; display:inline-block; background:var(--text-light); -webkit-mask:url('/system/themes/flexible/icons/member.svg') center/contain no-repeat; mask:url('/system/themes/flexible/icons/member.svg') center/contain no-repeat; }
.vacation-address-card__body { padding:12px; display:grid; gap:10px; }
.vacation-address-card__row { display:grid; grid-template-columns:minmax(0,1fr) minmax(90px,.28fr); gap:10px; }
.vacation-address-card__row--city { grid-template-columns:minmax(110px,.3fr) minmax(0,1fr); }
.vacation-address-card .widget { width:100% !important; margin:0 !important; padding:0 !important; min-height:0 !important; }
.vacation-address-card .widget h3 { margin:0 0 6px; font-size:.75rem; font-weight:400; color:var(--text-light); }
.vacation-address-card .widget .tl_text { width:100%; box-sizing:border-box; }
.vacation-address-card .tl_help { display:none; }
@media(max-width:700px){.vacation-address-card__row,.vacation-address-card__row--city{grid-template-columns:1fr}}

/* Build 5.6.0: compact booker address inside the existing participant card. */
.vacation-booker-address{display:grid;gap:10px;margin-top:10px}
.vacation-booker-address__row{display:grid;gap:8px;align-items:end}
.vacation-booker-address__row--street{grid-template-columns:minmax(0,1fr) minmax(72px,25%)}
.vacation-booker-address__row--city{grid-template-columns:minmax(90px,28%) minmax(0,1fr)}
.vacation-booker-address .widget{width:auto!important;min-height:0!important;margin:0!important;padding:0!important}
.vacation-booker-address .widget h3{font-size:.75rem;margin:0 0 4px}
.vacation-booker-address .tl_help{display:none}
.vacation-live-assessment__message[hidden]{display:none!important}
@media(max-width:700px){.vacation-booker-address__row{grid-template-columns:1fr}}

/* Build 5.6.1: shared live-assessment and participant-card refinements. */
#pal_assessment_legend .widget > div { font-size: .875rem; }
.vacation-live-assessment__message,
.vacation-live-assessment__alternative { display:flex; align-items:center; gap:8px; }
.vacation-assessment-icon { flex:0 0 16px; width:16px; height:16px; display:inline-block; background:currentColor; -webkit-mask-position:center; -webkit-mask-repeat:no-repeat; -webkit-mask-size:contain; mask-position:center; mask-repeat:no-repeat; mask-size:contain; }
.vacation-assessment-icon--success { color:var(--green); -webkit-mask-image:url('/bundles/berningsystemsvacationmanagement/circle-check.svg'); mask-image:url('/bundles/berningsystemsvacationmanagement/circle-check.svg'); }
.vacation-assessment-icon--warning { color:var(--orange); -webkit-mask-image:url('/bundles/berningsystemsvacationmanagement/triangle-alert.svg'); mask-image:url('/bundles/berningsystemsvacationmanagement/triangle-alert.svg'); }
.vacation-assessment-icon--error { color:var(--red); -webkit-mask-image:url('/bundles/berningsystemsvacationmanagement/circle-x.svg'); mask-image:url('/bundles/berningsystemsvacationmanagement/circle-x.svg'); }
.vacation-assessment-icon--info { color:var(--blue); -webkit-mask-image:url('/bundles/berningsystemsvacationmanagement/info.svg'); mask-image:url('/bundles/berningsystemsvacationmanagement/info.svg'); }
.vacation-live-assessment__alternative--selectable { width:100%; border:0; font:inherit; text-align:left; cursor:pointer; }
.vacation-live-assessment__alternative--selectable strong { font-weight:500; text-decoration:underline; text-underline-offset:2px; }
.vacation-live-assessment__alternative--selectable:hover strong { color:var(--contao); }
.vacation-participant-card__body { background-color:#2c2f32; }
.vacation-booker-address { background-color:#16202b; border-radius:15px; padding:15px; margin-top:14px; }
.vacation-booker-address .widget h3,
.vacation-booker-address .widget h3 label { font-size:.875rem; font-weight:400; line-height:1.3; color:inherit; }
.vacation-booker-address .widget h3 { margin:7px 0 3px; }

/* Build 5.6.2: keep Contao headings aligned without the core 13px top padding. */
.tl_box h3,.tl_tbox h3,.tl_xpl h3{padding-top:0}
\n\n/* Occupancy planner: one canonical rule set. */
.vop{margin:18px 0;padding:0 15px}.vop *{box-sizing:border-box}.vop-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px;flex-wrap:wrap}.vop-nav,.vop-legend{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.vop-btn{display:inline-flex;align-items:center;border:1px solid var(--border);background:var(--form-bg);color:var(--text);border-radius:var(--border-radius);padding:6px 10px;text-decoration:none;cursor:pointer}.vop-btn:hover,.vop-btn.is-active{border-color:var(--contao);color:var(--contao)}.vop-btn.is-active{border-bottom-color:var(--contao)}
.vop-legend{font-size:.75rem;color:var(--text-light)}.vop-legend span:before{content:'';display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:5px;vertical-align:0}.vop-legend .is-booked:before{background:var(--green)}.vop-legend .is-reserved:before{background:var(--orange)}.vop-legend .is-archived:before{background:color-mix(in srgb,var(--text-light) 78%,var(--content-bg))}.vop-legend .is-blocked:before{background:var(--text)}
.vop-scroll{width:100%;overflow:hidden;border:1px solid var(--border);border-radius:var(--border-radius)}.vop-scroll.is-wide{overflow-x:auto}.vop-calendar{width:100%;min-width:100%}.vop-scroll.is-wide .vop-calendar{width:max-content}.vop-months,.vop-head,.vop-row{display:grid;position:relative;grid-template-columns:170px repeat(var(--days),minmax(28px,1fr))}.vop-scroll.is-wide .vop-months,.vop-scroll.is-wide .vop-head,.vop-scroll.is-wide .vop-row{grid-template-columns:170px repeat(var(--days),28px)}
.vop-month-corner,.vop-corner,.vop-name{position:sticky;left:0;z-index:10;background:var(--content-bg);border-right:1px solid var(--border)}.vop-month-corner{z-index:12}.vop-corner{z-index:12;padding:9px 10px;font-weight:600}.vop-month{display:flex;align-items:center;justify-content:center;min-height:30px;border-bottom:1px solid var(--border);border-right:1px solid var(--border);font-size:.75rem;font-weight:600}.vop-day-head{text-align:center;padding:6px 1px;min-height:38px;border-right:1px solid color-mix(in srgb,var(--border) 55%,transparent);font-size:.7rem}.vop-day-head small{display:block;margin-top:3px;font-size:.6rem;color:var(--text-light)}.vop-day-head.is-weekend,.vop-day.is-weekend{background:color-mix(in srgb,var(--content-bg) 90%,var(--text) 10%)}.vop-day-head.is-today,.vop-day.is-today{box-shadow:inset 2px 0 0 var(--orange)}
.vop-row{min-height:58px;height:var(--vop-row-height,58px);border-bottom:1px solid var(--border)}.vop-name{display:flex;align-items:center;padding:9px 10px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vop-day{grid-row:1;min-height:var(--vop-row-height,58px);border-right:1px solid color-mix(in srgb,var(--border) 45%,transparent);cursor:crosshair;user-select:none}.vop-day:hover{background:color-mix(in srgb,var(--contao) 10%,transparent)}.vop-day.is-selected{background:color-mix(in srgb,var(--contao) 20%,transparent);box-shadow:inset 0 2px 0 var(--contao),inset 0 -2px 0 var(--contao)}.vop-row.has-overlap{--vop-row-height:90px}.vop-row.has-overlap-3{--vop-row-height:121px}.vop-bars{position:absolute;left:170px;right:0;top:0;bottom:0;pointer-events:none;z-index:4}.vop-bar{position:absolute;top:calc(7px + var(--vop-lane,0) * 31px);height:36px;border-radius:var(--border-radius);padding:4px 7px;color:#fff;text-decoration:none;font-size:.7rem;line-height:1.15;overflow:hidden;pointer-events:auto;border:1px solid color-mix(in srgb,#fff 18%,transparent)}.vop-bar strong,.vop-bar small{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.vop-bar small{margin-top:2px;font-size:.6rem;opacity:.9}.vop-bar.is-booked{background:var(--green)}.vop-bar.is-reserved{background:var(--orange)}.vop-bar.is-blocked{background:var(--text-light);color:var(--content-bg);border-color:color-mix(in srgb,var(--text) 30%,transparent)}.vop-bar.is-archived{background:color-mix(in srgb,var(--text-light) 78%,var(--content-bg));color:var(--text);opacity:.86}
.vop-hint{padding:8px 0;font-size:.75rem;color:var(--text-light)}.vop-dialog{border:1px solid var(--border);border-radius:var(--border-radius);background:var(--content-bg);color:var(--text);min-width:390px;max-width:92vw;padding:0}.vop-dialog::backdrop{background:rgba(0,0,0,.55)}.vop-dialog-head{padding:15px 18px;border-bottom:1px solid var(--border);font-weight:600}.vop-dialog-body{padding:18px}.vop-dialog-body label{display:block;margin:10px 0}.vop-choice{display:flex;gap:10px;margin-top:16px}.vop-dialog-actions{display:flex;justify-content:flex-end;padding:14px 18px;border-top:1px solid var(--border)}

#pal_request_legend select option.is-unavailable { color: var(--text-color-light, #777); }
#pal_request_legend .choices__item.is-unavailable { color: var(--text-color-light, #777) !important; opacity: .68; }
#pal_request_legend .choices__list--dropdown .choices__item.is-unavailable { color: var(--text-color-light, #777) !important; }
.vacation-workflow-assessment--warning { color: var(--orange, #e58b22); }

/* Preserve the requested guest count when the selected accommodation is smaller. */
.vacation-ui-control--over-capacity .choices__inner,.vacation-guest-count--over-capacity.choices .choices__inner,select.vacation-guest-count--over-capacity{border-color:var(--red)!important;box-shadow:0 0 0 1px color-mix(in srgb,var(--red) 35%,transparent)}
.vacation-ui-control--over-capacity .choices__list--single .choices__item{color:var(--red)!important}
.choices__item[data-vacation-over-capacity="1"]{display:none!important}

.vacation-workflow-message--cancellation{background:color-mix(in srgb,var(--red) 16%,var(--content-bg,#f3f3f3))!important;border-color:color-mix(in srgb,var(--red) 40%,transparent)}

/* Distinct occupancy states and editable blocker modal. */
.vop-legend .is-archived:before{background:#7b8490;border:1px solid #9aa2ab}
.vop-legend .is-blocked:before{background:#a8afb7;border:1px solid #d0d4d9}
.vop-bar.is-blocked{background:#626b75;color:#fff;border-color:#89919a}
.vop-bar.is-archived{background:#7b8490;color:#fff;border-color:#9aa2ab;opacity:.92}
.vop-note-label{margin-top:16px!important}.vop-note-label textarea,.vop-dialog textarea,.vop-dialog input.tl_text{width:100%;margin-top:5px}
.vop-block-meta{margin-bottom:14px;color:var(--text-light);font-size:.75rem}.vop-dialog-actions--split{justify-content:space-between;align-items:center}.vop-danger{border-color:var(--red)!important;color:var(--red)!important;cursor:pointer}

/* Inclusive blocker display and aligned blocker dialogs. */
.vop-dialog-actions{gap:8px;align-items:center}
.vop-dialog-actions--split>div{display:flex;align-items:center;gap:8px}
.vop-dialog-actions .tl_submit,.vop-choice .tl_submit{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:36px;margin:0;line-height:1.2}
.vop-block-create-step[hidden],.vop-dialog-actions [hidden],.vop-choice[hidden]{display:none!important}
/* Blocker details stay in the current workflow context. */
/* Booking rule designer: compact, automation-style WENN/DANN/SONST sections. */
#pal_when_legend, #pal_then_legend, #pal_else_legend, #pal_settings_legend { font-weight: 600; }
#pal_when_legend .tl_box, #pal_then_legend .tl_box, #pal_else_legend .tl_box, #pal_settings_legend .tl_box { margin-top: 8px; }

/* Booking rule designer */

/* Central request-list error indicator and modal. */
.vacation-list-alert{display:inline-flex;align-items:center;justify-content:center;margin-left:6px;padding:0;border:0;background:transparent;cursor:pointer}
.vacation-list-alert img{display:block;filter:brightness(0) saturate(100%) invert(31%) sepia(87%) saturate(2151%) hue-rotate(341deg) brightness(91%) contrast(91%)}
.vacation-alert-modal{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:24px}
.vacation-alert-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.36)}
.vacation-alert-modal__dialog{position:relative;width:min(620px,100%);max-height:80vh;overflow:auto;background:var(--content-bg,#fff);border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:0 12px 40px rgba(0,0,0,.22)}
.vacation-alert-modal__header,.vacation-alert-modal__footer{display:flex;align-items:center;padding:14px 16px;border-bottom:1px solid var(--border-color)}
.vacation-alert-modal__header{justify-content:space-between}.vacation-alert-modal__footer{justify-content:flex-end;border-top:1px solid var(--border-color);border-bottom:0}
.vacation-alert-modal__close:not(.tl_submit){font-size:24px;line-height:1;border:0;background:transparent;cursor:pointer;color:inherit}
.vacation-alert-modal__body{padding:14px 16px}.vacation-alert-modal__item{padding:10px 12px;margin:0 0 8px;border-left:3px solid var(--red);background:color-mix(in srgb,var(--red) 9%,transparent);color:var(--red)}

/* 5.10.65 occupancy polish */
.vop-bar{transition:filter .12s ease,background-color .12s ease,color .12s ease}
.vop-bar:hover{filter:brightness(.86);color:inherit!important}
.vop-bar.is-booked:hover,.vop-bar.is-reserved:hover,.vop-bar.is-blocked:hover,.vop-bar.is-archived:hover{color:#fff!important}
.vop-warning{display:inline-block;width:13px;height:13px;margin-right:5px;vertical-align:-2px;background:#e34b4b;-webkit-mask:url('/bundles/berningsystemsvacationmanagement/triangle-alert.svg') center/contain no-repeat;mask:url('/bundles/berningsystemsvacationmanagement/triangle-alert.svg') center/contain no-repeat}

/* Build 5.10.69: one unified backend message engine. */
.vacation-top-message {
  width:100%!important;
  box-sizing:border-box;
  display:flex!important;
  align-items:center;
  gap:10px;
  min-height:42px;
  margin:0 0 12px!important;
  padding:10px 14px!important;
  border-radius:var(--border-radius,4px)!important;
  border:1px solid color-mix(in srgb,var(--border-color,#d0d0d0) 75%,transparent)!important;
  transition:opacity .22s ease,transform .22s ease;
}
.vacation-top-message.is-hiding{opacity:0;transform:translateY(-3px)}
.vacation-top-message--success{color:var(--green)!important;background:color-mix(in srgb,var(--green) 14%,transparent)!important}
.vacation-top-message--info{color:var(--blue,var(--contao))!important;background:color-mix(in srgb,var(--blue,var(--contao)) 10%,transparent)!important}
.vacation-top-message--warning{color:var(--orange,var(--contao))!important;background:color-mix(in srgb,var(--orange,var(--contao)) 12%,transparent)!important}
.vacation-top-message--error{color:var(--red)!important;background:color-mix(in srgb,var(--red) 12%,transparent)!important}
.vacation-top-message__icon{display:inline-block;flex:0 0 18px;width:18px;height:18px;background:currentColor;-webkit-mask:var(--vacation-message-icon) center/contain no-repeat;mask:var(--vacation-message-icon) center/contain no-repeat}
.vacation-list-alert{}
.vacation-workflow-assessment[data-vacation-blocker-details]{cursor:pointer}
.vacation-workflow-assessment[data-vacation-blocker-details]:hover{text-decoration:underline;text-underline-offset:2px}
.vacation-blocker-modal__meta>div{margin-bottom:7px}
.vacation-blocker-modal__note{margin-top:14px;padding:10px 12px;border-radius:var(--border-radius,4px);background:color-mix(in srgb,var(--text) 8%,transparent);white-space:pre-wrap}
.vacation-blocker-modal__note[hidden]{display:none}


/* Build 5.10.71: one visual assessment language in editor and workflow. */
.vacation-workflow-assessment,
.vacation-live-assessment__message {
  display:flex!important;
  align-items:center;
  gap:8px;
  width:100%!important;
  box-sizing:border-box;
  padding:14px 16px!important;
  border-radius:var(--border-radius,4px)!important;
  line-height:1.4;
  margin:0!important;
}
#pal_workflow_assessment .vacation-workflow-assessment {
  margin-left:0!important;
  margin-right:0!important;
  width:100%!important;
}
.vacation-workflow-assessment--success { background:color-mix(in srgb,var(--green) 12%,transparent)!important; color:var(--green)!important; }
.vacation-workflow-assessment--warning { background:color-mix(in srgb,var(--orange) 12%,transparent)!important; color:var(--orange)!important; }
.vacation-workflow-assessment--error { background:color-mix(in srgb,var(--red) 12%,transparent)!important; color:var(--red)!important; }

/* Build 5.10.72 */
.vacation-top-message{border:0!important;border-radius:var(--border-radius,4px)!important}
.tl_message{border:0!important;background:transparent!important;padding:0!important}
.vacation-list-alert{position:relative;top:0;margin-left:6px;align-self:center;line-height:1}
.vacation-list-alert img{vertical-align:0!important}
.vacation-alert-modal__item--action{cursor:pointer;border-radius:var(--border-radius,4px);padding:8px 10px;margin:2px -10px}
.vacation-alert-modal__item--action:hover{background:color-mix(in srgb,var(--text) 8%,transparent)}

/* Build 5.10.73: canonical message/assessment language. */
.vacation-message,
.vacation-live-assessment__message,
.vacation-assessment-message {
  display:flex!important;
  align-items:center;
  gap:10px;
  width:100%!important;
  min-height:42px;
  box-sizing:border-box;
  margin:0 0 12px!important;
  padding:10px 14px!important;
  border:0!important;
  border-radius:var(--border-radius,4px)!important;
  line-height:1.4;
}
.vacation-message__icon{display:block;flex:0 0 18px;width:18px;height:18px;object-fit:contain}
.vacation-message__text{display:block;min-width:0}
.vacation-message--success{color:var(--green,#61a525)!important;background:color-mix(in srgb,var(--green,#61a525) 12%,transparent)!important}
.vacation-message--info{color:var(--blue,#1686c9)!important;background:color-mix(in srgb,var(--blue,#1686c9) 10%,transparent)!important}
.vacation-message--warning{color:var(--orange,#e59b22)!important;background:color-mix(in srgb,var(--orange,#e59b22) 12%,transparent)!important}
.vacation-message--error{color:var(--red,#e34b4b)!important;background:color-mix(in srgb,var(--red,#e34b4b) 12%,transparent)!important}
.vacation-message--transient{
  overflow:hidden;
  max-height:120px;
  opacity:1;
  transition:max-height .38s ease,opacity .22s ease,margin .38s ease,padding .38s ease;
}
.vacation-message--transient.is-hiding{max-height:0!important;min-height:0!important;opacity:0!important;margin-top:0!important;margin-bottom:0!important;padding-top:0!important;padding-bottom:0!important}
.vacation-top-messages{width:100%;margin:0 0 12px!important;padding:0!important;background:transparent!important;border:0!important}
.vacation-top-messages > .tl_confirm,
.vacation-top-messages > .tl_info,
.vacation-top-messages > .tl_warning,
.vacation-top-messages > .tl_error{border:0!important;background:transparent!important}
.vacation-assessment-message{cursor:default}
.vacation-assessment-message[data-vacation-blocker-details]{cursor:pointer}
.vacation-assessment-message[data-vacation-blocker-details]:hover .vacation-message__text{text-decoration:underline;text-underline-offset:2px}
.vacation-live-assessment__messages{width:100%}
.vacation-live-assessment__messages:empty{display:none}
.vacation-live-assessment__message{margin-bottom:10px!important}
\n/* Build 5.10.74: semantic icon colors and timeline alignment. */\n.vacation-message__icon{display:inline-block;flex:0 0 18px;width:18px;height:18px;background:currentColor!important;object-fit:initial!important;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}\n.vacation-message__icon--success{-webkit-mask-image:url('/bundles/berningsystemsvacationmanagement/circle-check.svg');mask-image:url('/bundles/berningsystemsvacationmanagement/circle-check.svg')}\n.vacation-message__icon--info{-webkit-mask-image:url('/bundles/berningsystemsvacationmanagement/info.svg');mask-image:url('/bundles/berningsystemsvacationmanagement/info.svg')}\n.vacation-message__icon--warning{-webkit-mask-image:url('/bundles/berningsystemsvacationmanagement/triangle-alert.svg');mask-image:url('/bundles/berningsystemsvacationmanagement/triangle-alert.svg')}\n.vacation-message__icon--error{-webkit-mask-image:url('/bundles/berningsystemsvacationmanagement/circle-x.svg');mask-image:url('/bundles/berningsystemsvacationmanagement/circle-x.svg')}\n.vacation-list-alert{top:-1px!important;vertical-align:baseline!important}\n.vacation-workflow-mail-icon--reminder{background:var(--orange)!important;-webkit-mask:url('/bundles/berningsystemsvacationmanagement/mail-question-mark.svg') center/16px 16px no-repeat!important;mask:url('/bundles/berningsystemsvacationmanagement/mail-question-mark.svg') center/16px 16px no-repeat!important}\n.vacation-workflow-mail-icon--cancellation{background:var(--red)!important;-webkit-mask:url('/bundles/berningsystemsvacationmanagement/mail-x.svg') center/16px 16px no-repeat!important;mask:url('/bundles/berningsystemsvacationmanagement/mail-x.svg') center/16px 16px no-repeat!important}\n

/* Build 5.10.75: unified semantic icons, assessment spacing, previews and subtle scrollbars. */
.vacation-message__icon{display:inline-block!important;flex:0 0 18px;width:18px;height:18px;background:currentColor!important;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}
.vacation-message__icon--success{-webkit-mask-image:url('/bundles/berningsystemsvacationmanagement/circle-check.svg');mask-image:url('/bundles/berningsystemsvacationmanagement/circle-check.svg')}
.vacation-message__icon--info{-webkit-mask-image:url('/bundles/berningsystemsvacationmanagement/info.svg');mask-image:url('/bundles/berningsystemsvacationmanagement/info.svg')}
.vacation-message__icon--warning{-webkit-mask-image:url('/bundles/berningsystemsvacationmanagement/triangle-alert.svg');mask-image:url('/bundles/berningsystemsvacationmanagement/triangle-alert.svg')}
.vacation-message__icon--error{-webkit-mask-image:url('/bundles/berningsystemsvacationmanagement/circle-x.svg');mask-image:url('/bundles/berningsystemsvacationmanagement/circle-x.svg')}
.vacation-list-alert{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:18px;height:18px;margin-left:6px!important;padding:0!important;border:0!important;background:transparent!important;vertical-align:top!important;position:relative!important;top:0!important;line-height:1!important}
.vacation-list-alert__icon{display:block;width:17px;height:17px;background:var(--red,#e34b4b);-webkit-mask:url('/bundles/berningsystemsvacationmanagement/triangle-alert.svg') center/contain no-repeat;mask:url('/bundles/berningsystemsvacationmanagement/triangle-alert.svg') center/contain no-repeat}
#pal_workflow_assessment .vacation-assessment-message{margin-left:15px!important;margin-right:15px!important;width:calc(100% - 30px)!important;box-sizing:border-box!important}
.vacation-assessment-preview{cursor:pointer!important}
.vacation-assessment-preview:hover .vacation-message__text{text-decoration:underline;text-underline-offset:2px}
.vacation-workflow-chat,.vop-scroll{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--text-light,#777) 48%,transparent) transparent}
.vacation-workflow-chat::-webkit-scrollbar,.vop-scroll::-webkit-scrollbar{width:7px;height:7px}
.vacation-workflow-chat::-webkit-scrollbar-track,.vop-scroll::-webkit-scrollbar-track{background:transparent}
.vacation-workflow-chat::-webkit-scrollbar-thumb,.vop-scroll::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--text-light,#777) 42%,transparent);border-radius:999px;border:2px solid transparent;background-clip:padding-box}
.vacation-workflow-chat:hover::-webkit-scrollbar-thumb,.vop-scroll:hover::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--text-light,#777) 62%,transparent);background-clip:padding-box}
.vacation-top-message{box-shadow:none!important}

/* Build 5.10.75: final alignment refinements. */
.vacation-list-alert{top:0!important;vertical-align:baseline!important;transform:translateY(1px)}
.vacation-list-alert__icon{margin:0!important}
#pal_workflow_assessment{padding-left:0!important;padding-right:0!important}

/* Build 5.10.76: semantic icons are inline SVG and inherit the message text color. */
.vacation-message__icon,.vacation-assessment-icon{display:inline-block!important;flex:0 0 18px;width:18px;height:18px;background:none!important;color:inherit!important;-webkit-mask:none!important;mask:none!important;overflow:visible;vertical-align:-3px}
.vacation-assessment-icon{flex-basis:16px;width:16px;height:16px;vertical-align:-2px}
.vacation-message__icon--success,.vacation-message__icon--info,.vacation-message__icon--warning,.vacation-message__icon--error,.vacation-assessment-icon--success,.vacation-assessment-icon--info,.vacation-assessment-icon--warning,.vacation-assessment-icon--error{color:inherit!important;-webkit-mask-image:none!important;mask-image:none!important}

/* Build 5.10.77: Vorgang = process path + scalable three-lane timeline. */
.vacation-workflow-process-wrap{padding:2px 18px 18px}
.vacation-process-path{display:flex;align-items:center;justify-content:center;max-width:880px;margin:0 auto;padding:8px 0;color:var(--text-color-light,var(--text));font-size:.8125rem;white-space:nowrap}
.vacation-process-step{display:inline-flex;align-items:center;gap:6px;opacity:.5;transition:opacity .15s ease,color .15s ease,font-weight .15s ease}
.vacation-process-step__dot{font-size:1rem;line-height:1}
.vacation-process-step--done{opacity:.72}
.vacation-process-step--active{opacity:1;font-weight:600}
.vacation-process-step--success{color:var(--green)}
.vacation-process-step--warning{color:var(--orange)}
.vacation-process-step--error{color:var(--red)}
.vacation-process-step--info{color:var(--blue)}
.vacation-process-step--neutral{color:var(--text-color-light,var(--text))}
.vacation-process-line{width:clamp(20px,5vw,72px);height:1px;margin:0 9px;background:var(--border-color);opacity:.85}

.vacation-timeline{position:relative;display:flex;flex-direction:column;gap:10px;padding:18px 22px 76px!important}
.vacation-timeline:before{content:"";position:absolute;top:12px;bottom:72px;left:50%;width:1px;background:color-mix(in srgb,var(--border-color) 80%,transparent);pointer-events:none}
.vacation-timeline-entry{position:relative;z-index:1;display:flex;align-items:flex-start;gap:10px;width:min(48%,680px)}
.vacation-timeline-entry--customer{align-self:flex-start}
.vacation-timeline-entry--manager{align-self:flex-end;justify-content:flex-end}
.vacation-timeline-message-wrap{display:flex;flex-direction:column;min-width:0;max-width:calc(100% - 46px)}
.vacation-timeline-entry--manager .vacation-timeline-message-wrap{align-items:flex-end}
.vacation-timeline-avatar{display:flex;align-items:center;justify-content:center;flex:0 0 36px;width:36px;height:36px;border-radius:50%;background:color-mix(in srgb,var(--text) 12%,var(--content-bg));border:1px solid var(--border-color);color:var(--text);font-size:.75rem;font-weight:600;letter-spacing:.02em;box-sizing:border-box}
.vacation-timeline-entry--customer .vacation-timeline-avatar{background:color-mix(in srgb,var(--blue) 14%,var(--content-bg));color:var(--blue)}
.vacation-timeline-entry--manager .vacation-timeline-avatar{background:color-mix(in srgb,var(--green) 14%,var(--content-bg));color:var(--green)}
.vacation-timeline .vacation-workflow-message{margin:0!important;max-width:100%;border-radius:16px!important;padding:10px 13px!important;box-shadow:none}
.vacation-timeline-entry--customer .vacation-workflow-message{border-top-left-radius:5px!important}
.vacation-timeline-entry--manager .vacation-workflow-message{border-top-right-radius:5px!important}
.vacation-timeline-when{margin:4px 6px 0;color:var(--text-color-light,var(--text));opacity:.65;font-size:.6875rem;line-height:1.2}
.vacation-timeline-system{position:relative;z-index:2;align-self:center;display:flex!important;align-items:center;justify-content:center;gap:7px;width:max-content;max-width:min(70%,780px);margin:4px auto!important;padding:6px 11px!important;border:1px solid var(--border-color);border-radius:14px;background:var(--content-bg);color:var(--text-color-light,var(--text));font-size:.72rem;line-height:1.3;box-sizing:border-box}
.vacation-timeline-system small{opacity:.65;white-space:nowrap}
.vacation-timeline .vacation-workflow-note-composer{z-index:5;width:min(680px,72%);margin:18px auto 0!important}
#pal_workflow_communication .vacation-workflow-chat{max-height:540px}
@media(max-width:900px){.vacation-process-path{overflow-x:auto;justify-content:flex-start}.vacation-timeline:before{display:none}.vacation-timeline-entry{width:88%}.vacation-timeline-system{max-width:90%}.vacation-timeline .vacation-workflow-note-composer{width:92%}}

/* Build 5.10.78: compact process card and calmer communication bubbles. */
.vacation-workflow-process-wrap{padding:4px 22px 18px}
.vacation-process-path{max-width:920px;padding:12px 18px;border:1px solid var(--border-color);border-radius:10px;background:color-mix(in srgb,var(--content-bg) 88%,var(--text) 12%)}
.vacation-process-step__icon{display:block;flex:0 0 17px;width:17px;height:17px;opacity:.9}
.vacation-process-step--active .vacation-process-step__icon{opacity:1}
.vacation-process-step__dot{display:none!important}
.vacation-timeline{gap:16px}
.vacation-timeline .vacation-workflow-message{padding:9px 13px!important}
.vacation-timeline-entry .vacation-workflow-message>small{display:none!important}
.vacation-timeline-entry .vacation-workflow-message p{margin:0!important}
.vacation-timeline-avatar{flex-basis:38px;width:38px;height:38px;font-size:.76rem}
.vacation-timeline-when{margin-top:5px}

/* Build 5.10.79: compact process pill and communication excerpts. */
.vacation-workflow-process-wrap{padding:4px 22px 14px}
.vacation-process-path{width:max-content;max-width:calc(100% - 44px);padding:10px 14px;background:color-mix(in srgb,var(--text) 5%,var(--content-bg));border-color:transparent;border-radius:24px}
.vacation-process-line{width:clamp(18px,3.5vw,48px);margin:0 7px}
.vacation-timeline{padding-bottom:15px!important}
.vacation-timeline:before{bottom:54px}
.vacation-timeline-when{opacity:.38}
.vacation-timeline .vacation-workflow-note-composer{margin:15px auto 0!important}
#pal_workflow_communication .vacation-workflow-chat{padding-bottom:15px!important}
@media(max-width:900px){.vacation-process-path{width:auto;max-width:100%;border-radius:12px}}

/* Build 5.10.80: neutral communication bubbles with semantic template badges. */
.vacation-timeline .vacation-timeline-bubble{
  position:relative;
  min-width:190px;
  padding:30px 14px 11px!important;
  background:color-mix(in srgb,var(--text) 5%,var(--content-bg))!important;
  border:1px solid color-mix(in srgb,var(--border-color) 72%,transparent)!important;
  color:var(--text)!important;
}
.vacation-timeline .vacation-timeline-bubble p,
.vacation-timeline .vacation-timeline-bubble .vacation-workflow-preview--text{
  text-align:left!important;
}
.vacation-timeline .vacation-timeline-bubble .vacation-workflow-preview--text{
  display:block!important;
  width:100%;
  color:inherit!important;
  line-height:1.45;
}
.vacation-timeline-badge{
  position:absolute;
  top:8px;
  right:9px;
  display:inline-flex;
  align-items:center;
  min-height:18px;
  padding:2px 7px;
  border-radius:7px;
  font-size:.625rem;
  font-weight:600;
  line-height:1.2;
  letter-spacing:.01em;
  white-space:nowrap;
  background:color-mix(in srgb,currentColor 13%,transparent);
}
.vacation-timeline-badge--offer,.vacation-timeline-badge--confirmation{color:var(--green)}
.vacation-timeline-badge--question,.vacation-timeline-badge--reminder{color:var(--orange)}
.vacation-timeline-badge--cancellation,.vacation-timeline-badge--rejection{color:var(--red)}
.vacation-timeline-badge--general{color:var(--blue)}


/* Build 5.10.81: floating solid template badges and more bubble spacing. */
.vacation-timeline{gap:24px}
.vacation-timeline .vacation-timeline-bubble{padding:16px 14px 11px!important}
.vacation-timeline-badge{top:-11px;background:var(--content-bg);border:1px solid currentColor;box-shadow:0 1px 2px rgba(0,0,0,.18)}

/* Build 5.10.82: semantic solid badges; neutral identity avatars. */
.vacation-timeline-badge{border-color:transparent;box-shadow:none}
.vacation-timeline-badge--offer,.vacation-timeline-badge--confirmation{background:var(--green);color:#fff}
.vacation-timeline-badge--question,.vacation-timeline-badge--reminder{background:var(--orange);color:#fff}
.vacation-timeline-badge--cancellation,.vacation-timeline-badge--rejection{background:var(--red);color:#fff}
.vacation-timeline-badge--general{background:var(--blue);color:#fff}
.vacation-timeline-entry--manager .vacation-timeline-avatar,
.vacation-timeline-entry--customer .vacation-timeline-avatar{background:color-mix(in srgb,var(--text) 10%,var(--content-bg));border-color:var(--border-color);color:var(--text)}
/* 5.10.83 process arrows + compact badges + unified settings */
.vacation-process-arrow{display:inline-flex;align-items:center;justify-content:center;margin:0 8px;color:var(--text-color-light,var(--text));opacity:.48;font-size:.78rem;line-height:1}
.vacation-process-gap{display:inline-block;width:22px;margin:0 4px}
.vacation-process-line{display:none!important}
.vacation-timeline-badge{padding:3px 8px;line-height:1.15;font-size:.68rem}
.vacation-settings-feature-delete{padding-bottom:8px;font-weight:400!important;color:var(--red)}

/* Build 5.10.84: native Contao settings fieldsets + row-wizard inspired features. */
/* Content-sized communication bubbles. */
.vacation-timeline-message-wrap{width:max-content;max-width:calc(100% - 46px)}
.vacation-timeline .vacation-timeline-bubble{display:inline-block;min-width:0!important;width:max-content;max-width:min(680px,100%)}
.vacation-timeline .vacation-timeline-bubble .vacation-workflow-preview--text{display:inline!important;width:auto!important;max-width:100%;white-space:normal}

/* Build 5.10.86: compact feature columns + visual local icon selector. */
#ctrl_vacationFeatures th:nth-child(2),#ctrl_vacationFeatures td:nth-child(2){width:16%}
#ctrl_vacationFeatures th:nth-child(3),#ctrl_vacationFeatures td:nth-child(3){width:22%}
#ctrl_vacationFeatures th:nth-child(4),#ctrl_vacationFeatures td:nth-child(4){width:62%}
.vacation-feature-icon-picker{position:relative}
.vacation-feature-icon-select{display:flex!important;align-items:center;gap:8px;width:100%;text-align:left;cursor:pointer}
.vacation-feature-icon-select img{width:18px;height:18px;flex:0 0 18px;filter:none}
.vacation-feature-icon-placeholder{display:inline-flex;width:18px;justify-content:center;color:var(--text-color-light,var(--text))}
.vacation-feature-icon-popover{position:absolute;z-index:1200;top:calc(100% + 4px);left:0;width:min(360px,80vw);padding:8px;background:var(--content-bg);border:1px solid var(--border-color);border-radius:4px;box-shadow:0 6px 24px rgba(0,0,0,.24)}
.vacation-feature-icon-search{width:100%;margin-bottom:6px}
.vacation-feature-icon-options{max-height:280px;overflow:auto}
.vacation-feature-icon-option{display:flex;align-items:center;gap:9px;width:100%;padding:7px 8px;border:0;border-radius:3px;background:transparent;color:var(--text);text-align:left;cursor:pointer}
.vacation-feature-icon-option:hover,.vacation-feature-icon-option:focus,.vacation-feature-icon-option.is-active{background:var(--hover-bg,rgba(127,127,127,.12))}
.vacation-feature-icon-option img{width:18px;height:18px;flex:0 0 18px}
.vacation-feature-icon-option span{font-size:.82rem;color:var(--text-color-light,var(--text));opacity:.72}
@media(max-width:900px){#ctrl_vacationFeatures th:nth-child(2),#ctrl_vacationFeatures td:nth-child(2),#ctrl_vacationFeatures th:nth-child(3),#ctrl_vacationFeatures td:nth-child(3),#ctrl_vacationFeatures th:nth-child(4),#ctrl_vacationFeatures td:nth-child(4){width:auto}}

/* Build 5.10.87: native submitted icon field + readable Lucide previews in dark mode. */
.vacation-feature-icon-native{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
html[data-color-scheme="dark"] .vacation-feature-icon-select img,html[data-color-scheme="dark"] .vacation-feature-icon-option img{filter:brightness(0) invert(1)}
@media (prefers-color-scheme:dark){.vacation-feature-icon-select img,.vacation-feature-icon-option img{filter:brightness(0) invert(1)}}

/* Build 5.10.89: compact emoji-style Lucide picker. */
.vacation-feature-icon-popover{width:min(330px,80vw)}
.vacation-feature-icon-options{display:grid;grid-template-columns:repeat(6,minmax(36px,1fr));gap:6px;max-height:280px;overflow:auto;padding:2px}
.vacation-feature-icon-option{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1;padding:7px;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--text);cursor:pointer}
.vacation-feature-icon-option[hidden]{display:none!important}
.vacation-feature-icon-option:hover,.vacation-feature-icon-option:focus,.vacation-feature-icon-option.is-active{background:var(--hover-bg,rgba(127,127,127,.12));border-color:var(--border-color)}
.vacation-feature-icon-option img{width:22px;height:22px;flex:0 0 22px}
@media(max-width:520px){.vacation-feature-icon-options{grid-template-columns:repeat(5,minmax(36px,1fr))}}

/* Build 5.10.90: native settings polish, row-wizard help, theme-safe feature icons. */
.vacation-feature-row-wizard tfoot tr.row-wizard-ghost,
.vacation-feature-row-wizard tfoot tr.row-wizard-ghost td{border-style:none!important;border-width:0!important}
.vacation-feature-row-wizard + .tl_help{margin-top:8px}
.vacation-settings-error{color:var(--red)!important}
/* Lucide source SVGs use dark strokes. Keep them dark in light mode and invert only in explicit dark mode. */
.vacation-feature-icon-select img,.vacation-feature-icon-option img{filter:none!important}
html[data-color-scheme="dark"] .vacation-feature-icon-select img,
html[data-color-scheme="dark"] .vacation-feature-icon-option img{filter:brightness(0) invert(1)!important}
.vacation-email-config-buttons{display:flex;gap:8px;flex-wrap:wrap}.vacation-settings-dialog{width:min(560px,calc(100vw - 40px));border:1px solid var(--border,#444);border-radius:8px;padding:0;background:var(--content-bg,#111);color:inherit}.vacation-settings-dialog--wide{width:min(860px,calc(100vw - 40px))}.vacation-settings-dialog::backdrop{background:rgba(0,0,0,.55)}.vacation-settings-dialog__head{padding:16px 20px;border-bottom:1px solid var(--border,#333)}.vacation-settings-dialog__body{padding:20px}.vacation-settings-dialog__actions{padding:12px 20px;border-top:1px solid var(--border,#333);text-align:right}
/* Build 5.10.95: compact e-mail settings and native-looking mailbox shortcut. */
#pal_vacation_email_legend{position:relative}
#pal_vacation_email_legend .vacation-email-settings-link{position:absolute;top:10px;right:18px;width:auto!important;margin:0;padding:0;z-index:3}
#pal_vacation_email_legend .vacation-email-settings-link h3,#pal_vacation_email_legend .vacation-email-settings-link p{display:none}
.vacation-settings-gear{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:0;background:transparent;color:inherit}
.vacation-settings-gear img{width:18px;height:18px;opacity:.75}
.vacation-workflow-email-head>.widget{box-sizing:border-box;width:50%!important}

/* Build 5.10.98: refined Contao-native inbox workspace. */
.vacation-inbox-workspace{box-sizing:border-box;padding:0 15px 0 0}
.vacation-inbox-workspace .vacation-inbox-toolbar{margin:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
.vacation-inbox-toolbar .tl_header{display:flex;align-items:center;justify-content:flex-end;gap:16px;min-height:18px;background:transparent!important;border:0!important;box-shadow:none!important}
.vacation-inbox-toolbar .vacation-inbox-toolbar__action{display:inline-flex;align-items:center;gap:6px;margin-left:0!important;padding-left:0!important;background-image:none!important;white-space:nowrap;font-weight:400}
.vacation-inbox-toolbar .vacation-inbox-toolbar__action img{display:block;width:16px;height:16px;object-fit:contain}
.vacation-inbox-toolbar .vacation-inbox-toolbar__action--icon{gap:0}
.vacation-inbox-toolbar .vacation-inbox-toolbar__action.is-active{font-weight:600;color:var(--text)}
.vacation-inbox-folder-count{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-left:2px;padding:0;border-radius:50%;background:color-mix(in srgb,var(--text) 15%,transparent);font-size:.68rem;line-height:18px;font-variant-numeric:tabular-nums}
.vacation-inbox-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:stretch;width:100%;margin-top:14px}
.vacation-inbox-list-pane,.vacation-inbox-detail-pane{display:flex;min-width:0;flex-direction:column}
.vacation-inbox-list-scroll{flex:1 1 auto;overflow:visible;padding:0!important;border:0;border-radius:0;background:transparent}
.vacation-inbox-list{width:100%;margin:0!important;table-layout:fixed;border-collapse:collapse}
.vacation-inbox-list th,.vacation-inbox-list td{box-sizing:border-box;vertical-align:middle}
.vacation-inbox-list .vacation-inbox-check{width:36px!important;text-align:center}
.vacation-inbox-list .vacation-inbox-indicator{width:32px!important;text-align:center}
.vacation-inbox-list .vacation-inbox-date{width:104px!important}
.vacation-inbox-list .vacation-inbox-sender{width:37%!important}
.vacation-inbox-list tbody tr{cursor:pointer;transition:background-color .12s ease}
.vacation-inbox-list tbody tr:hover{background:color-mix(in srgb,var(--text) 6%,transparent)}
.vacation-inbox-list tbody tr.is-selected{background:color-mix(in srgb,var(--blue) 13%,transparent)}
.vacation-inbox-list td>a{display:block;min-width:0;color:inherit;text-decoration:none;overflow:hidden;text-overflow:ellipsis}
.vacation-inbox-list .vacation-inbox-indicator>a{display:flex;align-items:center;justify-content:center;overflow:visible}
.vacation-inbox-status-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--vacation-inbox-status-color,#777)}
.vacation-inbox-list .vacation-inbox-date a{white-space:nowrap;font-variant-numeric:tabular-nums}
.vacation-inbox-sender strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}
.vacation-inbox-sender small{display:block;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-color-light,var(--text));opacity:.72;font-size:.76rem;font-weight:400}
.vacation-inbox-subject a{white-space:nowrap}
.vacation-inbox-row.is-unread .vacation-inbox-sender strong,.vacation-inbox-row.is-unread .vacation-inbox-subject a{font-weight:700}
.vacation-inbox-empty{margin:0!important;border:0!important}
.vacation-inbox-bulkbar{margin:0;border-top:1px solid var(--border-color)}
.vacation-inbox-bulkbar .tl_submit_container{display:flex;gap:8px;align-items:center}
.vacation-inbox-pagination{margin:12px 0 0!important;padding-top:10px;border-top:1px solid var(--border-color)}
.vacation-inbox-preview{display:flex;flex:1 1 auto;min-height:0;height:100%;margin:0!important;padding:0!important;overflow:hidden;flex-direction:column}
.vacation-inbox-preview__heading{flex:0 0 auto;width:100%;margin:0!important;border-collapse:collapse}
.vacation-inbox-preview__heading th{text-align:left}
.vacation-inbox-preview__head{display:flex;flex:0 0 auto;align-items:flex-start;justify-content:space-between;gap:20px;padding:14px 15px 10px;border-bottom:1px solid var(--border-color)}
.vacation-inbox-preview__head>div{min-width:0}
.vacation-inbox-preview__head strong{display:block;font-size:1rem;overflow-wrap:anywhere}
.vacation-inbox-preview__head small{display:block;margin-top:5px;color:var(--text-color-light,var(--text));opacity:.82;overflow-wrap:anywhere}
.vacation-inbox-preview__head small span{font-weight:400}
.vacation-inbox-preview__head time{flex:0 0 auto;color:var(--text-color-light,var(--text));opacity:.72;font-size:.78rem;white-space:nowrap;font-variant-numeric:tabular-nums}
.vacation-inbox-preview__meta{display:flex;flex:0 0 auto;gap:14px;flex-wrap:wrap;padding:7px 15px;border-bottom:1px solid var(--border-color);font-size:.76rem;color:var(--text-color-light,var(--text));opacity:.8}
.vacation-inbox-preview__frame{display:block;flex:1 1 auto;width:100%;min-height:0;height:auto;border:0;background:var(--content-bg);color:var(--text)}
html[data-color-scheme="dark"] .vacation-inbox-preview__frame{background:#1f2227}
@media(prefers-color-scheme:dark){.vacation-inbox-preview__frame{background:#1f2227}}
.vacation-inbox-placeholder{display:flex;flex:1 1 auto;min-height:0;height:100%;box-sizing:border-box;flex-direction:column;align-items:center;justify-content:center;padding:30px;border:1px dashed var(--border-color);border-radius:var(--border-radius,4px);color:var(--text-color-light,var(--text));text-align:center}
.vacation-inbox-placeholder p{margin:7px 0 0;opacity:.72}
.vacation-inbox-actions{width:100%;margin:14px 0 0}
.vacation-inbox-actionbar{width:100%;margin:0!important}
.vacation-inbox-actionbar__inner{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.vacation-inbox-actionbar__primary,.vacation-inbox-actionbar__secondary{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.vacation-inbox-assign{display:inline-flex;align-items:center;gap:6px}
.vacation-inbox-assign .tl_select{width:260px;max-width:28vw}
.vacation-inbox-danger{color:var(--red)!important;border-color:color-mix(in srgb,var(--red) 55%,var(--border-color))!important}
.vacation-inbox-compose{margin:0}
.vacation-inbox-compose .widget{box-sizing:border-box}
.vacation-inbox-compose__top{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap}
.vacation-inbox-compose__top>.widget{flex:1 1 calc(50% - 8px);width:auto!important;min-width:220px}
.vacation-inbox-compose .tl_text,.vacation-inbox-compose .tl_select{width:100%}
.vacation-inbox-new-modal{width:min(860px,calc(100vw - 42px));max-width:860px}
.vacation-inbox-new-modal .vacation-workflow-modal__body{padding:18px}
.vacation-inbox-new-modal__editor{margin-top:14px}
.vacation-inbox-new-modal__footer{margin:16px -18px -18px;padding-left:18px;padding-right:18px}
@media(max-width:1180px){.vacation-inbox-workspace{padding-right:0}.vacation-inbox-split{grid-template-columns:1fr}.vacation-inbox-detail-pane{height:auto!important;min-height:360px}.vacation-inbox-preview__frame{min-height:360px}.vacation-inbox-placeholder{min-height:260px}.vacation-inbox-assign .tl_select{width:min(430px,62vw);max-width:none}}
@media(max-width:720px){.vacation-inbox-toolbar .tl_header{align-items:flex-start;justify-content:flex-start;flex-wrap:wrap}.vacation-inbox-toolbar .vacation-inbox-toolbar__action{margin-right:0}.vacation-inbox-list .vacation-inbox-date{width:88px}.vacation-inbox-list .vacation-inbox-sender{width:38%}.vacation-inbox-preview__head{flex-direction:column;gap:7px}.vacation-inbox-actionbar__inner{align-items:stretch;flex-direction:column}.vacation-inbox-actionbar__primary,.vacation-inbox-actionbar__secondary{width:100%}.vacation-inbox-assign{width:100%;flex-wrap:wrap}.vacation-inbox-assign .tl_select{width:100%;max-width:none;flex:1 1 100%}.vacation-inbox-compose__top>.widget{flex-basis:100%}}

/* Build 5.10.99: inbox spacing, native-style pagination and workflow e-mail triage. */
.vacation-inbox-workspace{padding:0!important}
.vacation-inbox-workspace .tl_listing_container{margin:0!important;padding:15px 0!important;box-sizing:border-box}
.vacation-inbox-split{box-sizing:border-box;padding:0 15px;margin-top:0}
.vacation-inbox-workspace .vacation-inbox-toolbar{padding:15px 0!important}
.vacation-inbox-workspace .vacation-inbox-list-scroll,
.vacation-inbox-workspace .vacation-inbox-preview{padding:15px 0!important}
.vacation-inbox-list-scroll{overflow:visible}
.vacation-inbox-actions{margin:0;width:100%;box-sizing:border-box}
.vacation-inbox-actionbar{margin:0!important}
.vacation-inbox-actionbar__inner{box-sizing:border-box;padding-left:15px;padding-right:15px}
.vacation-inbox-actionbar .tl_submit,
.vacation-inbox-actionbar a.tl_submit{box-sizing:border-box;min-height:32px;height:32px;padding-top:6px;padding-bottom:6px;line-height:18px}
.vacation-inbox-actionbar a.tl_submit{display:inline-flex;align-items:center;text-decoration:none}
.vacation-inbox-assign .tl_select{width:240px;max-width:24vw}

.vacation-inbox-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0!important;padding:12px 0 0!important;border-top:1px solid var(--border-color);font-size:.75rem}
.vacation-inbox-pagination>p{margin:0;color:var(--text-color-light,var(--text));opacity:.78;font-variant-numeric:tabular-nums}
.vacation-inbox-pagination ul{display:flex;align-items:center;gap:3px;margin:0!important;padding:0!important;list-style:none!important}
.vacation-inbox-pagination li{display:block;margin:0!important;padding:0!important;list-style:none!important}
.vacation-inbox-pagination a,
.vacation-inbox-pagination .current{display:inline-flex;align-items:center;justify-content:center;min-width:27px;height:27px;box-sizing:border-box;padding:0 7px;border:1px solid var(--border-color);border-radius:3px;background:var(--content-bg);color:var(--text);text-decoration:none;font-variant-numeric:tabular-nums}
.vacation-inbox-pagination a:hover{background:color-mix(in srgb,var(--text) 7%,var(--content-bg));border-color:color-mix(in srgb,var(--text) 30%,var(--border-color))}
.vacation-inbox-pagination .current{border-color:var(--contao);background:color-mix(in srgb,var(--contao) 15%,var(--content-bg));font-weight:600}
.vacation-inbox-pagination .previous a,.vacation-inbox-pagination .next a{font-size:1rem;line-height:1}

.vacation-status-attention{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;margin-left:5px;border-radius:50%;background:var(--orange);color:#fff;font-size:.62rem;font-weight:700;line-height:1;vertical-align:1px}
.vacation-timeline .vacation-workflow-note-composer{box-shadow:0 7px 20px rgba(0,0,0,.22),0 1px 3px rgba(0,0,0,.18)}
.vacation-timeline .vacation-workflow-note-composer:focus-within{box-shadow:0 7px 20px rgba(0,0,0,.22),0 0 0 1px color-mix(in srgb,var(--contao) 45%,transparent)}

.vacation-timeline-bubble--incoming-email{padding-top:18px!important}
.vacation-timeline-mail-tools{position:absolute;top:-12px;right:8px;z-index:3;display:flex;align-items:center;gap:5px}
.vacation-timeline-mail-tools .vacation-timeline-badge{position:static;top:auto;right:auto}
.vacation-timeline-email-menu{position:relative}
.vacation-timeline-email-menu>summary{display:flex;align-items:center;justify-content:center;width:26px;height:24px;box-sizing:border-box;border:1px solid var(--border-color);border-radius:7px;background:var(--content-bg);color:var(--text);cursor:pointer;font-size:.82rem;font-weight:700;line-height:1;list-style:none;box-shadow:0 1px 2px rgba(0,0,0,.12)}
.vacation-timeline-email-menu>summary::-webkit-details-marker{display:none}
.vacation-timeline-email-menu[open]>summary,.vacation-timeline-email-menu>summary:hover{background:color-mix(in srgb,var(--text) 7%,var(--content-bg))}
.vacation-timeline-email-menu__panel{position:absolute;top:29px;right:0;z-index:20;display:flex;width:230px;box-sizing:border-box;flex-direction:column;padding:6px;border:1px solid var(--border-color);border-radius:6px;background:var(--content-bg);box-shadow:0 8px 28px rgba(0,0,0,.28)}
.vacation-timeline-email-menu__panel button{display:block;width:100%;margin:0;padding:8px 9px;border:0;border-radius:4px;background:transparent;color:var(--text);text-align:left;font:inherit;cursor:pointer}
.vacation-timeline-email-menu__panel button:hover{background:color-mix(in srgb,var(--text) 7%,transparent)}
.vacation-timeline-email-menu__panel .vacation-timeline-email-menu__separate{margin-top:5px;padding-top:9px;border-top:1px solid var(--border-color);border-radius:0 0 4px 4px;color:var(--red)}

@media(max-width:1180px){
  .vacation-inbox-split{padding:0 15px}
  .vacation-inbox-assign .tl_select{width:min(360px,58vw);max-width:none}
}

/* Build 5.10.100: inbox alignment + workflow mail triage refinements. */
.vacation-inbox-workspace .tl_listing_container{margin:0!important;padding:15px 0!important}
.vacation-inbox-workspace .tl_header{padding:0!important;margin-bottom:0!important}
.vacation-inbox-workspace .vacation-inbox-toolbar{padding:15px 15px!important}
.vacation-inbox-workspace .vacation-inbox-split{padding:0 15px!important}

/* The pagination itself is rendered by Contao's native backend component. */
.vacation-inbox-workspace .pagination{margin-top:14px}

.vacation-status-attention[href]{cursor:pointer;text-decoration:none;transition:transform .12s ease,box-shadow .12s ease}
.vacation-status-attention[href]:hover{transform:scale(1.08);box-shadow:0 0 0 3px color-mix(in srgb,var(--orange) 22%,transparent)}

/* Customer communication uses the same dark blue visual language as the request area. */
.vacation-timeline .vacation-workflow-message--customer{background:#222f3e!important;color:#f4f7fb!important}
.vacation-timeline .vacation-workflow-message--customer :where(p,strong,small,span,div){color:inherit}
.vacation-timeline .vacation-workflow-message--customer a{color:#8ecbff}

/* E-mail action menu: grouped, calm and animated. */
.vacation-timeline-email-menu__panel{opacity:0;visibility:hidden;transform:translateY(-5px) scale(.985);transform-origin:top right;transition:opacity .14s ease,transform .14s ease,visibility .14s linear}
.vacation-timeline-email-menu[open] .vacation-timeline-email-menu__panel{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
.vacation-timeline-email-menu.is-closing .vacation-timeline-email-menu__panel{opacity:0;visibility:visible;transform:translateY(-5px) scale(.985)}
.vacation-timeline-email-menu__heading{display:block;padding:6px 9px 4px;color:var(--text-color-light,var(--text));font-size:.72rem;font-weight:600;letter-spacing:.02em;opacity:.72}
.vacation-timeline-email-menu__heading--system{margin-top:5px;padding-top:10px;border-top:1px solid var(--border-color)}
.vacation-timeline-email-menu__panel .vacation-timeline-email-menu__separate{margin-top:0;padding-top:8px;border-top:0;border-radius:4px;color:var(--red)}

/* Long incoming mails are collapsed to the configured line count. */
.vacation-timeline-email-collapse{position:relative;min-width:0}
.vacation-timeline-email-content{position:relative;min-width:0}
.vacation-timeline-email-collapse.is-collapsible:not(.is-expanded) .vacation-timeline-email-content{max-height:calc(var(--vacation-email-preview-lines,8) * 1.55em);overflow:hidden;mask-image:linear-gradient(to bottom,#000 0,#000 calc(100% - 34px),transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 0,#000 calc(100% - 34px),transparent 100%)}
.vacation-timeline-email-expand{display:none;position:relative;z-index:2;margin:-18px auto 0;padding:0 14px 4px;border:0;background:#222f3e;color:#d9e2ec;font:700 1rem/1 Arial,sans-serif;letter-spacing:3px;cursor:pointer;border-radius:12px}
.vacation-timeline-email-collapse.is-collapsible .vacation-timeline-email-expand{display:block}
.vacation-timeline-email-collapse.is-expanded .vacation-timeline-email-expand{margin-top:4px}
.vacation-timeline-email-expand:hover{color:#fff;background:#2b3b4e}

@keyframes vacation-mail-focus-pulse{0%,100%{box-shadow:0 0 0 0 rgba(22,134,201,0)}20%{box-shadow:0 0 0 5px rgba(22,134,201,.5)}55%{box-shadow:0 0 0 9px rgba(22,134,201,.12)}}
.is-vacation-mail-focus .vacation-timeline-bubble{animation:vacation-mail-focus-pulse 1.7s ease 1}
@media(prefers-reduced-motion:reduce){.vacation-timeline-email-menu__panel,.vacation-status-attention[href]{transition:none}.is-vacation-mail-focus .vacation-timeline-bubble{animation:none;outline:2px solid #1686c9;outline-offset:3px}}

/* Build 5.10.101 workflow refinements */
.vacation-workflow-preview--incoming{display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;font:inherit;line-height:inherit;cursor:pointer;white-space:normal}
.vacation-workflow-preview--incoming:hover{text-decoration:none}
.vacation-workflow-footer-menu{display:inline-block;vertical-align:middle;margin-left:4px}
.vacation-workflow-footer-menu .vacation-timeline-email-menu__panel{top:auto;right:0;bottom:32px;transform-origin:bottom right}
.vacation-workflow-footer-menu[open] .vacation-timeline-email-menu__panel{transform:translateY(0) scale(1)}
.vacation-workflow-footer-menu.is-closing .vacation-timeline-email-menu__panel{transform:translateY(5px) scale(.985)}

/* Build 5.10.102: compact workflow notes, inline mail composer and concise communication cards. */
#pal_workflow_communication .vacation-workflow-process-wrap{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
}
.vacation-workflow-process-center{display:flex;justify-content:center;min-width:0;width:100%}
.vacation-workflow-note-menu{position:absolute;right:22px;top:50%;z-index:15;transform:translateY(-50%)}
.vacation-workflow-note-menu>summary{
  width:34px;height:34px;border-radius:50%;background:color-mix(in srgb,var(--text) 5%,var(--content-bg));
  border-color:transparent;box-shadow:none
}
.vacation-workflow-note-menu>summary img{display:block;opacity:.8}
.vacation-workflow-note-menu>summary:hover img,.vacation-workflow-note-menu[open]>summary img{opacity:1}
.vacation-workflow-note-menu__panel{top:40px;right:0;width:310px;padding:12px}
.vacation-workflow-note-menu__panel label{display:block;margin:0 0 7px;font-weight:600}
.vacation-workflow-note-menu__panel .tl_textarea{width:100%;min-height:92px;box-sizing:border-box;resize:vertical}
.vacation-workflow-note-menu__panel .tl_submit{align-self:flex-end;width:auto;margin-top:8px}

/* The former bottom note bar is now the always available compact e-mail composer. */
.vacation-workflow-mail-composer{
  position:relative;z-index:12;width:min(680px,72%);margin:15px auto 0;box-sizing:border-box
}
.vacation-workflow-mail-compact{
  display:flex;align-items:center;width:100%;min-height:48px;box-sizing:border-box;padding:5px 6px 5px 17px;
  border:1px solid var(--border-color);border-radius:26px;background:color-mix(in srgb,var(--text) 5%,var(--content-bg));
  color:var(--text-color-light,var(--text));font:inherit;text-align:left;cursor:text;
  box-shadow:0 7px 20px rgba(0,0,0,.17),0 1px 3px rgba(0,0,0,.12);transition:border-color .16s ease,box-shadow .16s ease
}
.vacation-workflow-mail-compact>span:first-child{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vacation-workflow-mail-compact:hover,.vacation-workflow-mail-composer.is-expanded .vacation-workflow-mail-compact{
  border-color:color-mix(in srgb,var(--contao) 45%,var(--border-color));box-shadow:0 8px 22px rgba(0,0,0,.2),0 0 0 1px color-mix(in srgb,var(--contao) 24%,transparent)
}
.vacation-workflow-mail-send-icon{
  display:flex;align-items:center;justify-content:center;flex:0 0 38px;width:38px;height:38px;border-radius:50%;
  background:color-mix(in srgb,var(--contao) 88%,#111 12%);color:#fff;cursor:pointer
}
.vacation-workflow-mail-send-icon img{display:block;width:19px;height:19px;filter:brightness(0) invert(1)}
.vacation-workflow-mail-expanded{
  position:absolute;left:0;right:0;bottom:calc(100% + 9px);box-sizing:border-box;padding:15px;
  border:1px solid var(--border-color);border-radius:10px;background:var(--content-bg);box-shadow:0 15px 40px rgba(0,0,0,.28);
  opacity:0;visibility:hidden;pointer-events:none;transform:translateY(10px) scale(.992);transform-origin:bottom center;
  transition:opacity .16s ease,transform .16s ease,visibility .16s linear
}
.vacation-workflow-mail-composer.is-expanded .vacation-workflow-mail-expanded{
  opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0) scale(1)
}
.vacation-workflow-mail-row{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(250px,1.6fr);gap:12px}
.vacation-workflow-mail-row .widget{min-width:0;margin:0}
.vacation-workflow-mail-row .tl_select,.vacation-workflow-mail-row .tl_text{width:100%;box-sizing:border-box}
.vacation-workflow-mail-message{margin-top:12px}
.vacation-workflow-mail-message h3,.vacation-workflow-mail-row h3{margin-top:0}
.vacation-workflow-mail-editor{
  width:100%;min-height:132px;max-height:260px;box-sizing:border-box;padding:10px 12px;overflow:auto;
  border:1px solid var(--border-color);border-radius:4px;background:var(--input-bg,var(--content-bg));color:var(--text);line-height:1.45;outline:0
}
.vacation-workflow-mail-editor:focus{border-color:var(--contao);box-shadow:0 0 0 1px color-mix(in srgb,var(--contao) 30%,transparent)}
.vacation-workflow-mail-editor p:first-child{margin-top:0}.vacation-workflow-mail-editor p:last-child{margin-bottom:0}
.vacation-workflow-mail-actions{display:flex;justify-content:flex-end;align-items:center;gap:7px;margin-top:12px}
.vacation-workflow-mail-actions .tl_submit,.vacation-workflow-mail-actions a.tl_submit{box-sizing:border-box;min-height:32px}
.vacation-workflow-mail-cancel-link{display:inline-flex;align-items:center;text-decoration:none}

/* Outgoing offer/confirmation/cancellation entries show business data instead of recurring boilerplate text. */
.vacation-timeline-booking-card{display:grid;grid-template-columns:1fr auto;gap:3px 14px;min-width:260px;text-align:left}
.vacation-timeline-booking-card strong{grid-column:1/-1;font-size:.95rem;color:inherit}
.vacation-timeline-booking-card span{font-size:.78rem;color:var(--text-color-light,var(--text));opacity:.9}
.vacation-timeline-booking-card span:last-child{text-align:right;white-space:nowrap}

.vacation-timeline-assignment{opacity:.78}
.vacation-status-attention--indicator{width:16px;height:16px;margin:0!important;font-size:.67rem;vertical-align:middle}

/* Inline outgoing e-mail preview. */
.vacation-workflow-mail-preview{width:min(860px,calc(100vw - 48px));max-height:min(820px,calc(100vh - 48px));padding:0;border:1px solid var(--border-color);border-radius:8px;background:var(--content-bg);color:var(--text);box-shadow:0 20px 70px rgba(0,0,0,.42)}
.vacation-workflow-mail-preview::backdrop{background:rgba(0,0,0,.55)}
.vacation-workflow-mail-preview__head{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;border-bottom:1px solid var(--border-color)}
.vacation-workflow-mail-preview__meta{display:grid;grid-template-columns:auto 1fr;gap:5px 10px;padding:11px 16px;color:var(--text-color-light,var(--text));font-size:.78rem}
.vacation-workflow-mail-preview__frame{display:block;width:100%;height:min(520px,55vh);box-sizing:border-box;border:0;border-top:1px solid var(--border-color);background:#fff}
.vacation-workflow-mail-preview__actions{display:flex;justify-content:flex-end;gap:7px;padding:12px 16px;border-top:1px solid var(--border-color)}

@media(max-width:900px){
  .vacation-workflow-note-menu{right:10px}
  .vacation-workflow-mail-composer{width:92%}
  .vacation-workflow-mail-row{grid-template-columns:1fr}
  .vacation-workflow-mail-expanded{left:-2%;right:-2%}
  .vacation-timeline-booking-card{min-width:0}
}
@media(prefers-reduced-motion:reduce){.vacation-workflow-mail-expanded,.vacation-workflow-mail-compact{transition:none}}

/* Build 5.10.104: workflow polish. */
.vacation-workflow-note-menu__panel{width:330px;padding:13px;box-shadow:0 24px 64px rgba(0,0,0,.62),0 7px 20px rgba(0,0,0,.38)}
.vacation-workflow-note-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.vacation-workflow-note-head label{margin:0!important}
.vacation-workflow-note-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--red,#d9534f);cursor:pointer}
.vacation-workflow-note-close:hover{background:color-mix(in srgb,var(--red,#d9534f) 12%,transparent)}
.vacation-workflow-note-menu__panel .tl_textarea{height:50px!important;min-height:50px!important;max-height:180px;padding:7px 9px;resize:vertical}
.vacation-workflow-note-actions{margin-top:8px}
.vacation-workflow-note-action--save{min-height:30px;padding:4px 10px;background:var(--green,#61a525)!important;border-color:var(--green,#61a525)!important}

.vacation-timeline-booking-card{justify-content:flex-end;text-align:right}
.vacation-timeline-booking-card__copy{align-items:flex-end;text-align:right}
.vacation-timeline-booking-card__copy span{text-align:right!important}
.vacation-timeline-booking-card__visual{order:2;background:transparent}
.vacation-timeline-booking-card__visual img{opacity:.72;filter:saturate(.75)}
.vacation-timeline-booking-card__visual:after{background:rgba(167,221,132,.22)}
.vacation-timeline-booking-card__visual--confirmation:after{background:rgba(97,165,37,.52)}
.vacation-timeline-booking-card__visual--cancellation:after{background:rgba(190,55,55,.42)}

/* Expanded composer is the same pill growing around its resting position. */
.vacation-workflow-mail-composer{transition:width .18s ease,filter .18s ease}
.vacation-workflow-mail-expanded{position:absolute;left:0;right:0;bottom:50%;padding:13px 16px;border-radius:26px;background:color-mix(in srgb,var(--text) 5%,var(--content-bg));transform:translateY(50%) scaleY(.78);transform-origin:center;box-shadow:0 18px 52px rgba(0,0,0,.48),0 5px 18px rgba(0,0,0,.28)}
.vacation-workflow-mail-composer.is-expanded .vacation-workflow-mail-expanded{transform:translateY(50%) scaleY(1)}
.vacation-workflow-mail-subject-row{grid-template-columns:auto minmax(0,1fr) 34px;gap:9px}
.vacation-workflow-template-menu>summary{font-weight:700;letter-spacing:1px;color:var(--text);font-size:15px}
.vacation-workflow-mail-greeting,.vacation-workflow-mail-footer{margin:7px 5px;color:var(--text-color-light,var(--text));opacity:.62}
.vacation-workflow-mail-greeting p,.vacation-workflow-mail-footer p{margin:0}
.vacation-workflow-mail-editor{min-height:48px;max-height:170px;margin:0;padding:10px 48px 10px 10px;border-color:var(--orange,#e98300);border-radius:18px;box-shadow:0 0 0 1px color-mix(in srgb,var(--orange,#e98300) 30%,transparent)}
.vacation-workflow-mail-editor:focus{border-color:var(--orange,#e98300);box-shadow:0 0 0 1px color-mix(in srgb,var(--orange,#e98300) 55%,transparent)}
.vacation-workflow-mail-actions{position:absolute;right:7px;top:50%;transform:translateY(-50%);margin:0;gap:6px}
.vacation-workflow-round-action{width:38px;height:38px}

/* Build 5.10.105: workflow communication layout corrections. */

/* Notes: bright trigger in dark mode, compact two-line editor and small semantic controls. */
html[data-color-scheme="dark"] .vacation-workflow-note-menu>summary img{filter:brightness(0) invert(1)!important;opacity:1!important}
@media(prefers-color-scheme:dark){.vacation-workflow-note-menu>summary img{filter:brightness(0) invert(1)!important;opacity:1!important}}
.vacation-workflow-note-menu__panel{width:330px!important;padding:12px!important;box-shadow:0 26px 72px rgba(0,0,0,.7),0 8px 22px rgba(0,0,0,.42)!important}
.vacation-workflow-note-menu__panel .tl_textarea{height:46px!important;min-height:46px!important;max-height:180px!important;box-sizing:border-box!important;padding:7px 9px!important;resize:vertical!important}
.vacation-workflow-note-head{margin-bottom:7px!important}
.vacation-workflow-note-head label{line-height:1.15}
.vacation-workflow-note-menu .vacation-workflow-note-close{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 28px!important;width:28px!important;height:28px!important;margin:0!important;padding:0!important;border:0!important;border-radius:50%!important;background:transparent!important;color:var(--red,#d9534f)!important;cursor:pointer!important}
.vacation-workflow-note-menu .vacation-workflow-note-close:hover{background:color-mix(in srgb,var(--red,#d9534f) 15%,transparent)!important}
.vacation-workflow-note-actions{display:flex!important;justify-content:flex-end!important;margin-top:8px!important}
.vacation-workflow-note-menu .vacation-workflow-note-action--save{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;width:auto!important;min-width:0!important;min-height:30px!important;margin:0!important;padding:5px 10px!important;border:1px solid var(--green,#61a525)!important;border-radius:4px!important;background:var(--green,#61a525)!important;color:#fff!important;cursor:pointer!important}
.vacation-note-icon{display:inline-block!important;flex:0 0 16px!important;width:16px!important;height:16px!important;background:currentColor!important}
.vacation-note-icon--save{-webkit-mask:url('/bundles/berningsystemsvacationmanagement/save.svg') center/contain no-repeat!important;mask:url('/bundles/berningsystemsvacationmanagement/save.svg') center/contain no-repeat!important}
.vacation-note-icon--cancel{-webkit-mask:url('/bundles/berningsystemsvacationmanagement/circle-x.svg') center/contain no-repeat!important;mask:url('/bundles/berningsystemsvacationmanagement/circle-x.svg') center/contain no-repeat!important}

/* Incoming e-mail excerpt: explicitly undo the historic preview-icon mask. */
.vacation-timeline .vacation-workflow-preview.vacation-workflow-preview--incoming{
  display:block!important;width:100%!important;height:auto!important;min-height:1.45em!important;margin:0!important;padding:0!important;
  border:0!important;background:transparent!important;color:#f4f7fb!important;-webkit-mask:none!important;mask:none!important;
  text-align:left!important;font:inherit!important;line-height:1.48!important;white-space:pre-wrap!important;overflow-wrap:anywhere!important;cursor:pointer!important
}
.vacation-timeline .vacation-workflow-preview.vacation-workflow-preview--incoming:hover{text-decoration:none!important;color:#fff!important}
.vacation-timeline-entry--customer .vacation-timeline-message-wrap{width:100%;min-width:0}
.vacation-timeline-entry--customer .vacation-workflow-message--customer{width:100%;min-width:300px;box-sizing:border-box}
@media(max-width:720px){.vacation-timeline-entry--customer .vacation-workflow-message--customer{min-width:220px}}

/* Offer / confirmation / cancellation cards: image on the left, information on the right. */
.vacation-timeline-booking-card{
  display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:12px!important;min-width:300px!important;max-width:100%;text-align:right!important
}
.vacation-timeline-booking-card__visual{
  position:relative!important;order:0!important;display:block!important;flex:0 0 86px!important;width:86px!important;height:64px!important;
  overflow:hidden!important;border-radius:10px!important;background:color-mix(in srgb,var(--green) 7%,var(--content-bg))!important;isolation:isolate
}
.vacation-timeline-booking-card__visual img{position:absolute!important;inset:0!important;z-index:0!important;display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;opacity:1!important;filter:none!important}
.vacation-timeline-booking-card__visual:after{content:"";position:absolute;inset:0;z-index:1;background:rgba(204,236,184,.18)!important;pointer-events:none}
.vacation-timeline-booking-card__visual--confirmation:after{background:color-mix(in srgb,var(--green) 48%,transparent)!important}
.vacation-timeline-booking-card__visual--cancellation:after{background:color-mix(in srgb,var(--red) 42%,transparent)!important}
.vacation-timeline-booking-card__status{position:absolute!important;left:50%!important;top:50%!important;z-index:2!important;display:block!important;width:31px!important;height:31px!important;transform:translate(-50%,-50%)!important;background:#fff!important;filter:drop-shadow(0 1px 2px rgba(0,0,0,.35))}
.vacation-timeline-booking-card__visual--offer .vacation-timeline-booking-card__status{-webkit-mask:url('/bundles/berningsystemsvacationmanagement/circle-dashed-check.svg') center/contain no-repeat!important;mask:url('/bundles/berningsystemsvacationmanagement/circle-dashed-check.svg') center/contain no-repeat!important}
.vacation-timeline-booking-card__visual--confirmation .vacation-timeline-booking-card__status{-webkit-mask:url('/bundles/berningsystemsvacationmanagement/circle-check.svg') center/contain no-repeat!important;mask:url('/bundles/berningsystemsvacationmanagement/circle-check.svg') center/contain no-repeat!important}
.vacation-timeline-booking-card__visual--cancellation .vacation-timeline-booking-card__status{-webkit-mask:url('/bundles/berningsystemsvacationmanagement/circle-x.svg') center/contain no-repeat!important;mask:url('/bundles/berningsystemsvacationmanagement/circle-x.svg') center/contain no-repeat!important}
.vacation-timeline-booking-card__copy{order:1!important;display:flex!important;flex:1 1 auto!important;min-width:0!important;flex-direction:column!important;align-items:flex-end!important;gap:3px!important;text-align:right!important}
.vacation-timeline-booking-card__copy strong{display:block!important;width:100%!important;font-size:.95rem!important;color:inherit!important;text-align:right!important;white-space:normal!important}
.vacation-timeline-booking-card__copy span{display:block!important;width:100%!important;font-size:.78rem!important;color:var(--text-color-light,var(--text))!important;opacity:.9!important;text-align:right!important;white-space:nowrap!important}
@media(max-width:720px){.vacation-timeline-booking-card{min-width:250px!important}.vacation-timeline-booking-card__visual{flex-basis:72px!important;width:72px!important;height:58px!important}}

/* Inline mail composer: one pill that grows equally above and below its closed position. */
.vacation-workflow-mail-composer{
  --vacation-mail-closed-height:58px;--vacation-mail-expanded-height:226px;--vacation-mail-growth:84px;
  position:relative!important;z-index:12!important;width:min(680px,72%)!important;height:var(--vacation-mail-closed-height)!important;
  margin:15px auto 12px!important;box-sizing:border-box!important;border:1px solid var(--border-color)!important;border-radius:30px!important;
  background:color-mix(in srgb,var(--text) 5%,var(--content-bg))!important;box-shadow:0 12px 30px rgba(0,0,0,.32),0 3px 10px rgba(0,0,0,.2)!important;
  transition:height .18s ease,margin-top .18s ease,margin-bottom .18s ease,box-shadow .18s ease!important;overflow:visible!important
}
.vacation-workflow-mail-composer.is-expanded{
  height:var(--vacation-mail-expanded-height)!important;margin-top:calc(15px - var(--vacation-mail-growth))!important;margin-bottom:calc(12px + var(--vacation-mail-growth))!important;
  box-shadow:0 22px 58px rgba(0,0,0,.48),0 7px 22px rgba(0,0,0,.28)!important
}
.vacation-workflow-mail-compact{
  position:absolute!important;inset:0!important;z-index:2!important;display:flex!important;align-items:center!important;width:100%!important;height:100%!important;min-height:0!important;
  box-sizing:border-box!important;padding:5px 6px 5px 17px!important;border:0!important;border-radius:inherit!important;background:transparent!important;color:var(--text-color-light,var(--text))!important;
  text-align:left!important;cursor:text!important;box-shadow:none!important;transition:opacity .12s ease,visibility .12s linear!important
}
.vacation-workflow-mail-composer.is-expanded .vacation-workflow-mail-compact{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
.vacation-workflow-mail-expanded{
  position:absolute!important;inset:0!important;z-index:3!important;display:block!important;box-sizing:border-box!important;padding:0!important;border:0!important;border-radius:inherit!important;
  background:transparent!important;box-shadow:none!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:none!important;transition:opacity .14s ease,visibility .14s linear!important
}
.vacation-workflow-mail-composer.is-expanded .vacation-workflow-mail-expanded{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important}
.vacation-workflow-mail-subject-row{position:absolute!important;left:16px!important;right:16px!important;top:14px!important;display:grid!important;grid-template-columns:auto minmax(0,1fr) 28px!important;align-items:center!important;gap:9px!important;height:36px!important}
.vacation-workflow-mail-subject-row label{margin:0!important;white-space:nowrap!important}
.vacation-workflow-mail-subject-row .tl_text{width:100%!important;height:34px!important;box-sizing:border-box!important;margin:0!important}
.vacation-workflow-template-menu{position:relative!important;width:28px!important;height:28px!important;margin:0!important}
.vacation-workflow-template-menu>summary{display:flex!important;align-items:center!important;justify-content:center!important;width:28px!important;height:28px!important;box-sizing:border-box!important;margin:0!important;padding:0!important;border:1px solid var(--border-color)!important;border-radius:8px!important;background:var(--content-bg)!important;color:var(--text)!important;font:700 14px/1 Arial,sans-serif!important;letter-spacing:1px!important;list-style:none!important;cursor:pointer!important}
.vacation-workflow-template-menu>summary::-webkit-details-marker{display:none!important}.vacation-workflow-template-menu>summary::marker{content:""!important}
.vacation-workflow-template-menu__panel{top:33px!important;right:0!important;width:220px!important}
.vacation-workflow-template-menu__panel button.is-selected{background:color-mix(in srgb,var(--blue) 13%,transparent)!important;font-weight:600!important}
.vacation-workflow-mail-template-native{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;clip-path:inset(50%)!important}
.vacation-workflow-mail-greeting{position:absolute!important;left:17px!important;right:17px!important;top:61px!important;margin:0!important;color:var(--text-color-light,var(--text))!important;opacity:.62!important;text-align:left!important;line-height:1.25!important}
.vacation-workflow-mail-greeting p,.vacation-workflow-mail-footer p{margin:0!important}
.vacation-workflow-mail-main-row{position:absolute!important;left:16px!important;right:16px!important;top:50%!important;height:50px!important;transform:translateY(-50%)!important}
.vacation-workflow-mail-editor{
  display:block!important;width:100%!important;height:50px!important;min-height:50px!important;max-height:50px!important;box-sizing:border-box!important;margin:0!important;padding:12px 142px 9px 12px!important;
  overflow:auto!important;border:1px solid var(--orange,#e98300)!important;border-radius:24px!important;background:var(--input-bg,var(--content-bg))!important;color:var(--text)!important;
  line-height:1.35!important;outline:0!important;box-shadow:0 0 0 1px color-mix(in srgb,var(--orange,#e98300) 32%,transparent)!important;text-align:left!important
}
.vacation-workflow-mail-editor:focus{border-color:var(--orange,#e98300)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--orange,#e98300) 42%,transparent)!important}
.vacation-workflow-mail-editor p{margin:0!important}
.vacation-workflow-mail-footer{position:absolute!important;left:17px!important;right:17px!important;bottom:19px!important;margin:0!important;color:var(--text-color-light,var(--text))!important;opacity:.62!important;text-align:left!important;line-height:1.25!important}
.vacation-workflow-mail-actions{position:absolute!important;right:6px!important;top:50%!important;z-index:4!important;display:flex!important;align-items:center!important;gap:6px!important;margin:0!important;transform:translateY(-50%)!important}
.vacation-workflow-round-action{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 38px!important;width:38px!important;height:38px!important;box-sizing:border-box!important;margin:0!important;padding:0!important;border:1px solid transparent!important;border-radius:50%!important;cursor:pointer!important;box-shadow:0 2px 6px rgba(0,0,0,.22)!important}
.vacation-workflow-round-action img{display:block!important;width:18px!important;height:18px!important;filter:brightness(0) invert(1)!important}
.vacation-workflow-round-action--preview{background:color-mix(in srgb,var(--text) 25%,var(--content-bg))!important;color:#fff!important}
.vacation-workflow-round-action--cancel{background:var(--red,#c94a4a)!important;color:#fff!important}
.vacation-workflow-round-action--send{background:var(--orange,#e98300)!important;color:#fff!important}
.vacation-workflow-round-action--cancel .vacation-note-icon{width:18px!important;height:18px!important}
#pal_workflow_communication .vacation-workflow-chat.is-mail-compose-expanded{max-height:none!important;overflow:visible!important}
@media(max-width:900px){
  .vacation-workflow-mail-composer{width:92%!important}
  .vacation-workflow-mail-subject-row{left:12px!important;right:12px!important}
  .vacation-workflow-mail-main-row{left:12px!important;right:12px!important}
  .vacation-workflow-mail-greeting,.vacation-workflow-mail-footer{left:13px!important;right:13px!important}
}
@media(prefers-reduced-motion:reduce){.vacation-workflow-mail-composer,.vacation-workflow-mail-expanded,.vacation-workflow-mail-compact{transition:none!important}}

/* Build 5.10.106: unified workflow controls, semantic status icons and compact edit views. */

/* Accommodation editor structure. */
#pal_identity_legend .widget-text.w100{max-width:none}
#pal_media_legend .w50{vertical-align:top}
#pal_properties_legend .w50{vertical-align:top}

/* Occupancy blocker editor. */
.vop-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.vop-dialog-close{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;margin:-6px -6px -6px 0;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer}
.vop-dialog-close--danger{color:var(--red,#d9534f)}
.vop-dialog-close:hover{background:color-mix(in srgb,currentColor 12%,transparent)}
.vop-dialog textarea.tl_textarea{box-sizing:border-box;width:100%;margin-top:5px;padding:8px 10px;border:1px solid var(--form-border,var(--border));border-radius:var(--border-radius,4px);background:var(--form-bg,var(--input-bg,var(--content-bg)));color:var(--text)}
.vop-dialog-actions{justify-content:flex-end!important;gap:8px}
.vop-dialog-actions .vop-save{border-color:var(--green,#61a525)!important;background:var(--green,#61a525)!important;color:#fff!important}
.vop-dialog-actions .vop-danger{border-color:var(--red,#d9534f)!important;background:var(--red,#d9534f)!important;color:#fff!important}

/* Inbox: a new message uses the same semantic circle icon as a new request. */
.vacation-inbox-status-dot{width:16px!important;height:16px!important;border-radius:0!important;background:var(--vacation-inbox-status-color,#1686c9)!important;-webkit-mask:url('/bundles/berningsystemsvacationmanagement/circle.svg') center/contain no-repeat!important;mask:url('/bundles/berningsystemsvacationmanagement/circle.svg') center/contain no-repeat!important}
.vacation-inbox-assign__picker{display:inline-flex;align-items:center;gap:6px}
.vacation-inbox-assign__picker[hidden]{display:none!important}

/* Request list: all state markers share one icon geometry and are clickable. */
.vacation-list-status-icon{display:inline-block;width:17px;height:17px;margin:0;vertical-align:middle;background:var(--vacation-list-status-color,#777);-webkit-mask:var(--vacation-list-status-icon) center/contain no-repeat;mask:var(--vacation-list-status-icon) center/contain no-repeat;cursor:pointer;transition:transform .12s ease,filter .12s ease}
.vacation-list-status-icon:hover{transform:scale(1.12);filter:drop-shadow(0 0 4px color-mix(in srgb,var(--vacation-list-status-color,#777) 55%,transparent))}
#tl_listing tbody tr.hover-row{cursor:pointer}

/* Focus targets from the semantic status icon flash exactly three times. */
@keyframes vacationFocusSuccess{0%,100%{box-shadow:0 0 0 0 transparent}50%{box-shadow:0 0 0 4px color-mix(in srgb,#61a525 70%,transparent),0 0 25px color-mix(in srgb,#61a525 45%,transparent)}}
@keyframes vacationFocusWarning{0%,100%{box-shadow:0 0 0 0 transparent}50%{box-shadow:0 0 0 4px color-mix(in srgb,#e98300 72%,transparent),0 0 25px color-mix(in srgb,#e98300 45%,transparent)}}
@keyframes vacationFocusError{0%,100%{box-shadow:0 0 0 0 transparent}50%{box-shadow:0 0 0 4px color-mix(in srgb,#d9534f 72%,transparent),0 0 25px color-mix(in srgb,#d9534f 45%,transparent)}}
.vacation-focus-success{animation:vacationFocusSuccess .48s ease 3}
.vacation-focus-warning{animation:vacationFocusWarning .48s ease 3}
.vacation-focus-error{animation:vacationFocusError .48s ease 3}
.vacation-focus-warning-menu>summary{animation:vacationFocusWarning .48s ease 3}

/* Process header: note trigger sits on exactly the same center line. */
#pal_workflow_communication .vacation-workflow-process-wrap{min-height:54px!important;display:grid!important;grid-template-columns:1fr auto 1fr!important;align-items:center!important;padding-top:4px!important}
#pal_workflow_communication .vacation-workflow-process-center{grid-column:2!important;align-self:center!important}
#pal_workflow_communication .vacation-workflow-note-menu{position:relative!important;grid-column:3!important;justify-self:end!important;right:auto!important;top:auto!important;transform:none!important;align-self:center!important;margin-right:22px!important;z-index:80!important}
.vacation-workflow-note-menu>summary img{filter:brightness(0) invert(1)!important;opacity:1!important}
.vacation-workflow-note-menu__panel{z-index:120!important}

/* Customer communication menus must never disappear behind a later message. */
.vacation-timeline-entry,.vacation-timeline-message-wrap,.vacation-timeline-bubble{position:relative}
.vacation-timeline-entry:has(.vacation-timeline-email-menu[open]){z-index:100!important}
.vacation-timeline-email-menu[open]{z-index:130!important}
.vacation-timeline-email-menu__panel{z-index:140!important}

/* Incoming mail excerpts: natural bubble size with a reliable minimum. */
.vacation-timeline-entry--customer .vacation-timeline-message-wrap{width:auto!important;max-width:min(58%,760px)!important;min-width:0!important}
.vacation-timeline-entry--customer .vacation-workflow-message--customer{display:block!important;width:auto!important;min-width:300px!important;max-width:100%!important}
.vacation-timeline-entry--customer .vacation-workflow-preview--incoming{min-width:250px!important;width:auto!important;max-width:100%!important}
.vacation-timeline-entry--initial .vacation-workflow-message--customer{min-width:360px!important}
@media(max-width:720px){.vacation-timeline-entry--customer .vacation-timeline-message-wrap{max-width:88%!important}.vacation-timeline-entry--customer .vacation-workflow-message--customer{min-width:230px!important}.vacation-timeline-entry--initial .vacation-workflow-message--customer{min-width:230px!important}}

/* Outgoing status cards: square image on the left, concise left-aligned facts on the right. */
.vacation-timeline-booking-card{display:inline-flex!important;width:max-content!important;min-width:0!important;max-width:min(520px,100%)!important;align-items:center!important;justify-content:flex-start!important;gap:12px!important;text-align:left!important}
.vacation-timeline-booking-card__visual{order:0!important;flex:0 0 82px!important;width:82px!important;height:82px!important;border-radius:10px!important;background:color-mix(in srgb,var(--green,#61a525) 10%,var(--content-bg))!important}
.vacation-timeline-booking-card__visual img{object-fit:contain!important;object-position:center!important;background:color-mix(in srgb,var(--text) 5%,var(--content-bg))!important}
.vacation-timeline-booking-card__copy{order:1!important;display:flex!important;flex:0 1 auto!important;align-items:flex-start!important;text-align:left!important;gap:4px!important}
.vacation-timeline-booking-card__copy strong,.vacation-timeline-booking-card__copy span{width:auto!important;text-align:left!important}
.vacation-timeline-booking-card__visual--offer:after{background:color-mix(in srgb,var(--green,#61a525) 46%,transparent)!important}
.vacation-timeline-booking-card__visual--confirmation:after{background:color-mix(in srgb,var(--green,#61a525) 72%,transparent)!important}
.vacation-timeline-booking-card__visual--reminder:after{background:color-mix(in srgb,var(--orange,#e98300) 44%,transparent)!important}
.vacation-timeline-booking-card__visual--reminder .vacation-timeline-booking-card__status{-webkit-mask:url('/bundles/berningsystemsvacationmanagement/rotate-ccw.svg') center/contain no-repeat!important;mask:url('/bundles/berningsystemsvacationmanagement/rotate-ccw.svg') center/contain no-repeat!important}

/* New integrated command bar: workflow action + mail + overflow live inside Vorgang. */
.vacation-workflow-commandbar{position:relative;z-index:35;display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:62px;margin:14px auto 2px}
.vacation-workflow-action-dock{display:flex;align-items:center;justify-content:center;gap:8px}
.vacation-workflow-action-dock:empty{display:none}
.vacation-workflow-action-dock>.tl_submit,.vacation-workflow-action-dock>a.tl_submit{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:44px!important;height:44px!important;box-sizing:border-box!important;margin:0!important;padding:0 13px!important;border-radius:999px!important;border:1px solid transparent!important;background:color-mix(in srgb,var(--text) 20%,var(--content-bg))!important;color:var(--text)!important;box-shadow:0 3px 10px rgba(0,0,0,.2)!important}
.vacation-workflow-action-dock>.vacation-workflow-primary{background:var(--green,#61a525)!important;color:#fff!important}
.vacation-workflow-action-dock>.vacation-workflow-danger{background:var(--red,#d9534f)!important;color:#fff!important}
.vacation-workflow-action-dock>.vacation-workflow-spam{background:color-mix(in srgb,var(--red,#d9534f) 20%,var(--content-bg))!important;color:var(--red,#d9534f)!important}
.vacation-workflow-action-dock>.tl_submit:hover,.vacation-workflow-action-dock>a.tl_submit:hover{border-color:color-mix(in srgb,var(--text) 35%,transparent)!important}
.vacation-workflow-footer-menu{position:relative!important;margin:0!important}
.vacation-workflow-footer-menu>summary{width:44px!important;height:44px!important;border-radius:50%!important;background:color-mix(in srgb,var(--text) 20%,var(--content-bg))!important}
.vacation-workflow-footer-menu .vacation-timeline-email-menu__panel{bottom:50px!important}

/* Closed composer is now only the round mail button next to workflow actions. */
.vacation-workflow-commandbar .vacation-workflow-mail-composer{--vacation-mail-closed-height:44px!important;position:relative!important;width:44px!important;height:44px!important;margin:0!important;border:0!important;border-radius:50%!important;background:transparent!important;box-shadow:none!important;transition:width .2s ease,height .2s ease,margin .2s ease!important}
.vacation-workflow-commandbar .vacation-workflow-mail-compact{display:flex!important;align-items:center!important;justify-content:center!important;width:44px!important;height:44px!important;padding:0!important;border-radius:50%!important;background:color-mix(in srgb,var(--text) 20%,var(--content-bg))!important;cursor:pointer!important;box-shadow:0 3px 10px rgba(0,0,0,.2)!important}
.vacation-workflow-commandbar .vacation-workflow-mail-compact:hover,.vacation-workflow-commandbar .vacation-workflow-mail-composer.is-recommended .vacation-workflow-mail-compact{background:var(--orange,#e98300)!important}
.vacation-workflow-commandbar .vacation-workflow-mail-send-icon{width:44px!important;height:44px!important;flex:0 0 44px!important;background:transparent!important}
.vacation-workflow-commandbar:has(.vacation-workflow-mail-composer.is-expanded) .vacation-workflow-action-dock{opacity:0;visibility:hidden;pointer-events:none}
.vacation-workflow-commandbar .vacation-workflow-mail-composer.is-expanded{width:min(760px,82vw)!important;height:auto!important;min-height:0!important;margin:0!important;border:1px solid var(--border-color)!important;border-radius:26px!important;background:color-mix(in srgb,var(--text) 5%,var(--content-bg))!important;box-shadow:0 22px 58px rgba(0,0,0,.48),0 7px 22px rgba(0,0,0,.28)!important}
.vacation-workflow-commandbar .vacation-workflow-mail-expanded{position:relative!important;inset:auto!important;display:grid!important;grid-template-rows:auto auto auto auto!important;gap:9px!important;min-height:0!important;padding:13px 16px!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important}
.vacation-workflow-commandbar .vacation-workflow-mail-composer.is-expanded .vacation-workflow-mail-expanded{opacity:1!important;visibility:visible!important;pointer-events:auto!important}
.vacation-workflow-commandbar .vacation-workflow-mail-subject-row{position:relative!important;inset:auto!important;display:grid!important;grid-template-columns:auto minmax(220px,520px) 28px!important;justify-content:center!important;height:auto!important;gap:8px!important}
.vacation-workflow-commandbar .vacation-workflow-mail-subject-row label{color:var(--text-color-light,var(--text))!important;opacity:.68!important}
.vacation-workflow-commandbar .vacation-workflow-mail-greeting,.vacation-workflow-commandbar .vacation-workflow-mail-footer{position:relative!important;inset:auto!important;margin:0!important;padding-left:2px!important;text-align:left!important;opacity:.62!important}
.vacation-workflow-commandbar .vacation-workflow-mail-main-row{position:relative!important;inset:auto!important;display:block!important;height:auto!important;transform:none!important}
.vacation-workflow-commandbar .vacation-workflow-mail-editor{width:100%!important;height:auto!important;min-height:50px!important;max-height:none!important;padding:12px 142px 10px 12px!important;overflow:hidden!important;white-space:normal!important}
.vacation-workflow-commandbar .vacation-workflow-mail-footer{margin-top:0!important}
.vacation-workflow-commandbar .vacation-workflow-mail-actions{right:6px!important;top:50%!important}
.vacation-workflow-commandbar .vacation-workflow-template-menu>summary{border:0!important;border-radius:50%!important;background:color-mix(in srgb,var(--text) 12%,var(--content-bg))!important}
#pal_workflow_communication .vacation-workflow-chat.is-mail-compose-expanded{max-height:none!important;overflow:visible!important;padding-bottom:20px!important}

/* E-mail based request edit gets a real Vorgang panel and no duplicate note/message legends. */
.vacation-inbox-request-context{padding:4px 0 10px}
#pal_workflow_legend .vacation-inbox-request-context .vacation-timeline-entry{margin:0!important}

/* Keep the action button row removed from the native form footer. */
.vacation-workflow>.tl_formbody_submit{display:none!important}

@media(max-width:900px){
  #pal_workflow_communication .vacation-workflow-note-menu{margin-right:8px!important}
  .vacation-workflow-commandbar .vacation-workflow-mail-composer.is-expanded{width:92vw!important}
  .vacation-workflow-commandbar .vacation-workflow-mail-subject-row{grid-template-columns:auto minmax(0,1fr) 28px!important}
}
/* 5.10.106 final refinements */
.vacation-timeline-booking-card__placeholder{display:block;width:100%;height:100%;background:color-mix(in srgb,var(--text) 8%,var(--content-bg));border-radius:inherit}
.vacation-timeline-booking-card__copy{align-items:flex-start!important;text-align:left!important;min-width:0}
.vacation-timeline-booking-card{width:max-content!important;max-width:min(520px,78vw)!important}
.vacation-timeline-email-menu[open]{z-index:180!important}.vacation-timeline-entry:has(.vacation-timeline-email-menu[open]){z-index:170!important}
/* Native edit form with inbox origin: keep the original Contao form, add the source message beside it. */
@media(min-width:1100px){
  .tl_formbody_edit:has(#pal_workflow_legend){display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,42%);column-gap:22px;align-items:start}
  .tl_formbody_edit:has(#pal_workflow_legend)>fieldset:not(#pal_workflow_legend){grid-column:1}
  .tl_formbody_edit:has(#pal_workflow_legend)>#pal_workflow_legend{grid-column:2;grid-row:1/span 30;position:sticky;top:16px}
  .tl_formbody_edit:has(#pal_workflow_legend)>.tl_formbody_submit{grid-column:1/-1}
}
.vacation-inbox-workflow-preview{margin:0}.vacation-inbox-workflow-preview .vacation-timeline-entry{margin:10px 0}

/* Build 5.10.107: workflow state/action refinements. */
.vacation-timeline-badge--receipt{background:var(--blue,#1686c9)!important;color:#fff!important}
.vacation-timeline-booking-card__visual--receipt:after{background:color-mix(in srgb,var(--blue,#1686c9) 42%,transparent)!important}
.vacation-timeline-booking-card__visual--receipt .vacation-timeline-booking-card__status{-webkit-mask:url('/bundles/berningsystemsvacationmanagement/circle.svg') center/contain no-repeat!important;mask:url('/bundles/berningsystemsvacationmanagement/circle.svg') center/contain no-repeat!important}
.vacation-timeline-booking-card__visual--offer:after{background:color-mix(in srgb,var(--green,#61a525) 58%,transparent)!important}
.vacation-timeline-booking-card__visual--confirmation:after{background:color-mix(in srgb,var(--green,#61a525) 82%,transparent)!important}

/* Only the compact message wrapper pulses; the e-mail menu flashes separately. */
@keyframes vacationFocusWarning{0%,100%{box-shadow:0 0 0 0 rgba(233,131,0,0)}50%{box-shadow:0 0 0 5px rgba(233,131,0,.58)}}
@keyframes vacationFocusSuccess{0%,100%{box-shadow:0 0 0 0 rgba(97,165,37,0)}50%{box-shadow:0 0 0 5px rgba(97,165,37,.58)}}
@keyframes vacationFocusError{0%,100%{box-shadow:0 0 0 0 rgba(217,83,79,0)}50%{box-shadow:0 0 0 5px rgba(217,83,79,.58)}}
.vacation-timeline-message-wrap.vacation-focus-warning{animation:vacationFocusWarning .52s ease 3;border-radius:10px}
.vacation-timeline-message-wrap.vacation-focus-success{animation:vacationFocusSuccess .52s ease 3;border-radius:10px}
.vacation-timeline-message-wrap.vacation-focus-error{animation:vacationFocusError .52s ease 3;border-radius:10px}
.vacation-focus-warning-menu>summary{animation:vacationFocusWarning .52s ease 3}

/* The customer action menu must always stay above following timeline entries. */
.vacation-timeline-entry{position:relative}
.vacation-timeline-entry:has(.vacation-timeline-email-menu[open]){z-index:240!important}
.vacation-timeline-email-menu[open]{z-index:250!important}
.vacation-timeline-email-menu__panel{z-index:260!important}

/* Command bar: primary actions, mail, overflow. The overflow is always the last item. */
.vacation-workflow-commandbar{gap:8px!important;flex-wrap:nowrap}
.vacation-workflow-action-dock{order:1}
.vacation-workflow-commandbar .vacation-workflow-mail-composer{order:2}
.vacation-workflow-overflow-dock{order:3;display:flex;align-items:center;justify-content:center}
.vacation-workflow-overflow-dock:empty{display:none}
.vacation-workflow-overflow-dock .vacation-workflow-footer-menu{margin:0!important}
.vacation-workflow-action-dock>.tl_submit img,.vacation-workflow-action-dock>a.tl_submit img{margin-right:6px;vertical-align:-3px}
.vacation-workflow-action-dock>.vacation-workflow-primary img,.vacation-workflow-action-dock>.vacation-workflow-danger img{filter:brightness(0) invert(1)}
.vacation-workflow-action-dock>.vacation-workflow-icon-only{width:44px!important;min-width:44px!important;padding:0!important}
.vacation-workflow-action-dock>.vacation-workflow-icon-only img{margin:0!important}
.vacation-workflow-recommended-neutral{background:color-mix(in srgb,var(--text) 28%,var(--content-bg))!important;color:var(--text)!important}
.vacation-workflow-footer-menu .vacation-timeline-email-menu__panel a{display:block;width:100%;box-sizing:border-box;margin:0;padding:8px 9px;border:0;border-radius:4px;background:transparent;color:var(--text);text-align:left;text-decoration:none;font:inherit;cursor:pointer}
.vacation-workflow-footer-menu .vacation-timeline-email-menu__panel a:hover{background:color-mix(in srgb,var(--text) 7%,transparent)}
.vacation-workflow-action--offer{gap:6px}

/* When an answer draft is open, keep parallel workflow decisions available below it. */
.vacation-workflow-commandbar:has(.vacation-workflow-mail-composer.is-expanded){flex-wrap:wrap}
.vacation-workflow-commandbar:has(.vacation-workflow-mail-composer.is-expanded) .vacation-workflow-mail-composer{order:0;flex:0 0 min(760px,82vw)!important}
.vacation-workflow-commandbar:has(.vacation-workflow-mail-composer.is-expanded) .vacation-workflow-action-dock{opacity:1!important;visibility:visible!important;pointer-events:auto!important}
.vacation-workflow-commandbar:has(.vacation-workflow-mail-composer.is-expanded) .vacation-workflow-overflow-dock{opacity:1!important;visibility:visible!important;pointer-events:auto!important}

/* Expanded composer: compact Contao-like form, not a second floating window. */
.vacation-workflow-commandbar .vacation-workflow-mail-subject-row{display:grid!important;grid-template-columns:auto minmax(220px,1fr) 34px 34px!important;align-items:center!important;justify-content:stretch!important;gap:8px!important;width:100%!important}
.vacation-workflow-commandbar .vacation-workflow-mail-subject-row label{margin:0!important;color:var(--text-color-light,var(--text))!important;opacity:.64!important;white-space:nowrap}
.vacation-workflow-commandbar .vacation-workflow-mail-subject-row .tl_text{width:100%!important;max-width:none!important;box-sizing:border-box!important}
.vacation-workflow-mail-cancel-top{display:flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:1px solid color-mix(in srgb,var(--red,#d9534f) 65%,transparent);border-radius:4px;background:var(--red,#d9534f);color:#fff;cursor:pointer}
.vacation-workflow-mail-cancel-top:hover{filter:brightness(1.06)}
.vacation-workflow-mail-cancel-top .vacation-note-icon{width:15px!important;height:15px!important}
.vacation-workflow-commandbar .vacation-workflow-mail-greeting,.vacation-workflow-commandbar .vacation-workflow-mail-footer{margin:0!important;padding:0 2px!important;color:var(--text-color-light,var(--text))!important;opacity:.58!important;text-align:left!important}
.vacation-workflow-commandbar .vacation-workflow-mail-main-row{margin:0!important}
.vacation-workflow-commandbar .vacation-workflow-mail-editor{width:100%!important;min-height:52px!important;max-height:none!important;height:auto!important;box-sizing:border-box!important;padding:9px 11px!important;overflow:hidden!important;border:1px solid var(--orange,#e98300)!important;border-radius:4px!important;background:var(--input-bg,var(--content-bg))!important;box-shadow:0 0 0 1px color-mix(in srgb,var(--orange,#e98300) 28%,transparent)!important;line-height:1.45!important}
.vacation-workflow-commandbar .vacation-workflow-mail-editor:focus{box-shadow:0 0 0 2px color-mix(in srgb,var(--orange,#e98300) 48%,transparent)!important;outline:0!important}
.vacation-workflow-commandbar .vacation-workflow-mail-footer{margin-top:0!important}
.vacation-workflow-commandbar .vacation-workflow-mail-actions{position:static!important;display:flex!important;justify-content:flex-end!important;align-items:center!important;gap:7px!important;margin:0!important;transform:none!important}
.vacation-workflow-mail-action{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;width:auto!important;min-width:0!important;min-height:32px!important;padding:5px 10px!important;border-radius:4px!important}
.vacation-workflow-mail-action img{display:block;width:16px;height:16px}
.vacation-workflow-mail-action--preview{background:color-mix(in srgb,var(--text) 16%,var(--content-bg))!important;color:var(--text)!important}
.vacation-workflow-mail-action--send{background:var(--orange,#e98300)!important;border-color:var(--orange,#e98300)!important;color:#fff!important}
.vacation-workflow-mail-action--send img{filter:brightness(0) invert(1)}
.vacation-workflow-template-menu>summary{width:30px!important;height:30px!important;border-radius:4px!important;border:1px solid var(--border-color)!important;background:color-mix(in srgb,var(--text) 10%,var(--content-bg))!important}

/* Message preview dialogs use the same calm preview language as the e-mail preview. */
.vacation-workflow-modal{width:min(860px,calc(100vw - 48px))!important;max-width:none!important;max-height:min(820px,calc(100vh - 48px))!important;border-radius:8px!important;box-shadow:0 20px 70px rgba(0,0,0,.42)!important}
.vacation-workflow-modal::backdrop{background:rgba(0,0,0,.55)!important}
.vacation-workflow-modal__head{padding:13px 16px!important}
.vacation-workflow-modal__body{padding:16px!important}
.vacation-workflow-modal__meta{grid-template-columns:auto 1fr!important;gap:5px 10px!important;margin-bottom:12px!important;color:var(--text-color-light,var(--text))!important}
.vacation-workflow-modal__content{padding:18px!important;border-radius:4px!important;max-height:55vh;overflow:auto}

@media(max-width:900px){
  .vacation-workflow-commandbar .vacation-workflow-mail-subject-row{grid-template-columns:auto minmax(0,1fr) 32px 32px!important}
  .vacation-workflow-commandbar:has(.vacation-workflow-mail-composer.is-expanded) .vacation-workflow-mail-composer{flex-basis:92vw!important}
}


/* Build 5.10.108: inbox focus/create split and composer polish. */
.vacation-inbox-row.is-selected td{background:color-mix(in srgb,var(--blue,#1686c9) 13%,var(--content-bg))!important}
.vacation-inbox-row.is-selected:hover td{background:color-mix(in srgb,var(--blue,#1686c9) 18%,var(--content-bg))!important}
.vacation-inbox-row.is-selected .vacation-inbox-status-dot{box-shadow:0 0 0 2px color-mix(in srgb,var(--blue,#1686c9) 28%,transparent)}
@media(min-width:1100px){
  .tl_formbody_edit:has(#pal_inbox_preview_legend){display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;column-gap:22px!important;align-items:start!important}
  .tl_formbody_edit:has(#pal_inbox_preview_legend)>fieldset:not(#pal_inbox_preview_legend){grid-column:1!important;min-width:0!important}
  .tl_formbody_edit:has(#pal_inbox_preview_legend)>#pal_inbox_preview_legend{grid-column:2!important;grid-row:1/span 40!important;position:sticky!important;top:16px!important;min-width:0!important}
  .tl_formbody_edit:has(#pal_inbox_preview_legend)>.tl_formbody_submit{grid-column:1/-1!important}
  .tl_formbody_edit:has(#pal_inbox_preview_legend) .vacation-participant-card{min-width:200px!important}
}
#pal_inbox_preview_legend .vacation-inbox-create-preview{padding:0!important;margin:0!important}
#pal_inbox_preview_legend .vacation-inbox-preview__frame{height:min(66vh,720px)!important}
.vacation-workflow-mail-cancel-top{border-radius:50%!important}
.vacation-workflow-mail-action--preview img{filter:brightness(0) invert(1)!important}
.vacation-workflow-commandbar .vacation-workflow-mail-editor{resize:vertical!important;overflow:auto!important;min-height:54px!important}
.vacation-workflow-mail-preview__actions [data-vacation-preview-send]{display:inline-flex!important;align-items:center!important;gap:6px!important;background:var(--orange,#e98300)!important;border-color:var(--orange,#e98300)!important;color:#fff!important;border-radius:4px!important}
.vacation-workflow-mail-preview__actions [data-vacation-preview-send] img{filter:brightness(0) invert(1)!important}
/* Open message menus use fixed positioning so the workflow scroller can never clip them. */
.vacation-timeline-email-menu.is-fixed-menu .vacation-timeline-email-menu__panel{position:fixed!important;top:var(--vacation-menu-top)!important;right:var(--vacation-menu-right)!important;bottom:auto!important;z-index:9999!important}

/* Native Contao rule builder: layout only; controls keep Contao's own tl_* styling. */
.vacation-rule-native{width:100%}
.vacation-rule-native-section{padding:0 0 22px;margin:0 0 20px;border-bottom:1px solid var(--border-color,#3a3f45)}
.vacation-rule-native-section:last-child{border-bottom:0;margin-bottom:0}
.vacation-rule-native-section h3{margin:0 0 5px;font-size:1rem}
.vacation-rule-native-section>.tl_help{margin:0 0 12px}
.vacation-rule-native-row{display:grid;grid-template-columns:90px minmax(220px,1.15fr) minmax(170px,.8fr) minmax(200px,1fr) auto;gap:10px;align-items:center;margin:0 0 10px}
.vacation-rule-native-action{grid-template-columns:90px minmax(260px,1.2fr) minmax(220px,1fr) auto}
.vacation-rule-native-row .tl_select,.vacation-rule-native-row .tl_text,.vacation-rule-native-row .tl_textarea{width:100%;box-sizing:border-box;margin:0}
.vacation-rule-keyword{font-weight:700}
.vacation-rule-value-inline{display:flex;align-items:center;gap:8px}
.vacation-rule-remove{color:#f06464;border-color:#c64d4d}
.vacation-rule-add{margin-top:2px}
@media(max-width:1100px){.vacation-rule-native-row,.vacation-rule-native-action{grid-template-columns:90px 1fr}.vacation-rule-native-row>*:not(.vacation-rule-keyword){grid-column:2}}

