:root{--blue:#1769E0;--blue2:#EAF3FF;--ink:#142033;--muted:#667085;--line:#DCE5F0;--bg:#F6F9FD;--white:#fff;--red:#c9362b;--shadow:0 10px 35px rgba(24,39,75,.07)}*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}body{margin:0;min-height:100vh}a{color:inherit;text-decoration:none}.auth{display:grid;place-items:center;padding:24px;background:linear-gradient(145deg,#eef5ff,#fff 52%,#F6F9FD)}.card{background:var(--white);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.login{width:min(460px,100%);padding:36px}.installer{width:min(860px,100%);padding:36px}.brand{display:flex;align-items:center;gap:10px}.brand span{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;color:#fff;background:linear-gradient(135deg,#2563eb,#18a3c9);font-weight:800}.brand strong{font-size:17px}h1{font-size:clamp(28px,4vw,42px);line-height:1.08;margin:18px 0 10px}h2{font-size:20px;margin:24px 0 12px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:750;color:var(--blue);margin:0}.muted,p{color:var(--muted);line-height:1.55}label{display:grid;gap:7px;margin:14px 0;font-size:14px;font-weight:650}input,select,textarea{width:100%;border:1px solid #cfd6e2;background:#fff;border-radius:11px;padding:11px 12px;font:inherit;color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:#4e7ce5;box-shadow:0 0 0 3px #e5edff}textarea{min-height:82px;resize:vertical}.button{appearance:none;border:0;border-radius:11px;padding:11px 17px;background:var(--blue);color:#fff;font:inherit;font-weight:750;cursor:pointer;display:inline-flex;justify-content:center;align-items:center}.button:hover{filter:brightness(.96)}.button.secondary{background:var(--blue2);color:var(--blue)}.button.danger{background:var(--red)}.textlink{display:inline-block;margin-top:18px;color:var(--blue)}form>.button{margin-top:12px}.notice{padding:12px 15px;border-radius:11px;margin:18px 0;background:#ecfdf3;color:#067647}.notice.error{background:#fff0ef;color:#b42318}.top{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:24px;padding:12px 28px;background:rgba(255,255,255,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.top nav{display:flex;gap:5px;flex:1}.top nav a{padding:9px 11px;border-radius:9px;font-size:14px}.top nav a:hover{background:var(--blue2);color:var(--blue)}.profile{display:flex;align-items:center;gap:10px;font-size:13px}.profile form{margin:0}.linkbutton{border:0;background:none;color:var(--blue);cursor:pointer;padding:4px}.page{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:34px 0 80px}.hero{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:30px 0}.clock{min-width:260px;padding:23px}.clock strong{display:block;font-size:28px;margin-bottom:4px}.clock form{display:inline}.clock small{display:block;color:var(--muted);margin-top:9px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.metric{padding:23px}.metric span{display:block;color:var(--muted);font-size:13px}.metric strong{display:block;margin-top:10px;font-size:26px}.titlebar{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px}.titlebar h1{margin:6px 0 0}.titlebar form{display:flex;gap:8px;align-items:center}.titlebar .button{margin:0}.calendar-list{display:grid;gap:12px}.shift{display:grid;grid-template-columns:90px 1fr auto;align-items:center;gap:20px;padding:18px;border-left:5px solid var(--accent)}.shift time{font-size:19px;font-weight:800}.shift time small,.tablewrap small{display:block;color:var(--muted);font-size:12px;font-weight:500}.shift h3{margin:7px 0 2px}.shift p{margin:0}.tag,.status{display:inline-block;border-radius:999px;background:var(--blue2);color:var(--blue);padding:4px 9px;font-size:12px;font-weight:700}.panel{padding:24px;margin-top:24px}.panel h2{margin-top:0}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 18px}.grid h2,.wide{grid-column:1/-1}.split{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);gap:20px}.split .panel{margin:0}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);font-size:14px}th{color:#475467;background:#fafbfc}tfoot th{background:#f0f5ff;color:var(--ink)}.empty{padding:34px;text-align:center;border:1px dashed #bdc7d6;border-radius:15px;color:var(--muted)}.inline{display:grid;grid-template-columns:2fr 110px 2fr auto;align-items:end;gap:12px}.inline label{margin:0}.inline .button{margin:0 0 1px}.narrow{max-width:760px}@media(max-width:850px){.top{align-items:flex-start;flex-wrap:wrap;padding:12px 16px}.top nav{order:3;width:100%;overflow:auto}.profile{margin-left:auto}.page{width:min(100% - 24px,1180px);padding-top:18px}.hero{align-items:stretch;flex-direction:column}.cards{grid-template-columns:1fr}.split{grid-template-columns:1fr}.inline{grid-template-columns:1fr 100px}.inline label:nth-child(3),.inline .button{grid-column:1/-1}}@media(max-width:580px){.auth{padding:12px}.login,.installer{padding:24px}.grid{grid-template-columns:1fr}.grid h2,.wide{grid-column:auto}.shift{grid-template-columns:72px 1fr}.shift form,.shift>.status{grid-column:2}.titlebar{align-items:stretch;flex-direction:column}.titlebar form{width:100%}.top .brand strong{max-width:145px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}@media print{.top,.button,.notice,.muted{display:none!important}.page{width:100%;padding:0}.card{box-shadow:none;border:0}body{background:#fff}}

.calendar-controls{display:flex;align-items:center;gap:8px}.calendar-controls form{margin-left:8px}.iconbutton,.todaybutton{height:42px;display:inline-grid;place-items:center;border:1px solid var(--line);background:#fff;border-radius:10px;font-weight:750}.iconbutton{width:42px;font-size:24px}.todaybutton{padding:0 14px;font-size:14px}.calendar-shell{overflow:hidden;border-radius:16px}.calendar-weekdays,.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays{background:#f8fafc;border-bottom:1px solid var(--line)}.calendar-weekdays div{padding:11px;text-align:center;color:#667085;font-size:13px;font-weight:750}.day-cell{min-height:150px;padding:9px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;overflow:hidden}.day-cell:nth-child(7n){border-right:0}.day-cell.outside{background:#f8fafc}.day-cell.outside .day-number{color:#98a2b3}.day-cell.today{box-shadow:inset 0 0 0 2px var(--blue)}.day-cell header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.day-number{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;font-size:13px;font-weight:750}.today .day-number{background:var(--blue);color:#fff}.day-mobile{display:none;color:var(--muted);font-size:12px}.day-events{display:grid;gap:6px}.calendar-event{position:relative;border-left:4px solid var(--event-color);border-radius:8px;background:color-mix(in srgb,var(--event-color) 9%,white);padding:7px 8px;min-width:0}.calendar-event strong,.calendar-event small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event strong{font-size:12px;line-height:1.3}.calendar-event small,.event-time{font-size:11px;color:#475467}.calendar-event form{margin:5px 0 0}.event-action{width:100%;border:0;border-radius:6px;background:#fff;color:var(--blue);padding:4px;font-size:11px;font-weight:750;cursor:pointer}.event-status{display:block;margin-top:4px;font-size:10px;font-weight:750;color:#344054}.calendar-legend{display:flex;flex-wrap:wrap;gap:14px;padding:12px 2px;color:#475467;font-size:13px}.calendar-legend span{display:flex;align-items:center;gap:6px}.calendar-legend i{width:9px;height:9px;border-radius:50%;background:var(--legend-color)}
@media(max-width:850px){.calendar-title{align-items:stretch}.calendar-controls{flex-wrap:wrap}.calendar-controls form{margin-left:0;flex:1 0 100%}.calendar-controls form input{flex:1}.calendar-shell{box-shadow:none;background:transparent;border:0;overflow:visible}.calendar-weekdays{display:none}.month-grid{display:block}.day-cell,.day-cell:nth-child(7n){min-height:0;border:1px solid var(--line);border-radius:13px;margin-bottom:9px;padding:12px}.day-cell.outside{display:none}.day-cell header{justify-content:flex-start;gap:8px}.day-mobile{display:inline}.day-events{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-event{padding:9px}.calendar-event strong{font-size:13px}}
@media(max-width:520px){.day-events{grid-template-columns:1fr}.calendar-controls .todaybutton{flex:1}.calendar-controls form{display:grid;grid-template-columns:1fr auto}.calendar-event strong{white-space:normal}}

/* Portalaufbau aus der beigefügten Produktvorlage */
:root{--blue:#1769E0;--blue2:#EAF3FF;--ink:#142033;--muted:#667085;--line:#DCE5F0;--bg:#F6F9FD;--red:#c84343;--shadow:0 8px 25px rgba(33,64,59,.06)}
.app-body{background:var(--bg);font-size:16px}.app-layout{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;z-index:30;width:250px;display:flex;flex-direction:column;padding:1.35rem 1rem;background:#fff;border-right:1px solid #e2e9ea}.sidebar-brand{display:flex;align-items:center;gap:.7rem;padding:0 .45rem 1.35rem}.sidebar-brand>span{width:2.25rem;height:2.25rem;display:grid;place-items:center;border-radius:.65rem;background:#1769E0;color:#fff;font-weight:800}.sidebar-brand>div{display:grid}.sidebar-brand small{color:#667085;font-size:.67rem;text-transform:uppercase;letter-spacing:.08em}.tenant-chip{display:flex;align-items:center;gap:.65rem;background:#EAF3FF;border:1px solid #DCE5F0;padding:.65rem;border-radius:.8rem;margin-bottom:1.15rem}.tenant-chip>div:last-child{display:grid;min-width:0}.tenant-chip strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem}.tenant-chip small{color:#667085;font-size:.67rem}.tenant-logo{width:2rem;height:2rem;display:grid;place-items:center;flex:0 0 auto;border-radius:.55rem;background:#d4e8e3;color:#1769E0;font-weight:800}.side-nav{display:grid;gap:.2rem;overflow:auto}.side-nav a{display:flex;align-items:center;gap:.7rem;min-height:2.5rem;padding:.6rem .72rem;border-radius:.65rem;color:#61706d;font-size:.82rem}.side-nav a:hover,.side-nav a.active{background:#EAF3FF;color:#1769E0}.side-nav i{width:1.25rem;text-align:center;font-style:normal;font-weight:750}.sidebar-footer{margin-top:auto;padding-top:1rem;border-top:1px solid #e8eeee}.mini-profile{display:flex;align-items:center;gap:.6rem;padding:.35rem}.mini-profile>span{width:2rem;height:2rem;display:grid;place-items:center;border-radius:50%;background:#e1efec;color:#0E4FAF;font-size:.7rem;font-weight:750}.mini-profile>div{display:grid;min-width:0}.mini-profile strong{font-size:.78rem}.mini-profile small{font-size:.68rem;color:#667085}.sidebar-footer form{margin:0}.logout-button{margin-top:.55rem;padding:.6rem;border:0;background:transparent;color:#77827f;cursor:pointer}.workspace{margin-left:250px;min-width:0}.topbar{position:sticky;top:0;z-index:20;min-height:78px;display:flex;align-items:center;padding:.9rem 2rem;background:rgba(255,255,255,.94);border-bottom:1px solid #e2e9ea;backdrop-filter:blur(10px)}.topbar p{margin:0;color:#798683;font-size:.72rem}.topbar h2{margin:.18rem 0 0;font-size:1.08rem}.top-actions{margin-left:auto;display:flex;align-items:center;gap:.8rem}.status-dot{color:#0E4FAF;font-size:.72rem}.avatar{width:2.3rem;height:2.3rem;display:grid;place-items:center;border-radius:50%;background:#dbece8;color:#1769E0;font-size:.72rem;font-weight:750}.content{width:100%;max-width:1500px;margin:0 auto;padding:1.75rem 2rem 3rem}.content h1{font-size:1.7rem;letter-spacing:-.035em;margin:0 0 .25rem}.content h2{font-size:1.05rem}.section-title{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem}.section-title p,.welcome-row p{margin:.2rem 0 0;font-size:.88rem}.welcome-row{display:flex;align-items:end;justify-content:space-between;gap:1.5rem;margin-bottom:1.4rem}.compact-clock{min-width:355px;display:grid;grid-template-columns:1fr auto;gap:.2rem 1rem;align-items:center;background:#fff;border:1px solid #e0e7e8;border-radius:1rem;padding:.8rem .85rem .8rem 1rem;box-shadow:var(--shadow)}.compact-clock>span{color:#0E4FAF;font-size:.72rem}.compact-clock>strong{font-size:1.4rem}.compact-clock form{grid-column:2;grid-row:1/3;margin:0}.compact-clock .button{margin:0}.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;margin-bottom:.85rem}.metric-card{min-width:0;padding:1.1rem;border:1px solid #e0e7e8;border-radius:1rem;background:#fff;display:flex;gap:.8rem}.metric-card>i{width:2.25rem;height:2.25rem;display:grid;place-items:center;flex:0 0 auto;border-radius:.7rem;color:#0E4FAF;background:#EAF3FF;font-style:normal}.metric-card>div{display:grid}.metric-card span{color:#667085;font-size:.72rem}.metric-card strong{margin:.2rem 0;font-size:1.2rem}.metric-card small{color:#667085;font-size:.7rem}.panel{border-color:#e0e7e8;border-radius:1rem;box-shadow:none}.section-title+.panel{margin-top:0}.shift-row{display:flex;align-items:center;gap:.7rem;padding:.85rem 0;border-top:1px solid #eef1f2}.shift-row time{width:2.5rem;height:2.7rem;display:grid;place-items:center;align-content:center;border-radius:.6rem;background:#f0f4f5}.shift-row time strong{line-height:1}.shift-row time small{font-size:.57rem;color:#75817f}.shift-row>i{width:.22rem;height:2.2rem;border-radius:1rem;background:var(--event-color)}.shift-row>div{min-width:0;flex:1;display:grid}.shift-row>div strong{font-size:.83rem}.shift-row>div small{color:#76837f;font-size:.7rem}.time-layout{display:grid;grid-template-columns:minmax(320px,.7fr) 1.3fr;gap:.85rem}.clock-panel{min-height:420px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.clock-panel>small{margin-top:2rem;color:#7d8a87;font-size:.66rem;letter-spacing:.12em}.clock-panel>strong{font-size:clamp(2.7rem,6vw,4.4rem);color:#173c36}.clock-state{color:#0E4FAF;font-size:.78rem}.clock-button{min-width:210px;height:3.1rem}.integrity-note{display:flex;gap:.7rem;align-items:flex-start;margin:1rem 0;padding:.9rem;border-radius:.75rem;background:#f0f7f5;color:#2d665d}.integrity-note span{display:grid}.integrity-note small{color:#6e827e}.calendar-shell{padding:0}.calendar-toolbar{display:flex;align-items:center;gap:.65rem;padding:1rem;border-bottom:1px solid var(--line)}.calendar-toolbar h2{min-width:175px;text-align:center;margin:0}.calendar-weekdays div{text-align:right}.month-grid{grid-template-columns:repeat(7,minmax(105px,1fr));overflow-x:auto}.day-cell{min-height:118px}.calendar-event{background:color-mix(in srgb,var(--event-color) 10%,white)}.two-column{display:grid;grid-template-columns:minmax(310px,.75fr) minmax(0,1.25fr);gap:.85rem}.form-panel{padding:1.25rem}.form-panel h2{margin-top:0}.filterbar{display:flex;gap:.65rem;margin-bottom:.85rem}.filterbar select{max-width:360px}.sheet-summary{display:flex;justify-content:space-between;align-items:center;margin-bottom:.85rem}.sheet-summary p{margin:0;color:#0E4FAF;font-size:.75rem;font-weight:700}.sheet-summary h2{margin:.2rem 0}.correction-box{margin-top:.85rem;border:1px solid #e9c46a;background:#fffdf5}.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.85rem;margin-bottom:.85rem}.category-card{display:flex;align-items:center;gap:.8rem}.category-card>i{width:2.4rem;height:2.4rem;display:grid;place-items:center;border-radius:.7rem;background:color-mix(in srgb,var(--event-color,#0E4FAF) 14%,white);color:var(--event-color,#0E4FAF);font-style:normal}.category-card h2{margin:0}.category-card p{margin:.2rem 0 0;font-size:.75rem}.settings-card{max-width:820px}.settings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.settings-grid label{position:relative}.settings-grid label span{position:absolute;right:.8rem;bottom:.72rem}.mobile-menu{display:none;position:fixed;top:.9rem;left:.8rem;z-index:40;border:0;border-radius:.6rem;background:#1769E0;color:#fff;padding:.55rem .7rem;font-size:1rem}.company-mark{width:4rem;height:4rem;display:grid;place-items:center;margin:1.5rem auto .75rem;border-radius:1rem;background:#EAF3FF;color:#1769E0;font-size:1.5rem;font-weight:800}
@media(max-width:1100px){.metrics-grid{grid-template-columns:repeat(2,1fr)}.category-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.mobile-menu{display:block}.sidebar{transform:translateX(-105%);transition:transform .2s ease;box-shadow:12px 0 35px rgba(21,50,45,.12)}.sidebar.open{transform:translateX(0)}.workspace{margin-left:0}.topbar{padding:.75rem 1rem .75rem 4rem}.content{padding:1.2rem 1rem 2rem}.welcome-row{display:grid;align-items:stretch}.compact-clock{min-width:0}.time-layout,.two-column{grid-template-columns:1fr}.category-grid{grid-template-columns:1fr}.calendar-weekdays{display:none}.month-grid{display:block}.day-cell,.day-cell:nth-child(7n){min-height:0}.day-events{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.metrics-grid,.settings-grid{grid-template-columns:1fr}.section-title{align-items:flex-start}.compact-clock{grid-template-columns:1fr auto}.filterbar{display:grid}.day-events{grid-template-columns:1fr}.inline{grid-template-columns:1fr}.inline .button{grid-column:1}}
.edit-panel{margin-top:.85rem}.edit-panel fieldset{border:1px solid var(--line);border-radius:.75rem;padding:.75rem}.edit-panel legend{padding:0 .35rem;font-size:.8rem;font-weight:700}.check{display:flex;align-items:center;gap:.5rem;margin:.4rem 0;font-weight:500}.check input{width:auto}.category-card .textlink{margin-top:.35rem;font-size:.75rem}.tablewrap td .textlink{margin:0}.settings-card form>.button{margin-top:1rem}

/* V6: Firmenbranding, Mitarbeiterdetail und Kategorien */
.auth-brand-logo{width:42px;height:42px;object-fit:contain;border-radius:10px;background:#fff}.company-mark{overflow:hidden}.company-mark img{width:100%;height:100%;object-fit:contain;padding:.35rem}.sidebar-company-logo{width:2.35rem;height:2.35rem;object-fit:contain;flex:0 0 auto;border-radius:.55rem;background:#fff}.tenant-logo{overflow:hidden}.tenant-logo img{width:100%;height:100%;object-fit:contain}.avatar,.mini-profile>span{overflow:hidden}.avatar img,.mini-profile>span img{width:100%;height:100%;object-fit:cover}
.employee-page-title{position:sticky;top:78px;z-index:12;padding:.7rem 0;background:var(--bg)}.employee-section{padding:0;overflow:hidden;margin-top:.85rem}.employee-section-head{padding:.8rem 1rem;border-bottom:1px solid var(--line);background:#fff}.employee-section-head h2{margin:0;font-size:.92rem}.employee-section-head p{margin:.2rem 0 0;font-size:.75rem}.employee-basic-grid{display:grid;grid-template-columns:minmax(230px,.9fr) minmax(320px,1.35fr);gap:1.5rem;padding:1rem}.profile-upload{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:240px;text-align:center}.profile-upload>span{align-self:flex-start;color:#678;font-size:.72rem}.employee-photo{width:92px;height:92px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:#eef4f3;color:#1769E0;font-size:1.6rem;font-weight:800;margin:.7rem 0}.employee-photo img{width:100%;height:100%;object-fit:cover}.file-label{display:inline-flex!important;width:auto!important;cursor:pointer;margin:.2rem 0!important;border:1px solid #cfd8da;border-radius:.55rem;padding:.45rem .7rem;background:#fff;font-size:.75rem}.file-label input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.profile-upload small{font-size:.66rem;color:#667085;margin-top:.35rem}.employee-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:1rem}.employee-contact-grid>div{padding:0 1rem}.employee-contact-grid>div+div{border-left:1px solid var(--line)}.employee-section h3{font-size:.78rem;margin:.1rem 0 .6rem;color:#52706a}.employee-section h3 small{font-weight:500;color:#667085}.employee-section hr{border:0;border-top:1px solid var(--line);margin:0 1rem}.employee-address{max-width:720px;padding:1rem 2rem}.postal-city{display:grid;grid-template-columns:150px 1fr;gap:.8rem}.contract-grid{padding:1rem 1.5rem;max-width:900px}.contract-limited{margin-top:1rem}.field-help{font-size:.72rem;margin:-.15rem 0 .5rem;color:#667085}.number-trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;max-width:620px}.permissions-grid{display:grid;grid-template-columns:minmax(260px,1fr) minmax(260px,1fr);gap:1rem;padding:1rem 1.5rem}.field-label{display:block;font-size:.75rem;font-weight:700;color:#61706d;margin-bottom:.45rem}.employee-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;padding:1rem}.category-check{display:flex;align-items:center;gap:.65rem;margin:0;padding:.65rem .75rem;border:1px solid var(--line);border-radius:.65rem;background:#fff;font-weight:650}.category-check input{width:auto}.category-check i{width:13px;height:13px;border-radius:50%;background:var(--event-color,#d7e5e2);box-shadow:inset 0 0 0 1px rgba(0,0,0,.04);flex:0 0 auto}.category-check span{font-size:.78rem}.employee-savebar{position:sticky;bottom:0;z-index:15;display:flex;justify-content:flex-end;gap:.65rem;padding:.85rem 1rem;margin-top:1rem;background:rgba(244,247,251,.94);border-top:1px solid var(--line);backdrop-filter:blur(10px)}.employee-savebar .button{margin:0}.employee-list-person{display:flex;align-items:center;gap:.7rem}.employee-list-person>span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;overflow:hidden;background:#e5f0ed;color:#1769E0;font-size:.68rem;font-weight:800;flex:0 0 auto}.employee-list-person>span img{width:100%;height:100%;object-fit:cover}.employee-list-person>div{display:grid}.employee-table .textlink{margin:0}
.category-list{display:grid;gap:.45rem}.category-line{margin:0;padding:.72rem 1rem;display:grid;grid-template-columns:20px minmax(180px,1fr) auto minmax(150px,auto);align-items:center;gap:.75rem;border-radius:.35rem}.category-line>i{width:18px;height:18px;border-radius:50%;background:var(--event-color);box-shadow:0 0 0 2px color-mix(in srgb,var(--event-color) 18%,white)}.category-line strong{text-align:left;font-size:.86rem}.category-line small{color:#83908d;font-size:.7rem}.icon-edit{width:32px;height:32px;display:grid;place-items:center;border-radius:.5rem;background:#f2f4f4;color:#85908e}.category-form{grid-template-columns:minmax(220px,1fr) 110px auto}.category-actions{justify-content:flex-end;flex-wrap:wrap}
.company-logo-card{max-width:820px;display:grid;grid-template-columns:180px 1fr;gap:1.5rem;align-items:center}.company-logo-preview{width:160px;height:160px;display:grid;place-items:center;border:1px dashed #c9d4d1;border-radius:1rem;background:#F6F9FD;overflow:hidden}.company-logo-preview img{width:100%;height:100%;object-fit:contain;padding:1rem}.company-logo-preview span{font-size:3rem;font-weight:800;color:#1769E0}.company-logo-card h2{margin:.1rem 0}.company-logo-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.company-logo-actions .button{margin:0}.company-logo-actions .check{margin:0}
@media(max-width:900px){.employee-basic-grid,.employee-contact-grid,.permissions-grid,.company-logo-card{grid-template-columns:1fr}.employee-contact-grid>div+div{border-left:0;border-top:1px solid var(--line);padding-top:1rem}.employee-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.company-logo-preview{width:130px;height:130px}.employee-page-title{position:static}}
@media(max-width:600px){.employee-basic-grid{grid-template-columns:1fr;padding:.75rem}.employee-address{padding:1rem}.postal-city,.number-trio,.employee-category-grid{grid-template-columns:1fr}.profile-upload{min-height:190px}.category-line{grid-template-columns:20px 1fr auto}.category-line small{display:none}.category-line .category-actions{grid-column:2/-1;justify-content:flex-start}.employee-savebar{padding:.7rem}.employee-savebar .button{flex:1}}

/* V7: Einsatzdetails, Einsatzleiter, Vorfallsberichte und Löschaktionen */
.calendar-event-link{display:block;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.calendar-event-link:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(33,64,59,.09)}.shift-row-link{display:grid;color:inherit}.shift-row-link:hover{background:#F6F9FD}.shift-detail-card{border-top:4px solid var(--event-color,#1769E0)}.shift-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:.8rem;overflow:hidden}.shift-detail-grid>div{display:grid;gap:.25rem;padding:1rem;background:#fff}.shift-detail-grid>div.wide{grid-column:1/-1}.shift-detail-grid span{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:#667085;font-weight:750}.shift-detail-grid strong{font-size:.9rem;line-height:1.45}.shift-detail-actions{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;margin-top:1rem}.shift-detail-actions form{margin:0}.shift-detail-actions .button{margin:0}.field-help-inline{display:block;margin-top:.35rem;color:#667085;font-size:.68rem;font-weight:500}.row-actions{display:flex;align-items:center;gap:.75rem;white-space:nowrap}.row-actions .textlink{margin:0}.danger-link{color:var(--red)!important}.delete-box{margin-top:.85rem;border:1px solid #efb7b4;background:#fff8f7}.action-inline{display:flex;grid-template-columns:none;gap:.4rem}.action-inline form{margin:0}.action-inline .button{margin:0}.leader-form{grid-template-columns:minmax(240px,1fr) auto;max-width:620px}.speech-row{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;margin:.6rem 0 1rem}.speech-row .button{margin:0}.speech-row small{max-width:620px;color:#667085;line-height:1.45}.incident-text{min-width:280px;max-width:620px;white-space:normal;line-height:1.5}.permissions-grid input:disabled,.permissions-grid select:disabled{background:#f3f5f5;color:#667085}.incident-form textarea{min-height:150px}
@media(max-width:800px){.shift-detail-grid{grid-template-columns:1fr 1fr}.shift-detail-grid>div.wide{grid-column:1/-1}}
@media(max-width:560px){.shift-detail-grid{grid-template-columns:1fr}.shift-detail-grid>div.wide{grid-column:auto}.shift-detail-actions{display:grid}.shift-detail-actions>*{width:100%}.speech-row{display:grid}.speech-row .button{width:100%}.row-actions{display:grid;gap:.2rem}}


/* V8: reine Stempeluhr, Kalenderbalken/-liste und Firmen-Untermenü Zulagen */
.clock-only-page{max-width:900px}.clock-heading{margin-bottom:0}.clock-only{min-height:500px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.clock-only .clock-state{font-size:1rem;color:#176b62;margin-bottom:2.8rem}.clock-only>small{font-size:.72rem;letter-spacing:.18em;color:#81908d;margin-bottom:1.2rem}.clock-only>strong{font-size:clamp(4rem,10vw,7rem);line-height:1;font-weight:800;letter-spacing:-.05em;color:#174b45;font-variant-numeric:tabular-nums}.clock-only form{margin:0}.clock-only .clock-button{min-width:260px;margin-top:1.8rem;padding:1rem 1.5rem;border-radius:.85rem;font-size:1.05rem}.clock-actions{display:flex;gap:.8rem;align-items:center;justify-content:center;flex-wrap:wrap}.clock-actions .pause-button{background:#EAF3FF;color:#1769E0}.clock-actions .danger{background:#1769E0}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:1rem}.calendar-month-nav{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.calendar-month-nav h2{margin:0;min-width:190px;text-align:center}.calendar-view-switch{display:flex;padding:.25rem;background:#f1f5f4;border-radius:.7rem}.calendar-view-switch a{padding:.5rem .8rem;border-radius:.5rem;font-size:.75rem;font-weight:750;color:#60716d}.calendar-view-switch a.active{background:#fff;color:#1769E0;box-shadow:0 1px 4px rgba(24,50,45,.08)}.calendar-event{border-left:0!important;padding-left:14px!important;overflow:hidden}.calendar-category-bar{position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--event-color);border-radius:6px 0 0 6px}.calendar-event strong{color:#172b27}.calendar-list-view{display:grid;gap:.9rem}.calendar-list-day{border:1px solid var(--line);border-radius:.8rem;overflow:hidden;background:#fff}.calendar-list-day>header{padding:.7rem 1rem;background:#F6F9FD;border-bottom:1px solid var(--line);font-size:.83rem}.calendar-list-entry{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;padding:.85rem 1rem .85rem 1.25rem;border-bottom:1px solid var(--line);overflow:hidden}.calendar-list-entry:last-child{border-bottom:0}.calendar-list-entry:hover{background:#fafcfb}.calendar-list-entry>div{display:grid;gap:.2rem}.calendar-list-entry strong{font-size:.88rem}.calendar-list-entry small{font-size:.72rem;color:#667085}.company-subnav{display:flex;gap:.35rem;border-bottom:1px solid var(--line);margin:.2rem 0 1rem}.company-subnav a{padding:.7rem 1rem;font-size:.8rem;font-weight:750;color:#6a7875;border-bottom:2px solid transparent}.company-subnav a.active{color:#1769E0;border-bottom-color:#1769E0}.allowance-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.allowance-heading h2{margin-bottom:.25rem}.allowance-heading p{margin:0;max-width:650px}.allowance-heading .status{white-space:nowrap}
@media(max-width:700px){.clock-only{min-height:430px}.clock-only .clock-state{margin-bottom:2.2rem}.clock-only>strong{font-size:clamp(3.5rem,18vw,5rem)}.clock-actions{display:grid;width:min(100%,320px)}.clock-actions form,.clock-actions .clock-button{width:100%}.calendar-toolbar{align-items:stretch;flex-direction:column}.calendar-month-nav{justify-content:center}.calendar-view-switch{align-self:stretch}.calendar-view-switch a{flex:1;text-align:center}.calendar-list-entry{grid-template-columns:1fr}.calendar-list-entry .status{justify-self:start}.allowance-heading{display:grid}.allowance-heading .status{justify-self:start}}

/* V9: Einsatz-Besetzung, Bewerber und Löschfunktion */
.assignment-panel{display:grid;gap:1.1rem}.assignment-panel>.section-title{margin-bottom:0}.assignment-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.assignment-column{border:1px solid var(--line);border-radius:.8rem;padding:1rem;background:#FFFFFF}.assignment-column h3,.applicant-section h3{margin:0 0 .8rem;font-size:.92rem}.people-list{display:grid;gap:.55rem}.person-row{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.7rem .75rem;border:1px solid var(--line);border-radius:.65rem;background:#fff}.person-row>div{display:grid;gap:.12rem}.person-row small{font-size:.7rem;color:#75827f}.person-row form,.applicant-section form{margin:0}.compact-button{margin:0!important;padding:.55rem .7rem!important;font-size:.72rem!important;white-space:nowrap}.compact-empty{padding:.8rem;margin:0}.applicant-section{display:grid;gap:.2rem}.applicant-section .tablewrap{border:1px solid var(--line);border-radius:.8rem}.shift-delete-box{margin-top:1rem}.shift-delete-box form{margin:0}.shift-delete-box .button{margin:0}.assignment-column label{margin-top:0}
@media(max-width:760px){.assignment-grid{grid-template-columns:1fr}.person-row{align-items:flex-start;flex-direction:column}.person-row form,.person-row .button{width:100%}.applicant-section table{min-width:680px}}


/* V10: Firmenadresse, automatische Pausenregeln, Dashboard-Pause und Stempelzeiten-Protokoll */
.compact-clock{grid-template-columns:1fr minmax(180px,auto)}.compact-clock-actions{grid-column:2;grid-row:1/3;display:flex;gap:.45rem;align-items:center;justify-content:flex-end;flex-wrap:wrap}.compact-clock-actions form{grid-column:auto!important;grid-row:auto!important;margin:0}.compact-clock-actions .button{padding:.58rem .75rem;font-size:.72rem;white-space:nowrap}.company-address-card{max-width:820px}.company-address-readonly>p{margin-top:.1rem}.company-address-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-top:.8rem}.company-address-grid>div{display:grid;gap:.2rem;padding:.75rem;border:1px solid var(--line);border-radius:.65rem;background:#F6F9FD}.company-address-grid span{font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:#667085}.company-address-grid strong{font-size:.82rem}.pause-delete-overlay{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:1rem;background:rgba(8,49,65,.78)}.pause-delete-dialog{width:min(900px,100%);max-height:calc(100vh - 2rem);overflow:auto;border-radius:.75rem;background:#0d5068;color:#fff;box-shadow:0 24px 70px rgba(0,0,0,.32)}.pause-delete-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.12)}.pause-delete-head h2{margin:0;color:#fff;font-size:1.25rem}.pause-dialog-close{width:2rem;height:2rem;display:grid;place-items:center;border-radius:50%;background:#eff5f5;color:#0d5068;font-size:1.4rem;font-weight:800}.pause-delete-body{padding:1.3rem 1.5rem}.pause-delete-body>p{margin-top:0;padding:1rem;background:rgba(9,73,94,.72);border-radius:.55rem;color:#fff;text-align:center}.pause-delete-body label{color:#fff}.pause-delete-body input{background:#fff;color:#142033}.pause-confirm{grid-template-columns:26px 1fr;align-items:flex-start;padding:1rem 0}.pause-confirm input{width:22px;height:22px;margin:.15rem 0 0}.pause-confirm span{font-weight:500;line-height:1.45}.pause-delete-note{margin-top:1rem!important}.pause-delete-actions{display:flex;justify-content:center;gap:.7rem;flex-wrap:wrap;padding-top:.4rem}.pause-delete-actions .button{margin:0}.audit-subnav{margin-bottom:1rem}.form-panel [data-auto-break][readonly]{background:#f3f7f6;color:#1769E0;font-weight:750}
@media(max-width:800px){.compact-clock{grid-template-columns:1fr}.compact-clock-actions{grid-column:1;grid-row:auto;justify-content:stretch;margin-top:.45rem}.compact-clock-actions form{flex:1}.compact-clock-actions .button{width:100%}.company-address-grid{grid-template-columns:1fr}.pause-delete-head,.pause-delete-body{padding:1rem}.pause-delete-actions{display:grid}.pause-delete-actions .button{width:100%}}


/* V11: Popups, externe Mitarbeiter, Untermenüs und Dokumentationsnachrichten */
.section-actions{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.section-actions .button{margin:0}
.modal-overlay{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:1rem;background:rgba(15,23,42,.58);backdrop-filter:blur(2px)}
.modal-dialog{width:min(640px,100%);max-height:calc(100vh - 2rem);overflow:auto;border-radius:1rem;background:#fff;box-shadow:0 28px 80px rgba(15,23,42,.28)}
.modal-dialog.modal-wide{width:min(900px,100%)}
.modal-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;background:#fff;border-bottom:1px solid var(--line)}
.modal-head h2{margin:0}.modal-close{appearance:none;border:0;width:2rem;height:2rem;display:grid;place-items:center;border-radius:50%;background:#eef2f6;color:#344054;font-size:1.35rem;font-weight:800;cursor:pointer}
.modal-body{padding:1.2rem}.modal-body>p:first-child{margin-top:0}.modal-actions{display:flex;gap:.65rem;justify-content:flex-end;flex-wrap:wrap;margin-top:1rem}.modal-actions .button{margin:0}
.multi-select{min-height:150px}
.external-assignment-box{margin-top:.75rem;padding:.85rem;border:1px solid var(--line);border-radius:.75rem;background:#FFFFFF}.external-toggle{display:flex!important;grid-template-columns:22px 1fr;align-items:center;gap:.55rem;margin:0!important}.external-toggle input{width:20px;height:20px;margin:0}.external-fields{margin-top:.75rem}.external-name-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 .75rem}.external-person{border-left:3px solid #94a3b8}
.applicant-name-list{display:grid;gap:.5rem}.applicant-name-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.7rem .8rem;border:1px solid var(--line);border-radius:.65rem;background:#fff}.applicant-name-row form{margin:0}
.documentation-messages{border-left:4px solid #1769E0}.documentation-messages h2{margin-bottom:.75rem}.message-list{display:grid;gap:.65rem}.message-list article{padding:.85rem 1rem;border:1px solid var(--line);border-radius:.75rem;background:#fafcff}.message-list article>div{display:flex;align-items:center;justify-content:space-between;gap:1rem}.message-list small{color:var(--muted)}.message-list p{margin:.45rem 0 0;color:#344054}
.filter-select-label{display:flex;align-items:center;gap:.5rem;margin:0;font-size:.75rem}.filter-select-label select{min-width:280px}
.timesheet-subnav{margin-top:-.3rem}
.js-confirm-overlay{z-index:120}
@media(max-width:700px){.section-actions{width:100%}.section-actions .button{flex:1}.external-name-fields{grid-template-columns:1fr}.applicant-name-row{align-items:stretch;flex-direction:column}.applicant-name-row .button{width:100%}.modal-overlay{align-items:end;padding:.5rem}.modal-dialog,.modal-dialog.modal-wide{width:100%;max-height:92vh;border-radius:1rem 1rem .4rem .4rem}.modal-actions{display:grid}.modal-actions .button{width:100%}.filter-select-label{display:grid;width:100%}.filter-select-label select{min-width:0}}

/* V12: Dashboard-Bewerbungen und gegliederte Änderungsprotokolle */
.dashboard-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
.metric-card-link{cursor:pointer;color:inherit;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}
.metric-card-link:hover{transform:translateY(-2px);border-color:#b9d5cf;box-shadow:0 8px 22px rgba(33,64,59,.08)}
.metric-card-link:focus-visible{outline:3px solid #cfe7e2;outline-offset:2px}
.available-shifts-list{display:grid;gap:.65rem}
.available-shift-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;padding:.9rem 1rem .9rem 1.25rem;border:1px solid var(--line);border-radius:.8rem;background:#fff;overflow:hidden}
.available-shift-card:hover{background:#F6F9FD;border-color:#cbded9}
.available-shift-card>div{display:grid;gap:.2rem;min-width:0}
.available-shift-card strong{font-size:.9rem}
.available-shift-card small{font-size:.72rem;color:#667085;line-height:1.45}
.available-shift-card .status{white-space:nowrap}
.audit-subnav{flex-wrap:wrap}
.audit-empty{margin:.2rem 0;padding:1.4rem}
@media(max-width:850px){.dashboard-metrics{grid-template-columns:1fr}.available-shift-card{grid-template-columns:1fr}.available-shift-card .status{justify-self:start}}

/* V15: kompakte Einsatzmaske + Monatsauswertung */
.shift-create-modal{width:min(820px,100%)!important}.shift-create-fields{border:1px solid var(--line);border-radius:.85rem;overflow:hidden;background:#fff}.shift-create-row{display:grid;grid-template-columns:145px minmax(0,1fr);align-items:center;gap:1rem;margin:0;padding:.8rem 1rem;border-bottom:1px solid var(--line)}.shift-create-row:last-child{border-bottom:0}.shift-create-row>span{font-size:.78rem;font-weight:750;color:#52605d}.shift-create-row input,.shift-create-row select,.shift-create-row textarea{margin:0}.shift-create-row-top{align-items:start}.shift-time-range{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.55rem}.shift-time-range>small{grid-column:1/-1;margin:0;color:#8a5a13;font-size:.7rem}.shift-create-assignment{margin-top:1rem;padding:1rem;border:1px solid var(--line);border-radius:.85rem;background:#FFFFFF}.shift-create-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:.6rem}.shift-create-section-head h3{margin:0;font-size:.95rem}.shift-create-section-head small{font-size:.7rem;color:var(--muted)}.workload-select{font-variant-numeric:tabular-nums}.report-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap}.report-month-nav{display:flex;align-items:center;gap:.7rem}.report-month-nav strong{min-width:145px;text-align:center}.report-filters{display:flex;align-items:flex-end;gap:.65rem;flex-wrap:wrap;margin:0}.report-filters label{margin:0;min-width:150px}.report-filters .button{margin:0}.report-metrics{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1rem}.report-category{display:inline-flex;align-items:center;gap:.5rem}.report-category i{width:8px;height:28px;border-radius:5px;background:var(--event-color);display:inline-block}.report-table table{min-width:900px}.report-table td,.report-table th{vertical-align:middle}
@media(max-width:700px){.shift-create-row{grid-template-columns:1fr;gap:.4rem}.shift-time-range{grid-template-columns:1fr auto 1fr}.shift-create-section-head{align-items:flex-start;flex-direction:column}.report-toolbar{align-items:stretch}.report-month-nav{justify-content:center}.report-filters{display:grid;width:100%}.report-filters label{min-width:0}.report-metrics{grid-template-columns:1fr}}

/* V16: getrenntes Datum + Uhrzeit für Einsatzbeginn und -ende */
.shift-datetime-pair{display:grid;grid-template-columns:minmax(150px,1fr) minmax(115px,.65fr);gap:.55rem;align-items:center}
@media(max-width:700px){.shift-datetime-pair{grid-template-columns:1fr 1fr}}
@media(max-width:430px){.shift-datetime-pair{grid-template-columns:1fr}}

/* V17: Berechtigungsvergabe im Mitarbeiterprofil als Popup */
.permissions-card-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.permissions-card-head .button{margin:0;white-space:nowrap}.permissions-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;padding:1rem 1.5rem}.permissions-summary>div{display:grid;gap:.2rem;padding:.8rem;border:1px solid var(--line);border-radius:.65rem;background:#F6F9FD}.permissions-summary span{font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:#667085}.permissions-summary strong{font-size:.82rem}.permissions-summary>small{grid-column:1/-1;color:#667085}.employee-permissions-modal[hidden]{display:none}.permissions-popup-grid{padding:0;margin-top:1rem}
@media(max-width:700px){.permissions-card-head{align-items:stretch;flex-direction:column}.permissions-card-head .button{width:100%}.permissions-summary{grid-template-columns:1fr}.permissions-popup-grid{grid-template-columns:1fr}}
.employee-account-actions{flex-wrap:wrap}.employee-account-actions form{margin:0}.button-link{appearance:none;border:0;background:transparent;padding:0;font:inherit;cursor:pointer}.status-warning{background:#fff4e5!important;color:#9a5b00!important;border-color:#f4d7a8!important}


/* V21: sauberer Stundenzettel-Druck/PDF und kompakte Nachbuchungsmaske */
@media print{
  @page{size:A4 landscape;margin:12mm}
  .sidebar,.topbar,.mobile-menu,.company-subnav,.filterbar,.notice,.no-print,.section-title .button{display:none!important}
  .workspace{margin-left:0!important}
  .content{width:100%!important;max-width:none!important;padding:0!important;margin:0!important}
  .app-body{background:#fff!important}
  .section-title{margin:0 0 10mm!important}
  .section-title h1{font-size:22pt!important;margin:0!important}
  .section-title p{display:block!important;color:#344054!important;margin:3mm 0 0!important}
  .sheet-summary,.tablewrap{box-shadow:none!important;border:1px solid #cfd6e2!important;border-radius:0!important}
  .sheet-summary{margin-top:0!important}
  .tablewrap{overflow:visible!important;margin-top:5mm!important;padding:0!important}
  table{width:100%!important;border-collapse:collapse!important}
  th,td{padding:3mm 3.5mm!important;font-size:9.5pt!important;page-break-inside:avoid}
  thead{display:table-header-group}
  tfoot{display:table-footer-group}
  tr{page-break-inside:avoid;page-break-after:auto}
}
.captured-times-table table{min-width:900px}.captured-times-table td:first-child{white-space:nowrap}.captured-times-table td:first-child small,.captured-times-table td:nth-child(6) small{display:block;margin-top:.2rem;color:var(--muted);font-size:.68rem}


/* V24: granulare Rollen- und persönliche Seitenberechtigungen */
.permission-admin-panel{display:grid;gap:1rem}.permission-role-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.permission-role-card{border:1px solid var(--line);border-radius:.85rem;background:#fff;padding:1rem}.permission-role-card h3{margin:0 0 .8rem}.permission-role-card h4,.permission-extra-section h4{margin:1rem 0 .45rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.permission-check-grid{display:grid;grid-template-columns:1fr;gap:.4rem}.permission-check{display:flex!important;align-items:flex-start;gap:.55rem;margin:0!important;padding:.55rem .65rem;border:1px solid var(--line);border-radius:.6rem;background:#F6F9FD}.permission-check input{width:18px;height:18px;margin:.05rem 0 0;flex:0 0 auto}.permission-check span{font-size:.76rem;font-weight:650;line-height:1.35}.permission-role-card .button{width:100%;margin-top:1rem}.permission-admin-note{margin:0}.permission-extra-section{margin-top:1.15rem;padding-top:1rem;border-top:1px solid var(--line)}.permission-extra-section .permission-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:1000px){.permission-role-grid{grid-template-columns:1fr}.permission-extra-section .permission-check-grid{grid-template-columns:1fr}}


/* V25: professioneller Stundenzettel mit Lohn- und Zuschlagsübersicht */
.timesheet-document{padding:0;overflow:hidden}.timesheet-document-head{display:flex;align-items:flex-start;justify-content:space-between;gap:2rem;padding:1.4rem 1.5rem;border-bottom:1px solid var(--line);background:linear-gradient(135deg,#FFFFFF 0%,#f2f8f6 100%)}.timesheet-brand-block .eyebrow{display:block;margin-bottom:.25rem;color:#5e746f;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.timesheet-brand-block h2{margin:0;font-size:1.45rem;color:#0E4FAF}.timesheet-brand-block p{margin:.25rem 0 0;color:#64736f}.timesheet-meta{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));gap:.65rem}.timesheet-meta>div{display:grid;gap:.15rem;padding:.65rem .75rem;border:1px solid #DCE5F0;border-radius:.65rem;background:#fff}.timesheet-meta span,.timesheet-keyfacts span{font-size:.66rem;text-transform:uppercase;letter-spacing:.04em;color:#788783}.timesheet-meta strong{font-size:.82rem;color:#203e38}.timesheet-keyfacts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:0}.timesheet-keyfacts article{display:grid;gap:.25rem;padding:1rem 1.25rem;border-right:1px solid var(--line);background:#fff}.timesheet-keyfacts article:last-child{border-right:0}.timesheet-keyfacts strong{font-size:1.22rem;color:#183f39;font-variant-numeric:tabular-nums}.timesheet-keyfacts .timesheet-gross{background:#EAF3FF}.timesheet-keyfacts .timesheet-gross strong{font-size:1.35rem}.timesheet-table-panel,.payroll-panel{padding:0;overflow:hidden;margin-top:1rem}.timesheet-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;border-bottom:1px solid var(--line);background:#F6F9FD}.timesheet-panel-head h2{margin:0;font-size:1rem}.timesheet-panel-head p{margin:.25rem 0 0;font-size:.73rem;color:#6f7f7b}.timesheet-tablewrap,.payroll-tablewrap{border:0!important;border-radius:0!important;margin:0!important;box-shadow:none!important}.timesheet-table{min-width:1120px}.timesheet-table th,.payroll-table th{font-size:.68rem;text-transform:uppercase;letter-spacing:.035em;color:#63716d;background:#f6f9f8}.timesheet-table td{vertical-align:top}.timesheet-table small{display:block;margin-top:.2rem;color:var(--muted);font-size:.64rem}.allowance-hours{display:flex;flex-wrap:wrap;gap:.28rem;min-width:190px}.allowance-chip{display:inline-flex;padding:.22rem .4rem;border-radius:.38rem;background:#f0f3f2;color:#4f625e;font-size:.64rem;font-weight:750;white-space:nowrap}.allowance-night{background:#eef0f7;color:#454f72}.allowance-sunday{background:#f7f1e7;color:#7c5a22}.allowance-holiday{background:#f8ebeb;color:#8a4343}.allowance-hours-total{display:grid;gap:.16rem;font-size:.69rem}.payroll-table{min-width:760px}.payroll-table td,.payroll-table th{text-align:right;font-variant-numeric:tabular-nums}.payroll-table td:first-child,.payroll-table th:first-child{text-align:left}.payroll-table tfoot th{background:#EAF3FF;color:#0E4FAF;font-size:.78rem}.payroll-note{margin:0;padding:.75rem 1.2rem;border-top:1px solid var(--line);background:#FFFFFF;color:#75827f;font-size:.68rem;line-height:1.5}.captured-times-table table{min-width:1020px}
@media(max-width:900px){.timesheet-document-head{display:grid}.timesheet-meta{grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.timesheet-keyfacts{grid-template-columns:repeat(2,minmax(0,1fr))}.timesheet-keyfacts article:nth-child(2){border-right:0}.timesheet-keyfacts article:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:560px){.timesheet-meta{grid-template-columns:1fr}.timesheet-keyfacts{grid-template-columns:1fr}.timesheet-keyfacts article{border-right:0!important;border-bottom:1px solid var(--line)}.timesheet-keyfacts article:last-child{border-bottom:0}}
@media print{
  @page{size:A4 portrait;margin:8mm}
  .timesheet-main-title{display:none!important}
  .timesheet-document,.timesheet-table-panel,.payroll-panel{border:1px solid #bfc9c6!important;box-shadow:none!important;border-radius:0!important;break-inside:avoid}
  .timesheet-document-head{padding:5mm 6mm!important;background:#fff!important}.timesheet-brand-block h2{font-size:16pt!important}.timesheet-brand-block p{font-size:9pt!important}.timesheet-meta{gap:2mm!important}.timesheet-meta>div{padding:2mm 3mm!important;border-radius:0!important}.timesheet-meta span,.timesheet-keyfacts span{font-size:6.5pt!important}.timesheet-meta strong{font-size:8pt!important}
  .timesheet-keyfacts article{padding:3mm 4mm!important}.timesheet-keyfacts strong{font-size:11pt!important}.timesheet-keyfacts .timesheet-gross strong{font-size:12pt!important}
  .timesheet-table-panel{margin-top:4mm!important}.timesheet-panel-head{padding:3mm 4mm!important;background:#fff!important}.timesheet-panel-head h2{font-size:10pt!important}.timesheet-panel-head p{font-size:7pt!important}
  .timesheet-table,.payroll-table{min-width:0!important;width:100%!important;table-layout:fixed!important}.timesheet-table th,.timesheet-table td,.payroll-table th,.payroll-table td{padding:1.35mm 1.15mm!important;font-size:6.35pt!important;line-height:1.25!important;overflow-wrap:anywhere}.timesheet-table th,.payroll-table th{font-size:5.7pt!important;white-space:normal!important}.timesheet-table th:nth-child(1){width:12%}.timesheet-table th:nth-child(2){width:10%}.timesheet-table th:nth-child(3){width:18%}.timesheet-table th:nth-child(4){width:9%}.timesheet-table th:nth-child(5){width:11%}.timesheet-table th:nth-child(6){width:9%}.timesheet-table th:nth-child(7){width:9%}.timesheet-table th:nth-child(8){width:22%}.allowance-hours{min-width:0!important;display:grid!important;gap:.65mm!important}.allowance-chip{display:block!important;padding:.55mm .75mm!important;font-size:5.15pt!important;line-height:1.2!important;border:1px solid #d5dcda!important;background:#fff!important;color:#333!important;white-space:normal!important}.payroll-panel{margin-top:4mm!important}.payroll-note{padding:2mm 4mm!important;font-size:6pt!important;background:#fff!important}
  .timesheet-document-head{display:grid!important;grid-template-columns:1fr!important;gap:3mm!important}.timesheet-meta{grid-template-columns:repeat(3,1fr)!important;width:100%!important}.timesheet-keyfacts{grid-template-columns:repeat(2,1fr)!important}.timesheet-keyfacts article{border-bottom:1px solid var(--line)!important}.timesheet-keyfacts article:nth-child(2n){border-right:0!important}.timesheet-keyfacts article:nth-last-child(-n+2){border-bottom:0!important}
}

.timesheet-brand-block{display:flex;align-items:center;gap:.9rem}.timesheet-company-logo{width:54px;height:54px;object-fit:contain;border:1px solid #DCE5F0;border-radius:.65rem;background:#fff;padding:.3rem;flex:0 0 auto}
@media print{.timesheet-company-logo{width:13mm!important;height:13mm!important;border-radius:0!important}}


/* V28 Vorfallsberichte nach Einsatzprotokoll */
.incident-category-picker{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:.75rem;align-items:end;max-width:760px}.incident-category-picker .button{margin:0}.incident-picker>small{display:block;margin-top:.7rem;color:#667085}.incident-shift-list{display:grid;gap:.65rem}.incident-shift-card{position:relative;display:grid;grid-template-columns:6px minmax(0,1fr) auto;gap:.9rem;align-items:center;border:1px solid var(--line);border-radius:.8rem;overflow:hidden;background:#fff;padding:.8rem .9rem .8rem 0}.incident-shift-card .calendar-category-bar{height:100%;min-height:58px;background:var(--event-color,#1769E0)}.incident-shift-card>div:nth-child(2){display:grid;gap:.22rem}.incident-shift-card small{color:#667085}.incident-shift-action form{margin:0}.incident-approval-list{display:grid;gap:.7rem}.incident-approval-list article{display:grid;grid-template-columns:minmax(220px,1fr) minmax(300px,1fr);gap:1rem;align-items:end;padding:.85rem;border:1px solid var(--line);border-radius:.8rem;background:#fff}.incident-approval-list article>div{display:grid;gap:.2rem}.incident-approval-list form{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:.6rem;align-items:end}.incident-approval-list .row-actions{align-self:end}.modal-report{width:min(920px,calc(100vw - 2rem));max-height:94vh}.incident-report-sheet{background:#fff;color:#17201f;border:1px solid #c9cfcd;padding:1.4rem;border-radius:.35rem;display:grid;gap:.7rem}.incident-report-title{display:grid;grid-template-columns:160px 1fr 160px;align-items:center;margin-bottom:.4rem}.incident-report-title h2{text-align:center;text-decoration:underline;margin:0;font-family:Georgia,serif}.incident-report-logo{height:80px;display:flex;align-items:center}.incident-report-logo img{max-width:145px;max-height:75px;object-fit:contain}.incident-line{display:grid;grid-template-columns:150px 1fr;gap:.65rem;align-items:end}.incident-line>span{font-weight:700}.incident-line>strong{min-height:1.6rem;border-bottom:1px solid #667085;padding:.18rem .25rem}.incident-two{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.incident-report-sheet label{font-weight:700}.incident-report-sheet input,.incident-report-sheet textarea{background:#fff;border:1px solid #aeb8b5}.incident-description{margin-top:.45rem;text-align:center}.incident-description textarea{text-align:left;min-height:260px;margin-top:.4rem}.incident-question{display:grid;grid-template-columns:auto auto 1fr;gap:.7rem;align-items:center;border:0;border-top:1px solid #667085;padding:.7rem 0 0;margin:.15rem 0 0}.incident-question legend{font-weight:700;padding:0 .35rem 0 0}.incident-question label{display:flex;align-items:center;gap:.35rem;font-weight:500}.incident-question label.wide{grid-column:1/-1;display:grid;grid-template-columns:180px 1fr}.incident-signature{display:grid;grid-template-columns:1fr 1fr;gap:.6rem 1rem;align-items:end;border-top:1px solid #667085;padding-top:.8rem}.incident-signature>strong{border-bottom:1px solid #667085;padding:.3rem}.incident-signature .check{grid-column:1/-1;border:0;padding:0}.incident-description-read{border:1px solid #667085;min-height:240px;padding:1rem;margin:.4rem 0}.incident-description-read>span{display:block;font-weight:700;text-align:center;margin-bottom:.7rem}.incident-description-read p{white-space:normal;line-height:1.55}.incident-answer{display:grid;grid-template-columns:220px 80px 1fr;gap:.7rem;border-top:1px solid #667085;padding-top:.65rem}.incident-answer span{font-weight:700}.incident-report-readonly .incident-line{grid-template-columns:160px 1fr}.status.warning{background:#fff3d6;color:#765300}.status.muted{background:#DCE5F0;color:#667085}
@media(max-width:700px){.incident-category-picker,.incident-approval-list article,.incident-approval-list form{grid-template-columns:1fr}.incident-shift-card{grid-template-columns:6px 1fr}.incident-shift-action{grid-column:2}.incident-report-title{grid-template-columns:1fr;text-align:center}.incident-report-logo{justify-content:center}.incident-line,.incident-two,.incident-question label.wide,.incident-signature,.incident-answer{grid-template-columns:1fr}.incident-question{grid-template-columns:auto auto 1fr}.incident-description textarea{min-height:200px}.modal-report{width:calc(100vw - .7rem)}}

@media print{
  body.incident-print-mode .content>*{display:none!important}
  body.incident-print-mode .content>.modal-overlay{display:block!important;position:static!important;background:#fff!important;padding:0!important}
  body.incident-print-mode .modal-dialog.modal-report{display:block!important;width:100%!important;max-width:none!important;max-height:none!important;border:0!important;box-shadow:none!important;border-radius:0!important}
  body.incident-print-mode .modal-head,body.incident-print-mode .modal-actions{display:none!important}
  body.incident-print-mode .modal-body{padding:0!important;overflow:visible!important}
  body.incident-print-mode .incident-report-sheet{display:grid!important;border:0!important;border-radius:0!important;padding:0!important;gap:3mm!important}
  body.incident-print-mode .incident-description-read{min-height:95mm!important}
  body.incident-print-mode .incident-report-logo img{max-height:22mm!important}
}


/* V29 Kalender: Einsatz per Tagesklick und kompakte Einsatz-Erfassung */
.calendar-day-create{cursor:pointer;transition:border-color .16s ease,background .16s ease}.calendar-day-create:focus-visible{outline:3px solid color-mix(in srgb,var(--blue) 30%,transparent);outline-offset:-3px}.calendar-day-create header{display:flex;align-items:center;gap:.35rem}.day-add-hint{margin-left:auto;display:grid;place-items:center;width:1.45rem;height:1.45rem;border-radius:50%;font-weight:800;color:#81908c;opacity:0;transition:opacity .16s ease,background .16s ease}.calendar-list-create-day{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:1rem}.calendar-list-create-day small{color:var(--blue);font-weight:700}.shift-builder-modal{width:min(960px,100%)!important}.shift-builder-modal-head{background:#fff}.shift-create-preview{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;margin-top:.28rem;color:#667085;font-size:.78rem}.shift-create-preview i{width:.85rem;height:.85rem;border-radius:50%;background:var(--preview-color,#94a3b8)}.shift-create-preview strong{color:#21302d}.shift-create-preview span{padding-left:.65rem;border-left:1px solid var(--line)}.shift-builder-body{background:#f6f8f8}.shift-builder-grid{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}.shift-builder-span{grid-column:1/-1}.shift-builder-card{min-width:0;padding:.9rem 1rem;border:1px solid var(--line);border-radius:.65rem;background:#fff}.shift-builder-card h3{margin:0 0 .65rem;font-size:.78rem;font-weight:800;color:#32413e}.shift-builder-card>input,.shift-builder-card>select,.shift-builder-card>textarea{margin:0}.shift-period-grid{display:grid;grid-template-columns:minmax(105px,.75fr) minmax(145px,1fr) auto minmax(105px,.75fr) minmax(145px,1fr);gap:.55rem;align-items:end}.shift-period-grid label{margin:0;min-width:0}.shift-period-grid label>span{display:block;margin:0 0 .25rem;font-size:.66rem;color:#6e7c78}.shift-period-grid em{align-self:center;padding-top:1rem;font-style:normal;color:#75837f}.shift-assignment-card{position:relative}.employee-dropdown{position:relative}.employee-dropdown-trigger{width:100%;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem .85rem;border:1px solid #DCE5F0;border-radius:.45rem;background:#fff;color:#263431;font:inherit;text-align:left;cursor:pointer}.employee-dropdown-trigger[aria-expanded="true"]{border-color:var(--blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 12%,transparent)}.employee-dropdown-menu{position:absolute;z-index:8;left:0;right:0;top:calc(100% + .3rem);border:1px solid #DCE5F0;border-radius:.55rem;background:#fff;box-shadow:0 18px 45px rgba(15,35,31,.16);overflow:hidden}.employee-dropdown-search{display:block;margin:0;padding:.65rem;border-bottom:1px solid var(--line)}.employee-dropdown-search input{margin:0}.employee-dropdown-options{max-height:280px;overflow:auto;padding:.35rem}.employee-dropdown-option{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:.55rem;margin:0;padding:.55rem .6rem;border-radius:.4rem;cursor:pointer}.employee-dropdown-option input{width:18px;height:18px;margin:0}.employee-dropdown-option>span{display:flex;justify-content:space-between;gap:1rem;min-width:0}.employee-dropdown-option strong{font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.employee-dropdown-option small{font-variant-numeric:tabular-nums;color:#667085;white-space:nowrap}.employee-dropdown-option.is-hidden{display:none}.employee-dropdown-option.is-disabled{opacity:.48}.shift-builder-actions{padding-top:.15rem}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media (hover:hover) and (pointer:fine){.calendar-day-create:hover{background:#F6F9FD;border-color:#adc2bc}.calendar-day-create:hover .day-add-hint{opacity:1;background:#e9f2ef}.employee-dropdown-option:hover{background:#f2f7f5}}
@media(max-width:760px){.shift-builder-grid{grid-template-columns:1fr}.shift-builder-span{grid-column:1}.shift-period-grid{grid-template-columns:1fr 1fr}.shift-period-grid em{grid-column:1/-1;padding:0;text-align:center}.employee-dropdown-menu{position:static;margin-top:.35rem}.employee-dropdown-option>span{display:grid;gap:.15rem}.calendar-day-create .day-add-hint{opacity:.75}}

/* V30 */
.shift-leader-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.shift-leader-pair label{margin:0}.shift-leader-edit-field{display:grid;gap:.35rem}.watchbook-subnav{margin-bottom:1rem}.watchbook-note-text{min-width:260px;max-width:620px;white-space:normal;line-height:1.5}.watchbook-note-table small{display:block;color:#667085;margin-top:.2rem}@media(max-width:700px){.shift-leader-pair{grid-template-columns:1fr}.watchbook-note-text{min-width:220px}}

/* V31: Kategorien im Kalender klar sichtbar und Einsatz-Zuweisung kategoriegesteuert */
.calendar-event{border:1px solid var(--event-color,#0E4FAF)!important;border-left-width:8px!important;background:#fff!important;padding-left:10px!important}
.calendar-list-entry{border-left:8px solid var(--event-color,#0E4FAF)!important;padding-left:1rem!important}
.calendar-event .calendar-category-bar,.calendar-list-entry .calendar-category-bar{display:none}
.employee-dropdown-option.is-category-hidden{display:none!important}
.employee-category-empty{margin:.35rem;border:0;background:#F6F9FD;color:#6c7976}


/* V32: kompaktes Wachbuch und klare Einsatzauswahl */
.watchbook-shift-picker{padding:1rem 1.1rem}.watchbook-picker-title{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.watchbook-picker-title h2{margin:0}.watchbook-picker-title p{margin:.2rem 0 0;color:#667085}.watchbook-result-count{white-space:nowrap;padding:.35rem .65rem;border-radius:999px;background:#eef4f2;color:#50615d;font-size:.72rem;font-weight:800}.watchbook-shift-list{display:grid;border:1px solid var(--line);border-radius:.65rem;overflow:hidden;background:#fff}.watchbook-shift-header,.watchbook-shift-row{display:grid;grid-template-columns:minmax(190px,1.1fr) minmax(190px,1fr) minmax(180px,1fr) auto;gap:1rem;align-items:center}.watchbook-shift-header{padding:.48rem .8rem;background:#f2f6f5;color:#6d7a77;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.watchbook-shift-row{position:relative;padding:.72rem .8rem;border-top:1px solid var(--line)}.watchbook-shift-row:first-of-type{border-top:0}.watchbook-shift-row:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--event-color,#0E4FAF)}.watchbook-shift-category{display:flex;align-items:center;gap:.55rem;min-width:0}.watchbook-shift-category i{width:.72rem;height:.72rem;flex:0 0 auto;border-radius:50%;background:var(--event-color,#0E4FAF)}.watchbook-shift-category strong,.watchbook-shift-time strong,.watchbook-shift-leader strong{font-size:.8rem;min-width:0}.watchbook-shift-time,.watchbook-shift-leader{display:grid;gap:.1rem;min-width:0}.watchbook-shift-time small,.watchbook-shift-leader small{color:#667085;font-size:.7rem}.watchbook-note-button{justify-self:end;white-space:nowrap;margin:0}.watchbook-shift-row:hover{background:#F6F9FD}
@media(max-width:820px){.watchbook-shift-header{display:none}.watchbook-shift-row{grid-template-columns:1fr 1fr;gap:.55rem .9rem;padding:.8rem .85rem}.watchbook-shift-category{grid-column:1/-1}.watchbook-note-button{grid-column:1/-1;justify-self:stretch;text-align:center}.watchbook-picker-title{align-items:flex-start}.watchbook-shift-leader{align-self:end}}
@media(max-width:520px){.watchbook-picker-title{display:grid}.watchbook-result-count{justify-self:start}.watchbook-shift-row{grid-template-columns:1fr}.watchbook-shift-category,.watchbook-note-button{grid-column:1}.watchbook-note-button{width:100%}}


/* V33: Pausenregeln */
.break-rule-table{min-width:0}.break-rule-table th:last-child,.break-rule-table td:last-child{width:1%;white-space:nowrap}.input-with-unit{display:flex;align-items:center;gap:.5rem}.input-with-unit input{min-width:7rem}.input-with-unit span{color:var(--muted,#62706f);font-size:.9rem}.break-category-heading{margin-top:1.5rem}.break-category-grid{margin-top:.75rem}@media(max-width:640px){.break-rule-table th,.break-rule-table td{padding:.6rem .4rem}.input-with-unit input{min-width:0;width:100%}.break-rule-table .compact-button{padding:.55rem .65rem}}

/* V36: hochwertiger, dokumentartiger Stundenzettel */
.timesheet-document,
.timesheet-table-panel,
.payroll-panel{
  border:1px solid #d7e1de;
  border-radius:16px;
  box-shadow:0 10px 28px rgba(24,63,57,.06);
  background:#fff;
}
.timesheet-document{position:relative;overflow:hidden}
.timesheet-document-accent{height:5px;background:linear-gradient(90deg,#1769E0 0 72%,#8ca9a3 72% 100%)}
.timesheet-document-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:start;padding:1.55rem 1.65rem 1.3rem;background:#fff;border-bottom:0}
.timesheet-company-identity{display:flex;gap:1rem;align-items:center;min-width:0}
.timesheet-company-identity .eyebrow{display:block;margin-bottom:.22rem;font-size:.63rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase;color:#788984}
.timesheet-company-identity h2{margin:0;color:#163e38;font-size:1.15rem;line-height:1.2}
.timesheet-company-identity p{margin:.32rem 0 0;color:#73817e;font-size:.72rem;line-height:1.45}
.timesheet-company-logo,.timesheet-logo-fallback{width:62px;height:62px;flex:0 0 auto;border:1px solid #d7e3df;border-radius:12px;background:#fff}
.timesheet-company-logo{object-fit:contain;padding:.38rem}
.timesheet-logo-fallback{display:grid;place-items:center;background:#eef5f3;color:#1769E0;font-size:1.45rem;font-weight:900}
.timesheet-document-title{text-align:right;display:grid;justify-items:end;gap:.15rem;min-width:220px}
.timesheet-document-title span{font-size:.66rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase;color:#73847f}
.timesheet-document-title strong{font-size:1.42rem;line-height:1.2;color:#163e38}
.timesheet-document-title small{color:#87948f;font-size:.68rem}
.timesheet-employee-strip{display:grid;grid-template-columns:minmax(220px,1.55fr) repeat(3,minmax(130px,.75fr));gap:0;margin:0 1.65rem 1.35rem;border:1px solid #DCE5F0;border-radius:12px;overflow:hidden;background:#FFFFFF}
.timesheet-employee-strip>div{display:grid;gap:.16rem;padding:.8rem .95rem;border-left:1px solid #DCE5F0;min-width:0}
.timesheet-employee-strip>div:first-child{border-left:0;background:#f3f8f6}
.timesheet-employee-strip span{font-size:.61rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#81908c}
.timesheet-employee-strip strong{color:#223b36;font-size:.83rem;line-height:1.25;font-variant-numeric:tabular-nums}
.timesheet-employee-strip .timesheet-employee-main strong{font-size:1rem;color:#1769E0}
.timesheet-employee-strip small{font-size:.65rem;color:#788581;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.timesheet-keyfacts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;padding:0 1.65rem 1.55rem;background:#fff}
.timesheet-keyfacts article{position:relative;display:grid;gap:.2rem;padding:.95rem 1rem;border:1px solid #dce6e3!important;border-radius:11px;background:#fff!important;overflow:hidden}
.timesheet-keyfacts article:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#9eb4ae}
.timesheet-keyfacts article:nth-child(2):before{background:#829b95}.timesheet-keyfacts article:nth-child(3):before{background:#647e78}.timesheet-keyfacts .timesheet-gross:before{background:#1769E0}
.timesheet-keyfacts span{font-size:.61rem;font-weight:800;letter-spacing:.065em;text-transform:uppercase;color:#7a8985}
.timesheet-keyfacts strong{font-size:1.28rem;color:#203c36;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.timesheet-keyfacts small{font-size:.62rem;color:#667085}
.timesheet-keyfacts .timesheet-gross{background:#f2f8f6!important;border-color:#cfe0db!important}
.timesheet-keyfacts .timesheet-gross strong{font-size:1.46rem;color:#1769E0}
.timesheet-table-panel,.payroll-panel{overflow:hidden;margin-top:1.15rem}
.timesheet-panel-head{padding:1.05rem 1.25rem;border-bottom:1px solid #dde6e3;background:#FFFFFF}
.timesheet-panel-head h2{font-size:1.02rem;color:#193f39;letter-spacing:-.01em}
.timesheet-panel-head p{max-width:760px;color:#7b8985}
.timesheet-tablewrap,.payroll-tablewrap{overflow:auto;background:#fff}
.timesheet-table thead th,.payroll-table thead th{padding:.72rem .72rem;background:#eef4f2;color:#536762;border-bottom:1px solid #d2dedb;font-size:.64rem;font-weight:850;letter-spacing:.055em;text-transform:uppercase}
.timesheet-table tbody td,.payroll-table tbody td{padding:.78rem .72rem;border-bottom:1px solid #DCE5F0;color:#30433f;font-size:.75rem}
.timesheet-table tbody tr:nth-child(even),.payroll-table tbody tr:nth-child(even){background:#FFFFFF}
.timesheet-table tbody tr:hover,.payroll-table tbody tr:hover{background:#F6F9FD}
.timesheet-table tfoot th,.payroll-table tfoot th{padding:.78rem .72rem;background:#edf5f2!important;color:#0E4FAF!important;border-top:2px solid #c7d8d3;font-size:.73rem;font-weight:850}
.timesheet-category{display:inline-flex;align-items:center;gap:.45rem;min-width:0}
.timesheet-category i{width:8px;height:28px;border-radius:5px;background:var(--category-color,#667085);flex:0 0 auto}
.timesheet-category strong{line-height:1.25}
.allowance-chip{border:1px solid transparent;border-radius:999px;padding:.25rem .48rem;font-size:.61rem;font-weight:800}
.allowance-regular{background:#f1f4f3;color:#50615d;border-color:#e1e7e5}.allowance-night{background:#eef0f7;color:#475274;border-color:#dfe3ef}.allowance-sunday{background:#f8f2e7;color:#74541f;border-color:#eadfc9}.allowance-holiday{background:#f8ecec;color:#824141;border-color:#edd9d9}
.payroll-table td:first-child strong{color:#1d4039}
.timesheet-payroll-total{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:1rem 1.2rem 0;padding:1rem 1.1rem;border:1px solid #cbdcd7;border-radius:11px;background:#f1f7f5}
.timesheet-payroll-total div{display:grid;gap:.14rem}.timesheet-payroll-total span{font-size:.74rem;font-weight:850;color:#294a43}.timesheet-payroll-total small{font-size:.65rem;color:#7b8985}.timesheet-payroll-total>strong{font-size:1.45rem;color:#1769E0;font-variant-numeric:tabular-nums;white-space:nowrap}
.payroll-note{margin-top:1rem;padding:.8rem 1.2rem;border-top:1px solid #e3e9e7;background:#FFFFFF;color:#87918e;font-size:.64rem}
.timesheet-signoff{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin:1.4rem 0 0;padding:1.2rem 1.35rem;border:1px solid #d7e1de;border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(24,63,57,.04)}
.timesheet-signoff>div{display:grid;grid-template-columns:1fr;gap:.35rem}.timesheet-signoff span{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#6f7f7b}.timesheet-signoff i{display:block;height:30px;border-bottom:1px solid #9eaaa7}.timesheet-signoff small{font-size:.61rem;color:#667085}

@media(max-width:1000px){
  .timesheet-employee-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.timesheet-employee-strip>div:nth-child(3){border-left:0;border-top:1px solid #DCE5F0}.timesheet-employee-strip>div:nth-child(4){border-top:1px solid #DCE5F0}
}
@media(max-width:760px){
  .timesheet-document-head{grid-template-columns:1fr;gap:1rem}.timesheet-document-title{text-align:left;justify-items:start;min-width:0}.timesheet-keyfacts{grid-template-columns:repeat(2,minmax(0,1fr))}.timesheet-signoff{grid-template-columns:1fr}.timesheet-payroll-total{align-items:flex-start;flex-direction:column}
}
@media(max-width:520px){
  .timesheet-document-head{padding:1.2rem}.timesheet-employee-strip{margin:0 1.2rem 1rem;grid-template-columns:1fr}.timesheet-employee-strip>div{border-left:0!important;border-top:1px solid #DCE5F0}.timesheet-employee-strip>div:first-child{border-top:0}.timesheet-keyfacts{grid-template-columns:1fr;padding:0 1.2rem 1.2rem}.timesheet-company-identity{align-items:flex-start}.timesheet-company-logo,.timesheet-logo-fallback{width:52px;height:52px}.timesheet-signoff{padding:1rem}
}

@media print{
  @page{size:A4 portrait;margin:9mm 8mm 9mm}
  .timesheet-document,.timesheet-table-panel,.payroll-panel,.timesheet-signoff{box-shadow:none!important;border:1px solid #aebbb7!important;border-radius:0!important}
  .timesheet-document-accent{height:2.2mm!important;background:#1769E0!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .timesheet-document-head{display:grid!important;grid-template-columns:1.25fr .75fr!important;gap:5mm!important;padding:4mm 5mm 3.5mm!important}
  .timesheet-company-identity{gap:3mm!important}.timesheet-company-logo,.timesheet-logo-fallback{width:14mm!important;height:14mm!important;border-radius:1mm!important;padding:1mm!important}.timesheet-company-identity .eyebrow{font-size:5.5pt!important}.timesheet-company-identity h2{font-size:10.5pt!important}.timesheet-company-identity p{font-size:6pt!important;margin-top:1mm!important}
  .timesheet-document-title{min-width:0!important}.timesheet-document-title span{font-size:5.5pt!important}.timesheet-document-title strong{font-size:13pt!important}.timesheet-document-title small{font-size:5.7pt!important}
  .timesheet-employee-strip{display:grid!important;grid-template-columns:1.5fr .7fr .7fr 1fr!important;margin:0 5mm 3.5mm!important;border-radius:0!important}.timesheet-employee-strip>div{padding:2mm 2.2mm!important;border-top:0!important;border-left:1px solid #c8d2cf!important}.timesheet-employee-strip>div:first-child{border-left:0!important}.timesheet-employee-strip span{font-size:5.2pt!important}.timesheet-employee-strip strong{font-size:6.6pt!important}.timesheet-employee-strip .timesheet-employee-main strong{font-size:7.5pt!important}.timesheet-employee-strip small{font-size:5pt!important}
  .timesheet-keyfacts{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:2mm!important;padding:0 5mm 4mm!important}.timesheet-keyfacts article{padding:2.2mm 2.6mm!important;border:1px solid #bfcac7!important;border-radius:0!important}.timesheet-keyfacts article:before{width:1mm!important}.timesheet-keyfacts span{font-size:5.1pt!important}.timesheet-keyfacts strong,.timesheet-keyfacts .timesheet-gross strong{font-size:9pt!important}.timesheet-keyfacts small{font-size:4.8pt!important}
  .timesheet-table-panel,.payroll-panel{margin-top:3.5mm!important;break-inside:auto!important}.timesheet-panel-head{padding:2.5mm 3.2mm!important}.timesheet-panel-head h2{font-size:8.5pt!important}.timesheet-panel-head p{font-size:5.6pt!important;margin-top:.8mm!important}
  .timesheet-table,.payroll-table{min-width:0!important;width:100%!important;table-layout:fixed!important}.timesheet-table th,.timesheet-table td,.payroll-table th,.payroll-table td{padding:1.2mm .9mm!important;font-size:5.8pt!important;line-height:1.22!important}.timesheet-table th,.payroll-table th{font-size:5.1pt!important}.timesheet-table th:nth-child(1){width:11%}.timesheet-table th:nth-child(2){width:9%}.timesheet-table th:nth-child(3){width:19%}.timesheet-table th:nth-child(4){width:8%}.timesheet-table th:nth-child(5){width:11%}.timesheet-table th:nth-child(6){width:8%}.timesheet-table th:nth-child(7){width:9%}.timesheet-table th:nth-child(8){width:25%}.timesheet-category{gap:1mm!important}.timesheet-category i{width:1.4mm!important;height:6mm!important;border-radius:.5mm!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.allowance-chip{padding:.45mm .65mm!important;border-radius:0!important;font-size:4.7pt!important;background:#fff!important;color:#222!important;border:1px solid #cdd5d2!important}
  .timesheet-payroll-total{margin:2.5mm 3mm 0!important;padding:2.5mm 3mm!important;border-radius:0!important;background:#f2f5f4!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.timesheet-payroll-total span{font-size:6pt!important}.timesheet-payroll-total small{font-size:5pt!important}.timesheet-payroll-total>strong{font-size:10pt!important}.payroll-note{margin-top:2mm!important;padding:2mm 3mm!important;font-size:5pt!important}
  .timesheet-signoff{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12mm!important;margin-top:5mm!important;padding:3mm 4mm!important;break-inside:avoid!important}.timesheet-signoff span{font-size:5.7pt!important}.timesheet-signoff i{height:9mm!important}.timesheet-signoff small{font-size:5pt!important}
}


/* V37: Digitale Unterschriften und Paddys-Arbeitszeitnachweis */
.signature-pad{display:grid;gap:.65rem;margin-top:.65rem}.signature-pad canvas{display:block;width:100%;height:210px;background:#fff;border:2px solid #b9c7c3;border-radius:.7rem;touch-action:none;cursor:crosshair;outline:none}.signature-pad canvas:focus{border-color:var(--blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 14%,transparent)}.signature-pad-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.signature-pad-actions span{font-size:.76rem;color:#667085}.timesheet-signature-box img{display:block;max-width:260px;max-height:75px;object-fit:contain;margin:.25rem 0 .35rem}.timesheet-signature-box .button{margin-top:.5rem;justify-self:start}
.paddys-proof-page-title{align-items:flex-end}.paddys-proof-sheet{background:#fff;color:#111;padding:1.35rem 1.45rem}.paddys-proof-head{display:grid;grid-template-columns:220px 1fr 220px;align-items:center;min-height:130px}.paddys-proof-logo{grid-column:1;display:flex;justify-content:center}.paddys-proof-logo img{max-width:180px;max-height:115px;object-fit:contain}.paddys-logo-fallback{width:90px;height:90px;border:2px solid #64716e;display:grid;place-items:center;font-size:2rem;font-weight:800}.paddys-proof-object{grid-column:2;display:grid;justify-items:center;gap:.3rem}.paddys-proof-object span{font-size:.82rem}.paddys-proof-object strong{font-size:1.35rem;letter-spacing:.04em}.paddys-proof-sheet>h2{text-align:center;text-decoration:underline;margin:.2rem 0 .9rem;font-size:1.15rem}.paddys-proof-tablewrap{overflow-x:auto}.paddys-proof-table{width:100%;min-width:980px;border-collapse:collapse;table-layout:fixed}.paddys-proof-table th,.paddys-proof-table td{border:1px solid #252525;padding:.55rem .45rem;text-align:center;vertical-align:middle;background:#fff;color:#111}.paddys-proof-table th{font-size:.72rem;font-weight:700}.paddys-proof-table td{height:76px;font-size:.75rem}.paddys-proof-table th:nth-child(1){width:9%}.paddys-proof-table th:nth-child(2){width:23%}.paddys-proof-table th:nth-child(3){width:7%}.paddys-proof-table th:nth-child(4),.paddys-proof-table th:nth-child(5),.paddys-proof-table th:nth-child(6){width:8%}.paddys-proof-table th:nth-child(7),.paddys-proof-table th:nth-child(8){width:18.5%}.paddys-proof-table td:nth-child(2){text-align:left}.paddys-proof-table td small{display:block;margin-top:.18rem;color:#5c6865;font-size:.64rem}.paddys-signature-cell img{display:block;max-width:150px;max-height:58px;object-fit:contain;margin:.15rem auto}.paddys-signature-cell .textlink{display:inline-block;margin-top:.3rem;font-size:.7rem}.paddys-customer-cell{min-width:180px}.paddys-customer-cell>strong{display:block;margin-bottom:.35rem}.signature-empty{display:block;color:#87918e;font-size:.68rem}.paddys-proof-meta{display:grid;grid-template-columns:auto 1fr auto 1fr;gap:.35rem 1rem;margin-top:.8rem;padding-top:.65rem;border-top:1px solid #aab4b1;font-size:.72rem}.paddys-proof-meta span{color:#6e7a77}.paddys-proof-meta strong{font-weight:750}
@media(max-width:700px){.signature-pad canvas{height:180px}.paddys-proof-sheet{padding:.85rem}.paddys-proof-head{grid-template-columns:100px 1fr;min-height:95px}.paddys-proof-logo img{max-width:90px;max-height:78px}.paddys-proof-object{grid-column:2}.paddys-proof-meta{grid-template-columns:1fr}.paddys-proof-table{min-width:900px}}
@media print{
  .timesheet-signature-box img{max-width:48mm!important;max-height:14mm!important}.timesheet-signature-box .button{display:none!important}
  @page paddys-proof-page{size:A4 landscape;margin:10mm}
  body.paddys-print-mode{background:#fff!important}body.paddys-print-mode .sidebar,body.paddys-print-mode .topbar,body.paddys-print-mode .mobile-menu,body.paddys-print-mode .content>*{display:none!important}body.paddys-print-mode .content>.paddys-proof-sheet{display:block!important;position:static!important;width:100%!important;max-width:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important;page:paddys-proof-page}body.paddys-print-mode .paddys-proof-head{grid-template-columns:45mm 1fr 45mm!important;min-height:28mm!important}.paddys-proof-logo img{max-width:40mm!important;max-height:26mm!important}.paddys-proof-sheet>h2{font-size:11pt!important;margin:1mm 0 3mm!important}.paddys-proof-tablewrap{overflow:visible!important}.paddys-proof-table{min-width:0!important;width:100%!important;table-layout:fixed!important}.paddys-proof-table th,.paddys-proof-table td{padding:1.4mm 1.2mm!important;font-size:7pt!important;line-height:1.15!important}.paddys-proof-table td{height:16mm!important}.paddys-proof-table td small{font-size:5.6pt!important}.paddys-signature-cell img{max-width:34mm!important;max-height:12mm!important}.paddys-proof-meta{font-size:6.5pt!important;margin-top:2mm!important;padding-top:1.5mm!important}.paddys-proof-sheet .no-print{display:none!important}
}


/* V39: Monatsweiser Paddys-Arbeitszeitnachweis mit manueller Zeiterfassung */
.paddys-capture-panel{overflow:hidden}.paddys-capture-list{display:grid}.paddys-capture-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border-top:1px solid #e2e9e7}.paddys-capture-row:first-child{border-top:0}.paddys-capture-row>div{display:grid;gap:.18rem;min-width:0}.paddys-capture-row strong{font-size:.9rem}.paddys-capture-row small{color:#667085;font-size:.76rem}.paddys-customer-capture{background:#F6F9FD}.paddys-proof-object small{font-size:.72rem;color:#5e6b67;font-weight:650}.paddys-time-entry{display:grid;grid-template-columns:1fr 1fr minmax(150px,.8fr);gap:.8rem;align-items:end;margin:1rem 0}.paddys-calculated-time{min-height:48px;border:1px solid #DCE5F0;border-radius:.65rem;background:#f6f9f8;padding:.55rem .8rem;display:grid;align-content:center;gap:.12rem}.paddys-calculated-time span{font-size:.68rem;color:#687773;text-transform:uppercase;letter-spacing:.06em}.paddys-calculated-time strong{font-size:1.05rem;color:#143d38}.paddys-empty-row td{color:transparent}.paddys-proof-table td .signature-empty{margin:0}.paddys-proof-table .paddys-signature-cell small{line-height:1.15}
@media(max-width:700px){.paddys-capture-row{align-items:flex-start;flex-direction:column}.paddys-capture-row .button{width:100%;justify-content:center}.paddys-time-entry{grid-template-columns:1fr 1fr}.paddys-calculated-time{grid-column:1/-1}}

@media print{
  body.paddys-print-mode .paddys-proof-table td{height:12mm!important}
  body.paddys-print-mode .paddys-proof-table th,body.paddys-print-mode .paddys-proof-table td{padding:1mm .8mm!important;font-size:6.4pt!important}
  body.paddys-print-mode .paddys-proof-table td small{font-size:5.1pt!important;margin-top:.4mm!important}
  body.paddys-print-mode .paddys-signature-cell img{max-width:31mm!important;max-height:9mm!important}
  body.paddys-print-mode .paddys-proof-dense .paddys-proof-table td{height:8mm!important}
  body.paddys-print-mode .paddys-proof-dense .paddys-proof-table th,body.paddys-print-mode .paddys-proof-dense .paddys-proof-table td{padding:.65mm!important;font-size:5.8pt!important}
  body.paddys-print-mode .paddys-proof-dense .paddys-signature-cell img{max-height:6.2mm!important}
  body.paddys-print-mode .paddys-proof-ultra .paddys-proof-table td{height:5.5mm!important}
  body.paddys-print-mode .paddys-proof-ultra .paddys-proof-table th,body.paddys-print-mode .paddys-proof-ultra .paddys-proof-table td{padding:.35mm .5mm!important;font-size:5.1pt!important;line-height:1.05!important}
  body.paddys-print-mode .paddys-proof-ultra .paddys-proof-table td small{font-size:4.4pt!important;margin-top:0!important}
  body.paddys-print-mode .paddys-proof-ultra .paddys-signature-cell img{max-height:4.2mm!important}
  body.paddys-print-mode .paddys-proof-mega .paddys-proof-head{min-height:20mm!important}
  body.paddys-print-mode .paddys-proof-mega .paddys-proof-logo img{max-height:18mm!important}
  body.paddys-print-mode .paddys-proof-mega>h2{margin:.5mm 0 1.5mm!important;font-size:9pt!important}
  body.paddys-print-mode .paddys-proof-mega .paddys-proof-table td{height:3.8mm!important}
  body.paddys-print-mode .paddys-proof-mega .paddys-proof-table th,body.paddys-print-mode .paddys-proof-mega .paddys-proof-table td{padding:.2mm .4mm!important;font-size:4.5pt!important;line-height:1!important}
  body.paddys-print-mode .paddys-proof-mega .paddys-proof-table td small{font-size:3.8pt!important;margin:0!important}
  body.paddys-print-mode .paddys-proof-mega .paddys-signature-cell img{max-height:3mm!important}
  body.paddys-print-mode .paddys-proof-mega .paddys-proof-meta{font-size:5pt!important;margin-top:1mm!important;padding-top:1mm!important}
}
@media print{
  body.paddys-print-mode .paddys-proof-table tbody td{height:calc(122mm / var(--paddys-row-count, 10))!important;min-height:0!important}
}

/* V40: Kategorienfarben im Kalender CSP-sicher ohne Inline-Styles */
.calendar-event,.calendar-list-entry{position:relative!important;border-color:var(--line)!important;border-left:1px solid var(--line)!important;overflow:hidden}
.calendar-event{padding-left:16px!important}
.calendar-list-entry{padding-left:1.25rem!important}
.calendar-category-color{position:absolute;left:0;top:0;width:8px;height:100%;display:block;pointer-events:none}
.calendar-legend-color{width:12px;height:12px;display:block;flex:0 0 12px}
.calendar-legend i{display:none}

/* V41: versiegelte Arbeitszeitnachweiszeilen */
.proof-row-locked{background:#f4f7f6}.proof-row-locked .status{white-space:nowrap}.paddys-capture-row .row-actions{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:flex-end}
@media(max-width:700px){.paddys-capture-row .row-actions{width:100%;display:grid}.paddys-capture-row .row-actions .button{width:100%;justify-content:center}}

/* V42: Masterprotokoll, Administrator-Freigabe und kontrollierte Stundenzettel-Rücksetzung */
.section-actions form,.row-actions form{margin:0}.master-audit-info{border-left:4px solid #1769E0}.master-audit-info .notice{margin-bottom:0}.master-archive-cell{display:grid;gap:.35rem;min-width:260px}.master-archive-cell small{color:#667085}.master-archive-cell .button{justify-self:start}.audit-subnav{overflow-x:auto}.audit-subnav a{white-space:nowrap}
@media(max-width:700px){.master-archive-cell{min-width:0}.master-archive-cell .button{width:100%}.section-actions form{width:100%}.section-actions form .button{width:100%}}

/* V43: Einsatzmittel und Masterarchiv-Freigabe */
.shift-equipment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.shift-equipment-grid label{margin:0}.shift-equipment-grid textarea{min-height:120px}.category-settings-form{display:grid;gap:16px}.master-unlock-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.master-unlock-options>section{border:1px solid var(--line);border-radius:14px;padding:16px}.master-unlock-options h3{margin:0 0 6px}.master-unlock-options p{margin:0 0 12px}.master-unlock-options form{margin:0}
@media(max-width:700px){.shift-equipment-grid,.master-unlock-options{grid-template-columns:1fr}}


/* V44: Datenschutzerklärung und E-Mail-Signatur */
.auth-legal-link{margin:.85rem 0 0;text-align:center}.sidebar-legal-link{display:block;margin-top:.65rem;color:#7f908c;font-size:.74rem;text-decoration:none}.sidebar-legal-link:hover{text-decoration:underline;color:#DCE5F0}.privacy-public{margin:0;background:#f3f6f5;color:#142033;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.privacy-shell{width:min(940px,calc(100% - 32px));margin:0 auto;padding:40px 0 64px}.privacy-top{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:24px}.privacy-top h1{margin:.15rem 0 .35rem;font-size:clamp(1.8rem,4vw,2.65rem)}.privacy-top p{margin:0;color:#657571}.privacy-card{background:#fff;border:1px solid #DCE5F0;border-radius:16px;padding:22px 24px;margin:0 0 14px;box-shadow:0 8px 24px rgba(23,50,46,.045)}.privacy-card h2{font-size:1.08rem;margin:0 0 .65rem;color:#173f38}.privacy-card p{margin:.35rem 0;line-height:1.65;color:#354b47}.privacy-legal-note{border-left:4px solid #aab9b5;background:#FFFFFF}.privacy-settings-card textarea{resize:vertical}.privacy-settings-card .notice{margin-bottom:16px}
@media(max-width:640px){.privacy-shell{width:min(100% - 20px,940px);padding:22px 0 40px}.privacy-top{display:grid}.privacy-top .button{width:100%;justify-content:center}.privacy-card{padding:18px 16px;border-radius:12px}}


/* V45: eigenes Mitarbeiterprofil */
.mini-profile-link{color:inherit;text-decoration:none;border-radius:.65rem}.mini-profile-link:hover{background:rgba(255,255,255,.06)}.avatar-link{text-decoration:none}.self-profile-card{overflow:hidden}.self-profile-layout{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(320px,1.3fr);gap:1.5rem;padding:1.25rem}.self-profile-photo{min-height:260px;border-right:1px solid var(--line);padding-right:1.5rem}.self-profile-fields{display:grid;align-content:start;gap:.8rem}.self-profile-identity{display:grid;gap:.15rem;padding:1rem;border:1px solid var(--line);border-radius:.75rem;background:#F6F9FD}.self-profile-identity span{font-size:.66rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.self-profile-identity strong{font-size:1.08rem}.self-profile-identity small{color:var(--muted)}.self-profile-phone-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.self-profile-fields .modal-actions{margin-top:.3rem}
@media(max-width:720px){.self-profile-layout{grid-template-columns:1fr}.self-profile-photo{min-height:200px;border-right:0;border-bottom:1px solid var(--line);padding-right:0;padding-bottom:1rem}.self-profile-phone-grid{grid-template-columns:1fr}}

/* V48: Mobile-App/Safe-Area-Unterstuetzung fuer Android und spaeter iOS. */
@supports (padding: max(0px)) {
  .app-main{padding-bottom:max(0px, env(safe-area-inset-bottom));}
  .sidebar{padding-left:max(1rem, env(safe-area-inset-left));}
  @media(max-width:980px){.mobile-topbar{padding-top:max(.7rem, env(safe-area-inset-top));}}
}


/* V50: Mobile Tabellen ohne horizontales Scrollen; Kalender bleibt die einzige horizontale Ausnahme. */
@media screen and (max-width:700px){
  html,body,.app-layout,.workspace,.content{max-width:100%;overflow-x:hidden}
  .tablewrap,.timesheet-tablewrap,.payroll-tablewrap,.paddys-proof-tablewrap{overflow:visible!important;max-width:100%}
  .report-table table,.captured-times-table table,.timesheet-table,.payroll-table,.paddys-proof-table,.tablewrap table{min-width:0!important;width:100%!important;max-width:100%!important}

  /* Untermenues brechen auf mehrere Zeilen um, statt seitlich zu scrollen. */
  .company-subnav,.audit-subnav{display:flex;flex-wrap:wrap;overflow:visible!important;gap:.35rem}
  .company-subnav a,.audit-subnav a{white-space:normal!important;flex:1 1 auto;text-align:center;padding:.58rem .7rem}
  .top nav{overflow:visible!important;flex-wrap:wrap}

  /* Normale Datentabellen werden mobil zu Karten. Die Beschriftungen werden per JS aus dem Tabellenkopf uebernommen. */
  .mobile-card-table{display:block!important;border-collapse:separate!important;background:transparent!important}
  .mobile-card-table>thead{display:none!important}
  .mobile-card-table>tbody,.mobile-card-table>tfoot{display:grid!important;gap:.75rem!important;width:100%!important}
  .mobile-card-table>tbody>tr,.mobile-card-table>tfoot>tr{display:grid!important;width:100%!important;min-width:0!important;border:1px solid var(--line)!important;border-radius:.8rem!important;overflow:hidden!important;background:#fff!important;box-shadow:0 4px 14px rgba(24,39,75,.04)!important}
  .mobile-card-table>tfoot>tr{background:#EAF3FF!important;border-color:#d4e4df!important}
  .mobile-card-table>tbody>tr>td,.mobile-card-table>tbody>tr>th,.mobile-card-table>tfoot>tr>td,.mobile-card-table>tfoot>tr>th{display:grid!important;grid-template-columns:minmax(88px,36%) minmax(0,1fr)!important;align-items:start!important;gap:.65rem!important;width:100%!important;min-width:0!important;height:auto!important;padding:.62rem .72rem!important;border:0!important;border-bottom:1px solid #DCE5F0!important;background:transparent!important;text-align:left!important;white-space:normal!important;overflow-wrap:anywhere!important}
  .mobile-card-table>tbody>tr>:last-child,.mobile-card-table>tfoot>tr>:last-child{border-bottom:0!important}
  .mobile-card-table>tbody>tr>td::before,.mobile-card-table>tbody>tr>th::before,.mobile-card-table>tfoot>tr>td::before,.mobile-card-table>tfoot>tr>th::before{content:attr(data-mobile-label);font-size:.66rem;font-weight:800;line-height:1.35;text-transform:uppercase;letter-spacing:.045em;color:#73817d;overflow-wrap:anywhere}
  .mobile-card-table .mobile-full-cell{display:block!important;grid-template-columns:1fr!important;text-align:left!important}
  .mobile-card-table .mobile-full-cell::before{display:none!important;content:none!important}
  .mobile-card-table .row-actions{display:grid!important;gap:.35rem!important;width:100%!important;justify-content:stretch!important}
  .mobile-card-table .row-actions .button,.mobile-card-table .row-actions .textlink{width:100%!important;justify-content:flex-start!important;margin:0!important}
  .mobile-card-table .allowance-hours{display:flex!important;flex-wrap:wrap!important;gap:.3rem!important;min-width:0!important}
  .mobile-card-table input,.mobile-card-table select,.mobile-card-table textarea{min-width:0!important;max-width:100%!important}
  .mobile-card-table .report-category,.mobile-card-table .timesheet-category{min-width:0!important;max-width:100%!important;white-space:normal!important}

  /* Der offizielle Paddys-Nachweis bleibt beim Drucken eine DIN-A4-Tabelle; nur die Bildschirmansicht wird mobil lesbar. */
  .paddys-proof-tablewrap .mobile-card-table{table-layout:auto!important}
  .paddys-proof-tablewrap .mobile-card-table td,.paddys-proof-tablewrap .mobile-card-table th{height:auto!important;text-align:left!important}
}

/* V53: Plattform-Datenbank-Pool */
.button:disabled{opacity:.5;cursor:not-allowed;filter:none}.platform-db-hint{font-size:.82rem;color:var(--muted)}

/* V54: Qualifikationen und Datenschutz-Werkzeuge */
.qualification-editor-list{display:grid;gap:12px}.qualification-editor-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;padding:14px;border:1px solid var(--line);border-radius:14px;background:#F6F9FD}.qualification-editor-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.qualification-editor-grid .wide{grid-column:1/-1}.qualification-remove{margin-bottom:2px}.qualification-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.qualification-card{display:grid;gap:6px;padding:14px;border:1px solid var(--line);border-left:4px solid #0E4FAF;border-radius:12px;background:#fff}.qualification-card>div{display:flex;flex-direction:column;gap:2px}.qualification-card small{color:var(--muted)}.qualification-card p{margin:2px 0 0;white-space:normal}.qualification-card.is-expiring{border-left-color:#d6a43b;background:#fffdf7}.qualification-card.is-expired{border-left-color:#b74f4f;background:#fff8f8}
.privacy-toolbox{margin-top:16px}.privacy-document-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.privacy-document-card{display:grid;gap:6px;padding:16px;border:1px solid var(--line);border-radius:14px;text-decoration:none;color:inherit;background:#fff;transition:transform .15s ease,border-color .15s ease}.privacy-document-card:hover{transform:translateY(-1px);border-color:#83aaa1}.privacy-document-card strong{color:#1769E0}.privacy-document-card small{color:var(--muted);line-height:1.45}.privacy-incident-list{display:grid;gap:12px;margin-top:16px}.privacy-incident-card{display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff}.privacy-incident-card>div{display:grid;gap:2px}.privacy-incident-card small{color:var(--muted)}.privacy-incident-card p{margin:0;line-height:1.55}.danger-text{color:#a23f3f;font-weight:700}
@media(max-width:900px){.qualification-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.privacy-document-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.qualification-editor-row{grid-template-columns:1fr}.qualification-editor-grid,.qualification-cards,.privacy-document-grid{grid-template-columns:1fr}.qualification-remove{width:100%}.privacy-toolbox .inline{display:grid!important;grid-template-columns:1fr!important}.privacy-toolbox .inline .button{width:100%}}

/* Druckansicht fuer V54-Datenschutzdokumente */
.privacy-doc-body{margin:0;background:#f3f6f5;color:#142033;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.privacy-doc-shell{width:min(920px,calc(100% - 32px));margin:32px auto 64px}.privacy-doc-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:18px}.privacy-doc-paper{background:#fff;border:1px solid #DCE5F0;border-radius:16px;padding:34px;box-shadow:0 10px 30px rgba(23,50,46,.05)}.privacy-doc-paper h1{margin-top:0}.privacy-doc-paper h2{margin-top:1.7rem;color:#1769E0}.privacy-doc-paper p,.privacy-doc-paper li{line-height:1.65}.privacy-doc-warning{padding:12px 14px;border-left:4px solid #d6a43b;background:#fff8e7;margin:16px 0}
@media print{.privacy-doc-body{background:#fff}.privacy-doc-shell{width:100%;margin:0}.privacy-doc-toolbar{display:none}.privacy-doc-paper{border:0;box-shadow:none;border-radius:0;padding:0}}


/* V55: Digitale Personalakte und Schichttausch */
.personnel-document-list,.shift-swap-list{display:grid;gap:.8rem}.personnel-document-card,.shift-swap-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;border:1px solid var(--border,#dce4e2);border-radius:14px;padding:1rem;background:#fff}.personnel-document-card>div,.shift-swap-card>div{display:grid;gap:.2rem;min-width:0}.personnel-document-card small,.shift-swap-card small{color:#667085}.personnel-document-card.is-expired{border-color:#c97b72;background:#fff8f7}.personnel-document-category{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:#52706a}.shift-swap-card>i{width:5px;align-self:stretch;border-radius:8px;background:var(--event-color,#0E4FAF);flex:none}.shift-swap-card form{min-width:min(320px,100%)}.personnel-upload-card input[type=file]{padding:.75rem;background:#f7f9f8;border-radius:10px}.privacy-card ul{padding-left:1.2rem;display:grid;gap:.45rem}.privacy-card li{line-height:1.55}
@media(max-width:700px){.personnel-document-card,.shift-swap-card{align-items:stretch;flex-direction:column}.personnel-document-card .row-actions,.shift-swap-card .row-actions{width:100%}.personnel-document-card .button,.shift-swap-card .button{width:100%}.shift-swap-card form{min-width:0;width:100%}}


/* V57: Schichttausch, Support und Plattformanfragen */
.weekly-plan-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.7rem}.weekly-day{padding:0;overflow:hidden}.weekly-day>header{display:flex;justify-content:space-between;gap:.5rem;padding:.85rem;border-bottom:1px solid var(--line)}.weekly-day>header div{display:grid}.weekly-day>header span,.weekly-day>header small{color:var(--muted);font-size:.72rem}.weekly-day.is-today{outline:2px solid #8ecbc0}.weekly-shifts{display:grid;padding:.55rem}.weekly-shift{display:grid;grid-template-columns:4px 1fr auto;gap:.6rem;align-items:center;padding:.65rem .45rem;border-radius:.65rem}.weekly-shift:hover{background:#EAF3FF}.weekly-shift i{height:100%;min-height:2.3rem;border-radius:1rem;background:var(--event-color)}.weekly-shift div{display:grid;min-width:0}.weekly-shift span{font-size:.68rem;color:var(--muted)}.weekly-shift b{font-size:.64rem;color:#0E4FAF}.swap-layout,.support-layout{align-items:start}.swap-card-list{display:grid;gap:.75rem}.swap-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:start;padding:1rem;border:1px solid var(--line);border-radius:.9rem;background:#fff}.swap-card>div{display:grid;gap:.2rem}.swap-card span,.swap-card small{color:var(--muted);font-size:.75rem}.swap-card form{min-width:260px}.manager-swap{background:#F6F9FD}.support-ticket-list{display:grid;gap:.45rem}.support-ticket-link{display:flex;justify-content:space-between;gap:.8rem;padding:.75rem;border:1px solid var(--line);border-radius:.7rem}.support-ticket-link.active,.support-ticket-link:hover{background:#EAF3FF;border-color:#b8d8d1}.support-ticket-link span{display:grid}.support-ticket-link small{color:var(--muted)}.support-ticket-link b{font-size:.7rem}.support-messages{display:grid;gap:.65rem;margin:0 0 1rem}.support-message{max-width:88%;padding:.75rem .85rem;border-radius:.85rem;background:#f3f6f6}.support-message.from-support{justify-self:start;background:#e6f4f0}.support-message.from-tenant{justify-self:end;background:#f2f4f7}.support-message header{display:flex;justify-content:space-between;gap:1rem;font-size:.72rem}.support-message header time{color:var(--muted)}.support-message p{margin:.35rem 0 0;white-space:normal}.platform-request-list{display:grid;gap:.8rem}.platform-request-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,.4fr);gap:1rem;padding:1rem;border:1px solid var(--line);border-radius:.9rem}.platform-request-card>div:first-child{display:grid;gap:.25rem}.platform-request-card small,.platform-request-card time{color:var(--muted);font-size:.72rem}.platform-request-actions{display:grid;gap:.55rem;align-content:start}.platform-request-actions form{display:grid;gap:.45rem;margin:0}.platform-request-actions textarea{width:100%}.platform-thread{margin-top:.65rem;max-height:360px;overflow:auto}.support-admin-card{align-items:start}
@media(max-width:1100px){.weekly-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.weekly-plan-grid{grid-template-columns:1fr}.swap-card,.platform-request-card{grid-template-columns:1fr}.swap-card form{min-width:0}.support-message{max-width:96%}}


/* V58: Wochenansicht im Kalender und kompaktes Dashboard */
.calendar-week-view{padding:.85rem}.calendar-week-nav{display:flex;align-items:center;justify-content:center;gap:.55rem;flex-wrap:wrap;margin-bottom:.8rem}.calendar-week-nav>div{display:grid;min-width:210px;text-align:center}.calendar-week-nav>div small{color:var(--muted);font-size:.68rem}.calendar-week-grid{margin:0}.dashboard-next{padding-top:.85rem}.dashboard-next .section-title{margin-bottom:.35rem}.dashboard-next .shift-row{padding:.7rem 0}.dashboard-next .shift-row time{width:2.25rem;height:2.4rem}.dashboard-next .shift-row>i{height:1.9rem}.dashboard-metrics .metric-card{padding:.85rem}.dashboard-metrics .metric-card>i{width:2rem;height:2rem}.dashboard-metrics .metric-card strong{font-size:1.08rem}.dashboard-metrics .metric-card small{line-height:1.2}
@media(max-width:850px){.welcome-row{gap:.75rem;margin-bottom:.8rem}.welcome-row>div>p:last-child{display:none}.compact-clock{padding:.7rem .8rem}.dashboard-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;margin-bottom:.55rem}.dashboard-metrics .metric-card{display:grid;grid-template-columns:auto 1fr;gap:.35rem .5rem;padding:.65rem;border-radius:.75rem}.dashboard-metrics .metric-card>i{width:1.65rem;height:1.65rem;border-radius:.5rem;font-size:.78rem}.dashboard-metrics .metric-card>div{min-width:0}.dashboard-metrics .metric-card span{font-size:.61rem;line-height:1.12}.dashboard-metrics .metric-card strong{font-size:.95rem;margin:.08rem 0}.dashboard-metrics .metric-card small{font-size:.58rem}.dashboard-next{padding:.65rem .8rem}.dashboard-next .section-title p{display:none}.dashboard-next .shift-row>div small{white-space:normal}.calendar-week-view{padding:.6rem}.calendar-week-nav{display:grid;grid-template-columns:1fr 1fr}.calendar-week-nav>div{grid-column:1/-1;grid-row:1;min-width:0}.calendar-week-nav>a:nth-of-type(1){grid-column:1}.calendar-week-nav>a:nth-of-type(2){grid-column:1/-1}.calendar-week-nav>a:nth-of-type(3){grid-column:2}.calendar-week-nav .button{width:100%;margin:0}.calendar-week-grid{grid-template-columns:1fr}}
@media(max-width:430px){.dashboard-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-metrics .metric-card{grid-template-columns:1fr;gap:.25rem;text-align:center;justify-items:center}.dashboard-metrics .metric-card span{min-height:2.2em}.dashboard-metrics .metric-card small{display:none}.dashboard-next .section-title{align-items:center}.dashboard-next .section-title .button{padding:.5rem .6rem;font-size:.65rem}.dashboard-next .shift-row{gap:.45rem}.dashboard-next .shift-row .status{display:none}}

/* V59: Dashboard im Produktseiten-Look, farbige Wochenansicht, moderne Plattform & Datenschutzkarten */
.dashboard-sales-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:1.2rem;align-items:stretch;padding:1.45rem;margin-bottom:1rem;border-radius:1.35rem;background:linear-gradient(135deg,#123f38 0%,#1769E0 58%,#22685e 100%);box-shadow:0 18px 45px rgba(18,63,56,.16);color:#fff}.dashboard-sales-hero:after{content:"";position:absolute;width:310px;height:310px;border-radius:50%;right:-150px;top:-185px;border:1px solid rgba(255,255,255,.13);box-shadow:0 0 0 62px rgba(255,255,255,.025),0 0 0 124px rgba(255,255,255,.018);pointer-events:none}.dashboard-hero-copy{position:relative;z-index:1;display:grid;align-content:center}.dashboard-kicker{margin:0 0 .35rem!important;text-transform:uppercase;letter-spacing:.14em;font-size:.63rem!important;font-weight:850;color:#a9d0c7!important}.dashboard-hero-copy h1{margin:0;font-size:clamp(1.75rem,3.2vw,2.8rem);letter-spacing:-.045em;color:#fff}.dashboard-hero-copy>p:not(.dashboard-kicker){margin:.45rem 0 1rem;color:#c9ddd8;font-size:.83rem;max-width:650px}.dashboard-quickstats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;max-width:680px}.dashboard-quickstats>div,.dashboard-quickstats>a{display:grid;gap:.05rem;min-width:0;padding:.72rem .8rem;border:1px solid rgba(255,255,255,.13);border-radius:.8rem;background:rgba(255,255,255,.07);backdrop-filter:blur(5px)}.dashboard-quickstats>a:hover{background:rgba(255,255,255,.12)}.dashboard-quickstats span{font-size:.61rem;color:#b8d1cb;text-transform:uppercase;letter-spacing:.055em}.dashboard-quickstats strong{font-size:1.12rem;color:#fff}.dashboard-quickstats small{font-size:.61rem;color:#d4e5e1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-clock-card{position:relative;z-index:1;display:grid;align-content:center;justify-items:start;gap:.7rem;padding:1.15rem 1.2rem;border-radius:1rem;background:#fff;color:#173f38;box-shadow:0 16px 32px rgba(7,39,34,.18)}.dashboard-clock-state{width:100%;display:flex;justify-content:space-between;gap:.5rem;align-items:center}.dashboard-clock-state>span{font-size:.7rem;font-weight:800;color:#0E4FAF}.dashboard-clock-state>small{font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;color:#879995}.dashboard-clock-card>strong{font-size:2rem;letter-spacing:-.04em}.dashboard-clock-card>strong small{font-size:.8rem;color:#73837f}.dashboard-clock-actions{display:flex;gap:.45rem;flex-wrap:wrap;width:100%}.dashboard-clock-actions form{margin:0}.dashboard-clock-actions .button{margin:0;padding:.62rem .8rem;font-size:.7rem}.dashboard-clock-card .button.secondary{background:#EAF3FF;color:#1769E0}.dashboard-schedule{padding:1rem 1.05rem 1.1rem}.dashboard-schedule-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:.8rem}.dashboard-schedule-head h2{margin:.12rem 0 .15rem;font-size:1.18rem}.dashboard-schedule-head p{margin:0;font-size:.72rem}.dashboard-calendar-link{font-size:.72rem;font-weight:800;color:#1769E0;white-space:nowrap}.dashboard-shift-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.dashboard-shift-card{position:relative;overflow:hidden;min-width:0;display:grid;grid-template-columns:3px 50px minmax(0,1fr) auto;gap:.65rem;align-items:center;padding:.75rem .75rem .75rem 0;border:1px solid #DCE5F0;border-radius:.85rem;background:linear-gradient(180deg,#fff,#FFFFFF);transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.dashboard-shift-card:hover{transform:translateY(-1px);border-color:#a8c8c0;box-shadow:0 8px 22px rgba(22,79,71,.08)}.dashboard-shift-card>i{align-self:stretch;border-radius:0 999px 999px 0}.dashboard-shift-card.is-next{border-color:#bad6cf;background:#f8fcfb}.dashboard-shift-date{display:grid;justify-items:center;padding-right:.55rem;border-right:1px solid #e6ecea}.dashboard-shift-date strong{font-size:1.22rem;line-height:1}.dashboard-shift-date span{font-size:.62rem;font-weight:850;text-transform:uppercase;color:#1769E0}.dashboard-shift-date small{font-size:.57rem;color:#84918e}.dashboard-shift-main{display:grid;grid-template-columns:auto 1fr;gap:.05rem .4rem;min-width:0}.dashboard-shift-main .dashboard-category-dot{grid-row:1;width:.48rem;height:.48rem;border-radius:50%;align-self:center}.dashboard-shift-main strong{grid-column:2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem}.dashboard-shift-main small{grid-column:1/-1;color:#667085;font-size:.64rem;white-space:normal}.dashboard-shift-card>b{font-size:1rem;color:#78908a}.weekly-shift{border:1px solid #e2eae8;border-left:4px solid var(--event-color,#0E4FAF);background:#fff}.weekly-shift:hover{background:#F6F9FD;border-color:#cbded9}.weekly-shift>i{width:5px!important;background:var(--event-color,#0E4FAF)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--event-color,#0E4FAF) 12%,transparent)}.weekly-category{display:flex!important;align-items:center;gap:.35rem}.weekly-category em{width:.48rem;height:.48rem;border-radius:50%;flex:0 0 auto}.weekly-category strong{font-size:.75rem}.weekly-day>header{background:#FFFFFF}.weekly-day.is-today>header{background:#EAF3FF}.privacy-toolbox{padding:1.15rem}.privacy-toolbox .section-title{margin-bottom:.9rem}.privacy-tool-status{white-space:nowrap}.privacy-document-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:.7rem}.privacy-document-card{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.55rem .7rem;padding:.95rem;border-radius:.85rem;background:linear-gradient(180deg,#fff,#FFFFFF);box-shadow:0 4px 14px rgba(23,79,71,.025)}.privacy-document-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(23,79,71,.08)}.privacy-doc-icon{width:2rem;height:2rem;display:grid;place-items:center;border-radius:.65rem;background:#EAF3FF;color:#1769E0;font-size:.85rem;font-weight:900}.privacy-document-card>div{display:grid;gap:.16rem;min-width:0}.privacy-document-card strong{font-size:.82rem}.privacy-document-card small{font-size:.66rem}.privacy-document-card>b{grid-column:2;font-size:.62rem;color:#42766d}.privacy-doc-meta{display:flex;justify-content:space-between;gap:1rem;padding-bottom:.8rem;margin-bottom:.8rem;border-bottom:1px solid #e1e9e7;color:#667085;font-size:.7rem}.privacy-doc-meta b{color:#1769E0}.privacy-doc-paper h2{border-top:1px solid #DCE5F0;padding-top:1.15rem}.privacy-doc-paper h2:first-of-type{border-top:0}

.platform-body{margin:0;min-height:100vh;background:#f3f7f6;color:#142033}.platform-layout{min-height:100vh}.platform-sidebar{position:fixed;inset:0 auto 0 0;width:250px;z-index:30;display:flex;flex-direction:column;padding:1.15rem .9rem;background:#102f2a;color:#d6e6e2}.platform-logo{display:flex;align-items:center;gap:.7rem;padding:.35rem .45rem 1.2rem}.platform-logo>span{width:2.3rem;height:2.3rem;display:grid;place-items:center;border-radius:.75rem;background:#fff;color:#1769E0;font-weight:900}.platform-logo>div{display:grid}.platform-logo strong{color:#fff;font-size:.9rem}.platform-logo small{color:#8fb0a8;font-size:.62rem;text-transform:uppercase;letter-spacing:.1em}.platform-nav{display:grid;gap:.2rem}.platform-nav a{display:grid;grid-template-columns:1.35rem minmax(0,1fr) auto;gap:.55rem;align-items:center;padding:.7rem .75rem;border-radius:.7rem;color:#adc4be;font-size:.75rem}.platform-nav a:hover{background:rgba(255,255,255,.075);color:#fff}.platform-nav i{font-style:normal;text-align:center}.platform-nav b{padding:.16rem .4rem;border-radius:999px;background:rgba(255,255,255,.09);font-size:.56rem;color:#d7e8e4}.platform-nav b.is-alert{background:#f3ca67;color:#493500}.platform-sidebar-footer{margin-top:auto;display:grid;gap:.15rem;padding:.9rem .55rem 0;border-top:1px solid rgba(255,255,255,.1)}.platform-sidebar-footer>span{font-size:.58rem;text-transform:uppercase;letter-spacing:.08em;color:#789c93}.platform-sidebar-footer strong{font-size:.75rem;color:#fff}.platform-sidebar-footer small{font-size:.6rem;color:#8eaaa4;overflow:hidden;text-overflow:ellipsis}.platform-sidebar-footer form{margin:0}.platform-logout,.platform-sidebar-footer>a{border:0;background:none;padding:.55rem 0 0;color:#bcd1cc;font-size:.65rem;text-align:left;cursor:pointer}.platform-main{margin-left:250px;min-width:0}.platform-topbar{position:sticky;top:0;z-index:20;height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 1.6rem;background:rgba(255,255,255,.92);border-bottom:1px solid #e1e9e7;backdrop-filter:blur(12px)}.platform-topbar>div:first-child{display:grid}.platform-topbar span{font-size:.61rem;color:#74847f;text-transform:uppercase;letter-spacing:.08em}.platform-topbar strong{font-size:.8rem}.platform-system-chip{padding:.38rem .6rem;border-radius:999px;background:#EAF3FF;color:#0E4FAF;font-size:.62rem!important;font-weight:800;text-transform:none!important;letter-spacing:0!important}.platform-content{max-width:1460px;margin:0 auto;padding:1.35rem 1.6rem 4rem}.platform-hero{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.35rem 1.45rem;border-radius:1.2rem;background:linear-gradient(135deg,#fff 0%,#F6F9FD 68%,#eaf5f2 100%);border:1px solid #dce8e5}.platform-hero h1{margin:.12rem 0 .25rem;font-size:2rem}.platform-hero p{margin:0;font-size:.78rem}.platform-hero-actions{display:flex;gap:.55rem;flex-wrap:wrap}.platform-hero-actions .button{margin:0}.platform-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;margin:.75rem 0}.platform-stat-grid article,.platform-stat-grid>a{display:flex;align-items:center;gap:.7rem;padding:.9rem;border:1px solid #dfe9e6;border-radius:.9rem;background:#fff}.platform-stat-grid i{width:2rem;height:2rem;display:grid;place-items:center;border-radius:.6rem;background:#EAF3FF;color:#1769E0;font-style:normal}.platform-stat-grid div{display:grid;min-width:0}.platform-stat-grid span{font-size:.62rem;color:#75847f}.platform-stat-grid strong{font-size:1.15rem}.platform-stat-grid small{font-size:.58rem;color:#84918e}.platform-section{margin-top:.8rem;padding:1.15rem;border:1px solid #DCE5F0;border-radius:1.05rem;background:#fff;scroll-margin-top:85px}.platform-section-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:.85rem}.platform-section-head h2{margin:.1rem 0 .2rem;font-size:1.15rem}.platform-section-head p{margin:0;font-size:.72rem}.platform-count{padding:.34rem .58rem;border-radius:999px;background:#EAF3FF;color:#1769E0;font-size:.62rem;font-weight:800;white-space:nowrap}.platform-company-grid,.platform-db-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.platform-company-card,.platform-db-card{display:grid;align-items:center;gap:.7rem;padding:.8rem;border:1px solid #e0e9e7;border-radius:.85rem;background:#FFFFFF}.platform-company-card{grid-template-columns:auto minmax(0,1fr) auto auto}.platform-company-avatar,.platform-db-icon{width:2.35rem;height:2.35rem;display:grid;place-items:center;border-radius:.7rem;background:#EAF3FF;color:#1769E0;font-weight:900}.platform-company-main,.platform-db-main{display:grid;gap:.12rem;min-width:0}.platform-company-main>div{display:flex;align-items:center;gap:.45rem;min-width:0}.platform-company-main strong,.platform-db-main>strong{font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.platform-company-main span{font-size:.58rem;color:#6d807a}.platform-company-main small,.platform-db-main small{font-size:.59rem;color:#82908c}.platform-state{display:inline-flex;width:max-content;padding:.28rem .48rem;border-radius:999px;background:#eef2f1;color:#6c7a76;font-size:.58rem;font-weight:800}.platform-state.is-ok{background:#e7f5ee;color:#226a4e}.platform-state.is-assigned{background:#edf2fa;color:#3c5e83}.platform-state.is-warning{background:#fff4dc;color:#8a5b00}.platform-state.is-new{background:#fff0ce;color:#7a5200}.platform-state.is-muted{background:#eff2f1;color:#73807d}.platform-db-card{grid-template-columns:auto minmax(0,1fr) auto}.platform-db-actions{display:grid;gap:.35rem;justify-items:end}.platform-db-actions form{margin:0}.platform-db-actions>small{font-size:.56rem;color:#87938f}.platform-error{color:#a54b43!important;white-space:normal!important}.platform-text-button{border:0;background:transparent;color:#58736c;font:inherit;font-size:.61rem;font-weight:750;cursor:pointer;padding:.25rem}.platform-create-box{margin-top:.7rem;border:1px solid #DCE5F0;border-radius:.9rem;background:#F6F9FD;overflow:hidden}.platform-create-box summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.85rem 1rem}.platform-create-box summary::-webkit-details-marker{display:none}.platform-create-box summary>span{display:flex;align-items:center;gap:.7rem}.platform-create-box summary b{width:2rem;height:2rem;display:grid;place-items:center;border-radius:.6rem;background:#1769E0;color:#fff;font-size:1rem}.platform-create-box summary div{display:grid}.platform-create-box summary strong{font-size:.76rem}.platform-create-box summary small{font-size:.61rem;color:#7c8a86}.platform-create-box summary em{font-size:.6rem;font-style:normal;color:#54736b;font-weight:800}.platform-create-content{padding:0 1rem 1rem;border-top:1px solid #e4ecea}.platform-create-content h3{font-size:.75rem;color:#1769E0;margin:1rem 0 .1rem}.platform-request-list.modern{gap:.6rem}.platform-request-list.modern .platform-request-card{border-radius:.9rem;background:#FFFFFF}.platform-request-title{display:flex!important;align-items:center;justify-content:space-between;gap:.7rem}.platform-request-title time{font-size:.58rem!important}.platform-request-card>div:first-child>strong{font-size:.82rem}.platform-request-card>div:first-child>span:not(.platform-state){font-size:.65rem;color:#657771}.platform-request-actions .button{margin:0;font-size:.66rem;padding:.58rem .65rem}.platform-login{border-color:#dce8e5;box-shadow:0 24px 70px rgba(17,63,55,.12)}

@media(max-width:1180px){.privacy-document-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.platform-company-grid,.platform-db-grid{grid-template-columns:1fr}.dashboard-shift-grid{grid-template-columns:1fr 1fr}.dashboard-shift-card:first-child{grid-column:1/-1}}
@media(max-width:900px){.dashboard-sales-hero{grid-template-columns:1fr}.dashboard-clock-card{grid-template-columns:minmax(0,1fr) auto;align-items:center}.dashboard-clock-state{grid-column:1}.dashboard-clock-card>strong{grid-column:1}.dashboard-clock-actions{grid-column:2;grid-row:1/3;justify-content:flex-end}.platform-sidebar{width:78px;padding:.8rem .45rem}.platform-logo{justify-content:center;padding:.25rem 0 1rem}.platform-logo>div,.platform-nav span,.platform-nav b,.platform-sidebar-footer>span,.platform-sidebar-footer>strong,.platform-sidebar-footer>small,.platform-sidebar-footer>a{display:none}.platform-nav a{grid-template-columns:1fr;justify-items:center;padding:.75rem .45rem;font-size:.9rem}.platform-sidebar-footer{justify-items:center;padding:.6rem 0}.platform-logout{font-size:0}.platform-logout:before{content:'⇥';font-size:1rem}.platform-main{margin-left:78px}.platform-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.privacy-document-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.dashboard-sales-hero{padding:1rem;border-radius:1rem}.dashboard-quickstats{grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem}.dashboard-quickstats>div,.dashboard-quickstats>a{padding:.55rem .5rem}.dashboard-quickstats span{font-size:.52rem}.dashboard-quickstats strong{font-size:.9rem}.dashboard-quickstats small{font-size:.5rem}.dashboard-clock-card{padding:.8rem}.dashboard-clock-card>strong{font-size:1.55rem}.dashboard-clock-actions .button{padding:.5rem .6rem;font-size:.62rem}.dashboard-schedule{padding:.8rem}.dashboard-schedule-head p{display:none}.dashboard-shift-grid{grid-template-columns:1fr}.dashboard-shift-card:first-child{grid-column:auto}.dashboard-shift-card{padding:.62rem .62rem .62rem 0}.privacy-document-grid{grid-template-columns:1fr}.privacy-toolbox .section-title{align-items:flex-start}.platform-content{padding:1rem .8rem 3rem}.platform-topbar{padding:0 .9rem}.platform-hero{display:grid;padding:1rem}.platform-hero-actions{display:grid;grid-template-columns:1fr 1fr}.platform-hero-actions .button{width:100%}.platform-stat-grid{gap:.45rem}.platform-stat-grid article,.platform-stat-grid>a{padding:.7rem}.platform-stat-grid i{width:1.7rem;height:1.7rem}.platform-stat-grid strong{font-size:.95rem}.platform-section{padding:.8rem}.platform-section-head{align-items:flex-start}.platform-company-card{grid-template-columns:auto minmax(0,1fr) auto}.platform-company-card form{grid-column:2/-1}.platform-company-card .button{width:100%;margin:0}.platform-db-card{grid-template-columns:auto minmax(0,1fr)}.platform-db-actions{grid-column:2;justify-items:stretch;grid-template-columns:1fr auto;align-items:center}.platform-db-actions>small{grid-column:1/-1}.platform-db-actions .button{width:100%;margin:0}.platform-request-card{grid-template-columns:1fr!important}.platform-request-actions{grid-template-columns:1fr}.platform-create-box summary small{display:none}}
@media(max-width:440px){.dashboard-clock-card{grid-template-columns:1fr}.dashboard-clock-actions{grid-column:1;grid-row:auto;width:100%;display:grid;grid-template-columns:1fr 1fr}.dashboard-clock-actions form,.dashboard-clock-actions .button{width:100%}.dashboard-shift-card{grid-template-columns:3px 46px minmax(0,1fr) auto}.platform-stat-grid{grid-template-columns:1fr 1fr}.platform-stat-grid small{display:none}.platform-hero-actions{grid-template-columns:1fr}.platform-section-head p{display:none}}


/* V59: kompakte Rollenberechtigungen & Datenzugriff */
.permission-role-stack{display:grid;gap:.65rem}.permission-role-accordion{padding:0!important;overflow:hidden;border-radius:.9rem!important}.permission-role-accordion>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.75rem;align-items:center;padding:.85rem .95rem;background:linear-gradient(180deg,#fff,#FFFFFF)}.permission-role-accordion>summary::-webkit-details-marker{display:none}.permission-role-accordion>summary:hover{background:#f6faf9}.permission-role-index{width:2rem;height:2rem;display:grid;place-items:center;border-radius:.6rem;background:#EAF3FF;color:#1769E0;font-size:.65rem;font-weight:900}.permission-role-accordion>summary div{display:grid;gap:.08rem;min-width:0}.permission-role-accordion>summary h3{margin:0!important;font-size:.83rem}.permission-role-accordion>summary small{font-size:.62rem;color:#72817d}.permission-role-toggle{font-size:.62rem;font-weight:800;color:#3e7067;white-space:nowrap}.permission-role-toggle:after{content:'⌄';display:inline-block;margin-left:.4rem;transition:transform .15s ease}.permission-role-accordion[open] .permission-role-toggle:after{transform:rotate(180deg)}.permission-role-content{padding:1rem;border-top:1px solid #e4ecea;background:#fff}.permission-role-content form{display:grid;gap:1rem}.permission-scope-box{display:grid;grid-template-columns:minmax(0,.8fr) minmax(360px,1.2fr);gap:1rem;align-items:start;padding:.9rem;border:1px solid #dbe8e4;border-radius:.8rem;background:#F6F9FD}.permission-scope-box>div:first-child{display:grid;gap:.2rem}.permission-scope-box>div:first-child>strong{font-size:.78rem}.permission-scope-box>div:first-child>small{font-size:.64rem;line-height:1.45;color:#72817d}.permission-scope-options{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.permission-scope-options label{display:flex!important;gap:.5rem;align-items:flex-start;margin:0!important;padding:.7rem;border:1px solid #DCE5F0;border-radius:.7rem;background:#fff;cursor:pointer}.permission-scope-options input{width:17px;height:17px;margin:.08rem 0 0;flex:0 0 auto}.permission-scope-options span{display:grid;gap:.08rem}.permission-scope-options strong{font-size:.7rem}.permission-scope-options small{font-size:.6rem;color:#788783}.permission-page-rights{display:grid}.permission-page-rights>h3{margin:0 0 .2rem;font-size:.78rem}.permission-fixed-note{margin:0}.permission-save-button{justify-self:end;min-width:180px;margin:0!important}.permission-admin-panel>.section-title{margin-bottom:.1rem}.permission-admin-note{margin:.2rem 0 0}.permission-role-grid{grid-template-columns:1fr}
@media(max-width:760px){.permission-role-accordion>summary{grid-template-columns:auto minmax(0,1fr)}.permission-role-toggle{grid-column:2}.permission-scope-box{grid-template-columns:1fr}.permission-scope-options{grid-template-columns:1fr}.permission-save-button{width:100%;justify-self:stretch}.permission-role-content{padding:.8rem}}

/* V60: Bestellungen in der Plattformverwaltung */
.platform-order-grid{display:grid;gap:14px}.platform-order-card{background:var(--card,#fff);border:1px solid #DCE5F0;border-radius:20px;padding:20px;box-shadow:0 10px 28px rgba(30,73,65,.05)}.platform-order-top{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.platform-order-top>div:first-child{display:grid;gap:5px}.platform-order-top strong{font-size:1.05rem}.platform-order-top small{color:#667085}.platform-order-price{text-align:right;white-space:nowrap}.platform-order-price strong{display:block;font-size:1.45rem;color:#1769E0}.platform-order-price span{font-size:.85rem;color:#667085}.platform-order-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}.platform-order-facts span{background:#f5f8f7;border-radius:12px;padding:10px;font-size:.86rem;overflow-wrap:anywhere}.platform-order-facts b{display:block;color:#63746f;margin-bottom:3px;font-size:.76rem;text-transform:uppercase;letter-spacing:.04em}.platform-order-docs,.platform-order-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.platform-order-docs a{padding:7px 10px;border-radius:999px;border:1px solid #cadbd7;background:#fff;color:#175d53;font-weight:700;font-size:.85rem}.platform-order-actions{margin-top:14px;padding-top:14px;border-top:1px solid #DCE5F0}.platform-order-actions form{margin:0}@media(max-width:850px){.platform-order-facts{grid-template-columns:1fr 1fr}.platform-order-top{flex-direction:column}.platform-order-price{text-align:left}}@media(max-width:560px){.platform-order-facts{grid-template-columns:1fr}}

/* V61: Plattform-Zahlungsarten */
.platform-payment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.platform-payment-card{border:1px solid #d8e1df;border-radius:20px;background:#fff;padding:20px;box-shadow:0 8px 26px rgba(24,55,50,.05)}.platform-payment-card h3{margin:.6rem 0}.platform-payment-card p{color:#667774}.platform-payment-brand{width:max-content;font-weight:900}.platform-payment-brand.invoice{font-size:.72rem;letter-spacing:.08em;color:#155d54;background:#EAF3FF;border-radius:999px;padding:7px 10px}.platform-payment-brand.paypal{font-size:1.3rem;color:#123f86;font-style:italic}.platform-payment-brand.klarna{font-size:1.2rem;color:#111;background:#ffb3c7;border-radius:7px;padding:4px 9px}.platform-payment-form{display:grid;gap:10px;margin-top:14px}.platform-payment-form label{margin:0}.platform-payment-form .check{display:flex;gap:8px;align-items:flex-start}.platform-payment-form .check input{width:auto;margin-top:.25rem}@media(max-width:1050px){.platform-payment-grid{grid-template-columns:1fr}}

/* V63: PayPal-Abo & Zahlungsstatus */
.platform-paypal-tools{display:grid;gap:.7rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #DCE5F0}.platform-paypal-tools>div{display:grid;gap:.3rem}.platform-paypal-tools code{display:block;max-width:100%;overflow-wrap:anywhere;padding:.65rem .75rem;background:#f4f8f7;border-radius:10px;font-size:.78rem}.payment-status{font-style:normal;font-weight:800}.payment-status-authorized,.payment-status-active,.payment-status-paid{color:#17634f}.payment-status-awaiting_authorization,.payment-status-approval_pending{color:#8a6411}.payment-status-failed,.payment-status-suspended,.payment-status-cancelled,.payment-status-reversed{color:#a13a31}.platform-order-facts code{font-size:.76rem;overflow-wrap:anywhere}

/* V64: PayPal Produkt-/Plan-Assistent */
.platform-paypal-help{margin:.25rem 0 .7rem;color:#667774;font-size:.88rem;line-height:1.45}.platform-paypal-tools form{margin:0}.platform-payment-form input[readonly]{background:#f4f8f7;color:#45605b}


/* V66: sichere Firmenloeschung in der Plattform */
.platform-company-delete{grid-column:1/-1;border-top:1px solid #e7eeec;padding-top:.45rem}.platform-company-delete>summary{list-style:none;cursor:pointer;width:max-content;color:#9b4038;font-size:.62rem;font-weight:850}.platform-company-delete>summary::-webkit-details-marker{display:none}.platform-company-delete>div{margin-top:.55rem;padding:.8rem;border:1px solid #efd4d1;border-radius:.8rem;background:#fff8f7}.platform-company-delete p{margin:0 0 .65rem;line-height:1.45}.platform-company-delete p strong{color:#8d302a}.platform-company-delete p small,.platform-delete-warning{color:#7b6562;font-size:.62rem}.platform-company-delete form{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1fr);gap:.55rem;align-items:end;margin:0}.platform-company-delete form>label:first-of-type{grid-row:1/3}.platform-company-delete .check{display:flex;gap:.45rem;align-items:flex-start;margin:0!important;font-size:.64rem}.platform-company-delete .check input{width:auto;margin-top:.15rem}.platform-company-delete .button{justify-self:start;margin:0}.platform-delete-warning{display:block;margin-top:.55rem}
@media(max-width:700px){.platform-company-delete form{grid-template-columns:1fr}.platform-company-delete form>label:first-of-type{grid-row:auto}.platform-company-delete .button{width:100%}}


/* V67: sichere Löschaktionen für Bestellungen und Support */
.platform-order-delete,.support-delete-box{width:100%;margin-top:.45rem;border:1px solid #ead9d6;border-radius:14px;background:#fffafa;padding:.55rem .7rem}.platform-order-delete>summary,.support-delete-box>summary{cursor:pointer;font-weight:750;color:#8a3028;list-style:none}.platform-order-delete>summary::-webkit-details-marker,.support-delete-box>summary::-webkit-details-marker{display:none}.platform-order-delete form,.support-delete-box form{display:grid;gap:.6rem;margin-top:.75rem}.support-delete-self{width:auto;min-width:170px}.platform-order-actions .platform-state.is-warning{align-self:center}
@media(max-width:700px){.support-delete-self{width:100%}.section-title>.support-delete-box{margin-top:.5rem}}


/* V71 – Abrechnung & Stempeluhr-Einsatz */
.clock-shift-context{display:flex;gap:10px;align-items:flex-start;width:100%;padding:11px 12px;border:1px solid rgba(23,79,71,.14);border-radius:14px;background:rgba(255,255,255,.62);text-align:left}.clock-shift-context>i{width:5px;align-self:stretch;min-height:42px;border-radius:99px;background:var(--event-color,#0E4FAF);flex:0 0 5px}.clock-shift-context>div{display:flex;flex-direction:column;gap:2px;min-width:0}.clock-shift-context small{font-size:.67rem;font-weight:800;letter-spacing:.08em;color:var(--muted);text-transform:uppercase}.clock-shift-context strong{font-size:.92rem;line-height:1.25}.clock-shift-context span{font-size:.76rem;color:var(--muted);line-height:1.3}.clock-shift-context.is-empty>i{background:#a5afac}.clock-only .clock-shift-context{max-width:520px;margin:8px auto 16px}.platform-billing-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:18px;margin-bottom:20px}.platform-billing-card,.platform-invoice-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 8px 28px rgba(32,52,48,.04)}.platform-billing-card h3{margin:0 0 12px}.platform-billing-form{display:grid;gap:11px}.platform-billing-form label{display:grid;gap:5px}.platform-form-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.platform-tax-note{padding:12px;border-radius:12px;background:#f1f7f5;display:grid;gap:3px}.platform-tax-note span{font-size:.82rem;color:var(--muted)}.platform-next-invoice-list{display:grid;gap:8px}.platform-next-invoice-list form{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:12px}.platform-next-invoice-list form div{display:grid;gap:2px}.platform-next-invoice-list small{color:var(--muted)}.platform-invoice-list{display:grid;gap:12px}.platform-invoice-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.platform-invoice-head>div{display:grid;gap:4px}.platform-invoice-head>div:last-child{text-align:right}.platform-invoice-head small{color:var(--muted)}.platform-invoice-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0}.platform-invoice-facts span{display:grid;gap:2px;padding:9px 10px;background:#f7f9f8;border-radius:10px;font-size:.82rem}.platform-invoice-facts b{font-size:.67rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.platform-invoice-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.platform-invoice-actions form{margin:0}.platform-invoice-cancel{width:100%;margin-top:5px}.platform-invoice-cancel form{display:grid;gap:8px;margin-top:8px;max-width:520px}.platform-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){.platform-billing-grid{grid-template-columns:1fr}.platform-invoice-facts{grid-template-columns:1fr 1fr}.platform-stat-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.platform-form-two,.platform-invoice-facts{grid-template-columns:1fr}.platform-invoice-head{flex-direction:column}.platform-invoice-head>div:last-child{text-align:left}.platform-stat-grid{grid-template-columns:1fr}.clock-shift-context{padding:9px 10px}}


/* V84: Optionale Mindestqualifikationen nur in der Einsatzplanung – Mitarbeiteransicht unverändert */
.optional-label{display:inline-flex;margin-left:6px;padding:3px 7px;border-radius:999px;background:#eef5f3;color:#55716b;font-size:.63rem;font-weight:800;vertical-align:middle}.shift-qualification-card{background:linear-gradient(180deg,#fbfefd,#F6F9FD)}.shift-qualification-editor-list{display:grid;gap:9px;margin-top:12px}.shift-qualification-editor-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(120px,.3fr) auto;gap:10px;align-items:end;padding:11px;border:1px solid var(--line);border-radius:12px;background:#fff}.shift-qualification-summary>strong{display:block}.shift-qualification-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:5px}.shift-qualification-badge{display:grid;gap:1px;padding:8px 10px;border-radius:11px;border:1px solid #d8e5e1;background:#F6F9FD}.shift-qualification-badge small{font-weight:600;color:var(--muted)}.shift-qualification-badge.is-ok{border-color:#bcded3;background:#f1faf7}.shift-qualification-badge.is-ok strong{color:#17634f}.shift-qualification-badge.is-missing{border-color:#edd7a9;background:#fffaf0}.shift-qualification-badge.is-missing strong{color:#8a6411}.shift-qualification-coverage{display:grid;grid-template-columns:minmax(210px,.45fr) minmax(0,1fr);gap:14px;margin:14px 0;padding:14px;border:1px solid var(--line);border-radius:14px;background:#F6F9FD}.shift-qualification-coverage>div:first-child{display:grid;align-content:start;gap:4px}.shift-qualification-coverage>div:first-child small{color:var(--muted);line-height:1.4}.shift-qualification-coverage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px}.shift-qualification-coverage-grid>span{display:grid;gap:2px;padding:10px;border-radius:11px;background:#fff;border:1px solid #DCE5F0}.shift-qualification-coverage-grid>span strong{font-size:1.05rem}.shift-qualification-coverage-grid>span small{color:var(--muted)}.shift-qualification-coverage-grid>span.is-ok{border-left:4px solid #0E4FAF}.shift-qualification-coverage-grid>span.is-missing{border-left:4px solid #d6a43b;background:#fffdf7}
@media(max-width:900px){.shift-qualification-coverage{grid-template-columns:1fr}.shift-qualification-editor-row{grid-template-columns:1fr 130px auto}}
@media(max-width:620px){.shift-qualification-editor-row{grid-template-columns:1fr}.shift-qualification-editor-row .button{width:100%}}

/* V85: Qualifikationen sind Bestandteil der digitalen Personalakte, kein Parallelbereich. */
.personnel-subsection-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin:1rem 0 .75rem;padding-top:.85rem;border-top:1px solid var(--border-color,#d9e2df)}
.personnel-subsection-head:first-child{margin-top:0;padding-top:0;border-top:0}
.personnel-subsection-head h3{margin:0 0 .25rem;font-size:1rem}
.personnel-subsection-head p{margin:0;color:var(--muted,#66756f)}
.personnel-file-suite-start{margin-bottom:.65rem}
.personnel-file-suite-middle,.personnel-file-suite-end{margin-top:.65rem}
.employee-table .status{white-space:normal}


/* V88 – Check-in, GPS und transparente Stempeluhr */
.clock-running-since{display:flex;flex-direction:column;gap:3px;padding:10px 12px;border-radius:14px;background:rgba(31,112,98,.08);margin:10px 0}.clock-running-since span,.clock-running-since small{font-size:.78rem;color:var(--muted,#6a7774)}.clock-running-since strong{font-size:1rem}.clock-checkout-summary{margin-bottom:18px}.clock-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}.clock-summary-grid>div,.clock-summary-pauses{padding:12px;border:1px solid rgba(20,70,63,.12);border-radius:14px;background:#FFFFFF}.clock-summary-grid span,.clock-summary-pauses>span{display:block;font-size:.75rem;color:#6b7775;margin-bottom:4px}.clock-summary-pauses{margin-top:10px}.clock-summary-pauses ul{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 0;padding:0;list-style:none}.clock-summary-pauses li{padding:6px 9px;border-radius:999px;background:#eaf5f1;font-weight:700}.checkin-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:end}.checkin-settings-grid .check{align-self:center}.qr-display{text-align:center}.qr-display [data-qrcode]{display:flex;justify-content:center;min-height:240px;margin:10px auto 18px}.qr-display [data-qrcode] img,.qr-display [data-qrcode] canvas{max-width:100%;height:auto}.qr-checkin-confirm{max-width:620px;margin:0 auto}.shift-checkin-card{border-color:rgba(31,112,98,.18)}
@media(max-width:760px){.clock-summary-grid,.checkin-settings-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.clock-summary-grid,.checkin-settings-grid{grid-template-columns:1fr}}

/* V90: feste QR-/NFC-Check-in-Punkte */
.checkin-point-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;margin-top:24px}
.checkin-point-card{border:1px solid var(--border,#dfe7e5);border-radius:18px;padding:18px;background:var(--surface,#fff);display:flex;flex-direction:column;gap:14px}
.checkin-point-card.is-inactive{opacity:.65}
.checkin-point-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.checkin-point-head h3{margin:6px 0 2px}.checkin-point-head small{display:block;color:var(--muted,#667085)}
.checkin-point-code{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:14px;border-radius:14px;background:rgba(23,79,71,.055)}
.checkin-point-code [data-qrcode]{background:#fff;padding:10px;border-radius:12px;line-height:0}
.checkin-point-code p{flex:1 1 220px;margin:0;color:var(--muted,#667085)}
.checkin-point-meta{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--border,#DCE5F0);border-bottom:1px solid var(--border,#DCE5F0)}
.checkin-point-meta span{color:var(--muted,#667085)}
.checkin-point-shift-list{display:grid;gap:12px;width:100%;margin-top:14px}.checkin-point-shift-list form{display:grid;gap:6px}.checkin-point-shift-list .clock-button{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.checkin-point-shift-list .clock-button small{font-weight:500;opacity:.85}
@media(max-width:720px){.checkin-point-list{grid-template-columns:1fr}.checkin-point-head{flex-direction:column}.checkin-point-code [data-qrcode] canvas{max-width:100%;height:auto!important}}

/* V91 – kombinierter QR-/NFC-Scanner */
.checkin-scanner-page{max-width:980px;margin:0 auto}.checkin-scanner-panel{display:grid;gap:18px}.scanner-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.scanner-status-grid>div{border:1px solid var(--border,#DCE5F0);border-radius:16px;padding:16px;background:#fff;display:grid;gap:4px}.scanner-status-grid span{font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#6d7f7b}.scanner-status-grid strong{font-size:1rem}.scanner-status-grid small{color:#6d7f7b}.scanner-status-grid>div[data-state="ok"]{border-color:#9ed3c6;background:#f3fbf8}.scanner-status-grid>div[data-state="error"]{border-color:#efb7b7;background:#fff7f7}.scanner-status-grid>div[data-state="warn"]{border-color:#e7ce8a;background:#fffaf0}.scanner-actions{display:flex;gap:10px;flex-wrap:wrap}.scanner-camera-wrap{position:relative;overflow:hidden;border-radius:20px;background:#0d1917;min-height:280px}.scanner-camera-wrap video{display:block;width:100%;max-height:520px;object-fit:cover;background:#0d1917}.scanner-camera-wrap p{position:absolute;left:0;right:0;bottom:0;margin:0;padding:12px 16px;background:linear-gradient(transparent,rgba(0,0,0,.72));color:#fff;text-align:center}.scanner-frame{position:absolute;left:50%;top:50%;width:min(64vw,320px);height:min(64vw,320px);transform:translate(-50%,-50%);border:3px solid rgba(255,255,255,.95);border-radius:22px;box-shadow:0 0 0 9999px rgba(0,0,0,.18);pointer-events:none}.scanner-help{margin:0}@media(max-width:650px){.scanner-status-grid{grid-template-columns:1fr}.scanner-camera-wrap{min-height:340px}}

/* V102 – DATEV / Lohngruppen */
.datev-subnav{margin-bottom:18px}
.datev-overview .calendar-toolbar{margin-bottom:18px}
.datev-kpis,.datev-employee-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0 18px}
.datev-kpis>div,.datev-employee-summary>div{padding:14px;border:1px solid var(--line,#DCE5F0);border-radius:12px;background:var(--surface-soft,#F6F9FD)}
.datev-kpis span,.datev-employee-summary span{display:block;font-size:.78rem;color:var(--muted,#667);margin-bottom:5px}
.datev-kpis strong,.datev-employee-summary strong{font-size:1.05rem}
.datev-employee-summary{grid-template-columns:repeat(3,minmax(0,1fr))}
.datev-employee-picker{max-width:560px;margin-bottom:18px}
.inline-rate{display:flex;align-items:center;gap:8px;max-width:220px}
.inline-rate input{min-width:0}
.inline-rate span{white-space:nowrap;color:var(--muted,#667)}
.employee-dropdown-option-wage{display:grid!important;grid-template-columns:auto minmax(0,1fr) minmax(150px,210px);align-items:center;gap:10px}
.employee-wage-select{font-size:.82rem;min-width:0;padding:7px 8px}
@media(max-width:760px){.datev-kpis,.datev-employee-summary{grid-template-columns:1fr 1fr}.employee-dropdown-option-wage{grid-template-columns:auto 1fr}.employee-dropdown-option-wage .employee-wage-select{grid-column:2;width:100%}}

/* Buchhaltungsschnittstellen: sevDesk / Lexware Office */
.accounting-panel{max-width:1100px}.accounting-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}.accounting-card{display:flex;flex-direction:column;gap:14px;padding:18px;border:1px solid var(--line,#DCE5F0);border-radius:16px;background:#fff}.accounting-card.is-connected{border-color:rgba(31,112,98,.3);box-shadow:0 8px 24px rgba(31,112,98,.06)}.accounting-card.has-error{border-color:rgba(170,82,70,.28)}.accounting-card-head,.accounting-card-head>div,.accounting-existing-actions,.accounting-actions{display:flex;align-items:center;gap:10px}.accounting-card-head{justify-content:space-between}.accounting-card-head>div>div{display:grid;gap:2px}.accounting-card-head h3{margin:0}.accounting-card-head small,.accounting-meta span,.accounting-account span,.accounting-account small{color:var(--muted,#6a7774);font-size:.75rem}.accounting-provider-mark{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#eaf5f1;color:#1769E0;font-weight:800;font-size:.78rem}.accounting-account{display:grid;gap:3px;padding:12px;border-radius:12px;background:#f6faf9}.accounting-account strong{font-size:.95rem}.accounting-card form{margin:0}.accounting-card label{display:grid;gap:6px}.accounting-actions,.accounting-existing-actions{flex-wrap:wrap;margin-top:10px}.accounting-existing-actions{padding-top:12px;border-top:1px solid var(--line,#DCE5F0)}.accounting-meta{display:flex;justify-content:space-between;gap:10px;margin-top:auto;padding-top:6px}.accounting-meta strong{font-size:.78rem}.accounting-error{margin:0}.accounting-scope-note{margin-top:14px}@media(max-width:820px){.accounting-grid{grid-template-columns:1fr}}@media(max-width:520px){.accounting-card-head,.accounting-meta{align-items:flex-start;flex-direction:column}.accounting-actions,.accounting-existing-actions{display:grid;grid-template-columns:1fr;width:100%}.accounting-actions .button,.accounting-existing-actions .button{width:100%}}

/* V109: mandantenbezogene Rechnungsvorlagen / eigene Briefboegen */
.billing-template-panel .section-title{align-items:flex-start;gap:1rem}.billing-template-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem;margin:1rem 0}.billing-template-choice,.billing-template-upload{border:1px solid var(--line);border-radius:.85rem;padding:1rem;background:#fff;min-width:0}.billing-template-upload{display:flex;flex-direction:column;align-items:flex-start}.billing-template-upload>strong{font-size:.86rem}.billing-template-upload p{font-size:.74rem;color:#667085;line-height:1.45;margin:.35rem 0 .65rem}.billing-template-upload .file-label{margin:.2rem 0 .55rem!important}.billing-template-upload .check{margin-top:.55rem}.template-file-status{display:block;color:#176b54;font-weight:700;overflow-wrap:anywhere}.billing-template-spacing{margin-top:.4rem}.billing-template-spacing label small{display:block;margin-top:.35rem;color:#667085;font-weight:500;line-height:1.4}
@media(max-width:1050px){.billing-template-grid{grid-template-columns:1fr 1fr}.billing-template-choice{grid-column:1/-1}}
@media(max-width:720px){.billing-template-grid{grid-template-columns:1fr}.billing-template-choice{grid-column:auto}.billing-template-panel .section-title{display:grid}.billing-template-panel .section-title>.button{width:100%;justify-content:center}}

/* V110: Rechnungen aus Einzelschichten oder Objekt-Zeitraeumen */
.billing-period-filter{display:grid;grid-template-columns:minmax(150px,190px) minmax(150px,190px) auto;gap:12px;align-items:end;margin:14px 0}.billing-period-filter .button{min-height:44px}.billing-source-summary{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 16px}.billing-source-summary span{padding:7px 10px;border-radius:999px;background:#eef6f3;color:#28564f;font-size:.78rem;font-weight:700}.billing-source-choice{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}.billing-source-choice label{display:flex;align-items:flex-start;gap:9px;padding:12px;border:1px solid var(--line,#DCE5F0);border-radius:12px;background:#fff;cursor:pointer}.billing-source-choice label:has(input:checked){border-color:#79b7a8;background:#f2faf7}.billing-source-choice input{margin-top:3px}.billing-source-choice strong{display:block}.billing-source-choice small{display:block;color:var(--muted,#667085);margin-top:3px;line-height:1.35}.billing-source-block{margin:14px 0;padding:14px;border:1px solid var(--line,#DCE5F0);border-radius:14px;background:#FFFFFF}.billing-source-block>h3{margin:0 0 5px}.billing-source-block>p{margin:0 0 12px;color:var(--muted,#667085)}.billing-shift-table{overflow:auto}.billing-shift-table table{min-width:820px}.billing-shift-table input[type=number]{min-width:105px}.billing-shift-table .check-cell{width:46px;text-align:center}.billing-source-object-grid{display:grid;grid-template-columns:minmax(220px,1fr) minmax(150px,220px);gap:12px;max-width:760px}.billing-extra-positions{margin-top:18px;padding-top:16px;border-top:1px solid var(--line,#DCE5F0)}.billing-extra-positions h3{margin:0 0 4px}.billing-extra-positions>p{margin:0 0 12px;color:var(--muted,#667085)}.billing-doublebill-note{margin-top:12px;font-size:.78rem;color:var(--muted,#667085)}
@media(max-width:850px){.billing-source-choice{grid-template-columns:1fr}.billing-period-filter{grid-template-columns:1fr 1fr}.billing-period-filter .button{grid-column:1/-1}.billing-source-object-grid{grid-template-columns:1fr}}
@media(max-width:560px){.billing-period-filter{grid-template-columns:1fr}.billing-period-filter .button{grid-column:auto}.billing-source-block{padding:10px}.billing-source-summary{display:grid}.billing-source-summary span{border-radius:9px}}

/* V113 – eigenständiges Arbeitsnachweis-Archiv */
.work-record-title{align-items:flex-start}.work-record-detail{margin-top:18px}.work-record-print-sheet{max-width:920px;margin:0 auto;background:#fff;border:1px solid var(--line,#DCE5F0);border-radius:16px;padding:28px}.work-record-print-head{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:18px;border-bottom:2px solid #1769E0}.work-record-print-head img{max-height:58px;max-width:220px;object-fit:contain}.work-record-print-head>div:last-child{text-align:right}.work-record-print-head p{margin:0;color:var(--muted,#667085);font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;font-weight:800}.work-record-print-head strong{font-size:1.4rem}.work-record-print-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:22px 0}.work-record-print-grid>div{display:grid;gap:5px;padding:13px 14px;border:1px solid var(--line,#DCE5F0);border-radius:12px;background:#FFFFFF}.work-record-print-grid .wide{grid-column:1/-1}.work-record-print-grid span,.work-record-signatures>div>span{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted,#667085);font-weight:800}.work-record-signatures{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}.work-record-signatures>div{display:grid;gap:7px}.work-record-signature-box{height:170px;border:1px solid var(--line,#DCE5F0);border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:center;padding:10px}.work-record-signature-box img{display:block;max-width:100%;max-height:145px;object-fit:contain}.work-record-print-foot{display:flex;justify-content:space-between;gap:20px;margin-top:24px;padding-top:12px;border-top:1px solid var(--line,#DCE5F0);font-size:.72rem;color:var(--muted,#667085)}
@media(max-width:720px){.work-record-print-grid,.work-record-signatures{grid-template-columns:1fr}.work-record-print-grid .wide{grid-column:auto}.work-record-print-sheet{padding:16px}.work-record-print-head{align-items:flex-start;flex-direction:column}.work-record-print-head>div:last-child{text-align:left}.work-record-print-foot{flex-direction:column;gap:4px}}
@media print{body:has(.work-record-print-sheet) .sidebar,body:has(.work-record-print-sheet) .topbar,body:has(.work-record-print-sheet) .mobile-menu,body:has(.work-record-print-sheet) .no-print{display:none!important}body:has(.work-record-print-sheet) .app-layout,body:has(.work-record-print-sheet) .workspace,body:has(.work-record-print-sheet) .content{display:block!important;margin:0!important;padding:0!important;width:100%!important;max-width:none!important}body:has(.work-record-print-sheet) .panel.work-record-detail{box-shadow:none!important;border:0!important;padding:0!important;margin:0!important}.work-record-print-sheet{border:0!important;border-radius:0!important;box-shadow:none!important;max-width:none!important;padding:0!important}.work-record-signature-box{break-inside:avoid}.work-record-print-grid>div{break-inside:avoid}}

/* V114 Betriebsmonitoring */
.platform-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin:.7rem 0 1rem}.platform-kpi-grid article{display:grid;gap:.18rem;padding:.85rem;border:1px solid #dfe9e6;border-radius:.9rem;background:#F6F9FD}.platform-kpi-grid small{font-size:.6rem;color:#75847f;text-transform:uppercase;letter-spacing:.04em}.platform-kpi-grid strong{font-size:1.15rem;color:#1769E0}.platform-kpi-grid span{font-size:.62rem;color:#7c8a86}@media(max-width:800px){.platform-kpi-grid{grid-template-columns:1fr 1fr}}@media(max-width:440px){.platform-kpi-grid{grid-template-columns:1fr}}

/* V114.2 – Kunden-Monatsnachweis aus objektbezogenen Arbeitsnachweisen */
.object-month-sheets{display:grid;gap:24px;margin-top:24px}.object-month-sheet{page:zk-object-month;max-width:1180px;margin:0 auto;background:#fff;border:1px solid var(--line,#DCE5F0);border-radius:16px;padding:28px;box-shadow:0 10px 28px rgba(20,32,51,.06)}.object-month-head{display:grid;grid-template-columns:220px 1fr 220px;align-items:center;min-height:120px}.object-month-logo{display:flex;align-items:center;justify-content:flex-start;height:110px}.object-month-logo img{display:block;max-width:185px;max-height:105px;object-fit:contain}.object-month-logo-fallback{width:92px;height:92px;border:1px solid #cfd6e2;border-radius:14px;display:grid;place-items:center;font-size:2.2rem;font-weight:800;color:var(--blue,#1769e0)}.object-month-object{grid-column:2;text-align:center;display:grid;gap:8px;justify-items:center}.object-month-object span{font-size:15px;color:#202b3c}.object-month-object strong{font-size:24px;line-height:1.2;color:#111827}.object-month-object small{font-size:13px;color:#667085}.object-month-sheet>h2{text-align:center;text-decoration:underline;margin:4px 0 14px;font-size:22px;color:#111}.object-month-tablewrap{overflow:hidden}.object-month-table{width:100%;table-layout:fixed;border-collapse:collapse;border:1.2px solid #222}.object-month-table col.c-date{width:9.5%}.object-month-table col.c-service{width:24.5%}.object-month-table col.c-count{width:6.5%}.object-month-table col.c-start,.object-month-table col.c-end{width:7.5%}.object-month-table col.c-total{width:9.5%}.object-month-table col.c-sign{width:17.5%}.object-month-table th,.object-month-table td{border:1px solid #333;padding:4px 6px;text-align:center;vertical-align:middle;color:#111;background:#fff;font-size:13px}.object-month-table th{height:44px;font-weight:500;line-height:1.15}.object-month-table tbody tr{height:54px}.object-month-table td.object-month-service{text-align:left;padding-left:9px}.object-month-table td.object-month-count{text-align:center}.object-month-signature{padding:2px 4px!important}.object-month-signature img{display:block;max-width:100%;max-height:38px;margin:0 auto;object-fit:contain}.object-month-signature small{display:block;max-width:100%;margin-top:1px;font-size:8px;line-height:1.05;color:#555;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.object-month-empty td{height:54px}.object-month-foot{display:flex;justify-content:space-between;gap:16px;margin-top:8px;font-size:10px;color:#667085}.signature-empty{color:#98a2b3}.object-work-record-monthly{display:none!important}
@media(max-width:900px){.object-month-sheet{padding:18px;overflow:auto}.object-month-head{grid-template-columns:150px 1fr 60px}.object-month-logo{height:85px}.object-month-logo img{max-width:135px;max-height:80px}.object-month-object strong{font-size:20px}.object-month-table{min-width:900px}}
@page zk-object-month{size:A4 landscape;margin:8mm}
@media print{body:has(.object-month-sheet) .sidebar,body:has(.object-month-sheet) .topbar,body:has(.object-month-sheet) .mobile-menu,body:has(.object-month-sheet) .no-print,body:has(.object-month-sheet) .company-subnav{display:none!important}body:has(.object-month-sheet) .app-layout,body:has(.object-month-sheet) .workspace,body:has(.object-month-sheet) .content{display:block!important;margin:0!important;padding:0!important;width:100%!important;max-width:none!important}body:has(.object-month-sheet){background:#fff!important}.object-month-sheets{display:block!important;margin:0!important}.object-month-sheet{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;break-inside:avoid;page-break-inside:avoid}.object-month-sheet:not(:last-child){break-after:page;page-break-after:always}.object-month-head{min-height:30mm;grid-template-columns:45mm 1fr 45mm}.object-month-logo{height:28mm}.object-month-logo img{max-width:40mm;max-height:27mm}.object-month-logo-fallback{width:23mm;height:23mm;font-size:16pt}.object-month-object{gap:1.5mm}.object-month-object span{font-size:10pt}.object-month-object strong{font-size:16pt}.object-month-object small{font-size:8.5pt}.object-month-sheet>h2{font-size:15pt;margin:1.5mm 0 3mm}.object-month-table th,.object-month-table td{font-size:8pt;padding:1mm 1.2mm}.object-month-table th{height:10mm}.object-month-table tbody tr,.object-month-empty td{height:10.6mm}.object-month-signature img{max-height:8.4mm}.object-month-signature small{font-size:5.5pt}.object-month-foot{font-size:6.5pt;margin-top:2mm}}


/* V114.3 – Portal farblich an Verkaufsseite/Android angeglichen */
:root{--blue:#1769E0;--blue2:#EAF3FF;--ink:#142033;--muted:#667085;--line:#DCE5F0;--bg:#F6F9FD;--white:#FFFFFF;--shadow:0 10px 35px rgba(20,32,51,.07)}
.app-body,.platform-body,.privacy-public,.privacy-doc-body{background:#F6F9FD;color:#142033}
.sidebar-brand>span,.button,.today .day-number{background:#1769E0;color:#fff}
.button.secondary,.tag,.status,.tenant-chip{background:#EAF3FF;color:#0E4FAF}
.top nav a:hover,.sidebar-nav a:hover,.sidebar-nav a.active{background:#EAF3FF;color:#0E4FAF}
input:focus,select:focus,textarea:focus{border-color:#1769E0;box-shadow:0 0 0 3px #EAF3FF}


/* V114-R7: TOTP-Einrichtung mit lokal gerendertem QR-Code. */
.totp-setup{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin:18px 0}
.totp-qr-card,.totp-manual-card{border:1px solid var(--line,#d8e2ef);border-radius:16px;background:#fff;padding:16px;min-width:0}
.totp-qr-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px}
.totp-qr-card strong,.totp-manual-card strong{display:block;color:var(--ink,#10233f);font-size:1rem}
.totp-qr{display:flex;align-items:center;justify-content:center;width:100%;min-height:248px;padding:8px;background:#fff;border-radius:12px;overflow:auto}
.totp-qr img,.totp-qr canvas,.totp-qr table{max-width:100%;height:auto}
.totp-manual-card{display:flex;flex-direction:column;gap:9px}
.totp-secret-label{margin:4px 0 0;color:var(--muted,#5f6f82);font-size:.86rem}
.totp-secret{display:block;word-break:break-all;font-size:1rem;padding:10px 12px;border-radius:10px;background:#f4f7fb;border:1px solid #e0e7f0}
.totp-uri-details{margin-top:4px}
.totp-uri-details code{display:block;margin-top:8px;word-break:break-all;font-size:.8rem}
@media(max-width:720px){.totp-setup{grid-template-columns:1fr}.totp-qr{min-height:220px}}

/* V114 R8.1: Wachbuch-/Vorfallsbericht-UX und klare Aktionen */
.incident-shift-card{position:relative;display:grid!important;grid-template-columns:7px minmax(0,1fr) auto!important;gap:0!important;align-items:stretch!important;border:1px solid var(--line)!important;border-radius:.9rem!important;overflow:hidden!important;background:#fff!important;padding:0!important;min-height:108px}
.incident-shift-color{display:block!important;width:7px!important;min-height:108px!important;align-self:stretch!important;background:var(--event-color,#1769E0)!important}
.incident-shift-main{display:grid!important;grid-template-columns:minmax(170px,1fr) minmax(220px,1.15fr) minmax(180px,1fr)!important;gap:1.35rem!important;align-items:center!important;padding:1rem 1.15rem!important;min-width:0}
.incident-shift-main>div{display:grid!important;gap:.22rem!important;min-width:0}
.incident-shift-main span{font-size:.68rem!important;text-transform:uppercase!important;letter-spacing:.055em!important;color:#667085!important;font-weight:800!important}
.incident-shift-main strong{font-size:.92rem!important;line-height:1.35!important;overflow-wrap:anywhere}
.incident-shift-main small{font-size:.76rem!important;line-height:1.4!important;color:#667085!important}
.incident-shift-action{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:.55rem!important;padding:1rem 1.15rem 1rem .4rem!important;min-width:190px}
.incident-shift-action .button{margin:0!important;white-space:nowrap!important;min-width:150px!important;justify-content:center!important}
.watchbook-entry-list,.incident-report-list{display:grid;gap:.8rem}
.watchbook-entry-card,.incident-report-card{display:grid;grid-template-columns:6px minmax(0,1fr) auto;gap:0;border:1px solid var(--line);border-radius:.9rem;overflow:hidden;background:#fff;min-width:0}
.watchbook-entry-color,.incident-report-color{display:block;background:var(--event-color,#1769E0);align-self:stretch;min-height:100%}
.watchbook-entry-body,.incident-report-card-body{display:grid;gap:.55rem;padding:1rem 1.1rem;min-width:0}
.watchbook-entry-meta,.incident-report-card-meta{display:flex;flex-wrap:wrap;gap:.4rem .85rem;color:#667085;font-size:.72rem}
.watchbook-entry-shift{display:grid;gap:.08rem;width:max-content;max-width:100%}
.watchbook-entry-shift strong{font-size:.9rem}.watchbook-entry-shift small{color:#667085;font-size:.72rem}
.watchbook-entry-text,.incident-report-card-body>p{margin:0;line-height:1.55;white-space:normal;overflow-wrap:anywhere}
.watchbook-revision-count{color:#667085}
.watchbook-entry-actions,.incident-report-card-actions{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;flex-wrap:wrap;padding:1rem 1rem 1rem .3rem;min-width:240px}
.watchbook-entry-actions form,.incident-report-card-actions form{margin:0}
.watchbook-entry-actions .button,.incident-report-card-actions .button{margin:0;white-space:nowrap}
.incident-report-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.incident-report-card-head>div{display:grid;gap:.15rem}.incident-report-card-head small{color:#667085}
.swap-entry-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:.5rem!important;flex-wrap:wrap!important}
.swap-entry-actions form{min-width:0!important;margin:0!important}
@media(max-width:980px){.incident-shift-card{grid-template-columns:7px minmax(0,1fr)!important}.incident-shift-main{grid-template-columns:1fr 1fr!important}.incident-shift-main>div:first-child{grid-column:1/-1}.incident-shift-action{grid-column:2;padding:.2rem 1rem 1rem!important;justify-content:stretch!important;min-width:0}.incident-shift-action .button{width:100%!important}.watchbook-entry-card,.incident-report-card{grid-template-columns:6px minmax(0,1fr)}.watchbook-entry-actions,.incident-report-card-actions{grid-column:2;justify-content:flex-start;padding:.1rem 1rem 1rem;min-width:0}}
@media(max-width:620px){.incident-shift-main{grid-template-columns:1fr!important;gap:.75rem!important}.incident-shift-main>div:first-child{grid-column:1}.incident-shift-action{grid-column:2}.watchbook-entry-actions,.incident-report-card-actions{display:grid!important;grid-template-columns:1fr}.watchbook-entry-actions .button,.incident-report-card-actions .button{width:100%!important}.incident-report-card-head{display:grid}}

/* V114 R8.1: Wachbuch/Vorfallsberichte – robuste Karten- und Aktionsdarstellung */
.incident-shift-list{display:grid!important;gap:.85rem!important}
.incident-shift-card{width:100%!important;box-sizing:border-box!important}
.incident-shift-main{overflow:hidden!important}
.incident-shift-main>div{align-content:center!important}
.incident-shift-action{position:relative!important;z-index:2!important;background:#fff!important}
.incident-shift-action .button{display:inline-flex!important;align-items:center!important;min-height:44px!important}
.watchbook-entry-actions,.incident-report-card-actions{background:#fbfcfe!important;border-left:1px solid var(--line)!important}
.watchbook-entry-actions .button,.incident-report-card-actions .button{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:40px!important}
.watchbook-entry-card,.incident-report-card{width:100%!important;box-sizing:border-box!important}
@media(max-width:980px){.watchbook-entry-actions,.incident-report-card-actions{border-left:0!important;border-top:1px solid var(--line)!important}}
@media(max-width:620px){.incident-shift-action{background:#fff!important}.incident-shift-action .button{width:100%!important}.watchbook-entry-actions,.incident-report-card-actions{padding:.75rem 1rem 1rem!important}}

/* V114 R9: individuelle Vertragszuordnung im Plattformbereich */
.platform-company-contract{grid-column:1/-1;border-top:1px solid #e7eeec;padding-top:.45rem}.platform-company-contract>summary{list-style:none;cursor:pointer;width:max-content;color:#1769E0;font-size:.62rem;font-weight:850}.platform-company-contract>summary::-webkit-details-marker{display:none}.platform-company-contract>div{margin-top:.55rem;padding:.8rem;border:1px solid #DCE5F0;border-radius:.8rem;background:#F6F9FD}.platform-company-contract p{margin:0 0 .7rem;line-height:1.45}.platform-company-contract p small{color:#627086;font-size:.62rem}.platform-contract-summary{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.65rem}.platform-contract-summary>span:first-child{display:grid;gap:.15rem}.platform-contract-summary b{font-size:.76rem}.platform-contract-summary small{font-size:.62rem;color:#627086}.platform-contract-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:0}.platform-contract-form .wide{grid-column:1/-1}.platform-contract-form textarea{min-height:84px;resize:vertical}.platform-contract-form .notice{margin:0}.platform-contract-form .button{margin:0;justify-self:start}
@media(max-width:700px){.platform-contract-summary{align-items:flex-start;flex-direction:column}.platform-contract-form{grid-template-columns:1fr}.platform-contract-form .wide{grid-column:auto}.platform-contract-form .button{width:100%}}

/* V114 R10.1: professioneller Dienstanweisungs-Generator */
.instruction-body{background:#f4f7fb;color:#142033}.instruction-shell{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:28px 0 70px}.instruction-topbar{display:grid;grid-template-columns:180px 1fr;gap:24px;align-items:start;margin-bottom:24px}.instruction-topbar h1{font-size:clamp(30px,4vw,42px);margin:4px 0 4px;letter-spacing:-.035em}.instruction-topbar p{margin:0}.instruction-back{display:inline-flex;align-items:center;min-height:42px;color:#0E4FAF;font-weight:750;font-size:.88rem}.instruction-notice{margin:0 0 18px}.instruction-generator{overflow:hidden;padding:0;margin:0;border:1px solid #dfe7f0;border-radius:20px;background:#fff;box-shadow:0 18px 50px rgba(35,58,91,.07)}.instruction-step{display:grid;grid-template-columns:54px minmax(0,1fr);gap:18px;padding:26px 28px;border-bottom:1px solid #e9eef4}.instruction-step:last-child{border-bottom:0}.instruction-step-number{width:42px;height:42px;border-radius:14px;background:#eaf3ff;color:#0E4FAF;display:grid;place-items:center;font-weight:850;font-size:1rem}.instruction-step-content{min-width:0}.instruction-step-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.instruction-step-head h2{margin:0 0 4px;font-size:1.08rem}.instruction-step-head p{margin:0;font-size:.86rem}.instruction-step-state{display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;border-radius:999px;background:#f1f5f9;color:#64748b;font-size:.72rem;font-weight:800;white-space:nowrap}.instruction-step-state.done{background:#eaf8f2;color:#14735c}.instruction-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.instruction-fields label{margin:0}.instruction-file-summary{display:flex;align-items:center;gap:12px;padding:12px 14px;margin-top:12px;border:1px solid #dfe7f0;border-radius:14px;background:#f8fbff}.instruction-file-summary>div{display:grid;min-width:0;flex:1}.instruction-file-summary strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.instruction-file-summary small{color:#667085}.instruction-file-summary .button{margin:0}.instruction-file-icon,.instruction-doc-icon{display:grid;place-items:center;flex:0 0 auto;border-radius:10px;background:#fff0ef;color:#b42318;border:1px solid #f4d0cd;font-weight:850;font-size:.65rem;letter-spacing:.04em}.instruction-file-icon{width:42px;height:42px}.instruction-placement-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:18px}.instruction-preview-card,.instruction-position-card{min-width:0;border:1px solid #dfe7f0;border-radius:16px;background:#f8fafc;overflow:hidden}.instruction-preview-head{min-height:50px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 13px;background:#fff;border-bottom:1px solid #e6edf4}.instruction-preview-head strong{font-size:.83rem}.instruction-preview-head>span{font-size:.76rem;color:#0E4FAF;font-weight:800;text-transform:capitalize}.instruction-preview-head label{display:flex;align-items:center;gap:8px;margin:0;font-size:.75rem;color:#667085}.instruction-preview-head input{width:72px;padding:7px 8px;border-radius:9px}.instruction-pdf-empty{height:470px;display:grid;place-items:center;align-content:center;gap:10px;text-align:center;color:#8190a5}.instruction-pdf-empty>span{width:64px;height:76px;display:grid;place-items:center;border:2px solid #cfdae7;border-radius:10px;background:#fff;font-weight:850;color:#9aabc0}.instruction-pdf-empty p{max-width:250px;margin:0;font-size:.8rem}.instruction-pdf-frame{display:block;width:100%;height:470px;border:0;background:#eef2f7}.instruction-position-card{padding-bottom:12px}.instruction-paper{position:relative;width:min(82%,330px);aspect-ratio:210/297;margin:20px auto 16px;background:#fff;border:1px solid #d6e0eb;border-radius:5px;box-shadow:0 12px 30px rgba(31,48,76,.10);overflow:hidden;touch-action:none;user-select:none}.instruction-paper:before{content:"DIENSTANWEISUNG";position:absolute;left:10%;top:8%;font-size:.48rem;font-weight:850;letter-spacing:.1em;color:#a7b3c3}.instruction-paper-lines{position:absolute;left:10%;right:10%;top:17%;height:56%;background:repeating-linear-gradient(to bottom,#edf1f5 0,#edf1f5 2px,transparent 2px,transparent 18px);opacity:.9}.instruction-signature-field{position:absolute;left:56%;top:80%;width:32%;height:11%;min-width:76px;min-height:42px;border:2px solid #1769E0;border-radius:8px;background:rgba(234,243,255,.92);box-shadow:0 5px 15px rgba(23,105,224,.12);display:grid;place-items:center;align-content:center;gap:1px;color:#0E4FAF;cursor:grab;outline:none}.instruction-signature-field:active{cursor:grabbing}.instruction-signature-field:focus{box-shadow:0 0 0 3px rgba(23,105,224,.15),0 5px 15px rgba(23,105,224,.12)}.instruction-signature-field span{font-size:.62rem;font-weight:850;white-space:nowrap}.instruction-signature-field small{font-size:.45rem;color:#55749f}.instruction-signature-field i{position:absolute;right:-5px;bottom:-5px;width:14px;height:14px;border-radius:4px;background:#1769E0;border:2px solid #fff;box-shadow:0 2px 5px rgba(0,0,0,.18);cursor:nwse-resize}.instruction-presets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:0 12px}.instruction-presets button{appearance:none;border:1px solid #d9e3ee;border-radius:10px;background:#fff;color:#53657a;padding:8px 9px;font:inherit;font-size:.72rem;font-weight:750;cursor:pointer}.instruction-presets button:hover,.instruction-presets button.active{border-color:#8ab6f0;background:#edf5ff;color:#0E4FAF}.instruction-help{padding:0 14px;margin:10px 0 0;font-size:.72rem;line-height:1.45}.instruction-step-final{background:#fbfdff}.instruction-submit-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 16px;border:1px solid #dbe7f4;border-radius:14px;background:#fff}.instruction-submit-row>div{display:grid;gap:3px}.instruction-submit-row small{color:#667085;font-size:.75rem}.instruction-primary{min-width:225px;margin:0!important;min-height:46px}.instruction-list-section{margin-top:34px}.instruction-list-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:14px}.instruction-list-head h2{font-size:1.25rem;margin:4px 0 2px}.instruction-list-head p{margin:0;font-size:.84rem}.instruction-card-list{display:grid;gap:10px}.instruction-item{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.85fr) auto;gap:20px;align-items:center;padding:17px 18px;border:1px solid #dfe7f0;border-radius:16px;background:#fff;box-shadow:none}.instruction-item-main{display:flex;align-items:center;gap:12px;min-width:0}.instruction-doc-icon{width:46px;height:50px}.instruction-item-copy{min-width:0}.instruction-item-copy h3{margin:0 0 3px;font-size:.94rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.instruction-item-copy p{margin:0;font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.instruction-item-copy small{display:block;margin-top:3px;color:#8693a5;font-size:.69rem}.instruction-progress-block{min-width:0}.instruction-progress-meta{display:flex;justify-content:space-between;gap:10px;margin-bottom:6px;font-size:.73rem}.instruction-progress-meta span{color:#667085}.instruction-progress{width:100%;height:8px;border:0;border-radius:999px;overflow:hidden;background:#e8eef5;appearance:none}.instruction-progress::-webkit-progress-bar{background:#e8eef5;border-radius:999px}.instruction-progress::-webkit-progress-value{background:#1769E0;border-radius:999px}.instruction-progress::-moz-progress-bar{background:#1769E0;border-radius:999px}.instruction-progress-block small{display:block;margin-top:6px;color:#667085;font-size:.69rem}.instruction-item-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px}.instruction-item-actions form{margin:0}.instruction-item-actions .button{margin:0}.instruction-delete{background:#fff0ef!important;color:#b42318!important;border:1px solid #f1ccc8}.instruction-hash{display:inline-flex;padding:5px 7px;border-radius:8px;background:#f3f6fa;color:#7a899b;font-size:.63rem;font-weight:750;white-space:nowrap}.instruction-retention-note{margin:13px 4px 0;font-size:.73rem;color:#6c7888}.instruction-empty{display:grid;gap:4px;background:#fff}.instruction-empty strong{color:#314156}.instruction-empty span{font-size:.8rem}.instruction-pdf-input-hidden{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}.instruction-pdf-input-hidden+*{display:none}
@media(max-width:920px){.instruction-placement-grid{grid-template-columns:1fr}.instruction-preview-card{order:2}.instruction-position-card{order:1}.instruction-pdf-empty,.instruction-pdf-frame{height:420px}.instruction-item{grid-template-columns:1fr 1fr}.instruction-item-actions{grid-column:1/-1;justify-content:space-between}}
@media(max-width:680px){.instruction-shell{width:min(100% - 20px,1180px);padding-top:16px}.instruction-topbar{grid-template-columns:1fr;gap:4px}.instruction-topbar h1{font-size:30px}.instruction-step{grid-template-columns:38px minmax(0,1fr);gap:11px;padding:20px 15px}.instruction-step-number{width:34px;height:34px;border-radius:11px}.instruction-step-head{display:grid;gap:8px}.instruction-step-state{justify-self:start}.instruction-fields{grid-template-columns:1fr}.instruction-file-summary{align-items:flex-start;flex-wrap:wrap}.instruction-file-summary>div{min-width:180px}.instruction-file-summary .button{width:100%}.instruction-placement-grid{grid-template-columns:1fr}.instruction-preview-head{align-items:flex-start}.instruction-pdf-empty,.instruction-pdf-frame{height:350px}.instruction-paper{width:min(88%,300px)}.instruction-submit-row{align-items:stretch;flex-direction:column}.instruction-primary{width:100%;min-width:0}.instruction-list-head{align-items:flex-start;flex-direction:column}.instruction-item{grid-template-columns:1fr;gap:14px}.instruction-item-actions{grid-column:auto;justify-content:space-between}.instruction-item-actions form{flex:1}.instruction-delete{width:100%}.instruction-hash{display:none}}

/* V114 R11: Dienstanweisungen – zwei Wege, freier Editor, Live-Vorschau, gezielte Verteilung */
.instruction-mode-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 0 18px}.instruction-mode-card{appearance:none;text-align:left;border:1px solid #d9e4ef;border-radius:18px;background:#fff;padding:18px 20px;display:grid;grid-template-columns:46px 1fr;column-gap:14px;row-gap:3px;cursor:pointer;color:#1d2a3b;box-shadow:0 8px 26px rgba(35,58,91,.04);font:inherit}.instruction-mode-card:hover{border-color:#9fc0e9}.instruction-mode-card.active{border-color:#1769E0;box-shadow:0 0 0 3px rgba(23,105,224,.10),0 14px 32px rgba(35,58,91,.07)}.instruction-mode-card strong,.instruction-mode-card small{grid-column:2}.instruction-mode-card strong{font-size:1rem}.instruction-mode-card small{color:#68778a;line-height:1.45}.instruction-mode-icon{grid-row:1/3;width:46px;height:46px;border-radius:14px;background:#edf5ff;color:#0E4FAF;display:grid;place-items:center;font-size:.8rem;font-weight:900}.instruction-mode-card.active .instruction-mode-icon{background:#1769E0;color:#fff}.instruction-generator[hidden]{display:none!important}.instruction-fields-3{grid-template-columns:repeat(3,minmax(0,1fr))}.instruction-fields-3 label:nth-child(1){grid-column:span 2}.field-optional{font-size:.67rem;color:#8391a3;font-weight:600}.instruction-template-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:11px 12px;margin-bottom:16px;border:1px solid #dfe8f2;background:#f8fbff;border-radius:14px}.instruction-template-bar strong{margin-right:auto;font-size:.8rem}.instruction-template-bar .button{margin:0!important;min-height:36px;padding:.48rem .7rem;font-size:.72rem}.instruction-editor-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:18px;align-items:start}.instruction-section-editor{display:grid;gap:11px}.instruction-section-row{border:1px solid #dfe7f0;border-radius:14px;background:#fff;padding:14px;display:grid;gap:11px}.instruction-section-row label{margin:0}.instruction-section-row textarea{min-height:126px;resize:vertical;line-height:1.5}.instruction-section-toolbar{display:flex;justify-content:space-between;gap:10px;align-items:center;border-bottom:1px solid #edf1f5;padding-bottom:9px}.instruction-section-toolbar>div{display:flex;gap:6px}.instruction-section-toolbar button{appearance:none;border:1px solid #dce5ef;background:#f8fafc;border-radius:8px;min-height:30px;padding:4px 9px;font:inherit;font-size:.7rem;font-weight:750;cursor:pointer;color:#556579}.instruction-section-toolbar button:hover{border-color:#9bbbe2;background:#fff}.instruction-section-toolbar .danger-text{color:#b42318}.instruction-drag{font-size:.72rem;font-weight:850;color:#0E4FAF;text-transform:uppercase;letter-spacing:.04em}.instruction-live-preview{position:sticky;top:16px}.instruction-preview-paper{background:#fff;border:1px solid #d7e1ec;border-radius:5px;box-shadow:0 18px 45px rgba(28,45,72,.12);padding:28px 30px 34px;aspect-ratio:210/297;overflow:hidden;color:#152338}.instruction-preview-brand{display:flex;align-items:center;gap:8px;margin-bottom:28px}.instruction-preview-brand span{width:28px;height:28px;border-radius:7px;background:#1769E0;color:#fff;display:grid;place-items:center;font-size:.56rem;font-weight:900}.instruction-preview-brand small{font-size:.55rem;font-weight:900;letter-spacing:.12em}.instruction-preview-kicker{display:block;color:#1769E0;font-size:.52rem;font-weight:900;letter-spacing:.1em;margin-bottom:6px}.instruction-preview-paper h3{font-size:1.05rem;line-height:1.2;margin:0 0 14px;letter-spacing:-.02em}.instruction-preview-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;background:#f3f7fb;border-radius:7px;padding:8px;margin-bottom:17px}.instruction-preview-meta span{display:grid;gap:2px;min-width:0}.instruction-preview-meta b{font-size:.42rem;text-transform:uppercase;color:#69788a}.instruction-preview-meta em{font-style:normal;font-size:.48rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.instruction-preview-sections{display:grid;gap:10px}.instruction-preview-sections div{border-top:1px solid #e7ecf2;padding-top:7px}.instruction-preview-sections b{display:block;font-size:.53rem;margin-bottom:3px}.instruction-preview-sections p{font-size:.44rem!important;line-height:1.45!important;color:#566579!important;margin:0!important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.instruction-preview-sections>small{font-size:.45rem;color:#79889a}.instruction-preview-sign{margin-top:14px;border:1px solid #d9e4ef;border-radius:6px;padding:8px;background:#f8fbff}.instruction-preview-sign b{font-size:.48rem}.instruction-preview-sign span{display:block;border-bottom:1px solid #9eb6d4;margin-top:12px}.instruction-recipient-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.instruction-choice{margin:0!important;display:flex!important;align-items:center!important;gap:10px!important;border:1px solid #dce5ef;border-radius:13px;padding:12px;background:#fff;cursor:pointer}.instruction-choice.active{border-color:#1769E0;background:#f5f9ff;box-shadow:0 0 0 2px rgba(23,105,224,.07)}.instruction-choice input{width:auto!important;margin:0!important}.instruction-choice span{display:grid;gap:2px}.instruction-choice b{font-size:.8rem}.instruction-choice small{font-size:.67rem;color:#6b798c}.instruction-recipient-detail{grid-column:1/-1;padding:12px;border:1px solid #e1e8f0;border-radius:13px;background:#f9fbfd}.instruction-recipient-detail label{margin:0}.instruction-recipient-detail select[multiple]{min-height:180px}.instruction-item-badges{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:5px}.instruction-item-badges span{font-size:.58rem;font-weight:800;padding:3px 6px;border-radius:999px;background:#edf4fb;color:#416184}.instruction-item-actions{flex-wrap:wrap}.instruction-item-actions>a.button{white-space:nowrap}
@media(max-width:1040px){.instruction-editor-layout{grid-template-columns:1fr}.instruction-live-preview{position:static}.instruction-preview-paper{aspect-ratio:auto;min-height:560px}.instruction-fields-3{grid-template-columns:repeat(2,minmax(0,1fr))}.instruction-fields-3 label:nth-child(1){grid-column:1/-1}}
@media(max-width:720px){.instruction-mode-picker{grid-template-columns:1fr}.instruction-mode-card{padding:15px}.instruction-fields-3{grid-template-columns:1fr}.instruction-fields-3 label:nth-child(1){grid-column:auto}.instruction-recipient-options{grid-template-columns:1fr}.instruction-recipient-detail{grid-column:auto}.instruction-template-bar{align-items:stretch}.instruction-template-bar strong{width:100%;margin:0}.instruction-template-bar .button{width:100%}.instruction-preview-paper{padding:22px 20px;min-height:520px}.instruction-section-toolbar{align-items:flex-start;flex-direction:column}.instruction-section-toolbar>div{width:100%;flex-wrap:wrap}.instruction-section-toolbar button{flex:1}.instruction-item-actions>a.button{flex:1;text-align:center}}

/* V114 R11: internes Nachrichtencenter */
.message-shell{width:min(1220px,calc(100% - 32px));margin:0 auto;padding:28px 0 60px}.message-header{display:flex;justify-content:space-between;gap:18px;align-items:end;margin-bottom:18px}.message-header h1{margin:3px 0 4px;font-size:clamp(28px,4vw,40px)}.message-header p{margin:0}.message-layout{display:grid;grid-template-columns:minmax(300px,.78fr) minmax(0,1.5fr);gap:14px;min-height:640px}.message-sidebar,.message-conversation{border:1px solid #dfe7f0;border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 14px 38px rgba(35,58,91,.05)}.message-compose{padding:15px;border-bottom:1px solid #e7edf4;background:#f8fbff}.message-compose details>summary{list-style:none;cursor:pointer;font-weight:850;color:#0E4FAF}.message-compose details>summary::-webkit-details-marker{display:none}.message-compose form{display:grid;gap:10px;margin-top:13px}.message-compose label{margin:0}.message-compose textarea{min-height:110px;resize:vertical}.message-compose .button{margin:0}.message-thread-list{max-height:720px;overflow:auto}.message-thread-link{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:10px;padding:13px 14px;border-bottom:1px solid #edf1f5;text-decoration:none;color:inherit}.message-thread-link:hover{background:#f8fbff}.message-thread-link.active{background:#eef5ff}.message-avatar{width:42px;height:42px;border-radius:50%;background:#eaf2fb;color:#0E4FAF;display:grid;place-items:center;font-weight:850}.message-thread-copy{min-width:0}.message-thread-copy strong{display:block;font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.message-thread-copy b{display:block;font-size:.75rem;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.message-thread-copy span{display:block;color:#6f7e90;font-size:.68rem;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.message-thread-time{display:grid;justify-items:end;align-content:start;gap:5px;color:#8090a3;font-size:.62rem;white-space:nowrap}.message-unread{min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#1769E0;color:#fff;display:grid;place-items:center;font-size:.62rem;font-weight:850}.message-conversation{display:grid;grid-template-rows:auto 1fr auto}.message-conversation-head{padding:16px 18px;border-bottom:1px solid #e7edf4}.message-conversation-head h2{margin:0 0 3px;font-size:1rem}.message-conversation-head p{margin:0;font-size:.72rem}.message-history{padding:18px;overflow:auto;display:flex;flex-direction:column;gap:10px;background:#f7f9fc}.message-bubble{max-width:min(78%,680px);border-radius:15px;padding:11px 13px;background:#fff;border:1px solid #e1e7ee;box-shadow:0 2px 8px rgba(30,45,70,.03)}.message-bubble.from-staff{align-self:flex-end;background:#eaf3ff;border-color:#cfe1f8}.message-bubble.from-employee{align-self:flex-start}.message-bubble header{display:flex;justify-content:space-between;gap:12px;margin-bottom:5px;font-size:.64rem;color:#6e7d8f}.message-bubble header strong{color:#33455b}.message-bubble p{margin:0!important;color:#253448!important;line-height:1.5!important;white-space:pre-wrap}.message-reply-form{display:grid;grid-template-columns:1fr auto;gap:10px;padding:14px;border-top:1px solid #e1e8f0;background:#fff}.message-reply-form textarea{min-height:74px;resize:vertical}.message-reply-form .button{margin:0;align-self:end;min-height:44px}.message-empty-state{display:grid;place-items:center;align-content:center;text-align:center;padding:40px;color:#77869a}.message-empty-state strong{font-size:1rem;color:#34465b}.message-empty-state p{max-width:440px}.message-sidebar-empty{padding:28px 16px;color:#77869a;font-size:.78rem}
@media(max-width:860px){.message-layout{grid-template-columns:1fr}.message-sidebar{max-height:none}.message-thread-list{max-height:360px}.message-conversation{min-height:620px}.message-header{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.message-shell{width:min(100% - 20px,1220px);padding-top:16px}.message-bubble{max-width:92%}.message-reply-form{grid-template-columns:1fr}.message-reply-form .button{width:100%}}


/* R12 Dienstanweisungs-Editor: modulare Bausteine + einfache Empfängerauswahl */
.instruction-building-blocks{margin:0 0 16px;border:1px solid #dfe8f2;border-radius:16px;background:#fbfdff;overflow:hidden}
.instruction-building-blocks-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 14px;border-bottom:1px solid #e7edf4;background:#f5f9ff}
.instruction-building-blocks-head>div{display:grid;gap:2px}.instruction-building-blocks-head strong{font-size:.82rem}.instruction-building-blocks-head small{color:#6a788a;font-size:.69rem}.instruction-building-blocks-head>span{font-size:.66rem;font-weight:850;color:#0E4FAF;background:#e8f2ff;border-radius:999px;padding:5px 8px;white-space:nowrap}
.instruction-block-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:11px}
.instruction-block{appearance:none;text-align:left;border:1px solid #dce5ef;border-radius:11px;background:#fff;padding:10px 11px;display:grid;gap:3px;cursor:pointer;color:#304156;font:inherit;min-height:64px}
.instruction-block:hover,.instruction-block:focus-visible{border-color:#79a9e8;box-shadow:0 0 0 2px rgba(23,105,224,.08);outline:0}.instruction-block b{font-size:.72rem;color:#0E4FAF}.instruction-block small{font-size:.62rem;line-height:1.35;color:#6b798c}
.instruction-person-picker{display:grid;gap:9px}.instruction-person-picker-tools{display:flex;align-items:end;justify-content:space-between;gap:12px}.instruction-person-picker-tools label{flex:1}.instruction-person-picker-tools>div{display:flex;gap:6px;flex-wrap:wrap}.instruction-person-picker-tools .button{margin:0!important;min-height:38px;padding:.45rem .65rem;font-size:.69rem}
.instruction-person-count{font-size:.7rem;font-weight:800;color:#53657a}.instruction-person-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:310px;overflow:auto;padding:2px}
.instruction-person{display:flex!important;align-items:center!important;gap:9px!important;margin:0!important;padding:9px 10px;border:1px solid #dfe7f0;border-radius:11px;background:#fff;cursor:pointer}.instruction-person:hover{border-color:#a9c7eb}.instruction-person:has(input:checked){border-color:#1769E0;background:#f3f8ff}
.instruction-person input{width:auto!important;margin:0!important}.instruction-person span{display:grid;gap:1px;min-width:0}.instruction-person b{font-size:.73rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.instruction-person small{font-size:.62rem;color:#6d7a8b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:980px){.instruction-block-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.instruction-block-grid{grid-template-columns:1fr}.instruction-building-blocks-head{align-items:flex-start}.instruction-person-picker-tools{align-items:stretch;flex-direction:column}.instruction-person-picker-tools>div{display:grid;grid-template-columns:1fr 1fr}.instruction-person-list{grid-template-columns:1fr;max-height:360px}}

/* R12.1 Dienstanweisungs-Editor: Drag & Drop + Textwerkzeuge */
.instruction-block-head-tools{display:flex!important;align-items:center;gap:8px}.instruction-block-head-tools>span{font-size:.66rem;font-weight:850;color:#0E4FAF;background:#e8f2ff;border-radius:999px;padding:5px 8px;white-space:nowrap}.instruction-block-search input{min-width:190px;height:36px;margin:0!important;padding:.42rem .65rem!important;font-size:.7rem!important}.instruction-block-empty{margin:0 12px 12px;padding:10px;border:1px dashed #dbe4ee;border-radius:10px;color:#6c7a8c;text-align:center;font-size:.72rem}.instruction-drag{appearance:none;border:0!important;background:transparent!important;color:#4d6380!important;font:inherit;font-size:.69rem!important;font-weight:850!important;padding:5px 7px!important;border-radius:8px;cursor:grab;flex:0 0 auto!important}.instruction-drag:hover,.instruction-drag:focus-visible{background:#edf4fd!important;color:#0E4FAF!important;outline:0}.instruction-drag:active{cursor:grabbing}.instruction-section-row.dragging{opacity:.62;border-color:#1769E0;box-shadow:0 0 0 3px rgba(23,105,224,.08)}.instruction-format-tools{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:-2px;padding-top:9px;border-top:1px dashed #e4eaf1}.instruction-format-tools>span{font-size:.64rem;font-weight:800;color:#6b798b;margin-right:2px}.instruction-format-tools button{appearance:none;border:1px solid #dce5ef;background:#f9fbfd;color:#40536a;border-radius:8px;padding:5px 8px;font:inherit;font-size:.63rem;font-weight:750;cursor:pointer}.instruction-format-tools button:hover,.instruction-format-tools button:focus-visible{border-color:#9bbce4;background:#f1f7ff;color:#0E4FAF;outline:0}.instruction-format-tools small{margin-left:auto;color:#7d8998;font-size:.61rem}
@media(max-width:720px){.instruction-block-head-tools{width:100%;align-items:stretch!important;flex-direction:column}.instruction-block-search input{width:100%;min-width:0}.instruction-block-head-tools>span{align-self:flex-start}.instruction-format-tools small{width:100%;margin-left:0}.instruction-section-toolbar .instruction-drag{width:auto!important}}

/* R12.4: vereinfachter Dienstanweisungs-Generator */
.instruction-generator-simple{padding:0;overflow:hidden}.instruction-simple-step{display:grid;grid-template-columns:52px 1fr;gap:18px;padding:24px 26px;border-bottom:1px solid #e6edf5}.instruction-simple-step:last-child{border-bottom:0}.instruction-simple-step>span{width:42px;height:42px;border-radius:13px;background:#eaf3ff;color:#0e5fc7;display:grid;place-items:center;font-weight:900;font-size:1.05rem}.instruction-simple-step h2{margin:0 0 4px}.instruction-simple-step>div>p{margin:0 0 18px;color:#66778c}.instruction-briefhead-card{display:grid;grid-template-columns:1.1fr 1fr;gap:16px;border:1px solid #dfe7f0;border-radius:16px;background:#fbfdff;padding:16px;margin-bottom:16px}.instruction-briefhead-preview{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #e3eaf2;border-radius:12px;padding:14px}.instruction-briefhead-preview img{width:100px;height:52px;object-fit:contain;object-position:left center}.instruction-briefhead-preview div{display:grid;gap:3px}.instruction-briefhead-preview small{color:#6f7d8e}.instruction-logo-placeholder{width:62px!important;height:52px;display:grid!important;place-items:center;border-radius:10px;background:#0d5fca;color:#fff;font-weight:900}.instruction-briefhead-options{display:grid;gap:10px}.instruction-briefhead-options .check{display:flex!important;align-items:center!important;gap:8px!important;margin:0!important}.instruction-briefhead-options .check input{width:auto!important;margin:0!important}.instruction-section-editor.simple{display:grid;gap:12px}.instruction-section-row.simple{padding:16px;border-radius:14px;box-shadow:none}.instruction-simple-section-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf1f5;padding-bottom:10px}.instruction-simple-section-head button{appearance:none;border:0;background:transparent;color:#b42318;font:inherit;font-size:.72rem;font-weight:800;cursor:pointer}.instruction-recipient-simple{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.instruction-recipient-simple-detail{margin-top:12px;padding:14px;border:1px solid #e1e8f0;border-radius:13px;background:#f9fbfd}.instruction-recipient-simple-detail select[multiple]{min-height:190px}.instruction-file-drop{border:1px dashed #9ebce0;border-radius:14px;padding:14px;background:#f7fbff}.instruction-file-drop small{display:block;margin-top:7px;color:#66778c}.instruction-upload-position{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(250px,.7fr);gap:16px}.instruction-preview-card{min-height:480px}.instruction-pdf-frame{width:100%;height:460px;border:0;border-radius:10px;background:#f4f7fa}.instruction-position-simple{display:grid;align-content:start;gap:14px;border:1px solid #e0e7ef;border-radius:14px;padding:16px;background:#fbfdff}.instruction-position-demo{position:relative;aspect-ratio:210/297;background:#fff;border:1px solid #d7e1eb;border-radius:8px;box-shadow:0 8px 24px rgba(18,42,70,.08)}.instruction-position-demo span{position:absolute;padding:8px 6px;border:2px solid #1769e0;border-radius:7px;background:#edf5ff;color:#0e4faf;text-align:center;font-size:.68rem;font-weight:850}.work-record-create-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.work-record-create-grid .wide{grid-column:1/-1}.work-record-web-signatures{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}.message-delete-link{appearance:none;border:0;background:transparent;color:#7b8795;font:inherit;font-size:.68rem;text-decoration:underline;cursor:pointer;padding:5px 0}.message-entry-delete{margin-top:6px}.message-delete-thread{margin-left:auto}.contract-shell .fact{display:grid!important;grid-template-columns:1fr!important;gap:5px!important}.contract-shell .fact small,.contract-shell .fact strong{display:block!important;margin:0!important}.contract-shell .fact .price{margin-bottom:2px!important}
@media(max-width:780px){.instruction-simple-step{grid-template-columns:1fr;padding:18px}.instruction-simple-step>span{width:36px;height:36px}.instruction-briefhead-card,.instruction-upload-position,.work-record-web-signatures{grid-template-columns:1fr}.instruction-recipient-simple,.work-record-create-grid{grid-template-columns:1fr}.work-record-create-grid .wide{grid-column:auto}.instruction-pdf-frame{height:380px}}

/* V114-R12.4 – einfacher professioneller Dienstanweisungs-Generator */
.instruction-topbar-clean{margin-bottom:22px}
.instruction-mode-picker-clean{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 0 20px}
.instruction-mode-picker-clean .instruction-mode-card{min-height:112px;text-align:left;padding:20px;border-radius:18px}
.instruction-generator-clean{background:transparent;border:0;box-shadow:none;padding:0}
.instruction-workspace{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:20px;align-items:start}
.instruction-editor-stack{display:grid;gap:16px}
.instruction-editor-card{padding:22px;border-radius:20px}
.instruction-editor-heading{display:flex;gap:14px;align-items:flex-start;margin-bottom:18px}
.instruction-editor-heading>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#1769e0;color:#fff;font-weight:800;flex:0 0 34px}
.instruction-editor-heading h2{margin:0 0 3px;font-size:1.25rem}.instruction-editor-heading p{margin:0;color:var(--muted,#65738a)}
.instruction-main-label{font-weight:750}.instruction-main-label input{font-size:1.04rem}
.instruction-fields-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.instruction-letterhead-control{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;margin-top:16px;padding:14px;border:1px solid #dce4ef;border-radius:15px;background:#f8fbff}
.instruction-company-mark{width:54px;height:54px;border-radius:12px;background:#e9f2ff;display:grid;place-items:center;overflow:hidden;color:#1769e0;font-weight:850}.instruction-company-mark img{width:100%;height:100%;object-fit:contain;background:#fff}.instruction-letterhead-control small{display:block;color:#65738a;margin-top:2px}
.switch-label{display:flex!important;gap:8px;align-items:center!important;margin:0!important;font-weight:700!important;white-space:nowrap}.switch-label input{width:auto!important;margin:0!important}
.instruction-advanced{margin-top:14px;border-top:1px solid #e4e9f1;padding-top:12px}.instruction-advanced summary{cursor:pointer;color:#1769e0;font-weight:750}.instruction-advanced[open] summary{margin-bottom:14px}
.instruction-logo-help{padding:12px;border-radius:12px;background:#fff7e8;border:1px solid #f3d79d}.instruction-logo-help span{display:block;margin:3px 0 5px;color:#6b5b3c}.instruction-logo-help a{font-weight:700}
.instruction-template-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;margin-bottom:14px;padding:12px;border-radius:14px;background:#f5f8fc}.instruction-template-bar label{margin:0}
.instruction-section-clean{padding:0!important;border:1px solid #dce4ef!important;border-radius:15px!important;background:#fff!important;overflow:hidden;margin-bottom:12px!important}.instruction-section-clean .instruction-simple-section-head{padding:10px 12px;background:#f8fafc;border-bottom:1px solid #e7ebf1}.instruction-section-clean .instruction-simple-section-head button{background:none;border:0;color:#a43d3d;cursor:pointer;font-weight:700}.instruction-section-clean input,.instruction-section-clean textarea{border:0!important;border-radius:0!important;box-shadow:none!important}.instruction-section-clean .instruction-section-title{font-weight:800;font-size:1.03rem;border-bottom:1px solid #edf0f4!important}.instruction-section-clean textarea{min-height:170px;resize:vertical;line-height:1.55}
.instruction-add-section{width:100%;padding:12px;border:1px dashed #9ebce4;border-radius:13px;background:#f7fbff;color:#1769e0;font-weight:800;cursor:pointer}
.instruction-recipient-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;margin:14px 0 10px}.instruction-recipient-toolbar input{margin:0}.instruction-recipient-toolbar button{border:0;background:#edf4ff;color:#1769e0;border-radius:10px;padding:0 12px;font-weight:750;cursor:pointer}
.instruction-recipient-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:300px;overflow:auto;padding:2px}.instruction-recipient-person{display:flex!important;align-items:center!important;gap:10px!important;padding:10px 12px!important;border:1px solid #e0e6ee;border-radius:12px;background:#fff;margin:0!important;cursor:pointer}.instruction-recipient-person:has(input:checked){border-color:#7aa9ec;background:#f2f7ff}.instruction-recipient-person input{width:auto!important;margin:0!important}.instruction-recipient-person small{display:block;color:#6b778a;margin-top:2px;overflow-wrap:anywhere}
.instruction-submit-clean{margin-top:18px;padding-top:16px;border-top:1px solid #e6eaf0}
.instruction-paper-preview{position:sticky;top:18px;min-height:470px;padding:0!important;overflow:hidden;border-radius:18px;background:#fff}.instruction-paper-head{min-height:76px;padding:18px;display:flex;gap:12px;align-items:center;border-bottom:1px solid #dfe5ed;transition:.2s}.instruction-paper-head.is-off{opacity:.18}.instruction-paper-head img{width:74px;height:42px;object-fit:contain}.instruction-paper-head small{display:block;color:#718096;margin-top:2px}.instruction-paper-body{padding:28px 24px}.instruction-paper-body>span{font-size:.68rem;letter-spacing:.12em;font-weight:850;color:#1769e0}.instruction-paper-body h3{font-size:1.45rem;line-height:1.2;margin:8px 0 16px;color:#0d2340}.instruction-paper-rule{height:2px;background:#1769e0;margin-bottom:18px}.instruction-paper-body p{font-size:.82rem;color:#637086}.instruction-paper-lines{display:grid;gap:10px;margin-top:20px}.instruction-paper-lines i{height:6px;background:#edf1f6;border-radius:4px}.instruction-paper-lines i:nth-child(2){width:88%}.instruction-paper-lines i:nth-child(3){width:94%}.instruction-paper-lines i:nth-child(4){width:77%}.instruction-paper-lines i:nth-child(5){width:86%}.instruction-paper-sign{margin:50px 24px 24px;padding:18px;border-radius:12px;background:#f1f6fd;color:#53627a;font-size:.78rem;border-bottom:2px solid #8aa8ce}
.instruction-upload-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:16px}.instruction-upload-recipients{grid-column:1/-1}.instruction-file-drop-clean{display:flex!important;min-height:150px;flex-direction:column;align-items:center!important;justify-content:center;gap:5px;border:2px dashed #a7bddb!important;border-radius:15px!important;background:#f8fbff;cursor:pointer;text-align:center;margin:14px 0}.instruction-file-drop-clean input{position:absolute!important;opacity:0;width:1px!important;height:1px!important}.instruction-file-drop-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:#e8f1ff;color:#1769e0;font-size:.75rem;font-weight:900}.instruction-file-drop-clean strong{font-size:1.02rem}.instruction-file-drop-clean small{color:#6f7d91}
.instruction-position-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0 16px}.instruction-position-grid label{display:grid!important;gap:7px!important;margin:0!important;padding:8px!important;border:1px solid #dfe5ed;border-radius:12px;cursor:pointer;text-align:center}.instruction-position-grid label.active{border-color:#1769e0;background:#f1f6ff}.instruction-position-grid input{position:absolute;opacity:0}.pos-demo{position:relative;display:block;height:86px;background:#fff;border:1px solid #dfe5ed;border-radius:7px}.pos-demo i{position:absolute;height:12px;border-bottom:2px solid #1769e0;font-size:0;width:44%}.pos-bottom-left i{left:8%;bottom:10%}.pos-bottom-center i{left:28%;bottom:10%}.pos-bottom-right i{right:8%;bottom:10%}.pos-center i{left:28%;top:44%}.instruction-position-grid b{font-size:.78rem}.instruction-preview-compact .instruction-pdf-frame{height:360px}

/* R12.4 – universeller Self-Service für Einsätze/Bewerbungen */
.self-shift-grid{display:grid;gap:9px}.self-shift-card{position:relative;display:grid;grid-template-columns:5px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 14px;border:1px solid #e0e6ee;border-radius:13px;background:#fff;color:inherit;text-decoration:none}.self-shift-card:hover{border-color:#a9bfdc;background:#fbfdff}.self-shift-color{align-self:stretch;border-radius:8px;background:var(--event-color,#1769e0)}.self-shift-card small{display:block;color:#66758a;margin-top:3px}.self-shift-title{color:inherit;text-decoration:none}.self-shift-open form{margin:0}.self-shift-open .button{white-space:nowrap}

@media (max-width:980px){.instruction-workspace{grid-template-columns:1fr}.instruction-paper-preview{position:relative;top:auto;min-height:390px}.instruction-upload-grid{grid-template-columns:1fr}.instruction-upload-recipients{grid-column:auto}}
@media (max-width:700px){.instruction-mode-picker-clean,.instruction-recipient-list,.instruction-fields-2{grid-template-columns:1fr}.instruction-recipient-toolbar{grid-template-columns:1fr 1fr}.instruction-recipient-toolbar input{grid-column:1/-1}.instruction-position-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.instruction-editor-card{padding:16px}.instruction-paper-preview{display:none}.self-shift-card{grid-template-columns:4px minmax(0,1fr)}.self-shift-card>.status,.self-shift-card>form{grid-column:2}.instruction-letterhead-control{grid-template-columns:auto minmax(0,1fr)}.instruction-letterhead-control .switch-label{grid-column:1/-1}}

/* R12.4: Eigenstaendige Portalbereiche bleiben im gemeinsamen App-Rahmen. */
.standalone-app-content>.message-shell,.standalone-app-content>.instruction-shell{width:100%;max-width:none;margin:0;padding-top:0}
.standalone-app-content>.message-shell{padding-bottom:30px}
.standalone-app-content>.instruction-shell{padding-bottom:54px}
.standalone-app-content .message-header .textlink,.standalone-app-content .instruction-back{display:none}
@media(max-width:800px){.standalone-app-content>.message-shell,.standalone-app-content>.instruction-shell{width:100%;padding-top:0}}

/* R12.4 Candidate 5: Nachrichten als interaktive Topbar-Aktion statt Seitenmenü. */
.top-message-action{position:relative;width:2.45rem;height:2.45rem;display:grid;place-items:center;flex:0 0 auto;border:1px solid #dbe5f1;border-radius:.75rem;background:#fff;color:#35516f;text-decoration:none;box-shadow:0 2px 8px rgba(24,52,84,.04);transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}
.top-message-action:hover,.top-message-action:focus-visible,.top-message-action.active{background:#EAF3FF;border-color:#9fc0ec;color:#1769E0;transform:translateY(-1px)}
.top-message-action:focus-visible{outline:3px solid rgba(23,105,224,.18);outline-offset:2px}
.top-message-action svg{width:1.22rem;height:1.22rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.top-message-badge{position:absolute;top:-.38rem;right:-.38rem;min-width:1.15rem;height:1.15rem;padding:0 .28rem;display:grid;place-items:center;border:2px solid #fff;border-radius:999px;background:#d92d20;color:#fff;font-size:.58rem;line-height:1;font-weight:850;box-shadow:0 2px 7px rgba(137,23,16,.22)}
@media(max-width:700px){.status-dot{display:none}.top-actions{gap:.55rem}.top-message-action{width:2.3rem;height:2.3rem}}

/* R12.4 Candidate 6: direkter Android-APK-Download in der Portal-Kopfzeile. */
.top-apk-action{position:relative;width:2.45rem;height:2.45rem;display:grid;place-items:center;flex:0 0 auto;border:1px solid #dbe5f1;border-radius:.75rem;background:#fff;color:#35516f;text-decoration:none;box-shadow:0 2px 8px rgba(24,52,84,.04);transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}
.top-apk-action:hover,.top-apk-action:focus-visible{background:#EAF3FF;border-color:#9fc0ec;color:#1769E0;transform:translateY(-1px)}
.top-apk-action:focus-visible{outline:3px solid rgba(23,105,224,.18);outline-offset:2px}
.top-apk-action svg{width:1.18rem;height:1.18rem;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.top-apk-badge{position:absolute;right:-.34rem;bottom:-.3rem;padding:.14rem .25rem;border:2px solid #fff;border-radius:.36rem;background:#1769E0;color:#fff;font-size:.42rem;line-height:1;font-weight:900;letter-spacing:.03em}
@media(max-width:700px){.top-apk-action{width:2.3rem;height:2.3rem}}

/* Einsatzdokumentation + robuste Dienstanweisungs-/PDF-Vorschau */
.instruction-preview-compact{padding:0;overflow:hidden;background:#f7f9fc;border:1px solid #dce4ef;border-radius:16px}
.instruction-preview-compact .instruction-pdf-frame{display:block;width:100%;height:72vh;min-height:620px;border:0;background:#fff}
.instruction-pdf-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:#f4f7fb;border-bottom:1px solid #dce4ef}
.instruction-preview-live-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid #dce4ef;background:#f8fbff}.instruction-preview-live-head small{display:block;margin-top:2px;color:#65748a}
.instruction-generated-preview-state{display:grid;gap:5px;padding:22px 18px;color:#53627a}.instruction-generated-preview-state strong{color:#17355d}.instruction-generated-preview-actions{display:flex;justify-content:flex-end;padding:10px 12px;border-bottom:1px solid #dce4ef;background:#f8fbff}.instruction-generated-preview-actions:has([hidden]){display:none}.instruction-generated-preview-state[hidden],.instruction-generated-preview-error[hidden],.instruction-generated-preview-frame[hidden]{display:none!important}.instruction-generated-preview-error{margin:16px!important}.instruction-generated-preview-frame{display:block;width:100%;height:70vh;min-height:620px;border:0;background:#fff}
@media (max-width:700px){.instruction-paper-preview{display:block!important;min-height:0}.instruction-generated-preview-frame,.instruction-preview-compact .instruction-pdf-frame{height:68vh;min-height:520px}.instruction-pdf-toolbar{align-items:flex-start;flex-direction:column}}

.shift-documentation-card{border:1px solid #cfe0f6;background:linear-gradient(180deg,#fbfdff,#f5f9ff)}
.shift-documentation-card .doc-mode-grid{display:grid;grid-template-columns:minmax(220px,1fr) 180px;gap:14px}
.shift-documentation-card textarea{min-height:180px;resize:vertical}
.shift-documentation-template{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:10px}
.shift-doc-status{display:grid;gap:10px}.shift-doc-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid #dfe7f1;border-radius:14px;background:#fff}
.shift-doc-item.is-complete{border-color:#b9dfc7;background:#f7fcf8}.shift-doc-thumb{width:86px;height:64px;border-radius:10px;object-fit:cover;border:1px solid #d9e1eb}
.shift-doc-required{font-size:.72rem;font-weight:800;color:#a33}.shift-doc-meta{font-size:.78rem;color:#65748a}.shift-doc-progress{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 14px;border-radius:14px;background:#eef5ff;color:#17355d}
@media(max-width:700px){.shift-documentation-card .doc-mode-grid{grid-template-columns:1fr}.shift-doc-item{grid-template-columns:1fr}}

/* Stundenzettel 2026.09 – klarere, hochwertigere Dokumentoptik */
.timesheet-document{position:relative;overflow:hidden;border:1px solid #d7e2ef!important;border-radius:22px!important;background:linear-gradient(180deg,#fff 0,#fbfdff 100%);box-shadow:0 14px 38px rgba(17,45,82,.08)!important}
.timesheet-document-accent{height:7px!important;background:linear-gradient(90deg,#1769e0 0%,#41a0ff 70%,#9ccaff 100%)!important}
.timesheet-document-head{padding:24px 26px 18px!important;border-bottom:1px solid #e4ebf3!important}.timesheet-document-title{background:#f1f6fd!important;border:1px solid #dbe8f7!important;border-radius:16px!important;padding:14px 16px!important}.timesheet-document-title strong{color:#0d4fa9!important;font-size:1.55rem!important}
.timesheet-employee-strip{margin:0 26px!important;border:1px solid #e0e8f2!important;border-radius:16px!important;overflow:hidden;background:#fff!important}.timesheet-employee-strip>div{padding:13px 15px!important}.timesheet-employee-main{background:#f8fbff!important}
.timesheet-keyfacts{padding:20px 26px 24px!important;gap:12px!important}.timesheet-keyfacts article{border:1px solid #dce6f2!important;border-radius:16px!important;background:#fff!important;padding:15px!important;box-shadow:0 5px 14px rgba(19,53,94,.045)}.timesheet-keyfacts article:first-child{background:linear-gradient(145deg,#1769e0,#0e55bd)!important;color:#fff!important;border-color:#1769e0!important}.timesheet-keyfacts article:first-child span,.timesheet-keyfacts article:first-child small{color:rgba(255,255,255,.82)!important}.timesheet-keyfacts article strong{font-size:1.35rem!important}
.timesheet-table-panel,.payroll-panel{border-radius:20px!important;border:1px solid #dbe5f0!important;box-shadow:0 10px 28px rgba(17,45,82,.055)!important}.timesheet-panel-head{padding-bottom:13px!important;border-bottom:1px solid #e4ebf3!important;margin-bottom:8px!important}.timesheet-table thead th{background:#eef5ff!important;color:#183b68!important;border-bottom:1px solid #cfdff2!important;font-size:.74rem!important;letter-spacing:.025em}.timesheet-table tbody tr:nth-child(even){background:#fafcff}.timesheet-table tbody tr:hover{background:#f3f8ff}.timesheet-table td{padding-top:11px!important;padding-bottom:11px!important}
.timesheet-payroll-total{background:linear-gradient(145deg,#eef5ff,#f8fbff)!important;border:1px solid #d3e2f4!important;border-radius:16px!important;padding:16px 18px!important}.timesheet-signoff{gap:16px!important}.timesheet-signature-box{border:1px solid #d8e3f0!important;border-radius:16px!important;background:#fff!important;min-height:132px!important;padding:16px!important}
@media print{.timesheet-document,.timesheet-table-panel,.payroll-panel{box-shadow:none!important;border-color:#bdc9d7!important}.timesheet-document{border-radius:0!important}.timesheet-keyfacts article{box-shadow:none!important}.timesheet-document-accent{-webkit-print-color-adjust:exact;print-color-adjust:exact}.timesheet-keyfacts article:first-child{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

/* ============================================================
   Zeitkommando V117.10 – Vertrag & Abrechnung
   CSP-sicher: alle Seitendesigns liegen extern in app.css.
   ============================================================ */
.contract-page {
  --contract-ink: #10213a;
  --contract-muted: #65758f;
  --contract-line: #dfe7f1;
  --contract-soft: #f6f9fd;
  --contract-blue: #0b6ff4;
  --contract-blue-deep: #075fd3;
  --contract-blue-soft: #eaf3ff;
  --contract-green: #078454;
  --contract-green-soft: #e9fbf2;
  --contract-green-line: #c9f1dd;
  --contract-warn: #9b5a00;
  --contract-warn-soft: #fff7e8;
  --contract-red: #b42318;
  --contract-red-soft: #fff0ef;
  margin: 0;
  min-height: 100vh;
  color: var(--contract-ink);
  background:
    radial-gradient(circle at 72% -15%, rgba(11,111,244,.08), transparent 36rem),
    linear-gradient(180deg, #f8fbff 0%, #f2f6fb 100%);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.contract-page *, .contract-page *::before, .contract-page *::after { box-sizing: border-box; }
.contract-page .contract-shell {
  width: min(1320px, calc(100% - 48px));
  margin: 0 auto;
  padding: 26px 0 72px;
}
.contract-page .contract-topbar {
  min-height: 34px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 20px;
}
.contract-page .contract-back {
  color: #51617a;
  text-decoration: none;
  font-size: .86rem;
  font-weight: 700;
  transition: color .18s ease;
}
.contract-page .contract-back:hover { color: var(--contract-blue); }
.contract-page .contract-secure {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #6b7890;
  font-size: .78rem;
  font-weight: 650;
}
.contract-page .contract-secure::before {
  content: "";
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #19a56f;
  box-shadow: 0 0 0 4px rgba(25,165,111,.10);
}

/* Header wie im freigegebenen Mockup: offen, ruhig, keine schwere Karte. */
.contract-page .hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 40px;
  padding: 6px 0 24px;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.contract-page .eyebrow {
  margin: 0 0 20px;
  color: var(--contract-blue);
  font-size: .8rem;
  font-weight: 850;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.contract-page .hero h1 {
  margin: 0;
  max-width: 900px;
  color: #0d1f38;
  font-size: clamp(2.15rem, 4vw, 3.55rem);
  line-height: 1.03;
  letter-spacing: -.045em;
  font-weight: 820;
}
.contract-page .hero > div > p:not(.eyebrow) {
  margin: 20px 0 0;
  color: #64748d;
  font-size: clamp(.98rem, 1.45vw, 1.22rem);
  line-height: 1.55;
}
.contract-page .hero-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 22px;
}
.contract-page .chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 0 16px;
  border: 1px solid #d7e7fb;
  border-radius: 999px;
  background: #edf5ff;
  color: #0a63d8;
  font-size: .88rem;
  line-height: 1;
  font-weight: 760;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
}
.contract-page .chip.ok {
  border-color: #d2efdf;
  background: #ebf9f1;
  color: #08734b;
}
.contract-page .chip-dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #0c9c68;
  box-shadow: 0 0 0 3px rgba(12,156,104,.10);
}
.contract-page .chip-separator { color: #70a7e8; }
.contract-page .hero-side {
  min-width: 245px;
  padding: 18px 20px;
  border: 1px solid #deebf8;
  border-radius: 18px;
  background: rgba(255,255,255,.72);
  box-shadow: 0 10px 30px rgba(30,64,110,.06);
  text-align: right;
  backdrop-filter: blur(8px);
}
.contract-page .hero-side small {
  display: block;
  color: #728097;
  font-size: .75rem;
  font-weight: 750;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.contract-page .hero-price {
  margin: 5px 0 2px;
  color: #10213a;
  font-size: 2rem;
  line-height: 1.1;
  font-weight: 850;
  letter-spacing: -.045em;
}
.contract-page .hero-period { color: #6c7890; font-size: .82rem; }
.contract-page .primary-link,
.contract-page .primary-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 18px;
  border: 0;
  border-radius: 11px;
  background: var(--contract-blue);
  color: #fff;
  font: inherit;
  font-size: .85rem;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(11,111,244,.18);
  transition: transform .15s ease, background .15s ease, box-shadow .15s ease;
}
.contract-page .primary-link:hover,
.contract-page .primary-button:hover {
  background: var(--contract-blue-deep);
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(11,111,244,.23);
}
.contract-page .hero-side .primary-link { width: 100%; margin-top: 14px; }

/* Große Bereichsnavigation wie im Mockup. */
.contract-page .subnav {
  position: sticky;
  top: 0;
  z-index: 5;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  width: 100%;
  max-width: none;
  margin: 4px 0 28px;
  padding: 0;
  border: 0;
  border-bottom: 1px solid #dbe5f0;
  border-radius: 0;
  background: rgba(247,250,254,.94);
  box-shadow: none;
  backdrop-filter: blur(12px);
}
.contract-page .subnav a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 72px;
  padding: 0 18px;
  border-radius: 14px 14px 0 0;
  color: #65758e;
  text-decoration: none;
  font-size: .96rem;
  font-weight: 760;
  transition: color .15s ease, background .15s ease;
}
.contract-page .subnav a::before {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  color: currentColor;
  font-size: 1.25rem;
  font-weight: 500;
}
.contract-page .tab-tariff::before { content: "▱"; transform: rotate(-8deg); }
.contract-page .tab-contract::before { content: "▤"; }
.contract-page .tab-billing::before { content: "▥"; }
.contract-page .tab-docs::before { content: "□"; font-size: 1.55rem !important; }
.contract-page .tab-invoices::before { content: "▧"; }
.contract-page .subnav a:hover { color: var(--contract-blue); background: rgba(255,255,255,.6); }
.contract-page .subnav .tab-tariff {
  color: var(--contract-blue);
  background: #fff;
  box-shadow: 0 8px 22px rgba(44,75,118,.06);
}
.contract-page .subnav .tab-tariff::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 3px;
  border-radius: 3px 3px 0 0;
  background: var(--contract-blue);
}

.contract-page .layout {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(310px, .72fr);
  gap: 22px;
  align-items: start;
}
.contract-page .stack { display: grid; gap: 22px; }
.contract-page .panel {
  overflow: hidden;
  padding: 28px 30px;
  border: 1px solid #e2eaf3;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 34px rgba(32,58,94,.055), 0 1px 2px rgba(16,24,40,.03);
}
.contract-page .panel.tariff-panel {
  border-color: #e1eaf4;
  box-shadow: 0 14px 38px rgba(32,58,94,.07), 0 1px 2px rgba(16,24,40,.03);
}
.contract-page .panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 22px;
}
.contract-page .panel-title-row { display: flex; align-items: flex-start; gap: 14px; }
.contract-page .panel-title-icon {
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: #edf5ff;
  color: var(--contract-blue);
}
.contract-page .tariff-title-icon::before {
  content: "▱";
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  font-size: 1.35rem;
  transform: rotate(-8deg);
}
.contract-page .panel-head h2 {
  margin: 0;
  color: #10213a;
  font-size: 1.33rem;
  line-height: 1.25;
  font-weight: 820;
  letter-spacing: -.025em;
}
.contract-page .panel-head p {
  max-width: 900px;
  margin: 7px 0 0;
  color: #68778f;
  font-size: .88rem;
  line-height: 1.58;
}
.contract-page .badge {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  background: #edf5ff;
  color: #0b63d5;
  font-size: .7rem;
  font-weight: 850;
  letter-spacing: .04em;
}
.contract-page .contract-spacer { height: 12px; }
.contract-page .contract-spacer-lg { height: 20px; }

.contract-page .notice {
  border-radius: 14px;
  padding: 15px 16px;
  font-size: .86rem;
  line-height: 1.55;
}
.contract-page .notice.info { border: 1px solid #cfe3ff; background: #edf6ff; color: #155fba; }
.contract-page .notice.warn { border: 1px solid #f7deb1; background: var(--contract-warn-soft); color: var(--contract-warn); }
.contract-page .notice.error { border: 1px solid #f5ceca; background: var(--contract-red-soft); color: var(--contract-red); }
.contract-page .manual-notice {
  display: flex;
  align-items: center;
  gap: 18px;
  min-height: 100px;
  padding: 18px 20px;
  border: 1px solid var(--contract-green-line);
  background: linear-gradient(90deg, #e8faf1 0%, #edfbf5 100%);
  color: #08714b;
}
.contract-page .notice-icon {
  flex: 0 0 54px;
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: #cdf3df;
  color: #078252;
  font-size: 1.45rem;
  font-weight: 900;
}
.contract-page .notice-copy { display: grid; gap: 4px; }
.contract-page .notice-copy strong { font-size: .94rem; font-weight: 840; }
.contract-page .notice-copy span { color: #0a7a51; }

.contract-page .tariff-intro {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}
.contract-page .fact {
  min-height: 78px;
  padding: 15px 16px;
  border: 1px solid #e5ebf2;
  border-radius: 13px;
  background: #fbfdff;
}
.contract-page .fact small {
  display: block;
  margin-bottom: 6px;
  color: #77849a;
  font-size: .72rem;
  font-weight: 760;
  text-transform: uppercase;
  letter-spacing: .035em;
}
.contract-page .fact strong {
  display: block;
  color: #172942;
  font-size: .94rem;
  line-height: 1.4;
  font-weight: 780;
}
.contract-page .tariff-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: end;
  padding: 18px;
  border: 1px solid #d7e7fb;
  border-radius: 14px;
  background: #f6faff;
}
.contract-page .tariff-form label {
  display: grid;
  gap: 7px;
  color: #53627a;
  font-size: .78rem;
  font-weight: 760;
}
.contract-page .tariff-form select {
  width: 100%;
  min-height: 46px;
  padding: 0 12px;
  border: 1px solid #cfd9e6;
  border-radius: 10px;
  outline: none;
  background: #fff;
  color: #172942;
  font: inherit;
}
.contract-page .tariff-form select:focus {
  border-color: #83b8ff;
  box-shadow: 0 0 0 4px rgba(11,111,244,.09);
}
.contract-page .explain {
  margin: 11px 0 0;
  color: #718097;
  font-size: .76rem;
  line-height: 1.55;
}
.contract-page .tariff-history { display: grid; gap: 10px; margin-top: 18px; }
.contract-page .tariff-history-title { color: #253851; font-size: .82rem; font-weight: 820; }
.contract-page .tariff-item {
  padding: 14px 15px;
  border: 1px solid #e5ebf2;
  border-radius: 12px;
  background: #fff;
}
.contract-page .tariff-item-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.contract-page .tariff-item small { display: block; margin-top: 5px; color: #718097; line-height: 1.45; }
.contract-page .status {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: .68rem;
  font-weight: 840;
}
.contract-page .status.ok { background: #ebf9f1; color: #08734b; }
.contract-page .status.warning { background: #fff5df; color: #9b5a00; }
.contract-page .status.danger { background: #fff0ef; color: #b42318; }
.contract-page .status.muted { background: #f0f3f7; color: #66758d; }
.contract-page .tariff-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.contract-page .tariff-actions form { margin: 0; }
.contract-page .open-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 11px;
  border: 1px solid #d5e5fb;
  border-radius: 9px;
  background: #eef6ff;
  color: #0b63d5;
  text-decoration: none;
  font: inherit;
  font-size: .74rem;
  font-weight: 790;
  transition: background .15s ease, border-color .15s ease;
}
.contract-page .open-link:hover { background: #e4f0ff; border-color: #b8d6fb; }
.contract-page .open-link-button { cursor: pointer; }
.contract-page .section-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.contract-page .service-box {
  margin-top: 14px;
  padding: 15px 16px;
  border: 1px solid #e5ebf2;
  border-radius: 13px;
  background: #f8fafc;
  color: #596980;
  font-size: .82rem;
  line-height: 1.6;
}
.contract-page .document-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.contract-page .document-card {
  display: grid;
  grid-template-columns: 42px minmax(0,1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 13px;
  border: 1px solid #e3eaf2;
  border-radius: 12px;
  background: #fff;
  color: inherit;
  text-decoration: none;
  transition: border-color .15s ease, background .15s ease, transform .15s ease;
}
.contract-page .document-card:hover { border-color: #bcd8fb; background: #f8fbff; transform: translateY(-1px); }
.contract-page .document-icon {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 10px;
  background: #edf5ff;
  color: #0b63d5;
  font-size: .64rem;
  font-weight: 900;
}
.contract-page .document-copy { min-width: 0; }
.contract-page .document-copy strong, .contract-page .document-copy small { display: block; }
.contract-page .document-copy small { margin-top: 3px; overflow: hidden; color: #75839a; font-size: .7rem; text-overflow: ellipsis; white-space: nowrap; }
.contract-page .document-open { color: #0b63d5; font-size: .7rem; font-weight: 820; }
.contract-page .legal-snapshot { margin-top: 16px; padding-top: 16px; border-top: 1px solid #e8edf3; }
.contract-page .legal-snapshot-head { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 10px; font-size: .78rem; }
.contract-page .legal-snapshot-head span { color: #75839a; }
.contract-page .legal-link-grid { display: flex; flex-wrap: wrap; gap: 8px; }
.contract-page .legal-link-grid a {
  padding: 8px 10px;
  border-radius: 8px;
  background: #f1f4f8;
  color: #3e4e65;
  text-decoration: none;
  font-size: .71rem;
  font-weight: 750;
}
.contract-page .invoice-scroll { overflow-x: auto; }
.contract-page .invoice-table { width: 100%; border-collapse: collapse; }
.contract-page .invoice-table th {
  padding: 0 10px 10px;
  border-bottom: 1px solid #e8edf3;
  color: #78859a;
  text-align: left;
  font-size: .7rem;
  font-weight: 770;
}
.contract-page .invoice-table td { padding: 12px 10px; border-bottom: 1px solid #f0f3f7; font-size: .8rem; }
.contract-page .invoice-table tr:last-child td { border-bottom: 0; }
.contract-page .invoice-number, .contract-page .invoice-amount { color: #1e314b; font-weight: 800; }
.contract-page .side-list { display: grid; }
.contract-page .side-row {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 11px 0;
  border-bottom: 1px solid #eef2f6;
}
.contract-page .side-row:last-child { border-bottom: 0; }
.contract-page .side-row span { color: #748198; font-size: .76rem; }
.contract-page .side-row strong { max-width: 58%; color: #263a54; text-align: right; font-size: .79rem; line-height: 1.4; }
.contract-page .empty-box {
  padding: 16px;
  border: 1px dashed #cad6e3;
  border-radius: 12px;
  background: #fbfdff;
  color: #748198;
  font-size: .82rem;
}
.contract-page .error-box {
  padding: 18px;
  border: 1px solid #f5ceca;
  border-radius: 14px;
  background: var(--contract-red-soft);
  color: var(--contract-red);
}

@media (max-width: 980px) {
  .contract-page .contract-shell { width: min(100% - 32px, 1180px); }
  .contract-page .hero { grid-template-columns: 1fr; gap: 20px; }
  .contract-page .hero-side { min-width: 0; text-align: left; }
  .contract-page .layout { grid-template-columns: 1fr; }
  .contract-page .subnav a { gap: 8px; padding: 0 10px; font-size: .84rem; }
}
@media (max-width: 720px) {
  .contract-page .contract-shell { width: min(100% - 24px, 1180px); padding-top: 16px; }
  .contract-page .contract-topbar { align-items: flex-start; flex-direction: column; gap: 8px; margin-bottom: 18px; }
  .contract-page .eyebrow { margin-bottom: 12px; }
  .contract-page .hero h1 { font-size: clamp(2rem, 10vw, 2.8rem); }
  .contract-page .subnav {
    position: static;
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    scrollbar-width: thin;
  }
  .contract-page .subnav a { flex: 0 0 auto; min-width: 132px; min-height: 58px; scroll-snap-align: start; }
  .contract-page .subnav a::before { width: 22px; }
  .contract-page .panel { padding: 22px 20px; border-radius: 16px; }
  .contract-page .tariff-form, .contract-page .tariff-intro, .contract-page .section-grid, .contract-page .document-grid { grid-template-columns: 1fr; }
  .contract-page .manual-notice { align-items: flex-start; gap: 14px; }
  .contract-page .notice-icon { flex-basis: 44px; width: 44px; height: 44px; }
  .contract-page .legal-snapshot-head { flex-direction: column; }
  .contract-page .invoice-table thead { display: none; }
  .contract-page .invoice-table, .contract-page .invoice-table tbody, .contract-page .invoice-table tr, .contract-page .invoice-table td { display: block; width: 100%; }
  .contract-page .invoice-table tr { padding: 10px 0; border-bottom: 1px solid #e8edf3; }
  .contract-page .invoice-table td { padding: 4px 0; border: 0; }
  .contract-page .document-card { grid-template-columns: 42px minmax(0,1fr); }
  .contract-page .document-open { grid-column: 2; }
}

/* Plattformverwaltung: Passwort-Reset fuer Firmenadministratoren */
.platform-company-admins{grid-column:1/-1;border-top:1px solid #e7eeec;padding-top:.45rem}
.platform-company-admins>summary{list-style:none;cursor:pointer;width:max-content;color:#1769E0;font-size:.62rem;font-weight:850}
.platform-company-admins>summary::-webkit-details-marker{display:none}
.platform-company-admin-list{display:grid;gap:.55rem;margin-top:.55rem;padding:.8rem;border:1px solid #DCE5F0;border-radius:.8rem;background:#F6F9FD}
.platform-company-admin-row{display:grid;grid-template-columns:minmax(180px,.65fr) minmax(0,1.35fr);gap:.8rem;align-items:start;padding:.75rem;border:1px solid #e0e9e7;border-radius:.75rem;background:#fff}
.platform-company-admin-row>div{display:grid;gap:.15rem;align-content:start}
.platform-company-admin-row>div strong{font-size:.74rem}
.platform-company-admin-row>div small{font-size:.59rem;color:#75847f;overflow-wrap:anywhere}
.platform-company-admin-row .platform-state{margin-top:.2rem}
.platform-admin-password-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto;gap:.55rem;align-items:end;margin:0}
.platform-admin-password-form label{margin:0}
.platform-admin-password-form .button{margin:0;white-space:nowrap}
.platform-admin-password-form>small{grid-column:1/-1;font-size:.58rem;color:#6f7e7a}
@media(max-width:900px){.platform-company-admin-row{grid-template-columns:1fr}.platform-admin-password-form{grid-template-columns:1fr 1fr}.platform-admin-password-form .button{grid-column:1/-1;width:100%}}
@media(max-width:700px){.platform-admin-password-form{grid-template-columns:1fr}.platform-admin-password-form>small{grid-column:auto}}
.platform-company-admin-load{display:flex;align-items:center;justify-content:space-between;gap:.75rem}
.platform-company-admin-load p{margin:0;font-size:.64rem;color:#627086}
.platform-company-admin-load .button{margin:0;white-space:nowrap}
@media(max-width:700px){.platform-company-admin-load{align-items:stretch;flex-direction:column}.platform-company-admin-load .button{width:100%}}

/* V117.1: echte zweite Untermenüebene für Arbeitszeitnachweis/Wachbuch/Stundenzettel. */
.side-nav-children .side-nav-grandchild{padding-left:34px;font-size:.92em;opacity:.94;position:relative}
.side-nav-children .side-nav-grandchild::before{content:'↳';position:absolute;left:18px;color:var(--muted,#7b8794)}
