/* DORFER V14.21 | konsistentes iPad-Design, ohne Änderungen an bestehenden Auftragsansichten */
:root{--d21-bordeaux:#87383d;--d21-border:#e7ddd8;--d21-muted:#766764}
/* Kopfzone und Navigationsradius angleichen */
@media(min-width:761px){
 .sidebar{border-radius:18px 0 0 0;overflow:visible}
 .dorfer-topbar{border-radius:0 18px 18px 0}
 .dorfer17-home-header{border-radius:0 18px 18px 0}
}
.dorfer-top-actions{display:flex!important;align-items:center!important;gap:9px!important}
.dorfer-top-actions>.dorfer-refresh,.dorfer-top-actions>.dorfer20-top-feedback,.dorfer-top-actions>.dorfer17-help-trigger{height:43px!important;min-height:43px!important;box-sizing:border-box!important;display:inline-flex!important;justify-content:center!important;align-items:center!important;margin:0!important;border-radius:10px!important}
.dorfer-top-actions>.dorfer20-top-feedback,.dorfer-top-actions>.dorfer17-help-trigger{width:43px!important;min-width:43px!important;padding:0!important;flex:0 0 43px!important}
.dorfer-top-actions>.dorfer-refresh{gap:7px!important;padding:0 14px!important}
.dorfer20-modal{position:fixed!important;width:min(760px,calc(100vw - 26px))!important;max-height:min(91dvh,960px)!important;margin:auto!important;overflow:auto!important;overscroll-behavior:contain;box-sizing:border-box!important;border-radius:19px!important;-webkit-overflow-scrolling:touch}
.dorfer20-modal .dorfer20-dialog{padding:24px!important;gap:16px!important}
.dorfer21-dialog-x{position:sticky;top:9px;float:right;z-index:20;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;border:1px solid #e5d9d2;background:#fff;color:#5d4948;cursor:pointer;margin:9px 10px -48px auto;box-shadow:0 2px 8px #0001}
.dorfer21-dialog-x .dorfer-icon{width:19px;height:19px}
.dorfer20-dialog-head{padding-right:49px;align-items:center!important;min-height:41px}
.dorfer20-dialog-head>.btn[data-v20-close]{white-space:nowrap;flex:none}
.dorfer20-dialog-head h3{line-height:1.25!important;letter-spacing:-.3px}
.dorfer20-dialog .dorfer20-type-tiles{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px!important}
.dorfer20-dialog label.dorfer20-tile{min-height:100px!important;background:#fff!important;border-radius:12px!important;border:1px solid #e6dcd7!important;padding:12px 8px!important;gap:8px!important;transition:background .12s,border .12s}
.dorfer20-dialog label.dorfer20-tile:has(input:checked){background:#f5eaea!important;border:2px solid var(--d21-bordeaux)!important}
.dorfer20-tile .dorfer21-kind-icon{width:35px!important;height:35px!important;color:var(--d21-bordeaux);flex:none}
.dorfer20-tile strong{max-width:100%;overflow-wrap:anywhere;line-height:1.25;font-size:12px!important}
.dorfer20-tile input[type=radio]{height:16px;width:16px;cursor:pointer}
.dorfer20-dialog .dorfer21-date-fields{gap:12px!important}
.dorfer20-dialog .dorfer21-date-fields input[type=date],.dorfer20-dialog .dorfer21-time-fields input[type=time]{min-width:0!important;width:100%!important;text-align:left!important;font-size:14px!important;appearance:auto}
.dorfer20-dialog .dorfer21-date-fields label,.dorfer20-dialog .dorfer21-time-fields label{min-width:0}
.dorfer20-dialog .dorfer21-primary{width:100%!important;min-height:46px!important;justify-content:center!important;font-size:14px!important;margin-top:3px}
.dorfer20-dialog [hidden]{display:none!important}
.dorfer20-account-tile{min-width:0}
.dorfer21-kind-icon{color:var(--d21-bordeaux);width:24px;height:24px;flex-shrink:0}
.dorfer20-allday-chip .dorfer21-kind-icon{width:20px;height:20px}
/* Profil: Stammdaten links, Profilbild rechts, darunter Urlaub über volle Breite */
.dorfer-profile-page .dorfer-profile-columns{display:grid!important;grid-template-columns:minmax(0,1.38fr) minmax(250px,1fr)!important;gap:18px!important;align-items:stretch}
.dorfer-profile-page .dorfer-profile-details{min-width:0;grid-column:1;grid-row:1}
.dorfer-profile-page .dorfer-profile-side{min-width:0;grid-column:2;grid-row:1;display:block!important}
.dorfer-profile-page .dorfer-profile-photo{height:100%;box-sizing:border-box}
.dorfer-profile-page .dorfer20-my-leave{grid-column:1/-1;grid-row:2;min-width:0}
.dorfer-profile-page .dorfer21-password-open{margin-top:12px;display:inline-flex;align-items:center;gap:7px}
.dorfer-profile-page .dorfer-photo-center{margin:12px auto}
.dorfer20-my-leave>.heading{gap:12px;align-items:center;flex-wrap:wrap}
.dorfer21-year-picker{display:flex;gap:12px;align-items:center;margin:7px 0 10px;position:relative;z-index:5}
.dorfer21-year-picker>span{font-weight:750;font-size:12px;color:#695956}
.dorfer21-year-picker details{position:relative}
.dorfer21-year-picker summary{display:flex;align-items:center;gap:20px;list-style:none;background:#fff;border:1px solid #d9c9c1;border-radius:9px;padding:9px 13px;cursor:pointer;font-weight:850;font-size:14px;min-width:104px;justify-content:space-between}
.dorfer21-year-picker summary::-webkit-details-marker{display:none}
.dorfer21-year-picker summary svg{width:16px;height:16px}
.dorfer21-year-options{position:absolute;top:calc(100% + 5px);left:0;z-index:80;width:110px;max-height:210px;overflow-y:auto;overscroll-behavior:contain;border-radius:10px;background:#fff;box-shadow:0 10px 25px #0002;border:1px solid #eadbd4;padding:5px}
.dorfer21-year-options button{display:block;width:100%;border:none;background:transparent;color:#443936;border-radius:7px;padding:10px;cursor:pointer;font-weight:650;text-align:center}
.dorfer21-year-options button:hover,.dorfer21-year-options button.selected{color:var(--d21-bordeaux);background:#f4e9e9}
/* kompaktes Eingaberaster für Regeln */
.dorfer20-dialog .dorfer21-compact-times{grid-template-columns:repeat(3,minmax(0,1fr))!important;max-width:590px}
.dorfer21-compact-times input{max-width:156px!important;text-align:center!important;padding:8px 6px!important;box-sizing:border-box}
/* allgemeine klickbare Verwaltungszeilen */
.dorfer21-row-open{appearance:none;border:1px solid var(--d21-border);background:#fff;border-radius:12px;padding:13px;display:flex;align-items:center;gap:13px;cursor:pointer;text-align:left;width:100%;color:#3b3432;margin:7px 0;min-width:0;font:inherit}
.dorfer21-row-open:hover{border-color:#b9878d;background:#fdf9f8}
.dorfer21-row-open:focus-visible{outline:3px solid #c7a5a5;outline-offset:1px}
.dorfer21-row-open>.dorfer-icon{width:23px;height:23px;flex:none;color:#87383d}
.dorfer21-row-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}
.dorfer21-row-info strong,.dorfer21-row-info b{font-size:13px}
.dorfer21-row-info small{font-size:11px;color:#756865;overflow-wrap:anywhere;line-height:1.4}
.dorfer21-row-open .pill{flex:none;white-space:nowrap}
.dorfer20-request-icon{flex:none;display:inline-flex!important;align-items:center;justify-content:center;width:43px;height:43px;background:#f6eded;border-radius:9px}
.dorfer20-request-icon .dorfer21-kind-icon{height:29px;width:29px}
.dorfer21-eyebrow{color:#945256;font-size:10px;letter-spacing:.1em;font-weight:850}
.dorfer21-info-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.dorfer21-info-line b{flex:1;font-size:13px}
.dorfer21-account-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.dorfer21-account-summary>div{border-radius:10px;background:#f8f5f2;border:1px solid #e8dfd7;padding:12px;display:flex;flex-direction:column;gap:5px}
.dorfer21-account-summary small{font-size:10px;color:#7b706b}
.dorfer21-account-summary b{font-size:22px;font-weight:850;line-height:1.15}
.dorfer21-conflict{border:1px solid #e7dad4;border-radius:11px;padding:13px;display:flex;flex-direction:column;gap:8px}
.dorfer21-conflict h4{display:flex;align-items:center;gap:7px;margin:0 0 5px}
.dorfer21-conflict-item{display:flex;gap:8px;align-items:center;font-size:12px;background:#fbf9f7;padding:8px;border-radius:7px}
.dorfer21-conflict-item .task-picto{width:25px;height:25px}
.dorfer21-conflict-item>span{display:flex;flex-direction:column;gap:3px}
.dorfer21-conflict-item small{font-size:10px;color:#736563}
.dorfer21-alert{border-left:3px solid #bd5d5f;background:#fdf0ef;color:#854147;margin:3px 0;padding:10px;border-radius:6px;font-size:12px;display:flex;gap:8px;align-items:center}
.dorfer21-good{color:#287756;font-weight:700;font-size:12px;margin:4px 0}
.dorfer21-inline-note,.dorfer21-note{background:#faf8f6;border:1px solid #e9e0d9;border-radius:10px;padding:12px;color:#544640;font-size:12px;line-height:1.5}
.dorfer21-note{white-space:pre-wrap;overflow-wrap:anywhere}
.dorfer21-note p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;margin:7px 0}
.dorfer21-note small{color:#736563}
.dorfer21-notelabel{font-size:12px;font-weight:750;display:flex;flex-direction:column;gap:7px}
.dorfer21-notelabel textarea{min-height:70px;width:100%;border:1px solid #ded2cb;border-radius:9px;padding:11px;box-sizing:border-box;font:inherit}
.dorfer21-dialog-actions{display:flex;flex-wrap:wrap;gap:9px;align-items:center}
.dorfer21-dialog-actions>.btn{display:inline-flex;align-items:center;gap:8px;min-height:42px}
.dorfer21-compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.dorfer21-compare>div{display:flex;flex-direction:column;gap:5px;background:#f7f3f0;border-radius:10px;padding:14px}
.dorfer21-compare small{color:#796965}
.dorfer21-compare b{font-size:14px}
/* Feedback-Detailfenster und Archiv */
.dorfer21-feedback-tabs,.dorfer21-status-buttons{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:12px}
.dorfer21-feedback-tabs .btn,.dorfer21-status-buttons .btn{display:inline-flex;align-items:center;gap:7px}
.dorfer21-ticket-search{display:flex;align-items:center;gap:8px;max-width:470px;border-radius:10px;border:1px solid #e6dad3;padding:8px 12px;margin:7px 0 15px;background:#fff}
.dorfer21-ticket-search .dorfer-icon{color:#8d7c76;height:18px;width:18px}
.dorfer21-ticket-search input{border:0!important;outline:none;flex:1;width:100%;font:inherit;background:transparent;min-height:27px;color:#443936}
.dorfer21-note-list{max-height:240px;overflow-y:auto;display:flex;flex-direction:column;gap:9px}
.dorfer21-note-visible{display:flex!important;align-items:center;flex-direction:row!important;gap:8px!important}
.dorfer21-delete{color:#a2343a!important;border-color:#cfa6a9!important}
@media(max-width:760px){
 .dorfer-profile-page .dorfer-profile-columns{grid-template-columns:1fr!important;gap:14px!important}
 .dorfer-profile-page .dorfer-profile-details{grid-column:1;grid-row:1}
 .dorfer-profile-page .dorfer-profile-side{grid-column:1;grid-row:2}
 .dorfer-profile-page .dorfer20-my-leave{grid-column:1;grid-row:3}
 .dorfer20-dialog .dorfer20-type-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
 .dorfer20-dialog .dorfer21-compact-times{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .dorfer20-dialog .dorfer21-date-fields{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .dorfer21-dialog-actions>.btn{flex:1}
}
@media(max-width:450px){
 .dorfer20-modal .dorfer20-dialog{padding:18px!important}
 .dorfer20-dialog-head{flex-direction:column;align-items:flex-start!important}
 .dorfer20-dialog-head>.btn[data-v20-close]{font-size:11px}
 .dorfer20-dialog label.dorfer20-tile{min-height:84px!important}
 .dorfer21-account-summary b{font-size:18px}
 .dorfer21-row-open{gap:8px;padding:9px}
 .dorfer20-request-icon{width:35px;height:35px}
 .dorfer21-compare{grid-template-columns:1fr}
 .dorfer21-dialog-actions{flex-direction:column;align-items:stretch}
 .dorfer21-year-picker{justify-content:flex-start}
}
.dorfer21-own-bookings{border:1px solid #e7ddd8;border-radius:11px;padding:12px;margin-top:12px}
.dorfer21-own-bookings summary{font-weight:750;cursor:pointer;padding:3px 0}
.dorfer20-month-day .dorfer21-month-absence{display:flex;align-items:center;gap:5px;background:#f4e8e8;color:#7a3943;padding:3px;border-radius:5px;font-size:10px;font-weight:750;max-width:100%;white-space:normal;overflow-wrap:anywhere}
.dorfer20-month-day .dorfer21-month-absence .dorfer21-kind-icon{width:15px;height:15px}
@media(max-width:700px){.dorfer20-month-day .dorfer21-month-absence{display:flex!important;font-size:9px}}
/* Breite ausdrücklich gegen die ältere .dialog-Regel absichern */
dialog.dorfer20-modal{max-width:min(760px,calc(100vw - 26px))!important}
@media(max-width:600px){dialog.dorfer20-modal{max-width:calc(100vw - 22px)!important}}
