:root{font-family:Segoe UI,Arial,sans-serif;color:#17312e;background:#f3f6f4}*{box-sizing:border-box}body{margin:0}header{padding:24px 5%;display:flex;justify-content:space-between;gap:20px;background:#fff;border-bottom:1px solid #dce6e0}.brand{font-weight:800;letter-spacing:1px}.brand span{font-weight:400;letter-spacing:0;margin-left:20px}.badge{border-radius:20px;background:#e2eee7;padding:6px 12px;font-size:13px}main{max-width:1100px;margin:auto;padding:35px 24px}.eyebrow{color:#427362;letter-spacing:2px;font-size:12px;font-weight:700}h1{font-size:clamp(32px,5vw,54px);line-height:1.08;margin:18px 0}h2{font-size:20px;margin:0 0 18px}.intro>p:last-child{color:#62756c}nav{display:flex;gap:8px;margin:30px 0 22px}button,select{font:inherit}button{cursor:pointer;border:1px solid #cbdad1;border-radius:10px;padding:12px 17px;background:#fff;color:#17312e}button:hover{background:#e6f0e9}button:disabled{opacity:.5;cursor:wait}nav .active,.actions button:first-child{background:#1c6249;color:#fff}.panel{background:white;border:1px solid #dce6e0;border-radius:16px;padding:24px;margin-bottom:20px}label{display:block;font-weight:600}select{margin-top:10px;padding:12px;width:100%;border:1px solid #cbdad1;border-radius:8px}.hint{font-size:13px;color:#62756c;line-height:1.6}.actions{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:22px 0}.actions button{min-height:76px;font-size:18px}.toggle{font-weight:400;font-size:14px;display:flex;gap:8px;align-items:center}.row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.row h2{margin:0}.queueitem{padding:12px 0;border-top:1px solid #e3eae5;font-size:14px}.metrics{display:flex;gap:15px;margin:20px 0}.metric{background:#e2eee7;padding:18px;border-radius:12px;flex:1}.metric b{display:block;font-size:28px}.exception{border-left:3px solid #bf8134;padding:10px 15px;margin:12px 0;background:#fff8ed}.tablewrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;padding:12px;border-bottom:1px solid #e3eae5;white-space:nowrap}footer{text-align:center;padding:20px;color:#62756c;font-size:12px}@media(max-width:600px){header{flex-direction:column}.brand span{display:block;margin:5px 0}.panel{padding:18px}.metrics{flex-direction:column}.actions button{font-size:16px}}
:root{--brand-brown:#6e604c;--brand-olive:#626d21;--brand-lime:#b1cb1f;--brand-paper:#f1efeb;--brand-stone:#e4e3de}
body{color:var(--brand-brown);background:var(--brand-paper)}header{background:var(--brand-brown);color:white;border-bottom:4px solid var(--brand-lime);align-items:center}.brand{display:flex;align-items:center;gap:24px}.brand img{display:block;width:285px;max-width:65vw;height:auto}.brand span{font-size:14px;margin:0;opacity:.85}.badge{background:var(--brand-stone);color:var(--brand-olive)}header .badge{background:#ffffff18;color:white;border:1px solid #ffffff40}.eyebrow{color:var(--brand-olive)}.intro>p:last-child,.hint,footer{color:var(--brand-brown)}button{color:var(--brand-olive);border-color:#d5d4c5}button:hover{background:#eef1d8}nav .active,.actions button:first-child{background:var(--brand-lime);color:#303613;border-color:var(--brand-lime);font-weight:600}.panel{border-color:var(--brand-stone)}.metric{background:var(--brand-stone)}.metric b{color:var(--brand-olive)}select{border-color:#d5d4c5;color:var(--brand-brown)}input{accent-color:var(--brand-olive)}@media(max-width:600px){.brand{align-items:flex-start;flex-direction:column;gap:10px}.brand span{margin:0}.brand img{max-width:80vw}}
[hidden]{display:none!important}#loginPanel{max-width:600px}#loginForm{display:grid;gap:10px}#loginForm input{font:inherit;padding:12px;border:1px solid #d5d4c5;border-radius:8px}#loginForm button{background:var(--brand-lime);color:#303613;margin-top:10px}#loginStatus{font-size:14px;line-height:1.5}#accountBar p{margin:8px 0 0}
nav{flex-wrap:wrap}#correctionForm{display:grid;gap:10px}#correctionForm input,#correctionForm textarea,.decision-reason{font:inherit;color:var(--brand-brown);border:1px solid #d5d4c5;border-radius:8px;padding:12px;width:100%}#correctionForm select{margin:0}#correctionForm p{margin:0}.correction-card h3{font-size:18px;margin:0}.correction-card .badge{display:inline-block}.correction-card p{line-height:1.6;overflow-wrap:anywhere}.decision-actions{display:flex;gap:10px;margin-top:12px}.decision-actions .approve{background:var(--brand-lime);color:#303613}.corrected{background:#f4f7e7}.decision-reason{margin-top:8px}.correction-meta{font-size:13px;color:var(--brand-brown)}
.correction-card > div:not(.row):not(.decision-actions){margin-top:12px;line-height:1.55}.correction-card label{margin-top:18px}.metrics{flex-wrap:wrap}.metric{min-width:170px}
.unresolved{background:#fff8ed}#rulesForm{display:grid;gap:10px;margin-top:18px;max-width:600px}#rulesForm input{font:inherit;border:1px solid #d5d4c5;border-radius:8px;padding:12px;width:100%}#rulesPanel summary{cursor:pointer;font-weight:600}#hoursIssues h3{margin:0;font-size:18px}#hoursIssues .exception{margin-bottom:0}
.filter-grid,.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;align-items:end}.filter-grid input,.form-grid input{display:block;width:100%;margin-top:10px;font:inherit;color:var(--brand-brown);border:1px solid #d5d4c5;border-radius:8px;padding:12px}.filter-grid select,.form-grid select{margin-top:10px}.form-grid button{align-self:end}.check-field{display:flex;align-items:center;gap:8px;min-height:48px}.check-field input{width:auto;margin:0}details>summary{cursor:pointer;font-weight:600}.small{padding:6px 8px;margin:2px;font-size:11px}.approve{background:var(--brand-lime);color:#303613}.muted-row{opacity:.58}.master-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 0;border-bottom:1px solid var(--brand-stone)}.master-row div{display:flex;flex-direction:column;gap:4px}.master-row span{font-size:13px}#masterForm{margin-top:22px;padding-top:20px;border-top:1px solid var(--brand-stone)}#assignmentStatus,#planningStatus{line-height:1.5}.tablewrap td:last-child{white-space:normal;min-width:125px}
main{max-width:1280px}.intro{padding:20px 2px 10px}.panel{box-shadow:0 10px 30px rgba(75,65,48,.055)}nav{width:max-content;max-width:100%;padding:6px;background:#fff;border:1px solid var(--brand-stone);border-radius:16px;box-shadow:0 10px 24px rgba(75,65,48,.07)}nav button{border-color:transparent}.planning-view-switch{display:inline-flex;padding:5px;margin:2px 0 14px;background:#deddd7;border-radius:12px;gap:4px}.planning-view-switch button{border:0;background:transparent;padding:9px 14px}.planning-view-switch .active{background:#fff;color:var(--brand-olive);box-shadow:0 2px 8px rgba(75,65,48,.12);font-weight:700}.planner-shell{padding:0;overflow:auto;max-height:680px;border-radius:20px}.planner-grid{display:grid;grid-template-columns:220px repeat(var(--day-count),minmax(175px,1fr));width:max-content;min-width:100%;background:#fff}.planner-corner,.planner-day{position:sticky;top:0;z-index:3;min-height:68px;padding:14px 16px;border-right:1px solid #8b806f;border-bottom:1px solid #8b806f;background:var(--brand-brown);color:#fff}.planner-corner{left:0;z-index:5;display:flex;flex-direction:column}.planner-corner span{font-size:11px;opacity:.72;margin-top:4px}.planner-day{display:flex;flex-direction:column;align-items:center;justify-content:center;text-transform:uppercase}.planner-day strong{font-size:12px;letter-spacing:1px}.planner-day span{font-size:18px;margin-top:3px}.planner-person{position:sticky;left:0;z-index:2;min-height:125px;padding:18px 16px;border-right:2px solid var(--brand-lime);border-bottom:1px solid var(--brand-stone);background:#f7f5f1;display:flex;flex-direction:column}.planner-person strong{font-size:15px}.planner-person span{font-size:11px;line-height:1.4;margin-top:6px;color:#7b705f}.planner-cell{min-height:125px;padding:8px;border-right:1px solid var(--brand-stone);border-bottom:1px solid var(--brand-stone);background:linear-gradient(180deg,#fff,#fcfbf8)}.shift-card{display:flex;flex-direction:column;gap:5px;padding:10px;margin-bottom:7px;border-radius:10px;border-left:4px solid var(--brand-lime);background:#f0f4d8;box-shadow:0 3px 9px rgba(75,65,48,.1)}.shift-card>strong{font-size:13px}.shift-card>span{font-weight:700;font-size:13px}.shift-card>small{font-size:11px;line-height:1.35}.shift-card>em{align-self:flex-start;font-style:normal;font-size:10px;text-transform:uppercase;letter-spacing:.6px;padding:3px 6px;border-radius:8px;background:#ffffffa8}.shift-card.planned{border-left-color:#c58a38;background:#fff4df}.shift-card.cancelled{border-left-color:#a6a096;background:#eee;opacity:.65}.plan-actions{display:flex;flex-wrap:wrap;margin:3px -2px -2px}.planner-empty{padding:30px}.metrics .metric{border-top:3px solid var(--brand-lime)}
@media(max-width:700px){.filter-grid,.form-grid{grid-template-columns:1fr}.master-row{align-items:flex-start}.master-row button{flex:0 0 auto}.planner-grid{grid-template-columns:165px repeat(var(--day-count),minmax(155px,1fr))}.planner-person{padding:14px 12px}nav{width:100%}}

/* Kompakte Arbeitsoberfläche nach der Anmeldung */
body:has(#accountBar:not([hidden])) header{padding:12px 3%;border-bottom-width:3px}body:has(#accountBar:not([hidden])) header .brand img{width:220px}body:has(#accountBar:not([hidden])) header .brand span{font-size:12px}body:has(#accountBar:not([hidden])) header>.badge{font-size:11px;padding:5px 10px}body:has(#accountBar:not([hidden])) main{max-width:1500px;padding:16px 24px 32px}body:has(#accountBar:not([hidden])) .intro{display:none}body:has(#accountBar:not([hidden])) #accountBar{padding:4px 2px 12px;margin:0;background:transparent;border:0;border-radius:0;box-shadow:none}body:has(#accountBar:not([hidden])) #accountBar p{display:inline;margin-left:10px}body:has(#accountBar:not([hidden])) #accountBar button{padding:8px 12px;background:transparent}body:has(#accountBar:not([hidden])) nav{position:relative;width:100%;margin:0 0 22px;padding:0;gap:25px;flex-wrap:nowrap;overflow-x:auto;background:transparent;border:0;border-bottom:1px solid #d6d0c6;border-radius:0;box-shadow:none}body:has(#accountBar:not([hidden])) nav button{flex:0 0 auto;padding:11px 1px 12px;border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;font-size:13px}body:has(#accountBar:not([hidden])) nav .active{color:var(--brand-olive);border-bottom-color:var(--brand-lime);font-weight:800}
#planning:not([hidden]){display:flex;flex-direction:column}.planning-heading{order:0;padding:4px 0 8px;border-bottom:1px solid #d6d0c6}.planning-heading h2{font-size:30px;letter-spacing:-.5px}.planning-heading #refreshPlanning{padding:8px 11px}.planning-heading #planningSummary{margin:0 4px 0 auto;gap:5px}.planning-heading #planningSummary .metric{flex:none;min-width:0;padding:5px 10px;border:0;border-left:2px solid var(--brand-lime);border-radius:0;background:transparent;box-shadow:none;font-size:11px;text-transform:uppercase;letter-spacing:.5px}.planning-heading #planningSummary .metric b{display:inline;margin-right:4px;font-size:17px}#planningIntro{order:1;margin:7px 0 12px}#planningFilters{order:2;grid-template-columns:repeat(3,minmax(170px,230px)) auto;margin:0 0 10px;padding:10px 12px;border-radius:10px;background:#e9e6df;box-shadow:none}#planningFilters .date-filter{display:none}#planningFilters label{font-size:11px;text-transform:uppercase;letter-spacing:.55px}#planningFilters select{margin-top:5px;padding:8px 10px;background:#fff}#planningFilters button{padding:9px 14px}.planner-toolbar{order:3;display:flex;align-items:center;gap:5px;min-height:44px;margin:0 0 6px}.planner-toolbar>button{padding:7px 11px;border-radius:8px}.planner-toolbar>strong{margin:0 10px;font-size:14px}.planner-toolbar .planning-view-switch{margin:0 0 0 auto;padding:3px;border-radius:9px}.planner-toolbar .planning-view-switch button{padding:7px 11px;font-size:12px}#planningBoard,#planningTable{order:4}#planningStatus{order:5;margin:8px 0 15px;font-size:12px;color:#776b5b}#newAssignmentPanel{order:6}#masterdataPanel{order:7}.planner-shell{min-height:260px;max-height:calc(100vh - 310px);margin:0;border:1px solid #cfc8bc;border-radius:12px;box-shadow:0 10px 28px rgba(65,54,39,.08)}.planner-grid{grid-template-columns:225px repeat(var(--day-count),minmax(145px,1fr))}.planner-corner,.planner-day{min-height:54px;padding:9px 12px;background:#554b3d}.planner-day.today{background:var(--brand-olive)}.planner-day strong{font-size:10px}.planner-day span{font-size:15px}.planner-person{min-height:105px;padding:13px 12px;flex-direction:row;align-items:flex-start;gap:10px;background:#f5f2ec}.planner-person>b{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:var(--brand-brown);color:#fff;font-size:11px;letter-spacing:.5px}.planner-person>div{display:flex;min-width:0;flex-direction:column}.planner-person strong{overflow:hidden;text-overflow:ellipsis}.planner-cell{position:relative;min-height:105px;padding:6px}.planner-cell.today{background:#f7f9e9}.add-shift{position:absolute;right:6px;bottom:5px;padding:4px 7px;border:0;background:transparent;font-size:10px;opacity:.25}.planner-cell:hover .add-shift,.add-shift:focus{opacity:1;background:#eef1d8}.shift-card{padding:8px;gap:3px;border-radius:7px;box-shadow:none}.shift-card>em{font-size:9px}.plan-actions .small{font-size:9px;padding:4px 5px}#planningTable{box-shadow:none;border-radius:10px}.panel{transition:border-color .15s ease}details.panel[open]{border-color:#cbc3b6}
@media(max-width:850px){body:has(#accountBar:not([hidden])) main{padding:12px 14px 28px}body:has(#accountBar:not([hidden])) header .brand img{width:190px}body:has(#accountBar:not([hidden])) header .brand span,body:has(#accountBar:not([hidden])) header>.badge{display:none}.planning-heading{align-items:center}.planning-heading h2{font-size:25px}.planning-heading #planningSummary{order:3;width:100%;margin:4px 0 0}.planning-heading #planningSummary .metric{padding:3px 7px}.planning-heading #planningSummary .metric b{font-size:15px}#planningFilters{grid-template-columns:1fr 1fr;margin-bottom:8px}#planningFilters button{grid-column:1/-1}.planner-toolbar>strong{margin:0 4px;font-size:12px}.planner-grid{grid-template-columns:175px repeat(var(--day-count),minmax(138px,1fr))}.planner-person{padding:11px 9px}.planner-person>b{display:none}.planner-shell{max-height:520px}}

.absence-heading{padding:4px 0 8px;border-bottom:1px solid #d6d0c6}.absence-heading .eyebrow{margin:0 0 5px}.absence-heading h2{font-size:30px;margin:0}.compact-metrics{gap:8px}.compact-metrics .metric{flex:0 1 180px;min-width:130px;padding:10px 14px;border-radius:9px}.compact-metrics .metric b{font-size:21px}.absence-layout{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(380px,1.1fr);gap:20px;align-items:start}.absence-layout h3{margin:5px 0 12px;font-size:15px;text-transform:uppercase;letter-spacing:.7px}.absence-card,.coverage-card{padding:16px;border-radius:12px;margin-bottom:10px;box-shadow:none}.absence-card h4,.coverage-card h4{margin:0;font-size:15px}.absence-period,.coverage-main{font-size:13px;margin-top:5px}.absence-note{margin-top:10px;padding:8px 10px;background:#f3f0ea;border-radius:7px;font-size:12px}.coverage-count,.replacement{margin-top:10px;font-size:12px;font-weight:700;color:var(--brand-olive)}.status-pill{padding:4px 8px;border-radius:10px;background:#e8e5df;font-size:10px;text-transform:uppercase;letter-spacing:.5px}.status-pill.confirmed,.status-pill.assigned{background:#e5edbd;color:#46510f}.status-pill.reported,.status-pill.open{background:#fff0d5;color:#855c20}.status-pill.rejected,.status-pill.closed{background:#e5e2dd;color:#726b62}.candidate-area{display:grid;gap:8px;margin-top:12px;padding-top:11px;border-top:1px solid var(--brand-stone)}.candidate-area select{margin:0}.candidate-area button{justify-self:start}.duty-check{font-size:12px}.empty-state{padding:22px;border:1px dashed #cbc4b8;border-radius:10px;color:#786d5d}.wide-field{grid-column:span 2}#absenceFormStatus,#absenceStatus{font-size:13px}.absence-card .decision-actions button{padding:8px 11px}
@media(max-width:850px){.absence-layout{grid-template-columns:1fr}.wide-field{grid-column:auto}.compact-metrics .metric{min-width:110px}.absence-heading h2{font-size:25px}}

.account-heading{padding:4px 0 8px;border-bottom:1px solid #d6d0c6}.account-heading .eyebrow{margin:0 0 5px}.account-heading h2{font-size:30px;margin:0}.account-layout{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(420px,1.2fr);gap:22px;align-items:start}.account-layout>div{min-width:0}.account-layout h3{margin:5px 0 12px;font-size:15px;text-transform:uppercase;letter-spacing:.65px}.account-form{display:grid;gap:11px;margin-top:16px}.account-form input,.account-form select,.account-list-heading input{display:block;width:100%;max-width:100%;margin-top:6px;padding:10px 12px;border:1px solid #d5d4c5;border-radius:8px;font:inherit;color:var(--brand-brown)}.security-notice{display:flex;flex-direction:column;gap:5px;margin:12px 0;padding:13px 15px;border-left:4px solid #c78a33;background:#fff3df;border-radius:7px}.security-notice span,.security-notice small{font-size:12px;line-height:1.45}.security-notice.credential{border-left-color:var(--brand-lime);background:#f0f4d8}.security-notice code{display:block;padding:9px;background:#fff;border:1px solid #d8ddbc;border-radius:6px;font:700 15px Consolas,monospace;letter-spacing:.5px;user-select:all}.account-list-heading{margin:2px 0 10px}.account-list-heading h3{margin:0}.account-list-heading input{width:min(100%,330px);margin:0;padding:8px 10px}.user-account{padding:14px 16px;border-radius:11px;margin-bottom:9px;box-shadow:none}.user-account h4{margin:0 0 4px;font-size:15px}.user-account .row span:not(.status-pill){font-size:12px}.account-actions{display:flex;gap:7px;margin-top:12px}.account-actions button,.account-pagination button{padding:7px 10px;font-size:11px}.account-pagination{margin:10px 0 2px}.account-pagination span{font-size:12px}#passwordStatus,#accountsStatus{font-size:13px}
@media(max-width:850px){.account-layout{grid-template-columns:1fr}.account-heading h2{font-size:25px}}

/* Arbeitsbereich mit Dashboard und dynamischer Seitennavigation */
body:has(#accountBar:not([hidden])) main{max-width:1680px;padding-left:28px;padding-right:28px}
.workspace-shell{display:grid;grid-template-columns:220px minmax(0,1fr);gap:26px;align-items:start}
.workspace-sidebar{position:sticky;top:14px;min-width:0;padding:18px 14px;background:#595042;color:#fff;border-radius:14px;box-shadow:0 14px 32px rgba(62,50,34,.14)}
.sidebar-head{display:flex;flex-direction:column;padding:2px 7px 17px;margin-bottom:8px;border-bottom:1px solid #ffffff24}.sidebar-head strong{font-size:18px}.sidebar-head small{margin-top:5px;color:#ffffffa8}.sidebar-kicker{margin-bottom:5px;color:var(--brand-lime);font-size:9px;font-weight:800;letter-spacing:1.4px}
body:has(#accountBar:not([hidden])) .workspace-sidebar nav{display:flex;width:100%;max-width:none;margin:0;padding:0;gap:3px;flex-direction:column;overflow:visible;border:0;background:transparent;box-shadow:none}
body:has(#accountBar:not([hidden])) .workspace-sidebar nav button{width:100%;padding:10px 11px;border:0;border-left:3px solid transparent;border-bottom:0;border-radius:7px;color:#eee8df;text-align:left;font-size:12px;background:transparent}
body:has(#accountBar:not([hidden])) .workspace-sidebar nav button:hover{background:#ffffff10;color:#fff}
body:has(#accountBar:not([hidden])) .workspace-sidebar nav .active{border-left-color:var(--brand-lime);background:#ffffff16;color:#fff;font-weight:800}
.workspace-content{min-width:0}.workspace-content>section{min-width:0}
.dashboard-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:4px 0 16px;border-bottom:1px solid #d6d0c6}.dashboard-hero .eyebrow{margin:0 0 5px}.dashboard-hero h1{margin:0;font-size:clamp(28px,3vw,40px);letter-spacing:-.8px}.dashboard-hero .hint{margin:6px 0 0;text-transform:capitalize}.dashboard-hero button{padding:9px 13px}
.dashboard-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px;margin:15px 0}.dashboard-metric{position:relative;display:flex;min-width:0;min-height:105px;padding:14px 15px;flex-direction:column;align-items:flex-start;border:1px solid #d7d1c7;background:#fff;text-align:left;box-shadow:0 7px 18px rgba(64,52,36,.05)}.dashboard-metric b{font-size:29px;line-height:1;color:var(--brand-olive)}.dashboard-metric span{margin-top:8px;font-size:12px;font-weight:700}.dashboard-metric small{margin-top:auto;color:#8b806f;font-size:10px}.dashboard-metric.warm{border-top:3px solid #d4a047}.dashboard-metric.alert{border-top:3px solid #a95e48;background:#fffaf7}.dashboard-metric.alert b{color:#934732}
.dashboard-grid{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(420px,1.15fr);gap:16px}.dashboard-grid>.panel{margin:0;padding:19px;border-radius:12px;box-shadow:none}.dashboard-grid h2,.dashboard-links h2{margin:2px 0 0;font-size:18px}.dashboard-grid .eyebrow,.dashboard-links .eyebrow{margin:0;font-size:9px}.focus-count{display:grid;place-items:center;min-width:36px;height:36px;padding:0 8px;border-radius:18px;background:var(--brand-olive);color:#fff;font-weight:800}
#dashboardTasks{display:grid;gap:7px;margin-top:15px}.dashboard-task{display:grid;width:100%;grid-template-columns:34px minmax(0,1fr) 18px;gap:10px;align-items:center;padding:10px 11px;border:0;border-radius:8px;background:#f2f0eb;text-align:left}.dashboard-task:hover{background:#e9ecd5}.dashboard-task.urgent{background:#fff0e6}.task-value{display:grid;place-items:center;height:29px;border-radius:7px;background:#fff;color:var(--brand-olive);font-weight:800}.task-copy{font-size:12px;font-weight:650}.task-arrow{justify-self:end}.dashboard-empty{padding:20px 12px;margin-top:12px;border:1px dashed #cbc4b8;border-radius:9px;color:#786d5d;font-size:12px}
#dashboardAssignments{margin-top:12px}.dashboard-shift{display:grid;grid-template-columns:44px minmax(0,1fr);gap:11px;padding:10px 2px;border-bottom:1px solid var(--brand-stone)}.dashboard-shift time{display:flex;height:43px;flex-direction:column;align-items:center;justify-content:center;border-radius:8px;background:#ecefd3;color:var(--brand-olive);font-size:9px;text-transform:uppercase}.dashboard-shift time b{font-size:17px;line-height:1}.shift-copy{display:flex;min-width:0;flex-direction:column}.shift-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.shift-copy span,.shift-copy small{margin-top:3px;color:#776c5c;font-size:10px}.shift-copy small{color:var(--brand-olive);font-weight:700}
.dashboard-links{margin-top:17px;padding:17px 0 0;border-top:1px solid #d6d0c6}.quick-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:9px;margin-top:11px}.quick-link{display:flex;min-height:72px;padding:12px 14px;flex-direction:column;align-items:flex-start;text-align:left}.quick-link strong{font-size:12px}.quick-link span{margin-top:5px;color:#807464;font-size:10px;line-height:1.4}#dashboardStatus{margin:12px 0 0;color:#807464;font-size:11px}
@media(max-width:1000px){.workspace-shell{grid-template-columns:1fr}.workspace-sidebar{position:static;padding:8px 10px;border-radius:11px}.sidebar-head{display:none}body:has(#accountBar:not([hidden])) .workspace-sidebar nav{flex-direction:row;gap:18px;overflow-x:auto}body:has(#accountBar:not([hidden])) .workspace-sidebar nav button{width:auto;flex:0 0 auto;padding:9px 2px;border-left:0;border-bottom:3px solid transparent;border-radius:0}body:has(#accountBar:not([hidden])) .workspace-sidebar nav .active{border-bottom-color:var(--brand-lime);background:transparent}.dashboard-grid{grid-template-columns:1fr}}
@media(max-width:650px){body:has(#accountBar:not([hidden])) main{padding-left:13px;padding-right:13px}.dashboard-hero{align-items:flex-start}.dashboard-hero button{padding:7px 9px}.dashboard-metrics{grid-template-columns:1fr 1fr}.dashboard-metric{min-height:94px}.dashboard-grid>.panel{padding:15px}.quick-links{grid-template-columns:1fr 1fr}}

/* Kompakte Mitarbeiterübersichten: Zähler zuerst, Details auf Abruf */
.workspace-sidebar nav button{display:flex!important;align-items:center;justify-content:space-between;gap:8px}.workspace-sidebar nav button[hidden]{display:none!important}.nav-count{display:grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--brand-lime);color:#343b12;font-size:10px;font-weight:900}.workspace-sidebar nav .active .nav-count{background:#fff;color:var(--brand-olive)}
.office-heading{padding:4px 0 9px;border-bottom:1px solid #d6d0c6}.office-heading .eyebrow{margin:0 0 4px}.office-heading h2{margin:0;font-size:30px}.office-alerts{padding:0;overflow:hidden;box-shadow:none}.office-alerts>summary{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;list-style:none}.office-alerts>summary::-webkit-details-marker{display:none}.office-alerts>summary span{display:flex;flex-direction:column;gap:3px}.office-alerts>summary small{color:#837766;font-weight:400}.office-alerts>summary b{display:grid;place-items:center;min-width:32px;height:32px;padding:0 8px;border-radius:16px;background:#fff0d5;color:#855c20}.office-alerts[open]>summary{border-bottom:1px solid var(--brand-stone)}.office-alerts #exceptions{padding:5px 18px 16px}
.employee-accordions{display:grid;gap:9px}.employee-time-group{overflow:hidden;border:1px solid #d8d2c8;border-radius:11px;background:#fff}.employee-time-group>summary{display:grid;grid-template-columns:38px minmax(170px,1fr) auto;gap:12px;align-items:center;padding:13px 15px;cursor:pointer;list-style:none}.employee-time-group>summary::-webkit-details-marker{display:none}.employee-time-group>summary:hover{background:#faf9f5}.employee-time-group[open]>summary{background:#f2f2e7;border-bottom:1px solid var(--brand-stone)}.employee-avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--brand-brown);color:#fff;font-size:11px;font-weight:800}.employee-group-copy{display:flex;min-width:0;flex-direction:column}.employee-group-copy strong{font-size:14px}.employee-group-copy span{margin-top:3px;color:#857967;font-size:10px}.employee-group-badges{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.count-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:10px;background:#e9e7e1;color:#665d50;font-size:10px;font-weight:800}.count-badge.alert{background:#fff0d5;color:#855c20}.employee-group-content{padding:10px 15px 14px}.employee-issues{display:grid;gap:6px;margin-bottom:9px}.employee-issues .exception{margin:0;font-size:11px}.employee-event-table{max-height:360px;overflow:auto;border:1px solid #ece8e1;border-radius:8px}.employee-event-table table{font-size:11px}.employee-event-table th{position:sticky;top:0;background:#f5f3ef;z-index:1}.employee-event-table th,.employee-event-table td{padding:9px 10px}
.employee-case-group{overflow:hidden;margin-bottom:8px;border:1px solid #d8d2c8;border-radius:10px;background:#fff}.employee-case-group>summary{display:grid;grid-template-columns:38px minmax(130px,1fr) auto;gap:11px;align-items:center;padding:12px 13px;cursor:pointer;list-style:none}.employee-case-group>summary::-webkit-details-marker{display:none}.employee-case-group>summary:hover{background:#faf9f5}.employee-case-group[open]>summary{background:#f2f2e7;border-bottom:1px solid var(--brand-stone)}.employee-case-content{padding:10px}.employee-case-content>.panel{margin-bottom:8px}.employee-case-content>.panel:last-child{margin-bottom:0}.correction-group .correction-card{box-shadow:none}

/* Schnelle Disposition: Kontext wählen, Vorschläge ziehen, Tag öffnen */
.quick-planner{order:2;margin:0 0 10px;padding:15px 17px;border-left:4px solid var(--brand-lime);border-radius:10px;box-shadow:none}.quick-planner-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.quick-planner-head .eyebrow{margin:0 0 3px;font-size:9px}.quick-planner-head h3{margin:0;font-size:17px}.quick-planner-head p{margin:4px 0 0;color:#7c705f;font-size:11px}.quick-planner-head button{padding:6px 9px;font-size:10px}.quick-steps{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.quick-steps span{display:flex;align-items:center;gap:6px;padding:6px 9px;border-radius:14px;background:#eeece6;color:#675e51;font-size:10px;font-weight:700}.quick-steps b{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--brand-lime);color:#39400e;font-size:9px}.quick-context{display:grid;grid-template-columns:minmax(240px,1fr) minmax(180px,.7fr);gap:10px;margin-top:11px}.quick-context label{font-size:10px;text-transform:uppercase;letter-spacing:.5px}.quick-context select,.quick-context input{width:100%;margin-top:5px;padding:8px 10px;border:1px solid #d5d4c5;border-radius:7px;background:#fff;color:var(--brand-brown);font:inherit;text-transform:none;letter-spacing:0}.quick-status{margin:9px 0 5px;color:#706555;font-size:10px}.quick-staff-groups{display:grid;gap:8px;max-height:245px;overflow:auto}.quick-staff-group{display:grid;grid-template-columns:155px minmax(0,1fr);gap:9px;align-items:start;padding-top:7px;border-top:1px solid #ebe7df}.quick-staff-group-head{display:flex;align-items:center;justify-content:space-between;gap:7px;padding-top:7px}.quick-staff-group-head strong{font-size:10px;line-height:1.35}.quick-staff-tray{display:flex;gap:7px;overflow-x:auto;padding:2px 2px 7px}.quick-staff-chip{display:flex;flex:0 0 220px;min-width:0;align-items:center;gap:8px;padding:8px 9px;border-radius:8px;text-align:left;cursor:grab}.quick-staff-chip:active{cursor:grabbing}.quick-staff-chip.selected{border-color:var(--brand-lime);background:#f0f4d8;box-shadow:0 0 0 2px #b1cb1f33}.quick-drag-handle{color:#8a806f;font-size:16px;font-weight:900;letter-spacing:-4px}.quick-avatar{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:var(--brand-olive);color:#fff;font-size:9px;font-weight:800}.quick-staff-copy{display:flex;min-width:0;flex-direction:column}.quick-staff-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.quick-staff-copy span{margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#776c5d;font-size:9px}.quick-empty{padding:14px;color:#7b705f;font-size:11px}.planner-day{cursor:pointer}.day-expand-hint{margin-top:3px;color:#ffffffa8;font-size:8px}.planner-day.expanded{background:var(--brand-olive)}.planner-cell.drop-target{outline:3px solid var(--brand-lime);outline-offset:-3px;background:#f0f4d8}.planner-grid.dragging .planner-cell{position:relative;outline:2px dashed var(--brand-lime);outline-offset:-4px;background:#f7f9e9}.planner-grid.dragging .planner-cell::after{content:'Hier ablegen';position:absolute;inset:auto 8px 7px;padding:4px 6px;border-radius:5px;background:var(--brand-lime);color:#37400d;font-size:8px;font-weight:900;text-align:center}.planner-grid[data-focus-day]:not([data-focus-day=""]){grid-template-columns:225px minmax(520px,1fr);width:100%}.planner-grid[data-focus-day]:not([data-focus-day=""]) .planner-cell{min-height:90px}.planner-grid[data-focus-day]:not([data-focus-day=""]) .add-shift{opacity:1}
@media(max-width:850px){.office-heading h2{font-size:25px}.employee-time-group>summary,.employee-case-group>summary{grid-template-columns:38px minmax(130px,1fr)}.employee-group-badges{grid-column:2;justify-content:flex-start}.quick-context{grid-template-columns:1fr}.quick-staff-group{grid-template-columns:1fr}.quick-staff-group-head{justify-content:flex-start}.planner-grid[data-focus-day]:not([data-focus-day=""]){grid-template-columns:175px minmax(420px,1fr)}}

/* Dispo bei grossen Beständen: suchen, Tagesfokus, Kindertreffer */
.planner-search{display:flex;min-width:250px;max-width:380px;flex:1;align-items:center;gap:7px;margin-left:auto;color:#746858;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.55px}
.planner-search input{width:100%;min-width:0;padding:8px 10px;border:1px solid #d5d4c5;border-radius:8px;background:#fff;color:var(--brand-brown);font:inherit;text-transform:none;letter-spacing:0}
.planner-toolbar .planning-view-switch{margin-left:0}
.planning-day-strip{order:4;display:grid;grid-template-columns:repeat(7,minmax(115px,1fr));gap:7px;margin:0 0 8px}
.day-strip-card{display:grid;grid-template-columns:1fr auto;gap:2px 8px;align-items:center;min-height:54px;padding:8px 10px;border-radius:9px;background:#fff;text-align:left}
.day-strip-card.active{border-color:var(--brand-lime);background:#f0f4d8;box-shadow:0 0 0 2px #b1cb1f33}
.day-strip-card.today{border-bottom:3px solid var(--brand-lime)}
.day-strip-date{font-size:10px;font-weight:850;text-transform:uppercase}
.day-strip-count{grid-row:1/3;grid-column:2;min-width:30px;color:var(--brand-olive);font-size:22px;font-weight:900;text-align:right}
.day-strip-meta{font-size:9px;color:#7d7160}
#planningBoard,#planningTable{order:5}
#planningStatus{order:6}
#newAssignmentPanel{order:7}
#masterdataPanel{order:8}
.planner-shell{max-height:calc(100vh - 360px)}
.quick-context{grid-template-columns:minmax(240px,1fr) minmax(190px,.8fr) minmax(180px,.8fr)}
.quick-pupil-matches{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:6px;margin-top:8px;padding-bottom:3px}
.quick-pupil-chip{display:flex;min-width:0;min-height:46px;flex-direction:column;align-items:flex-start;justify-content:center;padding:6px 8px;border-radius:7px;text-align:left}
.quick-pupil-chip.selected{border-color:var(--brand-lime);background:#f0f4d8;box-shadow:0 0 0 2px #b1cb1f33}
.quick-pupil-name{overflow:hidden;width:100%;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:850}
.quick-pupil-meta{overflow:hidden;width:100%;margin-top:2px;text-overflow:ellipsis;white-space:nowrap;color:#776c5d;font-size:8px}
@media(max-width:850px){.planner-toolbar{flex-wrap:wrap}.planner-search{order:5;flex-basis:100%;max-width:none;margin-left:0}.planning-day-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-context{grid-template-columns:1fr}}

/* Stunden & Pausen als prüfbare Mitarbeitergruppen */
.hours-heading{padding:4px 0 8px;border-bottom:1px solid #d6d0c6}
.hours-heading h2{font-size:30px;margin:0}
.hours-controls{display:flex;align-items:end;justify-content:space-between;gap:14px;margin:0 0 10px;padding:12px 14px;border-radius:10px;background:#e9e6df;box-shadow:none}
.hours-controls label{flex:1;max-width:520px;color:#746858;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.55px}
.hours-controls input{display:block;width:100%;margin-top:5px;padding:9px 10px;border:1px solid #d5d4c5;border-radius:8px;background:#fff;color:var(--brand-brown);font:inherit;text-transform:none;letter-spacing:0}
.hours-control-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.hours-control-actions button{padding:8px 10px;font-size:11px}
.hours-control-actions .active{border-color:var(--brand-lime);background:#f0f4d8;font-weight:800}
.hours-groups{display:grid;gap:8px;margin-top:8px}
.hours-employee-group[open]>summary{background:#f2f2e7}
.hours-day-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:8px}
.hours-day-card{padding:12px;border:1px solid #e0dad0;border-radius:9px;background:#fff}
.hours-day-card.unresolved{background:#fff8ed;border-color:#ebd6b8}
.hours-day-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}
.hours-day-head strong{font-size:13px}
.hours-day-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.hours-day-metric{padding:8px;border-radius:7px;background:#f4f2ed}
.hours-day-metric div{color:#817563;font-size:9px;text-transform:uppercase;font-weight:800;letter-spacing:.45px}
.hours-day-metric b{display:block;margin-top:4px;color:var(--brand-olive);font-size:13px}
.hours-day-card .exception{margin:8px 0 0;font-size:11px}
.hours-issue-title{margin:18px 0 8px;font-size:15px;font-weight:900;text-transform:uppercase;letter-spacing:.7px}
#hoursTablePanel{margin-top:10px;box-shadow:none}
@media(max-width:850px){.hours-heading h2{font-size:25px}.hours-controls{align-items:stretch;flex-direction:column}.hours-controls label{max-width:none}.hours-control-actions{justify-content:flex-start}.hours-day-list{grid-template-columns:1fr}.hours-day-metrics{grid-template-columns:1fr}}

/* Drag-and-drop sichtbar machen */
.quick-planner.dragging{box-shadow:0 0 0 3px #b1cb1f44}
.quick-staff-groups{max-height:310px}
.quick-staff-group{grid-template-columns:180px minmax(0,1fr)}
.quick-staff-chip{position:relative;border-width:2px;background:#fff;box-shadow:0 5px 14px rgba(68,56,39,.08)}
.quick-staff-chip:hover{border-color:var(--brand-lime);background:#fbfcf1}
.quick-staff-chip:focus-visible{outline:3px solid #b1cb1f66;outline-offset:2px}
.quick-drag-handle{display:grid;place-items:center;flex:0 0 24px;width:24px;height:34px;border-radius:7px;background:#ece9df;color:var(--brand-olive);font-size:16px;letter-spacing:0}
.quick-drag-cue{margin-left:auto;padding:4px 7px;border-radius:8px;background:#f0f4d8;color:var(--brand-olive);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.45px}
.planner-person[draggable="true"]{cursor:grab}
.planner-person[draggable="true"]:active{cursor:grabbing}
.planner-person small{margin-top:5px;color:var(--brand-olive);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.5px}
.planner-grid-pupils{grid-template-columns:255px repeat(var(--day-count),minmax(150px,1fr))}
.planner-pupil{border-right-color:#d7cfbf;background:#fbfaf6}
.planner-pupil>b{background:var(--brand-olive)}
.pupil-drop-cell::before{content:attr(data-drop-label)}
.planner-cell{overflow:hidden}
.planner-cell::before{content:attr(data-drop-label);position:absolute;right:7px;bottom:26px;padding:3px 6px;border:1px dashed #cdd6a8;border-radius:5px;color:#9aa45c;background:#fbfcf1;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.4px;opacity:.55;pointer-events:none}
.planner-cell:hover::before{opacity:1}
.planner-grid.dragging .planner-cell::before{opacity:1;border-color:var(--brand-lime);background:#f0f4d8;color:#37400d}
.planner-grid.dragging .planner-person{opacity:.72}
.planner-grid.dragging .planner-person[draggable="true"]{opacity:1}
.add-shift{opacity:.55}
.planner-cell:hover .add-shift,.add-shift:focus{opacity:1}
.assignment-presets{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}
.assignment-presets button{padding:5px 7px;border-radius:7px;background:#f4f2ed;font-size:10px;line-height:1.1}
.assignment-presets button:hover{border-color:var(--brand-lime);background:#f0f4d8}
.time-presets button{font-variant-numeric:tabular-nums}
@media(max-width:850px){.quick-staff-group{grid-template-columns:1fr}.quick-drag-cue{display:none}.planner-cell::before{display:none}}

/* Kompaktmodus für große Dispositionen */
.quick-planner{padding:11px 13px}
.quick-planner-head h3{font-size:15px}
.quick-planner-head p,.quick-status{font-size:10px}
.quick-steps{margin-top:8px}
.quick-steps span{padding:4px 7px;font-size:9px}
.quick-steps b{width:15px;height:15px;font-size:8px}
.quick-context{grid-template-columns:minmax(210px,1.1fr) minmax(150px,.75fr) minmax(190px,1fr);gap:8px;margin-top:8px}
.quick-context select,.quick-context input{padding:7px 9px;font-size:12px}
.quick-pupil-matches{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:5px;margin-top:6px}
.quick-pupil-chip{min-height:38px;padding:5px 7px}
.quick-pupil-name{font-size:9px}
.quick-pupil-meta{font-size:7.5px}
.quick-staff-groups{gap:6px;max-height:220px}
.quick-staff-group{grid-template-columns:120px minmax(0,1fr);gap:7px;padding-top:5px}
.quick-staff-group-head{padding-top:4px}
.quick-staff-group-head strong{font-size:9px}
.quick-staff-group-head .count-badge{font-size:10px;padding:2px 6px}
.quick-staff-tray{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:5px;overflow:visible;padding:1px 1px 4px}
.quick-staff-chip{flex:initial;min-height:38px;gap:5px;padding:5px 6px;border-width:1px;border-radius:7px;box-shadow:none}
.quick-drag-handle{font-size:12px;letter-spacing:-3px}
.quick-avatar{flex:0 0 23px;width:23px;height:23px;font-size:7px}
.quick-staff-copy strong{font-size:9.5px}
.quick-staff-copy span{font-size:7.5px}
.quick-drag-cue{margin-left:auto;font-size:8px}
.planner-grid-pupils{grid-template-columns:205px repeat(var(--day-count),minmax(118px,1fr))}
.planner-corner,.planner-day{min-height:44px;padding:7px 9px}
.planner-day strong{font-size:9px}
.planner-day span{font-size:13px}
.planner-person{min-height:68px;padding:8px 9px;gap:7px}
.planner-person>b{flex-basis:26px;width:26px;height:26px;font-size:8px}
.planner-person strong{font-size:12px}
.planner-person span{margin-top:3px;font-size:9px}
.planner-cell{min-height:68px;padding:4px}
.planner-cell::before{right:5px;bottom:23px;padding:2px 4px;font-size:7px;opacity:.35}
.add-shift{right:4px;bottom:3px;padding:3px 5px;font-size:9px}
.shift-card{gap:2px;margin-bottom:4px;padding:5px 6px;border-radius:6px;border-left-width:3px}
.shift-card>strong,.shift-card>span{font-size:10px}
.shift-card>small{font-size:8px}
.shift-card>em{font-size:7px;padding:2px 4px}
.planner-grid[data-focus-day]:not([data-focus-day=""]){grid-template-columns:205px minmax(420px,1fr)}
.planner-grid[data-focus-day]:not([data-focus-day=""]) .planner-cell{min-height:62px}

@media(max-width:850px){.quick-context{grid-template-columns:1fr}.quick-staff-group{grid-template-columns:1fr}.quick-staff-tray{grid-template-columns:repeat(auto-fill,minmax(135px,1fr))}.planner-grid-pupils{grid-template-columns:165px repeat(var(--day-count),minmax(108px,1fr))}.planner-person{min-height:60px}.planner-cell{min-height:60px}}
.quick-staff-chip{border:1px solid #d5d4c5;background:#fff;color:var(--brand-brown);user-select:none;touch-action:none}
.quick-staff-chip[role="button"]{appearance:none}
.quick-staff-chip:focus-visible{outline:3px solid #b1cb1f66;outline-offset:2px}
.quick-drag-ghost{position:fixed;left:0;top:0;z-index:9999;width:180px;pointer-events:none;opacity:.92;box-shadow:0 12px 28px rgba(68,56,39,.22);transform:translate(-9999px,-9999px)}
.quick-planner.dragging .quick-staff-chip.selected{box-shadow:0 0 0 2px #b1cb1f66}
/* 0.18 Click-to-assign */
.quick-staff-chip.selected{border:2px solid var(--brand-lime);background:#f3f8cf;box-shadow:0 0 0 3px #b1cb1f66;font-weight:700}
.quick-staff-chip{cursor:pointer;touch-action:auto}
.quick-staff-chip.selected .quick-drag-cue{background:var(--brand-lime);color:#2d2a22;font-weight:700}
.quick-planner.has-selection .quick-status{background:#f3f8cf;border-left:4px solid var(--brand-lime);padding:6px 9px;font-weight:700}
.quick-drag-ghost{position:fixed;left:0;top:0;z-index:9999;pointer-events:none;opacity:.9;width:200px;box-shadow:0 8px 22px rgba(0,0,0,.28)}
.planner-grid.selecting .planner-cell{cursor:pointer;outline:2px dashed #b1cb1f99;outline-offset:-2px}
.planner-grid.selecting .planner-cell:hover{background:#eef6b8;outline:2px solid var(--brand-lime)}
.planner-grid.selecting .add-shift{opacity:1;background:var(--brand-lime);color:#2d2a22;font-weight:700}
.planner-cell{cursor:pointer}
/* 0.19 Popover */
.quick-pop{position:fixed;z-index:9000;width:360px;max-width:calc(100vw - 16px);max-height:calc(100vh - 16px);overflow:auto;background:#fff;border:2px solid var(--brand-lime);border-radius:10px;box-shadow:0 14px 36px rgba(40,32,20,.3);padding:10px;display:flex;flex-direction:column;gap:8px;color:var(--brand-brown)}
.quick-pop-head{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}
.quick-pop-head strong{display:block;font-size:15px}.quick-pop-head small{color:#6b6253}
.quick-pop-close{padding:0 9px;font-size:20px;line-height:26px;border-radius:6px}
.quick-pop-search{width:100%;padding:9px 10px;font-size:14px}
.quick-pop-list{display:flex;flex-direction:column;gap:3px;max-height:290px;overflow:auto}.quick-pop-list.saving{opacity:.5;pointer-events:none}
.quick-pop-item{display:grid;grid-template-columns:1fr auto;gap:0 8px;text-align:left;padding:6px 9px;border:1px solid #d5d4c5;border-radius:7px;background:#fff;color:inherit;cursor:pointer}
.quick-pop-item strong{font-size:13px}.quick-pop-item span{grid-column:1;font-size:11px;color:#6b6253}
.quick-pop-item em{grid-column:2;grid-row:1/3;align-self:center;font-style:normal;font-size:10px;color:#6b6253}
.quick-pop-item em.good{color:#4e6b00;font-weight:700}.quick-pop-item em.warn{color:#a4540c;font-weight:700}
.quick-pop-item:hover,.quick-pop-item:focus-visible{background:#eef6b8;border-color:var(--brand-lime)}
.quick-pop-item.chosen{background:#f3f8cf;border-color:var(--brand-lime)}.quick-pop-item.busy{opacity:.7}
.quick-pop-opts{display:grid;grid-template-columns:1fr 1fr;gap:6px}.quick-pop-opts label{display:flex;flex-direction:column;font-size:11px;gap:2px}
.quick-pop-opts label:nth-child(n+3){grid-column:1/3}.quick-pop-opts input,.quick-pop-opts select{padding:5px 7px;font-size:13px}
.quick-pop-msg{margin:0;min-height:1em;font-size:12px}.quick-pop-msg.err{color:#b3261e;font-weight:700}
.planner-cell.pop-open{outline:3px solid var(--brand-lime);outline-offset:-3px;background:#f3f8cf}
.quick-toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%,30px);opacity:0;pointer-events:none;z-index:9500;background:#4e6b00;color:#fff;padding:10px 16px;border-radius:8px;font-weight:700;transition:.2s}
.quick-toast.warn{background:#a4540c}.quick-toast.show{opacity:1;transform:translate(-50%,0)}
/* 0.20 größere Einsatzkarten */
.planner-grid-pupils{grid-template-columns:220px repeat(var(--day-count),minmax(168px,1fr))}
.planner-cell{min-height:104px;padding:6px}
.shift-card{gap:3px;margin-bottom:5px;padding:8px 9px;border-radius:8px;border-left-width:4px}
.shift-card>strong{font-size:14px}.shift-card>span{font-size:13px;font-weight:700}
.shift-card>small{font-size:11.5px}.shift-card>em{font-size:10.5px;padding:3px 6px}
.shift-card button{font-size:11.5px;padding:4px 7px}
.add-shift{font-size:11px;padding:4px 8px}
.planner-day span{font-size:15px}.planner-day strong{font-size:11px}
/* 0.21 Mehrfachauswahl, Dialoge, Archiv */
.quick-pop-item.sel{background:#dff0a0;border-color:#7f9a10;box-shadow:inset 4px 0 0 #7f9a10}
.quick-pop-item.sel strong::before{content:"✓ ";color:#4e6b00}
.quick-pop-go{padding:9px 12px;font-weight:700;border-radius:8px;background:var(--brand-lime);color:#2d2a22;border:0;cursor:pointer}
.quick-pop-go:disabled{background:#e4e1d6;color:#7a7364;cursor:default}
.quick-modal-bg{position:fixed;inset:0;z-index:9800;background:rgba(40,32,20,.45);display:flex;align-items:center;justify-content:center;padding:12px}
.quick-modal{background:#fff;border-radius:12px;padding:16px;width:min(460px,100%);max-height:90vh;overflow:auto;box-shadow:0 18px 50px rgba(0,0,0,.35);color:var(--brand-brown)}
.quick-modal.wide{width:min(1000px,100%)}
.quick-modal-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}.quick-modal-head h3{margin:0;font-size:18px}
.quick-modal input[type=text]{width:100%;padding:9px 10px;font-size:14px}
.quick-modal-chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.quick-modal-chips button{padding:5px 10px;font-size:12px;border-radius:14px}
.quick-modal-row{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}
.quick-archive-table{width:100%;border-collapse:collapse;font-size:12.5px}.quick-archive-table th,.quick-archive-table td{padding:6px 8px;border-bottom:1px solid #e4e1d6;text-align:left;vertical-align:top}
#quickArchiveButton{padding:8px 11px}
/* 0.22 Frage: einmalig oder länger */
.quick-pop-quest{flex-direction:column;gap:6px}.quick-pop-quest strong{font-size:14px;margin-bottom:2px}
.quick-pop-quest>button{padding:10px 12px;text-align:left;font-size:14px;border-radius:8px}
.quick-pop-until{display:flex;gap:6px}.quick-pop-until input{flex:1;padding:7px}.quick-pop-until button{padding:8px 10px}
/* 0.26 Einsatz bearbeiten */
.shift-card.editable{cursor:pointer}.shift-card.editable:hover{box-shadow:0 0 0 2px var(--brand-lime),0 4px 12px rgba(0,0,0,.15);transform:translateY(-1px)}
.quick-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.quick-edit-grid label{display:flex;flex-direction:column;font-size:12px;gap:3px}
.quick-edit-grid label:nth-child(-n+2),.quick-edit-grid label:nth-child(4){grid-column:1/3}
.quick-edit-grid input,.quick-edit-grid select{padding:7px 8px;font-size:14px;width:100%}
.quick-modal-hint{font-size:12px;color:#6b6253;margin:8px 0 0}
/* 0.27 Tooltip + Dashboard */
#quickTip{position:fixed;z-index:9999;left:0;top:0;max-width:340px;padding:9px 11px;border-radius:8px;background:#3f382c;color:#fff;font-size:12.5px;line-height:1.45;white-space:pre-line;box-shadow:0 8px 22px rgba(0,0,0,.3);pointer-events:none;opacity:0;transition:opacity .08s}
#quickTip.show{opacity:1}
.dashboard-shift.editable{cursor:pointer;border-radius:8px}.dashboard-shift.editable:hover,.dashboard-shift.editable:focus-visible{background:#f3f8cf;outline:none;box-shadow:0 0 0 2px var(--brand-lime)}
/* 0.28 Matrix-Filter */
.quick-filter-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin:0 0 8px;padding:8px 10px;background:#fff;border:1px solid #d6d0c6;border-radius:10px}
.quick-filter-bar label{display:flex;flex-direction:column;font-size:11px;gap:2px;color:#6b6253}.quick-filter-bar select{padding:6px 8px;font-size:13px;min-width:150px}
.quick-filter-bar #qfCount{margin-left:auto;font-size:12.5px;font-weight:700;color:var(--brand-olive,#4e6b00);align-self:center}
.quick-filter-bar #qfReset{padding:6px 10px;font-size:12px}
/* 0.29 Offene Plätze */
#planningBoard[hidden],#quickGaps[hidden],.quick-filter-bar label[hidden]{display:none!important}
.quick-view-tabs{display:flex;gap:0;border:1px solid #cfc9bb;border-radius:8px;overflow:hidden;align-self:end}
.quick-view-tabs button{border:0;border-radius:0;padding:7px 14px;font-size:13px;background:#fff}.quick-view-tabs button.active{background:var(--brand-lime);font-weight:700;color:#2d2a22}
.quick-gaps{background:#fff;border:1px solid #d6d0c6;border-radius:10px;margin-bottom:10px;overflow:hidden}
.quick-gaps-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;background:#fbfaf6;border-bottom:1px solid #e4e1d6}.quick-gaps-head strong{font-size:15px}.quick-gaps-head input{padding:7px 10px;min-width:200px}
.quick-gap-row{display:grid;grid-template-columns:230px 1fr auto;gap:12px;align-items:center;padding:9px 14px;border-bottom:1px solid #eee9dc}
.quick-gap-who strong{display:block;font-size:14.5px}.quick-gap-who span{font-size:12px;color:#6b6253}
.quick-gap-days{display:flex;flex-wrap:wrap;gap:5px}
.quick-gap-day{padding:4px 9px;font-size:12.5px;border-radius:14px;background:#fdeceb;color:#a32d2d;border:1px solid #f1b8b5;cursor:pointer}.quick-gap-day:hover{background:#f7c9c6}
.quick-gap-more{display:block;margin:10px auto;padding:8px 18px}
@media(max-width:850px){.quick-gap-row{grid-template-columns:1fr}}
#planning.gaps-mode #planningBoard{display:none!important}
.pupil-file{--pupil-edge:#9a9082;--pupil-hair:var(--brand-stone);font-weight:400}
.pupil-file .hint{color:var(--brand-brown)}
.pupil-file .exception{border-left-color:var(--brand-brown);background:var(--brand-paper)}
.pupil-file p{margin:0}
.pupil-file h2,.pupil-file h3,.pupil-file strong,.pupil-file dt,.pupil-file label,.pupil-file button,.pupil-file .count-badge,.pupil-file .pupil-tag{font-weight:500}
.pupil-file h3{margin:0;font-size:17px;letter-spacing:0;color:var(--brand-brown)}
.pupil-heading{margin:0 0 4px}
.pupil-heading h2{margin:0;font-size:26px;letter-spacing:-.3px;color:var(--brand-brown)}
.pupil-file .panel{box-shadow:none;background:#fff;border:1px solid var(--pupil-hair);border-radius:12px;padding:18px}
.pupil-layout{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.6fr);gap:20px;align-items:start;margin-top:14px}
.pupil-detail{min-width:0}
.pupil-detail-body{display:grid;gap:16px;min-width:0}
.pupil-file .pupil-list-panel{margin:0;padding:16px}
.pupil-file .pupil-card{margin:0;padding:20px 22px}
.pupil-file .pupil-health{border-left:3px solid var(--brand-brown)}
.pupil-file .pupil-card-head{margin-bottom:12px}
.pupil-file .pupil-card>p[role=status]:not(:empty){margin-top:12px}
.pupil-detail-body>p[role=status]{margin:0}
.pupil-file label:not(.check-field){display:grid;gap:6px;font-size:13px;color:var(--brand-brown)}
.pupil-file input:not([type=checkbox]),.pupil-file select,.pupil-file textarea{display:block;width:100%;margin:0;padding:10px 12px;border:1px solid var(--pupil-edge);border-radius:8px;background:#fff;color:var(--brand-brown);font:inherit;font-size:16px}
.pupil-file textarea{min-height:120px;resize:vertical;line-height:1.5}
.pupil-file .check-field{display:flex;align-items:center;gap:10px;min-height:44px;font-size:14px}
.pupil-file .check-field input{width:18px;height:18px;margin:0}
.pupil-file button{min-height:40px;padding:9px 16px;border:1px solid var(--pupil-edge);border-radius:8px;background:#fff;color:var(--brand-brown);font:inherit;font-size:14px;cursor:pointer}
.pupil-file button:hover:not(:disabled){background:var(--brand-paper)}
.pupil-file button.pupil-primary{background:var(--brand-olive);border-color:var(--brand-olive);color:#fff}
.pupil-file button.pupil-primary:hover:not(:disabled){background:var(--brand-brown);border-color:var(--brand-brown)}
.pupil-file button:disabled{opacity:.5;cursor:not-allowed}
.pupil-file :is(button,input,select,textarea,summary,.pupil-item):focus-visible{outline:2px solid var(--brand-olive);outline-offset:2px}
.pupil-form{margin-top:14px;gap:14px}
.pupil-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px;margin-top:2px}
.pupil-file .pupil-note{margin-top:12px;padding:10px 12px;border-radius:8px;background:var(--brand-paper);color:var(--brand-brown);font-size:14px;line-height:1.5}
.pupil-note-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 12px;margin-top:8px}
.pupil-note-foot .hint{font-size:12px}
.pupil-file .pupil-counter{font-size:12px;color:var(--brand-olive);font-variant-numeric:tabular-nums;white-space:nowrap}
.pupil-file .count-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;background:var(--brand-stone);color:var(--brand-brown);font-size:12px;letter-spacing:0}
.pupil-file .count-badge.alert::before{content:"";width:6px;height:6px;margin-right:7px;border-radius:50%;background:var(--brand-lime)}
.pupil-file .empty-state{padding:24px 22px;border:1px dashed var(--pupil-edge);border-radius:12px;background:var(--brand-paper);color:var(--brand-brown);font-size:14px;line-height:1.5}
.pupil-file .pupil-empty{display:flex;flex-direction:column;justify-content:center;min-height:200px}
.pupil-file .pupil-empty strong{display:block;margin-bottom:6px;font-size:17px;color:var(--brand-olive)}
.pupil-file .pupil-empty span{display:block}
.pupil-list{display:grid;gap:6px;margin-top:12px;padding:3px;max-height:620px;overflow:auto}
.pupil-file .pupil-list .empty-state{margin:0}
.pupil-file .pupil-list .pupil-item{display:flex;flex-direction:column;align-items:flex-start;gap:3px;width:100%;margin:0;padding:10px 12px;border:1px solid var(--pupil-hair);border-left:4px solid transparent;border-radius:8px;background:#fff;color:var(--brand-brown);font:inherit;text-align:left;cursor:pointer}
.pupil-file .pupil-list .pupil-item:hover{background:var(--brand-paper)}
.pupil-file .pupil-list .pupil-item strong{font-size:15px;overflow-wrap:anywhere}
.pupil-file .pupil-list .pupil-item .hint{font-size:12px;line-height:1.4}
.pupil-file .pupil-list .pupil-item.inactive{background:transparent;border-style:dashed;border-color:var(--pupil-edge);border-left-style:solid}
.pupil-file .pupil-list .pupil-item.inactive strong{font-weight:400}
.pupil-file .pupil-list .pupil-item.active{background:var(--brand-paper);border-color:var(--pupil-hair);border-left-color:var(--brand-olive)}
.pupil-list-footer{margin-top:10px;gap:10px}
.pupil-list-footer .hint{margin:0}
.pupil-head-row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.pupil-head-row .pupil-name{flex:1 1 auto;min-width:0}
.pupil-head-row button{flex:0 0 auto}
.pupil-file .pupil-name{margin:0;font-size:28px;line-height:1.2;letter-spacing:-.2px;text-transform:none;overflow-wrap:anywhere}
.pupil-facts{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));column-gap:10px;row-gap:0;margin:16px 0 0;container-type:inline-size}
.pupil-facts dt{margin:0;font-size:12px;line-height:1.4;color:var(--brand-olive)}
.pupil-facts dd{margin:2px 0 0;font-size:15px;line-height:1.35;color:var(--brand-brown);overflow-wrap:anywhere}
.pupil-facts>:nth-child(1){grid-column:1/4;grid-row:1}
.pupil-facts>:nth-child(2){grid-column:1/4;grid-row:2}
.pupil-facts>:nth-child(3){grid-column:4/7;grid-row:1}
.pupil-facts>:nth-child(4){grid-column:4/7;grid-row:2}
.pupil-facts>:nth-child(5){grid-column:1/3;grid-row:3;margin:14px 0 0;padding:10px 10px 0;border-radius:10px 10px 0 0;background:var(--brand-paper)}
.pupil-facts>:nth-child(6){grid-column:1/3;grid-row:4;margin:0;padding:0 10px 12px;border-radius:0 0 10px 10px;background:var(--brand-paper);font-size:19px;font-size:clamp(16px,5cqi,22px);font-weight:500;line-height:1.2;white-space:nowrap;font-variant-numeric:tabular-nums}
.pupil-facts>:nth-child(7){grid-column:3/5;grid-row:3;margin:14px 0 0;padding:10px 10px 0;border-radius:10px 10px 0 0;background:var(--brand-paper)}
.pupil-facts>:nth-child(8){grid-column:3/5;grid-row:4;margin:0;padding:0 10px 12px;border-radius:0 0 10px 10px;background:var(--brand-paper);font-size:19px;font-size:clamp(16px,5cqi,22px);font-weight:500;line-height:1.2;white-space:nowrap;font-variant-numeric:tabular-nums}
.pupil-facts>:nth-child(9){grid-column:5/7;grid-row:3;margin:14px 0 0;padding:10px 10px 0;border-radius:10px 10px 0 0;background:var(--brand-paper)}
.pupil-facts>:nth-child(10){grid-column:5/7;grid-row:4;margin:0;padding:0 10px 12px;border-radius:0 0 10px 10px;background:var(--brand-paper);font-size:19px;font-size:clamp(16px,5cqi,22px);font-weight:500;line-height:1.2;white-space:nowrap;font-variant-numeric:tabular-nums}
.pupil-contacts{margin-top:2px}
.pupil-file .pupil-contact{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;padding:12px 0;border-top:1px solid var(--pupil-hair)}
.pupil-file .pupil-contact:first-child{border-top:0;padding-top:4px}
.pupil-contact-copy{display:flex;flex:1 1 220px;flex-direction:column;gap:3px;min-width:0}
.pupil-file .pupil-contact-copy strong{font-size:15px;color:var(--brand-brown)}
.pupil-contact-copy .hint{font-size:13px;overflow-wrap:anywhere}
.pupil-contact-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;flex-shrink:0}
.pupil-file .pupil-contact-actions button{min-height:36px;padding:4px 6px;border:0;border-radius:6px;background:transparent;color:var(--brand-olive);font-size:13px;text-decoration:underline;text-underline-offset:3px}
.pupil-file .pupil-contact-actions button:hover:not(:disabled){background:var(--brand-paper);color:var(--brand-brown)}
.pupil-file .pupil-contact-actions button:disabled{opacity:.55;text-decoration:none}
.pupil-file .pupil-tag{display:inline-block;margin-top:6px;padding:3px 10px;border-radius:999px;background:var(--brand-stone);color:var(--brand-brown);font-size:12px;line-height:1.4}
.pupil-health-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-top:14px}
.pupil-health-controls label{flex:1 1 240px;min-width:0}
.pupil-health-controls button{flex:0 0 auto}
.pupil-health-result{margin-top:14px;padding:14px 16px;border-radius:10px;background:var(--brand-paper)}
.pupil-file .pupil-text{margin:0 0 12px;white-space:pre-wrap;font-size:15px;line-height:1.6;overflow-wrap:anywhere}
.pupil-file .pupil-health-result .security-notice{margin:0;padding:10px 12px;border:0;border-left:3px solid var(--brand-olive);border-radius:6px;background:#fff;color:var(--brand-brown);font-size:13px;gap:3px}
@media(max-width:700px){
 .pupil-layout{grid-template-columns:minmax(0,1fr);gap:16px}
 .pupil-list{max-height:none;overflow:visible}
 .pupil-heading h2{font-size:23px}
 .pupil-file .panel{padding:16px}
 .pupil-file .pupil-card{padding:18px 16px}
 .pupil-file .pupil-name{font-size:24px}
 .pupil-facts{grid-template-columns:minmax(0,1fr);column-gap:0}
 .pupil-facts>:nth-child(n){grid-column:auto;grid-row:auto}
 .pupil-facts>:nth-child(5){margin-top:14px}
 .pupil-facts>:nth-child(7),.pupil-facts>:nth-child(9){margin-top:0}
 .pupil-facts>:nth-child(2),.pupil-facts>:nth-child(6),.pupil-facts>:nth-child(8){margin-bottom:10px}
 .pupil-facts>:nth-child(4){margin-bottom:0}
 .pupil-facts>:nth-child(6),.pupil-facts>:nth-child(8),.pupil-facts>:nth-child(10){font-size:22px}
 .pupil-health-controls label{flex-basis:100%}
 .pupil-health-controls button{width:100%}
 .pupil-actions button{flex:1 1 140px}
 .pupil-file .pupil-contact-actions{width:100%}
}
/* Kollision bei der Einsatzplanung: rot und gut sichtbar */
#assignmentStatus.exception{border-left:4px solid #a32d1f;background:#fdecea;color:#7a1f14;font-weight:600;padding:12px 15px}
dialog.conflict-dialog{max-width:440px;width:calc(100% - 32px);border:1px solid #a32d1f;border-radius:12px;padding:20px 22px;background:#fff;color:#17312e;box-shadow:0 12px 32px rgba(0,0,0,.22)}
dialog.conflict-dialog::backdrop{background:rgba(40,36,30,.45)}
dialog.conflict-dialog h3{margin:0 0 8px;font-size:18px;color:#a32d1f}
dialog.conflict-dialog p{margin:0 0 16px;line-height:1.5}
/* Kopfzeile bleibt oben, Navigation folgt darunter */
header{position:sticky;top:0;z-index:40}
.workspace-sidebar{top:calc(var(--header-h,110px) + 14px);max-height:calc(100vh - var(--header-h,110px) - 28px);overflow-y:auto}
@media(max-width:1000px){.workspace-sidebar{max-height:none;overflow:visible}}
