:root{--green:#176d5a;--green-dark:#104f42;--green-soft:#eaf5ee;--ink:#172b29;--muted:#71807d;--line:#e6ece9;--bg:#f4f7f6;--white:#fff;--red:#bf3d49;--orange:#ae651d;--yellow:#9b760d;--shadow:0 12px 40px rgba(29,55,49,.045)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;margin:0;color:var(--ink);background:var(--bg);font-size:14px;line-height:1.5}button,input,select{font:inherit}a{text-decoration:none;color:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1{font-weight:760;font-size:32px;letter-spacing:-.035em;line-height:1.15;margin-bottom:10px}h2{font-size:17px;letter-spacing:-.013em;font-weight:750}h3{font-size:15px}p{color:var(--muted)}.layout{display:flex;min-height:100vh}.sidebar{width:236px;flex:none;display:flex;flex-direction:column;background:#fff;border-right:1px solid var(--line);padding:32px 15px 24px;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:11px;margin:0 13px 46px}.brand img{width:44px;height:44px;object-fit:contain;border-radius:13px;background:#f2f8f5}.brand strong{font-size:20px;letter-spacing:-.04em;line-height:1.1;display:block;font-weight:800}.brand span{display:block;font-size:11px;color:#87938f;letter-spacing:.025em;line-height:1.5}.sidenavlabel{font-size:10px;color:#8d9a96;font-weight:800;letter-spacing:.12em;margin:15px 15px 9px}.navitem{display:flex;align-items:center;gap:13px;width:100%;border:0;background:none;color:#71817c;padding:11px 13px;border-radius:10px;font-weight:600;text-align:left;margin-bottom:2px}.navitem:hover{background:#f5faf7;color:var(--green)}.navitem.current{background:var(--green-soft);color:var(--green-dark);font-weight:780}.navicon{font-size:19px;width:20px;text-align:center;line-height:1}.sidebarfoot{margin-top:auto;border-top:1px solid var(--line);padding-top:20px}.secureline{display:flex;align-items:center;gap:8px;color:#7e8b88;font-size:11px;margin:0 11px 17px}.secure-dot{width:8px;height:8px;border-radius:50%;background:#30aa7b;box-shadow:0 0 0 4px #e9f8ef}.logout{font-weight:600;color:#667874}.content{flex:1;min-width:0}.topbar{height:79px;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line);padding:0 42px}.breadcrumb{color:#83908b;font-size:13px}.breadcrumb b{color:#263a34;font-weight:700}.userpill{background:#f1f8f3;color:var(--green);border-radius:30px;padding:8px 15px;font-weight:700;font-size:12px}.page{max-width:1470px;margin:0 auto;padding:40px 42px 30px}.pagehead{display:flex;gap:20px;justify-content:space-between;align-items:center;margin-bottom:26px}.pagehead p:not(.eyebrow){margin:0}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:10px;color:var(--green);font-weight:820;margin-bottom:13px}.primary,.outline,.subtle{display:inline-flex;align-items:center;justify-content:center;border-radius:10px;border:1px solid transparent;padding:11px 18px;font-weight:760;text-align:center;min-height:42px;white-space:nowrap}.primary{background:var(--green);color:#fff}.primary:hover{background:var(--green-dark)}.outline{color:var(--green-dark);border-color:#c6e2d2;background:#fff}.outline:hover{background:#edf7f1}.subtle{background:#f3f7f5;color:#506d60;border-color:#ebf1ed}.subtle:hover{background:#e8f3ed}.small{min-height:34px;padding:7px 11px;font-size:12px}.action-link{font-size:13px}.snapshot-line{display:flex;gap:20px;flex-wrap:wrap;align-items:center;color:#86928e;font-size:12px;margin:16px 0 22px}.snapshot-line b{color:#64736f;font-weight:700}.pill{background:#e7f5eb;border:1px solid #d1ebd9;padding:6px 12px;border-radius:20px;font-size:11px;color:#237554;font-weight:750}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}.kpi{background:white;border:1px solid var(--line);border-radius:15px;padding:25px 23px;box-shadow:var(--shadow);min-width:0}.kpi span{display:block;color:#768680;font-size:12px;font-weight:690;min-height:22px}.kpi strong{display:block;letter-spacing:-.045em;font-size:27px;line-height:1.24;margin:10px 0 8px;white-space:nowrap}.kpi small{font-size:16px;color:#63786d;letter-spacing:0}.kpi p{font-size:12px;margin:0}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:0 0 20px}.panel{border:1px solid var(--line);background:#fff;border-radius:15px;box-shadow:var(--shadow);padding:25px;margin-bottom:20px}.two-cols .panel{margin-bottom:0}.panel h2{margin-bottom:12px}.panelhead{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px}.panelhead h2{margin-bottom:2px}.panelhead p{margin:0;font-size:12px}.lightlabel{font-weight:780;color:var(--green)}.wideprogress{appearance:none;width:100%;height:12px;border:0;border-radius:20px;overflow:hidden;margin-top:14px}.wideprogress::-webkit-progress-bar{background:#e9efeb;border-radius:20px}.wideprogress::-webkit-progress-value{background:linear-gradient(90deg,#4bbf8f,#178366);border-radius:20px}.wideprogress::-moz-progress-bar{background:#169974;border-radius:20px}.meterlabels{display:flex;justify-content:space-between;color:#83908b;font-size:11px;margin-top:12px}.panel-divider{height:1px;background:var(--line);margin:24px 0}.minikpis{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}.minikpis div{min-width:70px}.minikpis b{display:block;font-size:21px;font-weight:810;letter-spacing:-.02em}.minikpis span{display:block;font-size:11px;color:#8a9692}.status-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin-top:28px;text-align:center}.status-grid div{background:#f8faf9;padding:22px 7px;border-radius:12px}.status-grid strong{display:block;font-size:26px;line-height:1.1}.status-grid span{display:block;font-size:10px;color:#7f8b87;margin-top:11px}.green-text{color:#207f5f!important}.yellow-text{color:#b58b23!important}.orange-text{color:#d0802b!important}.red-text{color:#d34c5a!important}.muted-note{font-size:12px;color:#8a9692;margin:17px 0 0}.table-panel{padding:0;overflow:hidden}.table-panel>.panelhead{padding:25px 25px 10px;margin:0}.scrolltable{overflow:auto}.scrolltable table{border-collapse:collapse;width:100%;font-size:12px;min-width:950px}.scrolltable thead{background:#f7f9f8}.scrolltable th{text-align:left;color:#82918c;letter-spacing:.02em;font-weight:750;padding:13px 15px;border-bottom:1px solid var(--line);white-space:nowrap}.scrolltable td{padding:13px 15px;border-bottom:1px solid #edf1ee;color:#586864;white-space:nowrap}.scrolltable tr:last-child td{border-bottom:0}.scrolltable tbody tr:hover{background:#fcfefd}.scrolltable .numeric{text-align:right;font-variant-numeric:tabular-nums}.personcell{display:flex;align-items:center;gap:10px;color:#273e35!important}.personcell b{font-weight:710}.avatar{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:#e8f2ea;color:#4f8469;font-size:10px;font-weight:760;flex:none}.status{font-size:10px;display:inline-flex;padding:5px 8px;border-radius:20px;white-space:nowrap;font-weight:710}.status-green{color:#19815f;background:#e5f6ec}.status-yellow{color:#a17a18;background:#fbf5df}.status-orange{color:#af6e20;background:#fff1dd}.status-red{color:#b53d4e;background:#fcebed}.status-neutral{color:#72817c;background:#f0f2f0}.textlink{color:var(--green);font-weight:760;font-size:11px}.textlink:hover{text-decoration:underline}.tablefoot{font-size:11px;border-top:1px solid var(--line);padding:17px 25px;margin:0}.tablecontrols{display:flex;flex-wrap:wrap;gap:12px;align-items:end;padding:6px 25px 22px}.tablecontrols label,.historycontrols label{font-size:11px;color:#74827d;font-weight:690}.tablecontrols select,.historycontrols select{margin-left:6px}.monthpick{display:flex;align-items:center;gap:10px;margin:5px 0 17px}.monthpick label{color:#7f8b87;font-size:12px;font-weight:700}.monthpick select,select,input:not([type=checkbox]):not([type=file]){border:1px solid #dce6df;background:white;border-radius:9px;min-height:39px;padding:9px 12px;color:#283e35;outline:0;max-width:100%}.monthpick select:focus,select:focus,input:focus{border-color:#55a884;box-shadow:0 0 0 3px #e3f3e9}.notice{padding:13px 17px;border-radius:10px;background:#e9f7ec;color:#267351;border:1px solid #ccead3;margin-bottom:20px;font-weight:610}.notice.error{color:#ad3f4a;background:#fff0f0;border-color:#f2c7c9}.notice.warning{color:#88621d;background:#fff8e6;border-color:#f3e1ac}.empty-state{background:#fff;padding:65px 35px;text-align:center;border:1px dashed #cce2d4;border-radius:16px}.empty-state h2{font-size:22px}.empty-state p{max-width:550px;margin:0 auto 26px}.bigemoji{font-size:46px;margin-bottom:15px}.form-stack{display:flex;flex-direction:column;gap:17px}.form-stack label{display:flex;flex-direction:column;gap:7px;font-size:12px;color:#576c60;font-weight:700}.form-stack label input:not([type=checkbox]){width:100%}.form-stack button{align-self:flex-start}.form-stack .full{width:100%}.hint{font-size:11px;margin:0}.upload-zone{display:flex!important;gap:14px!important;justify-content:center;align-items:center;border:2px dashed #b8d8c6;border-radius:14px;background:#f8fcf9;padding:38px 20px;text-align:center;min-height:200px;color:#206b4e!important;cursor:pointer}.upload-zone strong{font-size:17px}.upload-zone span{color:#82918a;font-size:11px;font-weight:500}.upload-zone input{max-width:270px;color:#52675e}.info-box{padding:16px 19px;border:1px solid #d5ece1;background:#f4faf6;border-radius:10px;margin-top:24px}.info-box b{font-size:12px;color:var(--green)}.info-box p{font-size:12px;line-height:1.65;margin:6px 0 0}.steps{list-style:none;padding:0;counter-reset:steps;margin:20px 0}.steps li{position:relative;padding:0 0 24px 45px;counter-increment:steps;border-left:1px solid #dbe8e1;margin-left:15px}.steps li:last-child{border-left:0;padding-bottom:0}.steps li:before{content:counter(steps);position:absolute;left:-15px;top:0;width:29px;height:29px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#eaf6ee;color:#257853;font-weight:800}.steps b{display:block;font-size:13px}.steps span{display:block;font-size:12px;color:#86918c;margin-top:4px}.preview .preview-line{display:flex;gap:20px;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:15px 0}.preview-line span{font-size:12px;color:#72817b}.confirmline,.historycontrols{display:flex;gap:14px;align-items:end;flex-wrap:wrap;margin-top:20px;justify-content:space-between}.confirmline label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#788780}.discard{margin-top:15px}.textlink-button{color:#768780;background:none;border:0;padding:0;text-decoration:underline}.two-inline{display:grid;grid-template-columns:1fr 1fr;gap:15px}.staffgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0 22px}.staffgrid label{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;background:#f9fbf9;padding:9px;border-radius:8px;font-size:11px}.staffgrid label span{max-width:180px}.staffgrid input{max-width:110px;width:110px}.checklabel{display:flex!important;flex-direction:row!important;align-items:center;margin:6px 0;font-size:12px;font-weight:640;color:#64776b}.checklabel input{width:18px;height:18px;accent-color:var(--green)}.monthcards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.monthcards a{border:1px solid var(--line);border-radius:9px;padding:12px;display:flex;flex-direction:column;gap:3px}.monthcards a:hover{border-color:#86c3a5;background:#fcfdfc}.monthcards a span{font-size:12px;color:#7b8a83}.monthcards a b{font-size:19px}.monthcards a small{font-size:10px;color:#61936e}.ranknum{font-weight:790;font-variant-numeric:tabular-nums}.trendlist{display:grid;gap:11px}.trendrow{display:grid;grid-template-columns:125px 1fr 150px 130px;gap:14px;align-items:center;font-size:12px;padding-bottom:12px;border-bottom:1px solid var(--line)}.trendrow:last-child{border-bottom:0}.trendbar progress{width:100%;height:11px;border:none;appearance:none}.trendbar progress::-webkit-progress-bar{background:#edf2ed;border-radius:20px}.trendbar progress::-webkit-progress-value{background:#64b994;border-radius:20px}.trendbar progress::-moz-progress-bar{background:#64b994;border-radius:20px}.footer{color:#9aa6a0;text-align:center;font-size:11px;padding:30px 0 0}.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px;background:radial-gradient(circle at 15% 20%,#d9eddf,transparent 34%),linear-gradient(140deg,#eff7f1,#f6f7f5)}.auth-card{background:#fff;width:min(100%,460px);padding:40px 43px;border-radius:22px;box-shadow:0 24px 80px rgba(25,66,49,.11);border:1px solid #e9f1ea}.auth-brand{margin:0 0 38px}.auth-card h1{font-size:28px}.auth-card p{font-size:13px}.auth-card .form-stack{margin-top:25px}.auth-card .form-stack label{font-size:12px}.auth-note{border-top:1px solid var(--line);padding-top:20px;margin-top:28px;text-align:center;font-size:11px!important}.import-cols{align-items:stretch}
@media(max-width:1250px){.kpis{grid-template-columns:repeat(2,1fr)}.page{padding:30px 28px}.topbar{padding:0 28px}.sidebar{width:210px}.staffgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.two-cols{grid-template-columns:1fr}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar{width:75px;padding:20px 9px}.sidebar .brand{margin:10px 7px 35px}.sidebar .brand img{width:41px;height:41px}.sidebar .brand div,.sidebar .sidenavlabel,.sidebar .navitem:not(.logout){font-size:0}.sidebar .navitem{justify-content:center;padding:13px 7px}.sidebar .navicon{font-size:19px}.sidebar .secureline{font-size:0}.sidebar .logout{font-size:0;justify-content:center}.sidebar .logout::first-letter{font-size:17px}}
@media(max-width:640px){.topbar{height:65px;padding:0 15px}.page{padding:23px 15px}.sidebar{width:57px;padding:12px 5px}.sidebar .brand{margin:10px 3px 25px}.sidebar .brand img{width:39px;height:39px}.sidebar .navitem{padding:12px 2px}.breadcrumb{font-size:11px}.userpill{font-size:0;padding:9px}.userpill:before{content:'●';font-size:12px}.pagehead{display:block}.pagehead h1{font-size:25px}.pagehead .primary{margin-top:20px}.kpis{grid-template-columns:1fr 1fr;gap:10px}.kpi{padding:17px 14px}.kpi strong{font-size:20px}.kpi small{font-size:12px}.kpi span{font-size:11px}.panel{padding:18px}.table-panel{padding:0}.status-grid{gap:5px}.status-grid strong{font-size:19px}.status-grid span{font-size:9px}.monthcards{grid-template-columns:1fr}.two-inline,.staffgrid{grid-template-columns:1fr}.staffgrid input{width:105px}.trendrow{grid-template-columns:90px 1fr;gap:6px}.trendrow>span,.trendrow>.status{grid-column:2}.auth-card{padding:30px 25px}.minikpis b{font-size:17px}}

.backup-line{display:flex;align-items:center;gap:20px;justify-content:space-between;border:1px solid #d5ece0;border-radius:12px;background:#f3faf5;padding:18px 22px;margin-bottom:20px}.backup-line span{font-size:12px;color:#587060}.backup-line a{flex:none}@media(max-width:640px){.backup-line{display:block}.backup-line a{margin-top:12px}}


/* MAP Stundenmonitor 2.0: Mitarbeiterstamm + zentrale Monatskontingente */
.staff-kpis{margin-bottom:20px}
.staff-kpis .kpi strong{font-variant-numeric:tabular-nums}
.staff-help{margin-bottom:20px}
.staff-editor .panelhead{margin-bottom:17px}
.staff-controls{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:18px;background:#f3f8f5;border:1px solid #dceae3;border-radius:12px;padding:17px 21px;margin-bottom:18px}
.staff-control-title{flex:1 1 260px}
.staff-control-title strong{display:block;font-size:14px;color:var(--ink)}
.staff-control-title p{font-size:12px;color:#667772;margin:4px 0 0;line-height:1.6}
.staff-control-group{display:flex;gap:22px;align-items:end;flex-wrap:wrap}
.staff-control-group>label:first-child{font-size:12px;font-weight:650;display:flex;flex-direction:column;gap:6px;color:#5b7468}
.staff-control-group select{min-width:195px}
.staff-control-group .apply-check{display:flex;align-items:center;gap:9px;margin:0 0 9px;max-width:270px;font-size:12px;line-height:1.45}
.staff-control-group .apply-check input{width:16px;height:16px;flex-shrink:0;accent-color:var(--green)}
.staff-table{min-width:815px}
.staff-table td{vertical-align:middle}
.staff-table .personcell{min-width:230px}
.staff-table .personcell>div:last-child{display:flex;flex-direction:column;gap:1px}
.staff-table .staff-subtext{color:var(--muted);font-weight:400;font-size:11px}
.staff-table .quota-input{display:flex;align-items:center;gap:9px;max-width:168px}
.staff-table .quota-input input{background:#fff;min-width:0;width:118px;max-width:118px;text-align:right;font-weight:700;border:1px solid #d5e4da;border-radius:8px;padding:10px 9px;font-variant-numeric:tabular-nums}
.staff-table .quota-input input:focus{outline:2px solid #76bfa4;outline-offset:2px}
.staff-table .quota-input span{color:var(--muted);font-weight:650}
.staff-table .staff-active{display:inline-flex;gap:9px;align-items:center;font-size:12px;font-weight:600;white-space:nowrap;cursor:pointer}
.staff-table .staff-active input{width:17px;height:17px;accent-color:var(--green)}
.staff-editor-bottom{display:flex;gap:24px;justify-content:space-between;align-items:center;flex-wrap:wrap;padding:22px 0 2px}
.staff-editor-bottom .muted-note{max-width:570px;margin:0}
.staff-editor-bottom .primary{min-height:44px}
@media(max-width:850px){.staff-control-group{width:100%;gap:14px}.staff-editor-bottom{align-items:stretch}.staff-editor-bottom .primary{width:100%}.staff-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:500px){.staff-controls{padding:14px}.staff-control-group{display:flex;align-items:flex-start;flex-direction:column}.staff-control-group .apply-check{max-width:none;margin:0}.staff-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
