/* Shared modal sections, matching the document-chat panel. */
body.btassist-neu.btassist-neu :is(#neu-modal-layout-head,.modal-header,.modal-head,.file-preview-header,.webdav-modal-header,.modal > header,.vv-datum-head,.deadline-task-head,.health-deadline-head) {display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;flex:0 0 auto!important;box-sizing:border-box!important;min-height:calc(var(--neu-control-height) + 28px)!important;height:auto!important;padding:14px 20px!important;background:#fff!important;color:var(--neu-text)!important;border-bottom:1px solid var(--neu-border)!important;box-shadow:none!important}
body.btassist-neu.btassist-neu :is(#neu-modal-layout-title,.modal-header,.modal-head,.webdav-modal-header,.modal > header,.vv-datum-head,.deadline-task-head,.health-deadline-head) > :is(h2,h3,strong,.modal-title) {flex:1 1 auto;min-width:0;margin:0!important;font-size:17px!important;font-weight:600!important;line-height:1.35!important;letter-spacing:0!important;color:var(--neu-text)!important}
body.btassist-neu.btassist-neu :is(#neu-modal-layout-close,.modal-close,.modal-close-btn,.btn-modal-close,.file-preview-close,.webdav-modal-close,.vv-datum-x,.deadline-task-close,.health-deadline-close) {position:static!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 var(--neu-control-height)!important;width:var(--neu-control-height)!important;min-width:var(--neu-control-height)!important;height:var(--neu-control-height)!important;min-height:var(--neu-control-height)!important;max-height:var(--neu-control-height)!important;margin:0!important;padding:0!important;border:1px solid var(--neu-border)!important;border-radius:7px!important;background:#fff!important;color:var(--neu-muted)!important;box-shadow:none!important;font-size:22px!important;line-height:1!important;transform:none!important;cursor:pointer}
body.btassist-neu.btassist-neu :is(#neu-modal-layout-close,.modal-close,.modal-close-btn,.btn-modal-close,.file-preview-close,.webdav-modal-close,.vv-datum-x,.deadline-task-close,.health-deadline-close):hover {background:var(--neu-soft)!important;color:var(--neu-accent)!important}
body.btassist-neu.btassist-neu :is(#neu-modal-layout-body,.modal-body,.modal-main,.vv-datum-body,.deadline-task-body,.health-deadline-body) {box-sizing:border-box;padding:20px!important;background:#f6f9f8!important;color:var(--neu-text)!important;border:0!important;min-height:0;overflow-y:auto;overscroll-behavior:contain}
body.btassist-neu.btassist-neu :is(#neu-modal-layout-footer,.modal-actions,.modal-footer,.modal-foot,.file-preview-footer,.webdav-modal-footer,.modal > footer,.vv-datum-actions,.deadline-task-actions,.health-deadline-actions) {display:flex!important;align-items:center!important;gap:10px!important;flex:0 0 auto!important;flex-wrap:wrap!important;box-sizing:border-box;padding:14px 20px!important;background:#fff!important;border-top:1px solid var(--neu-border)!important;box-shadow:none!important}
body.btassist-neu.btassist-neu :is(#neu-modal-layout-control,.modal input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]),.modal-card input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]),.modal select,.modal-card select,.modal textarea:not(.neu-doc-chat-input),.modal-card textarea:not(.neu-doc-chat-input)) {background:#fff!important;color:var(--neu-text)!important;border-color:var(--neu-border)!important;box-shadow:none!important}
body.btassist-neu.btassist-neu :is(#neu-modal-layout-close,.modal-close,.modal-close-btn,.btn-modal-close,.file-preview-close,.webdav-modal-close,.vv-datum-x,.deadline-task-close,.health-deadline-close):focus-visible {outline:2px solid var(--neu-accent)!important;outline-offset:2px}
@media(max-width:768px){
 body.btassist-neu.btassist-neu :is(#neu-modal-layout-head,.modal-header,.modal-head,.file-preview-header,.webdav-modal-header,.modal > header,.vv-datum-head,.deadline-task-head,.health-deadline-head) {padding:12px 14px!important;min-height:calc(var(--neu-control-height) + 24px)!important}
 body.btassist-neu.btassist-neu :is(#neu-modal-layout-body,.modal-body,.modal-main,.vv-datum-body,.deadline-task-body,.health-deadline-body) {padding:14px!important}
 body.btassist-neu.btassist-neu :is(#neu-modal-layout-footer,.modal-actions,.modal-footer,.modal-foot,.file-preview-footer,.webdav-modal-footer,.modal > footer,.vv-datum-actions,.deadline-task-actions,.health-deadline-actions) {padding:12px 14px!important}
}
body.btassist-neu.btassist-neu :is(#neu-modal-layout-hidden,.data-modal,.modal-backdrop,.contact-modal,.file-preview-modal,.webdav-modal-backdrop,.vv-datum-modal) :is([hidden],[style*="display:none"],[style*="display: none"]) {display:none!important}

/* Notes use a compact dialog with a scrolling body instead of filling the screen. */
body.btassist-neu.btassist-neu #note-modal .modal {display:flex!important;flex-direction:column!important;box-sizing:border-box!important;width:min(720px,calc(100vw - 40px))!important;max-width:720px!important;height:auto!important;min-height:0!important;max-height:min(85dvh,760px)!important}
body.btassist-neu.btassist-neu #note-modal .modal form {display:flex!important;flex-direction:column!important;flex:1 1 auto!important;height:auto!important;min-height:0!important;overflow:hidden!important}
body.btassist-neu.btassist-neu #note-modal .modal .modal-body {flex:1 1 auto!important;box-sizing:border-box;height:auto!important;min-height:0!important;max-height:calc(min(85dvh,760px) - 140px)!important;padding:16px!important;gap:10px!important;overflow-y:auto!important}
body.btassist-neu.btassist-neu #note-modal .modal-body .field-row {gap:5px!important;margin:0 0 10px!important}
body.btassist-neu.btassist-neu #note-modal .modal-grid-2 {gap:10px 14px!important}
body.btassist-neu.btassist-neu #note-modal #note-beschreibung {min-height:120px!important;height:132px!important;max-height:240px!important;resize:vertical}
body.btassist-neu.btassist-neu #note-modal .modal > header {flex:0 0 auto!important;padding:14px 16px!important;min-height:calc(var(--neu-control-height) + 28px)!important}
body.btassist-neu.btassist-neu #note-modal #close-note-modal {position:static!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 var(--neu-control-height)!important;width:var(--neu-control-height)!important;min-width:var(--neu-control-height)!important;height:var(--neu-control-height)!important;min-height:var(--neu-control-height)!important;margin:0!important;padding:0!important;border:1px solid var(--neu-border)!important;border-radius:7px!important;background:#fff!important;color:var(--neu-muted)!important;box-shadow:none!important;font-size:20px!important}
body.btassist-neu.btassist-neu #note-modal .note-modal-footer {flex:0 0 auto!important;padding:12px 16px!important;min-height:0!important}
@media(max-width:768px){body.btassist-neu.btassist-neu #note-modal .modal {width:calc(100vw - 20px)!important;max-width:calc(100vw - 20px)!important;max-height:calc(100dvh - 24px)!important}body.btassist-neu.btassist-neu #note-modal .modal .modal-body {max-height:calc(100dvh - 164px)!important;padding:14px!important}}

/* Task and note dialog shells follow the same compact content width. */
body.btassist-neu.btassist-neu :is(#create-modal,#task-modal,#note-modal) .modal {box-sizing:border-box!important;width:min(720px,calc(100vw - 40px))!important;max-width:720px!important;min-width:0!important;margin:0 auto!important}
body.btassist-neu.btassist-neu :is(#create-modal,#task-modal,#note-modal) .modal > :is(header,.modal-body,footer,form) {box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important}
body.btassist-neu.btassist-neu :is(#create-modal,#task-modal) .modal {max-height:calc(100dvh - 32px)!important;height:auto!important;min-height:0!important}
body.btassist-neu.btassist-neu :is(#create-modal,#task-modal) .modal-body-task .modal-grid {grid-template-columns:minmax(0,3fr) minmax(0,2fr)!important;gap:14px!important;min-width:0!important}
body.btassist-neu.btassist-neu :is(#create-modal,#task-modal) .modal-grid > * {min-width:0!important}
@media(max-width:768px){
 body.btassist-neu.btassist-neu :is(#create-modal,#task-modal,#note-modal) .modal {width:calc(100vw - 20px)!important;max-width:calc(100vw - 20px)!important;max-height:calc(100dvh - 24px)!important}
 body.btassist-neu.btassist-neu :is(#create-modal,#task-modal) .modal-body-task .modal-grid {grid-template-columns:minmax(0,1fr)!important}
}

/* Align dialogs to the actual page body, including the sidebar offset. */
body.btassist-neu.btassist-neu :is(#create-modal,#task-modal,#note-modal).modal-backdrop {box-sizing:border-box!important;padding-left:var(--neu-dialog-body-left,20px)!important;padding-right:var(--neu-dialog-body-right,20px)!important}
body.btassist-neu.btassist-neu :is(#create-modal,#task-modal,#note-modal) .modal {width:var(--neu-dialog-body-width,calc(100vw - 40px))!important;max-width:var(--neu-dialog-body-width,calc(100vw - 40px))!important}

/* Keep employee and contact fields together even in stretched task sections. */
body.btassist-neu.btassist-neu :is(#create-modal,#task-modal) .list:has(> .assignee-row) {align-content:start!important;gap:8px!important}
body.btassist-neu.btassist-neu :is(#create-modal,#task-modal) .assignee-row + .task-contact-field {margin-top:0!important}
body.btassist-neu.btassist-neu :is(#create-modal,#task-modal) [data-task-contact-details]:empty {display:none!important}

/* Description grows to match the full height of the task details column. */
body.btassist-neu.btassist-neu :is(#create-modal,#task-modal) .modal-body-task .modal-grid {align-items:stretch!important}
body.btassist-neu.btassist-neu :is(#create-modal,#task-modal) .modal-grid > .modal-main {display:flex!important;flex-direction:column!important;gap:12px!important;padding:0!important;overflow:visible!important;background:transparent!important;align-self:stretch!important}
body.btassist-neu.btassist-neu :is(#create-modal,#task-modal) .modal-main > .section:not(.task-description-section) {flex:0 0 auto!important}
body.btassist-neu.btassist-neu :is(#create-modal,#task-modal) .task-description-section {display:flex!important;flex-direction:column!important;flex:1 1 auto!important;min-height:0!important}
body.btassist-neu.btassist-neu :is(#create-modal,#task-modal) .task-description-section > textarea {flex:1 1 auto!important;box-sizing:border-box!important;min-height:140px!important;height:auto!important;max-height:none!important;margin-bottom:0!important}
body.btassist-neu.btassist-neu :is(#create-modal,#task-modal) .modal-grid > .modal-side {align-content:start!important;align-self:start!important}

body.btassist-neu.btassist-neu #neu-task-save-confirm {display:flex!important;position:fixed!important;inset:0!important;align-items:center!important;justify-content:center!important;padding:16px!important;z-index:100250!important;background:rgba(25,39,45,.35)!important;backdrop-filter:blur(4px)}
body.btassist-neu.btassist-neu #neu-task-save-confirm .modal {width:min(460px,calc(100vw - 32px))!important;max-width:460px!important;height:auto!important;min-height:0!important;max-height:calc(100dvh - 32px)!important}
body.btassist-neu.btassist-neu #neu-task-save-confirm .modal-body p {margin:0;line-height:1.6;font-size:14px}
body.btassist-neu.btassist-neu #neu-task-save-confirm footer {justify-content:flex-end!important}
