[hidden][hidden] { display:none!important; }
.toolbar { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.notice { padding:10px 16px; color:#325b48; white-space:pre-wrap; }
.notice:empty { display:none; }
.error { color:#a32929; background:#fff0ec; }
.task-field { min-height:0; }
.task-line { align-items:center; }
.task-text { flex:1; min-width:0; }
.task-text p { margin:0; }
.task-meta { color:var(--muted); font-size:.83rem; }
.overdue { color:#aa3924; }
.group-controls { display:flex; gap:6px; }
.drag-handle { touch-action:none; cursor:grab; }
.dragging { opacity:.6; outline:2px dashed #4f7969; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }
.form-grid label { display:grid; gap:5px; }
.form-grid input:not([type=checkbox]), .form-grid select, .form-grid textarea { width:100%; padding:9px; border:1px solid var(--line-strong); border-radius:8px; background:white; }
.full-width { grid-column:1/-1; }
.checkbox-row { display:flex!important; align-items:center; gap:8px; }
.weekdays { display:flex; flex-wrap:wrap; gap:14px; }
.weekdays label { display:flex; gap:5px; }
.preview-dates { background:#eff5f0; border-radius:10px; padding:12px; }
.admin-shell-v2 { display:grid; grid-template-columns:220px minmax(0,1fr); gap:24px; max-width:1350px; margin:24px auto; padding:0 20px; }
.admin-sidebar-v2 { display:flex; flex-direction:column; gap:8px; align-self:start; position:sticky; top:15px; }
.admin-sidebar-v2 button, .admin-sidebar-v2 a { text-align:left; padding:12px; border:1px solid var(--line); border-radius:8px; background:var(--surface); text-decoration:none; }
.admin-sidebar-v2 button.active { background:#dcece3; border-color:#8fb49d; }
.panel-v2 { background:var(--surface); padding:24px; border-radius:16px; border:1px solid var(--line); }
.panel-v2 h2 { margin-top:0; }
.panel-v2 button, .toolbar button, .group-controls button, .task-dialog button { padding:9px 14px; border:1px solid var(--line-strong); border-radius:8px; background:#f5f7f3; min-height:44px; cursor:pointer; }
.panel-v2 button.danger { color:#a32929; background:#fff2ef; }
.list-v2 { display:grid; gap:10px; margin-top:22px; }
.list-row { display:flex; gap:12px; align-items:center; justify-content:space-between; padding:13px; border:1px solid var(--line); border-radius:10px; }
.list-row .row-content { flex:1; min-width:0; }
.list-row small { display:block; color:var(--muted); }
.report-scroll { overflow:auto; margin:18px 0; }
.report-scroll table { width:100%; border-collapse:collapse; font-size:.9rem; }
.report-scroll th, .report-scroll td { padding:9px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; white-space:pre-wrap; }
.report-scroll th { background:#eef3ed; }
.task-dialog { max-height:92vh; overflow:auto; width:min(850px,94vw); padding:18px; }
.task-dialog.small-dialog { width:min(440px,94vw); padding:0; }
.task-dialog header { display:flex; align-items:center; justify-content:space-between; gap:15px; }
.task-dialog textarea, .task-dialog select { width:100%; padding:10px; margin:8px 0 16px; }
.expanded-dialog { width:96vw!important; max-width:1400px!important; height:95vh; }
.pdf-toolbar { display:flex; align-items:center; gap:8px; flex-wrap:wrap; position:sticky; top:0; padding:8px; background:#e9eee9; z-index:1; }
.pdf-scroll { overflow:auto; max-height:65vh; padding:10px 0; background:#ddd; }
.expanded-dialog .pdf-scroll { max-height:75vh; }
.pdf-scroll canvas { display:block; background:white; margin:auto; }
.info-grid { display:grid; grid-template-columns:140px 1fr; gap:8px; }
.info-grid dt { color:var(--muted); }
.info-grid dd { margin:0; white-space:pre-wrap; overflow-wrap:anywhere; }
.subtle { color:var(--muted); font-size:.9rem; }
.section-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:20px; }
.section-heading h2 { margin:0; }
.panel-v2 .primary { background:#31544c; color:white; border-color:#31544c; }
.form-grid { row-gap:22px; }
.form-grid input:not([type=checkbox]), .form-grid select { min-height:44px; }
input[type=checkbox] { width:19px; height:19px; accent-color:#31544c; }
.optional-field { display:grid; gap:14px; align-content:start; }
.disclosure { border-top:1px solid var(--line); padding:16px 0; margin-top:8px; }
summary { cursor:pointer; min-height:44px; align-content:center; }
summary small { margin-left:10px; color:var(--muted); font-weight:normal; }
.disclosure-body { padding-top:16px; }
.schedule-summary { color:var(--muted); font-size:.92rem; }
.schedule-summary p { margin:0; }
.schedule-summary summary { font-size:.88rem; }
.schedule-summary ol { margin:0; padding-left:24px; line-height:1.9; }
.editor-footer { border-top:1px solid var(--line); padding-top:20px; }
.inline-error { color:#a32929; white-space:pre-wrap; margin:0; }
.inline-error:empty { display:none; }
.attachment-status { overflow-wrap:anywhere; font-size:.92rem; margin:8px 0; }
.compact-form { margin:20px 0; padding:18px; background:#f7f8f4; border-radius:10px; }
.help-disclosure { color:var(--muted); font-size:.9rem; }
.segmented { display:flex; gap:8px; margin:0 0 24px; }
.segmented .active { background:#e0ebe4; border-color:#8eaa9a; }
.action-menu { position:relative; }
.action-menu summary { list-style:none; width:44px; text-align:center; font-size:1.4rem; }
.action-menu summary::-webkit-details-marker { display:none; }
.action-menu button { position:absolute; right:0; top:44px; z-index:2; box-shadow:0 4px 16px #0002; }
.list-v2 { margin-top:12px; gap:0; }
.list-row { border:0; border-bottom:1px solid var(--line); border-radius:0; padding:18px 0; }
.list-row:last-child { border-bottom:0; }
.list-row strong { font-size:1rem; font-weight:600; }
.list-row small { margin-top:5px; }
.task-dialog h2 { font-size:1.3rem; }
#detailDescription { white-space:pre-wrap; overflow-wrap:anywhere; }
#message { max-width:1310px; margin:0 auto; }
@media(max-width:760px) { .section-heading { flex-wrap:wrap; } .panel-v2 { padding:18px; } .info-grid { grid-template-columns:110px 1fr; } .task-field-header { flex-wrap:wrap; } }
@media(max-width:760px) { .admin-shell-v2 { grid-template-columns:1fr; padding:0 12px; } .admin-sidebar-v2 { position:static; flex-direction:row; flex-wrap:wrap; } .form-grid { grid-template-columns:1fr; } .panel-v2 { padding:16px; } .list-row { flex-wrap:wrap; } .staff-header { flex-wrap:wrap; } }

/* Verbindungsstatus und Offline-Puffer (cloud-api.js) */
.net-bar { position:fixed; left:12px; right:12px; bottom:12px; z-index:50; max-width:760px; margin:0 auto; padding:12px 16px; border-radius:10px; background:#fff; box-shadow:0 6px 24px #0003; font-size:.95rem; }
.net-bar[hidden] { display:none; }
.net-bar p { margin:4px 0; }
.net-bar button { min-height:36px; padding:4px 12px; margin-left:8px; }
.net-offline { color:#7a4b00; }
.net-pending { color:#304f4b; }
.net-info { color:#304f4b; font-weight:600; }
.net-rejected { color:#a32929; }
.net-rejected ul { margin:6px 0; padding-left:20px; }
.update-overlay { position:fixed; inset:0; z-index:100; display:grid; place-items:center; background:#f4f6f2f2; padding:24px; text-align:center; }
.update-overlay > div { max-width:420px; background:#fff; padding:32px; border-radius:14px; box-shadow:0 8px 32px #0002; }
.activation-panel form { display:grid; gap:14px; }
.code-input { font-size:1.4rem; letter-spacing:.12em; text-transform:uppercase; font-family:ui-monospace, Consolas, monospace; }
/* Platz für die Statusleiste, damit sie keine Aufgabe verdeckt */
body:has(#praxisNetBar:not([hidden])) .staff-shell, body:has(#praxisNetBar:not([hidden])) .admin-shell-v2 { padding-bottom:180px; }
