/* V14.31: kalendergenaue Abwesenheiten, klarer Terminauswahlstatus, Modal-Layout */
.dorfer31-calendar-absence{position:absolute;z-index:5;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:3px;padding:8px 7px;border:1.5px solid var(--absence-person,#9c3340);border-left:4px solid var(--absence-person,#9c3340);border-radius:7px;background:color-mix(in srgb,var(--absence-person,#9c3340) 13%,white);color:#29282b;text-align:left;min-width:0;overflow:hidden;cursor:pointer;line-height:1.25;box-sizing:border-box}
.dorfer31-calendar-absence .dorfer-icon{width:21px;height:21px;flex:none;color:var(--absence-person,#9c3340)}
.dorfer31-calendar-absence strong{font-size:12px;overflow-wrap:break-word;line-height:1.25}
.dorfer31-calendar-absence small{font-size:11px;font-weight:700;color:#403b3e}
.dorfer31-calendar-absence span{font-size:10px;line-height:1.2;color:#6b6262}
.dorfer31-calendar-absence:focus-visible{outline:3px solid #a42f3b;outline-offset:-3px}
/* SVG Icons, normal appointments and absences get separate, independently clickable cards */
.dorfer31-week-absences{display:none!important}
.dorfer31-reservation-hint{margin:8px 0 16px!important;padding:0 4px;color:#706668;font-size:12px;line-height:1.5}
.dorfer30-duration .dorfer23-choice.sel{background:#a4323d!important;color:#fff!important;border-color:#a4323d!important;box-shadow:0 2px 7px #6c0c1a1d}
.dorfer30-duration .dorfer23-choice.sel:hover{background:#922735!important}
.dorfer27-day.is-noncharge,.dorfer27-detail-day.is-noncharge{box-shadow:inset 0 0 0 1.5px #be8a4b;position:relative}
.dorfer27-day.is-noncharge:after,.dorfer27-detail-day.is-noncharge:after{content:'·';font-size:18px;font-weight:900;color:#b57b30;position:absolute;right:2px;top:-6px;pointer-events:none}
.dorfer31-noncharge-legend{display:inline-flex!important;align-items:center;gap:6px;color:#655e56;font-size:11px}
.dorfer31-noncharge-legend i{width:11px;height:11px;background:#fff4df;box-shadow:inset 0 0 0 1.5px #b57b30;border-radius:3px;display:inline-block}
.dorfer20-modal,.dorfer20-dialog,.dorfer20-modal form,.dorfer20-dialog .dorfer20-two-cols{min-width:0;max-width:100%;box-sizing:border-box}
.dorfer20-dialog .dorfer20-two-cols>label{min-width:0;display:flex;flex-direction:column;gap:6px}
.dorfer20-dialog input[type=date],.dorfer20-dialog input[type=time],.dorfer20-dialog input[type=text],.dorfer20-dialog select{max-width:100%;width:100%;min-width:0;box-sizing:border-box}
.dorfer20-modal{max-height:min(90dvh,900px);overflow-x:hidden}
.dorfer31-upload-stop-all{color:#982e39!important;border:1px solid #c1979a!important;white-space:normal}
@media(max-width:700px){.dorfer20-modal{width:calc(100% - 18px)}.dorfer20-dialog .dorfer31-sick-dates{grid-template-columns:1fr!important}.dorfer31-calendar-absence{padding:6px 5px}}
