*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f4f5f6;color:#1d2327}.hidden{display:none!important}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(430px,100%);background:#fff;border:1px solid #dfe3e6;border-radius:18px;padding:34px;box-shadow:0 12px 40px rgba(0,0,0,.06)}.brand{font-size:28px;font-weight:800;letter-spacing:.04em}.eyebrow{font-size:12px;letter-spacing:.15em;color:#6d757d;margin-top:3px}.login-card h1{font-size:24px;margin:24px 0 7px}.muted{color:#6d757d}.small{font-size:13px}.tiny{font-size:11px}.login-card label,dialog label,.stack-form label{display:block;font-size:14px;margin-top:15px}input,select,textarea{display:block;width:100%;margin-top:6px;padding:11px 12px;border:1px solid #cbd1d6;border-radius:9px;background:#fff;color:#1d2327;font:inherit}.primary,.secondary,.navbtn,.danger,.rangebtn{border:0;border-radius:9px;padding:10px 14px;font-weight:700;cursor:pointer}.primary{background:#1d2327;color:#fff}.secondary,.navbtn,.rangebtn{background:#e8ebed;color:#1d2327}.danger{background:#a12622;color:#fff}.navbtn.active,.rangebtn.active{background:#1d2327;color:#fff}.full{width:100%;margin-top:20px}.message{font-size:14px;margin-top:12px;min-height:18px;color:#a12622}.topbar{background:#fff;border-bottom:1px solid #dfe3e6;padding:20px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px}.topbar h1{font-size:23px;margin:4px 0 0}.userbox{display:flex;align-items:center;gap:14px;text-align:right}.container{max-width:1600px;margin:0 auto;padding:20px 28px}.nav{display:flex;gap:8px;padding-bottom:0;overflow:auto}.nav-badge{display:inline-block;min-width:20px;padding:2px 6px;margin-left:4px;border-radius:999px;background:#a12622;color:#fff;font-size:11px}.grid{display:grid;gap:15px}.stats{grid-template-columns:repeat(4,1fr);margin-bottom:16px}.card{background:#fff;border:1px solid #dfe3e6;border-radius:14px;padding:20px;margin-bottom:16px}.stats .card{margin-bottom:0}.stats span{display:block;font-size:14px;color:#6d757d}.stats strong{display:block;font-size:30px;margin-top:7px}.attention-stat strong{color:#a12622}.section-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px}h2,h3{margin:0 0 7px}p{margin:0}.jobrow,.reminderrow,.teamrow,.requestrow,.noterow,.followrow,.absrow,.phaserow,.variationrow,.issuerow{display:grid;gap:12px;padding:14px 0;border-top:1px solid #edf0f2}.jobrow{grid-template-columns:2fr 1fr 1fr 1fr}.reminderrow,.followrow,.absrow,.variationrow{grid-template-columns:1fr auto auto;align-items:center}.requestrow{grid-template-columns:2fr 1fr 1fr auto;align-items:center}.teamrow{grid-template-columns:1fr auto}.phaserow{grid-template-columns:1fr auto;align-items:center}.jobrow:first-child,.reminderrow:first-child,.teamrow:first-child,.requestrow:first-child,.noterow:first-child,.followrow:first-child,.absrow:first-child,.phaserow:first-child,.variationrow:first-child,.issuerow:first-child{border-top:0}.jobrow button,.openlink{background:none;border:0;padding:0;text-align:left;cursor:pointer;font:inherit;color:inherit}.jobrow small,.reminderrow small,.phaserow small,.followrow small,.absrow small,.variationrow small,.issuerow small{display:block;color:#6d757d;margin:0 0 4px}.empty{color:#6d757d;padding:12px 0}.backbtn{margin-bottom:14px}.detailgrid{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:16px}.info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}.info-box{padding:12px;background:#f7f8f9;border-radius:10px}.info-box small{display:block;color:#6d757d;margin-bottom:5px}.pill{font-size:12px;padding:5px 8px;border-radius:999px;background:#e8ebed;white-space:nowrap}.warn{background:#fff0cc;color:#7d5c00}.statusstack{display:flex;align-items:center;gap:12px}.readyrow,.matrow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid #edf0f2}.readyrow select{width:auto;min-width:150px;margin:0}.note-form,.inline-form,.file-form,.phase-form,.variation-form,.request-form{display:grid;gap:8px;align-items:end;margin-top:12px}.note-form{grid-template-columns:1fr auto}.file-form{grid-template-columns:1fr 1.5fr 2fr auto}.phase-form{grid-template-columns:1.4fr 1fr 1fr 1fr .7fr 1.5fr auto}.variation-form{grid-template-columns:1.4fr .7fr .9fr 1.5fr auto}.request-form{grid-template-columns:1.5fr .6fr .6fr 1.5fr auto}.inline-form{grid-template-columns:1.2fr 1fr 1fr 1fr 1.4fr auto}.stack-form{display:grid;gap:8px;margin-top:14px}.stack-form label{margin:0}.actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.form-grid .wide{grid-column:1/-1}dialog{border:0;border-radius:16px;width:min(800px,92vw);padding:24px;box-shadow:0 20px 70px rgba(0,0,0,.2)}dialog::backdrop{background:rgba(0,0,0,.45)}.build{font-size:12px;color:#6d757d;padding-top:0;padding-bottom:30px}.attention{display:block;width:100%;border:0;border-left:4px solid #b8bec3;background:#f7f8f9;text-align:left;padding:12px;margin:8px 0;border-radius:8px;cursor:pointer}.attention.high{border-left-color:#a12622;background:#fff3f2}.attention.normal{border-left-color:#b98600}.goodbox{background:#edf7ef;color:#246b35;padding:14px;border-radius:10px}.capacity-row{display:grid;grid-template-columns:150px 1fr 180px;gap:12px;align-items:center;padding:9px 0}.capacity-bar{height:10px;background:#e8ebed;border-radius:99px;overflow:hidden}.capacity-bar span{display:block;height:100%;background:#1d2327}.planning-controls,.range-controls,.planning-legend{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.range-controls,.planning-legend{margin:10px 0}.planning-legend span{font-size:12px;color:#6d757d}.planning-legend i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:4px;vertical-align:-2px}.legend-free{background:#fff;border:1px solid #dfe3e6}.legend-busy{background:#dfe8f4}.legend-conflict{background:#ffd7d2}.legend-absence{background:#eee1f6}.legend-holiday{background:#fff0cc}.planning-board{overflow:auto;border:1px solid #e4e7e9;border-radius:10px}.plan-grid{display:grid;grid-template-columns:150px repeat(var(--days),minmax(72px,1fr));min-width:max-content}.plan-name,.plan-day{min-height:56px;border-right:1px solid #edf0f2;border-bottom:1px solid #edf0f2;padding:6px}.plan-name{position:sticky;left:0;background:#fff;z-index:3}.plan-name small{display:block;color:#6d757d;font-size:11px}.plan-day.head,.plan-name.head{position:sticky;top:0;background:#f7f8f9;z-index:4;text-align:center;min-height:46px}.plan-name.head{z-index:5;text-align:left}.plan-day.head small{display:block;font-size:10px}.plan-day.weekend{background:#f2f3f4}.plan-day.holiday{background:#fff6dd}.plan-day.absence{background:#f2eafa}.plan-day.conflict{background:#ffe0dc;box-shadow:inset 0 0 0 2px #c6463d}.plan-day.dragover{outline:3px solid #1d2327;outline-offset:-3px}.phase-chip{background:#dde8f3;border:1px solid #bfcede;border-radius:7px;padding:5px;font-size:11px;cursor:grab;margin-bottom:3px;overflow:hidden}.phase-chip small{display:block;font-size:9px;color:#52606b}.unassigned{display:inline-block;margin:5px;min-width:180px}.absence-tag{font-size:9px;font-weight:700;display:block}.filegrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.filetile{display:flex;flex-direction:column;text-decoration:none;color:inherit;border:1px solid #dfe3e6;border-radius:10px;overflow:hidden;background:#f7f8f9}.filetile img{width:100%;height:130px;object-fit:cover}.filetile span,.filetile strong{padding:8px;font-size:12px}.filetile.document{min-height:130px;justify-content:center;align-items:center;text-align:center}.note-meta{font-size:11px;color:#6d757d;margin-bottom:4px}.metric{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding:10px;background:#f7f8f9;border-radius:9px}.calcgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.calcgrid>div{padding:10px;background:#f7f8f9;border-radius:9px}.calcgrid small{display:block;color:#6d757d}.dangerzone{border-color:#efc9c6}hr{border:0;border-top:1px solid #edf0f2;margin:20px 0}
@media(max-width:900px){.container{padding:14px}.topbar{padding:15px}.stats{grid-template-columns:1fr 1fr}.detailgrid{grid-template-columns:1fr}.info-grid{grid-template-columns:1fr 1fr}.jobrow{grid-template-columns:1fr 1fr}.requestrow{grid-template-columns:1fr}.phase-form,.variation-form,.request-form,.file-form,.inline-form{grid-template-columns:1fr}.capacity-row{grid-template-columns:1fr}.userbox{gap:8px}.topbar h1{font-size:19px}.nav{padding-left:14px;padding-right:14px}.card{padding:15px}}
@media(max-width:520px){.stats{grid-template-columns:1fr 1fr}.stats strong{font-size:24px}.jobrow{grid-template-columns:1fr}.info-grid{grid-template-columns:1fr 1fr}.section-head{align-items:flex-start}.userbox .muted{display:none}.filegrid{grid-template-columns:1fr 1fr}.readyrow{align-items:flex-start;flex-direction:column}.readyrow select{width:100%}}
.dev-banner{max-width:1600px;margin:12px auto 0;padding:11px 28px;background:#fff4cf;border:1px solid #ead48e;border-radius:10px;display:flex;align-items:center;justify-content:space-between;gap:12px}.dev-banner strong{font-size:14px}.dev-dialog{width:min(560px,92vw)}.dev-dialog p{margin:8px 0 16px}.dev-dialog label{display:block;margin-top:14px}@media(max-width:700px){.dev-banner{margin:10px 14px 0;padding:10px 12px;align-items:flex-start;flex-direction:column}.userbox{flex-wrap:wrap;justify-content:flex-end}.userbox #devSwitchBtn{order:3;width:100%}}
/* V1.0 – Zeiterfassung, Urlaub, Benachrichtigungen */
.clock-panel{padding:18px;border:1px solid var(--border,#ddd);border-radius:14px;margin:12px 0;background:#f7f7f7}.clock-panel strong{font-size:1.35rem}.clock-actions{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.clock-actions button{min-height:48px}.danger{background:#8d1f1f;color:#fff;border:0;border-radius:10px;padding:10px 16px}.time-row,.notice-row,.leave-row{display:grid;grid-template-columns:minmax(120px,1fr) 1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #e6e6e6}.notice-row.unread{font-weight:700}.status-pill{display:inline-block;padding:4px 8px;border-radius:999px;background:#eee;font-size:.8rem}.status-pill.approved{background:#dff4e5}.status-pill.rejected{background:#f7dddd}.status-pill.pending{background:#fff1c7}.gps-ok{color:#176b38}.gps-no{color:#8d1f1f}@media(max-width:700px){.time-row,.notice-row,.leave-row{grid-template-columns:1fr}.clock-actions button{flex:1 1 45%}.admin-time{overflow-x:auto}}

/* V1.0.1 FINAL - Sprachen, Rollen, robuste Planung, Hilfe */
.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}.login-language{display:flex;justify-content:flex-end;margin-top:-4px}.login-language label{margin:0;width:150px}.language-compact{margin:0}.language-compact select{width:auto;min-width:68px;margin:0;padding:8px 9px}.export-actions,.month-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.month-actions input{width:auto;margin:0}.help-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.help-grid article{background:#f7f8f9;border:1px solid #e4e7e9;border-radius:12px;padding:16px}.help-grid article h3{margin-bottom:7px}.help-grid article p{line-height:1.5}.planning-board{overflow:auto;max-width:100%}.plan-table{width:max-content;min-width:100%}.plan-row{display:grid;grid-template-columns:165px repeat(var(--days),74px);width:max-content;min-width:100%;align-items:stretch}.plan-row+.plan-row .plan-name,.plan-row+.plan-row .plan-day{border-top:0}.plan-row .plan-name,.plan-row .plan-day{min-height:58px}.plan-row.plan-header .plan-name,.plan-row.plan-header .plan-day{min-height:48px}.plan-header{position:sticky;top:0;z-index:8}.plan-header .plan-name,.plan-header .plan-day{background:#f7f8f9}.plan-row .plan-name{position:sticky;left:0;z-index:5}.plan-row.plan-header .plan-name{z-index:10}.plan-day{min-width:74px}.phase-chip{max-width:100%;white-space:normal;word-break:break-word}.compact-role{grid-template-columns:minmax(180px,320px)}body[data-role="tiler"] #dashboardStats article:nth-child(n+2),body[data-role="apprentice"] #dashboardStats article:nth-child(n+2),body[data-role="warehouse"] #dashboardStats article:nth-child(n+2){display:none}.time-row{display:grid;grid-template-columns:minmax(180px,1fr) auto auto;gap:12px;align-items:center}.status-pill{display:inline-block;padding:5px 8px;border-radius:999px;background:#e8ebed;font-size:12px}.status-pill.approved{background:#edf7ef}.status-pill.rejected{background:#fff0ef}.notice-row,.leave-row{display:grid;grid-template-columns:minmax(220px,1.3fr) minmax(160px,1fr) auto;gap:12px;align-items:center;padding:12px 0;border-top:1px solid #edf0f2}.notice-row.unread{font-weight:600}.clock-actions button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:900px){.help-grid{grid-template-columns:1fr}.topbar{align-items:flex-start}.language-compact select{min-width:62px}.time-row,.notice-row,.leave-row{grid-template-columns:1fr}.month-actions{width:100%}.month-actions input{flex:1;min-width:150px}}
@media(max-width:520px){.topbar{flex-direction:column}.userbox{width:100%;text-align:left;justify-content:flex-start}.language-compact{margin-right:auto}.export-actions{width:100%}.export-actions button{flex:1}.plan-row{grid-template-columns:132px repeat(var(--days),68px)}.plan-day{min-width:68px}.plan-name{font-size:12px}}


/* V1.0.2 MOBILE - Monteur-Schnellstart */
.worker-quick{border:2px solid #dfe3e6}.worker-quick-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.worker-quick-head h2{margin-bottom:4px}.worker-today-time{text-align:right;white-space:nowrap}.worker-today-time span{display:block;font-size:12px;color:#6d757d}.worker-today-time strong{font-size:24px}.worker-job-select{display:block;margin:14px 0 10px}.worker-job-select span{display:block;font-weight:700;margin-bottom:6px}.worker-job-select select{width:100%;font-size:16px;min-height:50px}.worker-clock-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.worker-main-action{min-height:64px;font-size:17px;font-weight:800}.worker-quick-links{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}.worker-quick-links button{min-height:46px}.mobile-gps{margin:12px 0 0}.worker-mobile-role #dashboardStats{display:none}
@media(max-width:700px){
  body.worker-mobile-role .topbar{padding:10px 14px}.worker-mobile-role .topbar .brand small{display:none}.worker-mobile-role .topbar h1{font-size:18px}.worker-mobile-role .container{padding:10px}.worker-mobile-role .card{border-radius:12px;margin-bottom:10px;padding:13px}.worker-mobile-role .worker-quick{padding:14px}.worker-quick-head{align-items:center}.worker-today-time strong{font-size:22px}.worker-clock-actions{grid-template-columns:1fr}.worker-main-action{min-height:68px;font-size:19px}.worker-quick-links{grid-template-columns:1fr 1fr}.worker-quick-links button{min-height:52px;font-size:14px}.worker-mobile-role #view-dashboard>section:last-child .section-head p{display:none}.worker-mobile-role #dashboardJobs .jobrow{padding:10px}.worker-mobile-role .nav{position:sticky;bottom:0;z-index:30;background:#fff;border-top:1px solid #dfe3e6;border-bottom:0;padding:6px 8px;display:grid;grid-template-columns:repeat(5,1fr);gap:4px}.worker-mobile-role .navbtn{margin:0;padding:9px 4px;min-height:44px;font-size:11px;white-space:normal;text-align:center}.worker-mobile-role .navbtn.hidden{display:none}.worker-mobile-role .build{padding-bottom:8px}.worker-mobile-role .userbox #devSwitchBtn{display:none!important}
}
@media(max-width:380px){.worker-quick-links{grid-template-columns:1fr}.worker-clock-actions{gap:8px}.worker-main-action{min-height:62px}}

/* V1.0.4 Baustellenwechsel */
.worker-switch-job{width:100%;min-height:50px;margin-top:10px;font-weight:800}
@media(max-width:700px){.worker-switch-job{min-height:58px;font-size:17px}}

/* V1.0.5 Arbeitszeit-Soll/Ist */
.worker-time-summary{display:grid;grid-template-columns:repeat(3,minmax(76px,1fr));gap:8px;text-align:center;min-width:min(390px,100%)}.worker-time-summary>div{padding:8px 10px;background:#f7f8f9;border-radius:10px}.worker-time-summary span{display:block;font-size:11px;color:#6d757d}.worker-time-summary strong{display:block;font-size:20px;margin-top:2px}.time-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.time-summary-card{padding:14px;background:#f7f8f9;border:1px solid #e4e7e9;border-radius:12px}.time-summary-card span{display:block;color:#6d757d;font-size:12px}.time-summary-card strong{display:block;font-size:24px;margin:4px 0}.time-summary-card small{display:block;color:#6d757d}.target-ok{color:#176b38}.target-open{color:#8a5b00}.work-target-row{display:grid;grid-template-columns:minmax(120px,1fr) 110px minmax(280px,2fr) auto;gap:10px;align-items:end;padding:12px 0;border-top:1px solid #edf0f2}.work-target-row label{margin:0}.weekday-checks{display:flex;gap:5px;flex-wrap:wrap}.weekday-checks label{display:flex;align-items:center;gap:3px;background:#f7f8f9;border:1px solid #dfe3e6;border-radius:7px;padding:7px;margin:0}.weekday-checks input{width:auto;margin:0}.work-target-row button{min-height:42px}
@media(max-width:700px){.worker-quick-head{display:block}.worker-time-summary{margin-top:12px;width:100%;min-width:0}.worker-time-summary strong{font-size:18px}.time-summary-grid{grid-template-columns:1fr}.work-target-row{grid-template-columns:1fr}.weekday-checks{display:grid;grid-template-columns:repeat(4,1fr)}.weekday-checks label{justify-content:center}.worker-mobile-role .worker-time-summary{position:sticky;top:0;z-index:2;background:#fff;padding:6px 0}}

/* V1.0.6 Live-Leitstelle */
.command-center{border-top:4px solid currentColor}.live-indicator{display:flex;align-items:center;gap:8px;font-weight:700}.live-indicator i{width:10px;height:10px;border-radius:50%;background:#2e9b59;box-shadow:0 0 0 5px rgba(46,155,89,.12)}.live-stats{display:grid;grid-template-columns:repeat(5,minmax(110px,1fr));gap:10px;margin:16px 0}.live-stat{padding:14px;border:1px solid #e2e5e8;border-radius:12px;background:#fafafa}.live-stat strong{display:block;font-size:1.55rem;margin-top:4px}.command-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:18px}.live-row{display:grid;grid-template-columns:minmax(120px,1.2fr) minmax(90px,.8fr) minmax(160px,1.5fr) minmax(90px,.7fr);gap:10px;align-items:center;padding:11px 8px;border-bottom:1px solid #eceff1}.live-row:last-child{border-bottom:0}.status-pill{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;font-weight:700}.status-dot{width:9px;height:9px;border-radius:50%;display:inline-block;background:#929aa2}.status-dot.work{background:#2e9b59}.status-dot.break{background:#d99a20}.status-dot.off{background:#929aa2}.live-alert{display:block;width:100%;text-align:left;padding:11px 12px;border:0;border-left:4px solid #d99a20;border-radius:8px;background:#fff7e7;margin:7px 0}.live-alert.high{border-left-color:#c43b3b;background:#fff0f0}.tomorrow-block{margin-top:18px;padding-top:12px;border-top:1px solid #e5e7e9}.tomorrow-chips{display:flex;flex-wrap:wrap;gap:8px}.tomorrow-chip{padding:8px 10px;border-radius:999px;background:#f1f3f5;font-size:.9rem}.toast-stack{position:fixed;right:18px;bottom:18px;z-index:9999;display:grid;gap:8px;max-width:380px}.app-toast{padding:13px 15px;border-radius:10px;background:#20252a;color:white;box-shadow:0 8px 30px rgba(0,0,0,.22);animation:toastin .18s ease-out}.app-toast strong{display:block;margin-bottom:3px}@keyframes toastin{from{transform:translateY(8px);opacity:0}to{transform:none;opacity:1}}@media(max-width:850px){.live-stats{grid-template-columns:repeat(2,1fr)}.command-grid{grid-template-columns:1fr}.live-row{grid-template-columns:1fr 1fr}.live-row>*:nth-child(3){grid-column:1/-1}}

/* V1.0.7 Milestones & Schicht-Update */
.milestone-builder{padding:14px;border:1px solid #e2e5e8;border-radius:12px;background:#fafafa}.milestone-preset{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:330px;overflow:auto}.milestone-choice{display:flex;align-items:flex-start;gap:8px;margin:0!important;padding:9px;border:1px solid #e3e6e8;border-radius:9px;background:#fff}.milestone-choice.suggested{border-color:#b9c7d2;background:#f7fafc}.milestone-choice input{width:auto;margin:3px 0 0}.milestone-choice small{display:block;color:#6d757d;margin-top:2px}.milestone-custom-row{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:10px}.milestone-custom-row input{margin:0}.milestone-custom-item{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;margin-top:6px;background:#fff;border:1px dashed #ccd2d7;border-radius:8px}.milestone-list{display:grid}.milestone-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:11px 0;border-top:1px solid #edf0f2}.milestone-row:first-child{border-top:0}.milestone-row.done strong{text-decoration:line-through;color:#58705f}.milestone-row.na{opacity:.62}.milestone-index{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#eef1f3;font-weight:800}.milestone-row.done .milestone-index{background:#e2f3e7;color:#176b38}.milestone-row select{width:auto;min-width:135px;margin:0}.milestone-row small{display:block;color:#6d757d;margin-top:3px}.milestone-add-form{display:grid;grid-template-columns:1fr minmax(240px,.8fr) auto;gap:8px;align-items:end;margin-top:14px;padding-top:14px;border-top:1px solid #edf0f2}.milestone-template-check{display:flex!important;align-items:center;gap:7px;margin:0!important;padding:9px;background:#f7f8f9;border-radius:9px}.milestone-template-check input{width:auto;margin:0}.worker-milestone-hint{padding:11px 12px;margin:8px 0 12px;border-left:4px solid #1d2327;background:#f7f8f9;border-radius:8px}.worker-milestone-hint span{display:block;font-size:11px;color:#6d757d;text-transform:uppercase;letter-spacing:.06em}.worker-milestone-hint strong{display:block;margin-top:3px}.shift-update-dialog{width:min(620px,94vw)}.shift-update-dialog p{margin:5px 0 14px}.shift-job{padding:11px 12px;background:#f1f3f5;border-radius:9px;margin-bottom:12px}.shift-milestones{display:grid;gap:7px;margin:10px 0}.shift-milestone-choice{display:flex!important;align-items:center;gap:10px;margin:0!important;padding:12px;border:1px solid #dde2e6;border-radius:10px;background:#fff;font-weight:700}.shift-milestone-choice input{width:22px;height:22px;margin:0}.shift-problem-toggle{display:flex!important;align-items:center;gap:8px;margin-top:14px!important;padding:10px;background:#fff4e5;border-radius:9px}.shift-problem-toggle input{width:auto;margin:0}.shift-update-dialog .actions button{min-height:48px}.shift-update-dialog #shiftUpdateConfirm{min-width:190px}
@media(max-width:700px){.milestone-preset{grid-template-columns:1fr;max-height:260px}.milestone-row{grid-template-columns:34px 1fr}.milestone-row select,.milestone-row button{grid-column:2;width:100%}.milestone-add-form{grid-template-columns:1fr}.shift-update-dialog{padding:17px}.shift-update-dialog .actions{display:grid;grid-template-columns:1fr 1fr}.shift-update-dialog .actions button{width:100%}.worker-milestone-hint{font-size:15px}}

/* V1.0.8 */
.task-form{display:grid;grid-template-columns:1fr 160px 2fr 120px 180px;gap:10px;align-items:end;margin:14px 0 20px}.task-form textarea{grid-column:1/5}.task-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.task-item{border:1px solid var(--line,#ddd);border-radius:14px;padding:12px;margin:8px 0;background:var(--card,#fff)}.task-item.high{border-left:5px solid #d39b22}.task-item.critical{border-left:5px solid #b73a3a}.task-meta{display:flex;gap:8px;flex-wrap:wrap;font-size:.83rem;opacity:.75;margin-top:5px}.routing-note{margin-top:7px;padding:7px 9px;border-radius:10px;background:#fff4d6;font-size:.84rem}.capacity-hole-card{margin-bottom:16px}.capacity-big{font-size:1.5rem;font-weight:800;text-align:right}.capacity-windows{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.capacity-window{padding:9px 12px;border:1px solid var(--line,#ddd);border-radius:12px}.pipeline-row{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line,#eee)}.capacity-hint{padding:10px 12px;background:#f5f6f3;border-radius:12px}.employee-master-row{display:grid;grid-template-columns:1.3fr 130px 130px 1fr 1fr 110px 110px auto;gap:8px;align-items:end;padding:10px 0;border-bottom:1px solid var(--line,#eee)}.employee-master-row label{font-size:.78rem}.employee-master-row input,.employee-master-row select{width:100%}.status-future{opacity:.65}.status-former{opacity:.5}.time-correction-row{display:grid;grid-template-columns:1.4fr 120px 100px 2fr 150px;gap:8px;padding:8px 0;border-bottom:1px solid var(--line,#eee)}
@media(max-width:900px){.task-form{grid-template-columns:1fr 1fr}.task-form textarea{grid-column:1/-1}.task-columns{grid-template-columns:1fr}.employee-master-row{grid-template-columns:1fr 1fr}.pipeline-row{grid-template-columns:1fr 1fr}.time-correction-row{grid-template-columns:1fr 1fr}}
.pipeline-schedule{display:flex;gap:6px;align-items:center}.pipeline-schedule input{min-width:135px}


/* V1.0.9 – Projektunterlagen, Besonderheiten, Lehrlingskopplung */
.project-create-files,.project-feature-builder{border:1px solid var(--border,#d9dde3);border-radius:14px;padding:14px;background:rgba(255,255,255,.55)}
.project-create-files{display:grid;grid-template-columns:1fr 1fr;gap:12px}.project-create-files>strong,.project-create-files>p{grid-column:1/-1}.project-create-files label{display:flex;flex-direction:column;gap:6px}
.feature-preset{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.feature-choice{display:flex;align-items:center;gap:7px;border:1px solid var(--border,#d9dde3);border-radius:999px;padding:8px 11px;background:#fff}.feature-save-default{display:flex!important;flex-direction:row!important;align-items:center;gap:7px;margin:8px 0;font-size:.9rem}.feature-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:6px}.technical-details{display:grid;grid-template-columns:1fr 1fr;gap:14px}.technical-details>div{padding:12px;border:1px solid var(--border,#d9dde3);border-radius:12px}.technical-details small{display:block;margin-bottom:5px}.maps-btn{display:inline-flex;margin-top:9px;padding:8px 10px;border-radius:10px;text-decoration:none;font-size:.9rem;font-weight:700;background:rgba(0,0,0,.06)}
.apprentice-couple-row{display:grid;grid-template-columns:minmax(150px,1fr) minmax(240px,2fr) auto;gap:10px;align-items:end;padding:10px 0;border-bottom:1px solid var(--border,#e1e4e8)}.apprentice-couple-row label{display:flex;flex-direction:column;gap:5px}.apprentice-temp-form{margin:10px 0 14px}
@media(max-width:760px){.project-create-files,.technical-details{grid-template-columns:1fr}.project-create-files>strong,.project-create-files>p{grid-column:auto}.apprentice-couple-row{grid-template-columns:1fr}.maps-btn{display:flex;justify-content:center;padding:12px}}

/* V1.0.10 – Räume & Aktivitätslog */
.room-builder{border:1px solid var(--line,#d8dde2);border-radius:14px;padding:14px;background:rgba(0,0,0,.015)}
#jobRoomList{display:grid;gap:14px;margin-top:12px}.job-room-editor{border:1px solid var(--line,#d8dde2);border-radius:12px;padding:14px;background:#fff}.room-editor-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.room-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.room-milestone-details{margin-top:12px}.room-milestone-details summary{font-weight:700;cursor:pointer;margin-bottom:10px}.milestone-group{border-top:1px solid var(--line,#e3e6e8);padding-top:12px;margin-top:12px}.milestone-group:first-child{border-top:0;padding-top:0;margin-top:0}.milestone-group h4{margin:0 0 8px}.room-group-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px}.room-add-detail{margin-top:16px;border-top:1px solid var(--line,#e3e6e8);padding-top:14px;display:grid;grid-template-columns:1.2fr 1fr .7fr auto;gap:8px;align-items:end}.room-add-detail>strong{grid-column:1/-1}.activity-filters{display:grid;grid-template-columns:1fr 1fr auto 1.3fr;gap:8px;margin:12px 0 16px}.activity-row{padding:12px 0;border-top:1px solid var(--line,#e3e6e8)}.activity-row:first-child{border-top:0}.activity-meta{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:8px}.activity-meta>span{font-size:.88rem;color:var(--muted,#65717a)}.activity-change{display:block;padding:4px 0;font-size:.9rem;overflow-wrap:anywhere}.activity-row details{margin-top:8px}.activity-row pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:320px;overflow:auto;background:#f5f6f7;padding:10px;border-radius:8px;font-size:.78rem}.shift-milestone-choice small{display:block;color:var(--muted,#65717a);font-weight:600;margin-bottom:2px}
@media(max-width:760px){.room-editor-grid,.activity-filters,.room-add-detail{grid-template-columns:1fr}.room-add-detail>strong{grid-column:auto}}

/* V1.0.10: Markenlogo ohne Änderung des bestehenden Plattform-Looks */
.topbar-brand{display:flex;align-items:center;gap:12px}.shortlogo{width:46px;height:46px;object-fit:contain;flex:0 0 auto}.self-correction-form{grid-template-columns:1fr 1fr 2fr auto}.time-correction-row button{justify-self:end}@media(max-width:900px){.shortlogo{width:38px;height:38px}.self-correction-form{grid-template-columns:1fr}}

/* V1.0.11 Produktivstart-Erweiterungen */
.office-today .office-clock-actions{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.today-two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.mini-row{padding:10px 0;border-bottom:1px solid var(--line,#e5e7eb)}.todo-form{display:grid;grid-template-columns:1fr 160px 130px auto;gap:10px;margin-bottom:16px}.todo-row{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid #e8e8e8}.todo-row.done{opacity:.55}.todo-row small{display:block;color:#666}.todo-check,.icon-btn{border:0;background:transparent;font-size:22px;cursor:pointer}.punch-edit-row{display:grid;grid-template-columns:minmax(180px,1fr) 200px minmax(180px,1fr) auto;gap:10px;align-items:end;padding:12px 0;border-bottom:1px solid #eee}.punch-edit-row small{display:block}.week-close-metric{display:flex;align-items:baseline;gap:16px}.week-close-metric strong{font-size:28px}.setup-row{display:grid;grid-template-columns:220px 1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #eee}.setup-empty{padding:24px;border-radius:14px;background:#eef8ef;font-weight:700}.warning-banner{padding:10px 12px;margin-bottom:10px;border-radius:10px;background:#fff3cd;color:#664d03}.onboarding-dialog .modal-card{max-width:460px}.onboarding-step{display:flex;gap:16px;align-items:center;min-height:150px}.onboarding-number{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#1d2327;color:white;font-size:22px;font-weight:700;flex:0 0 auto}.onboarding-step p{font-size:20px;line-height:1.35}.done-todos{margin-top:18px}.done-todos summary{cursor:pointer;font-weight:700}@media(max-width:760px){.today-two-col{grid-template-columns:1fr}.todo-form,.punch-edit-row,.setup-row{grid-template-columns:1fr}.worker-mobile-role .nav{overflow-x:auto;flex-wrap:nowrap}.worker-mobile-role .worker-main-action{min-height:68px;font-size:18px}.worker-mobile-role .worker-quick-links button{min-height:52px}.office-today .office-clock-actions button{min-height:48px}}

.voice-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:8px 0}.voice-controls button{min-height:44px}

.technical-error-row{display:grid;grid-template-columns:170px 170px 160px 1fr 70px;gap:10px;padding:10px 0;border-bottom:1px solid #eee;align-items:start}.technical-error-row code{white-space:pre-wrap;word-break:break-word}@media(max-width:760px){.technical-error-row{grid-template-columns:1fr}}


/* V1.0.12 – Materialplanung & Kalender-Schnellzugriff */
.calendar-open-job{cursor:pointer}
.material-plan-row{display:grid;grid-template-columns:minmax(220px,2fr) minmax(130px,1fr) minmax(180px,1.2fr) minmax(130px,1fr) auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line,#e5e7eb)}
.material-plan-row.due{border-left:4px solid currentColor;padding-left:10px}
.material-plan-row small,.material-job-row small{display:block;color:var(--muted,#6b7280);margin-top:3px}
.material-job-list{display:grid;gap:10px;margin:12px 0}
.material-job-row{display:grid;grid-template-columns:minmax(200px,2fr) repeat(4,minmax(100px,1fr)) auto auto;gap:10px;align-items:end;padding:12px;border:1px solid var(--line,#e5e7eb);border-radius:12px}
.material-job-row label{font-size:.78rem;color:var(--muted,#6b7280)}
.material-job-row input,.material-job-row select{width:100%;margin-top:4px}
.material-plan-form{display:grid;grid-template-columns:2fr .7fr .9fr 2fr auto;gap:10px;align-items:end;margin-top:12px}
@media(max-width:900px){.material-plan-row,.material-job-row,.material-plan-form{grid-template-columns:1fr}.material-job-row{align-items:stretch}}

/* V1.0.12.2 – Fliesenleger-Kapazität und ruhigere Lehrlingsdarstellung */
.tiler-availability{margin-top:12px;padding-top:10px;border-top:1px solid var(--border,#e1e4e8);display:grid;gap:6px;min-width:260px}.tiler-availability>strong{font-size:12px;text-transform:uppercase;letter-spacing:.04em;opacity:.72}.tiler-free-row{display:flex;justify-content:space-between;gap:16px;align-items:center}.tiler-free-row span{font-weight:600}.tiler-free-row b{font-size:12px;text-align:right}.capacity-next{font-size:12px;white-space:nowrap}.capacity-hint-main{font-size:16px;margin-bottom:4px}.capacity-hint #jobCapacityHint{display:block}.plan-row.apprentice-row{opacity:.58}.plan-row.apprentice-row .plan-name,.plan-row.apprentice-row .plan-day{background:rgba(245,246,247,.72)}.plan-row.apprentice-row:hover{opacity:.8}.plan-row.apprentice-row .phase-chip{filter:saturate(.55)}

/* V1.0.12.4 – Kalender-Disposition */
.phase-chip{position:relative}.support-drag{position:absolute;right:3px;bottom:3px;width:20px;height:20px;border-radius:999px;background:rgba(255,255,255,.9);border:1px solid #aeb7bf;display:grid;place-items:center;font-weight:800;cursor:copy;line-height:1}.support-assignment{background:#edf6ee;border-style:dashed;cursor:pointer;padding-right:24px}.support-remove{position:absolute;right:2px;top:2px;width:18px;height:18px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.92);cursor:pointer}.fixed-job{border-width:2px;cursor:not-allowed}.fixed-badge{float:right;font-size:10px}.fixed-info{margin-top:10px;padding:10px 12px;border-radius:9px;background:#fff5d8;font-size:13px;font-weight:700}.fixed-check{display:flex!important;align-items:center;gap:10px}.fixed-check>span{flex:1}.fixed-check input[type=checkbox]{width:auto;margin:0;transform:scale(1.25)}.plan-day.transition-edge{box-shadow:inset -4px 0 0 #d69a1f}.plan-day.transition-start{box-shadow:inset 4px 0 0 #d69a1f}.transition-tag{position:absolute;right:-9px;top:2px;z-index:6;background:#fff5d8;border:1px solid #d69a1f;border-radius:999px;font-size:10px;font-weight:800;padding:1px 4px}.plan-day.dropzone{position:relative}.schedule-edit-extended{grid-template-columns:1.1fr .8fr .8fr 1.4fr .9fr auto}.planning-legend .legend-transition{background:#fff5d8;border:1px solid #d69a1f}.planning-legend .legend-fixed{background:#dde8f3;border:2px solid #52606b}.planning-legend .legend-support{background:#edf6ee;border:1px dashed #7a9a7f}


/* V1.0.16.0 – Materialdetails, Bugmeldungen, Finanzschutz und Bildbeschriftung */
.material-catalog-row{grid-template-columns:minmax(190px,2fr) repeat(4,minmax(95px,1fr)) auto auto}.catalog-job-detail{grid-column:1/-1;display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:8px 10px;border-radius:9px;background:rgba(0,0,0,.035)}.catalog-job-detail input[type=checkbox]{width:auto;margin:0}.catalog-job-detail input[type=text]{width:min(320px,100%);margin:0}.catalog-actions{display:flex;gap:6px;align-items:center}.material-v10160-editor{grid-column:1/-1;border-top:1px dashed rgba(0,0,0,.12);padding-top:10px;display:grid;grid-template-columns:minmax(180px,1.4fr) repeat(3,minmax(110px,.7fr)) minmax(160px,1fr) auto auto auto;gap:8px;align-items:end}.material-v10160-editor label{font-size:.78rem}.material-v10160-editor input,.material-v10160-editor select{width:100%;margin-top:4px}.material-detail-warning{display:block;margin-top:5px;padding:6px 8px;border-radius:8px;background:#fff0cc;color:#7d5c00;font-weight:900}.material-job-row.material-detail-missing{border-color:#d58a00;background:rgba(213,138,0,.055)}.material-master-link{min-width:0}.material-plan-form-v10160{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(160px,1fr) 100px 100px 120px minmax(150px,1fr) minmax(180px,1fr) auto;gap:8px;align-items:end;margin-top:12px}.material-plan-form-v10160 label{font-size:.78rem}.material-plan-form-v10160 .wide{grid-column:span 2}.material-required-context{padding:8px 10px;border-radius:9px;background:#fff0cc;color:#7d5c00;font-weight:800}.bug-report-filters{display:flex;gap:10px;margin-bottom:12px}.bug-report-filters select{width:auto;min-width:190px}.bug-report-row{padding:14px 0;border-top:1px solid #edf0f2}.bug-report-row:first-child{border-top:0}.bug-report-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.bug-report-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:5px}.bug-report-description{margin-top:9px;white-space:pre-wrap}.bug-report-actions{display:grid;grid-template-columns:minmax(150px,220px) minmax(180px,1fr) auto;gap:8px;align-items:end;margin-top:10px}.bug-status-new{background:#fff0cc}.bug-status-in_progress{background:#dde8f3}.bug-status-done{background:#edf7ef}.financial-readonly-note{padding:10px 12px;border-radius:9px;background:rgba(0,0,0,.045);font-weight:700}.file-actions .caption-fixed{font-weight:800}
@media(max-width:1100px){.material-v10160-editor{grid-template-columns:1fr 1fr}.material-plan-form-v10160{grid-template-columns:1fr 1fr}.bug-report-actions{grid-template-columns:1fr 1fr}.material-catalog-row{grid-template-columns:1fr 1fr}.catalog-actions{grid-column:1/-1}}
@media(max-width:699px){.material-v10160-editor,.material-plan-form-v10160,.bug-report-actions,.material-catalog-row{grid-template-columns:1fr}.material-plan-form-v10160 .wide{grid-column:auto}.bug-report-head{display:block}.bug-report-filters select{width:100%}}

/* V1.0.16.0 – nachträgliche Reihenfolge der Arbeitsschritte */
.milestone-order-cell{display:flex;align-items:center;gap:5px;min-width:0}.milestone-drag-handle{width:28px;height:34px;padding:0;border:1px solid #cbd1d6;border-radius:8px;background:#f7f8f9;color:#52606b;font-size:18px;font-weight:900;cursor:grab;touch-action:none}.milestone-drag-handle:active{cursor:grabbing}.milestone-order-buttons{display:none;gap:3px}.milestone-order-buttons button{min-width:28px;height:30px;padding:0}.milestone-dragging{opacity:.48}.milestone-drop-target{outline:2px dashed #52606b;outline-offset:-3px;background:rgba(82,96,107,.055)}
@media(max-width:699px){.milestone-drag-handle{display:none}.milestone-order-buttons{display:flex}.milestone-order-cell{min-width:92px}.milestone-row{grid-template-columns:92px minmax(0,1fr)}.milestone-row select,.milestone-row>button{grid-column:2;width:100%}}

/* V1.0.16.1 – Baustellenpausen, Materialbedarfsfilter, privates Admin-Zahlenfeld */
.phase-pause-button{position:absolute;left:3px;bottom:3px;width:22px;height:20px;padding:0;border:1px solid #9a7a20;border-radius:7px;background:#fff7d6;color:#725500;cursor:pointer;font-weight:900;line-height:1}.phase-pause-tag{display:block;padding:4px 5px;margin:1px 0;border:1px dashed #c99a24;border-radius:7px;background:#fff8dc;color:#725500;font-size:10px;font-weight:800;overflow:hidden}.plan-day.has-phase-pause{background:linear-gradient(135deg,rgba(255,248,220,.72),rgba(255,255,255,.92))}.phase-pause-list{display:grid;gap:6px;margin-top:12px}.phase-pause-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:8px 10px;border-radius:9px;background:rgba(0,0,0,.045)}.phase-pause-row small{display:block}.material-request-filterbar{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:12px;align-items:end;padding:12px;margin:0 0 14px;border:1px solid #e2e5e8;border-radius:12px;background:#f7f8f9}.material-request-filterbar label{margin:0;font-weight:700}.material-request-filterbar label.check{display:flex;align-items:center;gap:7px;padding-bottom:10px}.material-request-filterbar input[type=checkbox]{width:auto;margin:0}.material-need-job-group{margin:14px 0 20px;border:1px solid #e2e5e8;border-radius:12px;overflow:hidden}.material-need-job-head{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:11px 13px;background:#f4f5f6}.material-need-job-body{padding:0 13px 8px}.material-subheading{margin:12px 0 4px;font-size:.78rem;text-transform:uppercase;letter-spacing:.07em;color:#6d757d}.private-admin-number{border:1px solid #c9b46b;background:#fffaf0}.private-admin-number .private-number-form{display:grid;grid-template-columns:minmax(180px,320px) auto;gap:8px;align-items:end}.private-admin-number input{font-size:1.1rem;font-weight:800}.privacy-note{margin-top:8px;font-size:.78rem;color:#6d757d}
@media(max-width:699px){.material-request-filterbar,.private-admin-number .private-number-form{grid-template-columns:1fr}.material-request-filterbar label.check{padding-bottom:0}.phase-pause-row{grid-template-columns:1fr}.phase-pause-button{left:auto;right:26px}}


/* V1.0.16.2 – kompakte Filter, privates Feld und Stabilitätskorrekturen */
.material-request-filterbar{grid-template-columns:minmax(220px,1.25fr) repeat(3,auto)}
.material-filter-hint{margin:-5px 0 14px;padding:8px 10px;border-radius:9px;background:rgba(0,0,0,.035);font-size:.82rem;color:#59636b}.material-filter-hint strong{color:#1d2327}.material-plan-row.material-later{opacity:.72}
.job-material-status-filter{display:flex;justify-content:flex-end;margin:-2px 0 10px}.job-material-status-filter label{display:flex;align-items:center;gap:8px;font-size:.82rem;font-weight:700}.job-material-status-filter select{width:auto;min-width:190px;margin:0;padding:8px 10px}
.private-admin-number-inline{margin:10px 0 0;padding:8px 10px;border-top:1px dashed rgba(0,0,0,.13);background:rgba(0,0,0,.018)}.private-number-inline-form{display:grid;grid-template-columns:minmax(150px,230px) auto minmax(180px,1fr);gap:8px;align-items:end}.private-number-inline-form label{margin:0;font-size:.78rem}.private-number-inline-form label span{display:block;color:#6d757d}.private-number-inline-form label small{font-weight:400}.private-number-inline-form input{margin-top:4px;padding:8px 10px;font-weight:700}.private-number-inline-form button{padding:8px 11px}.private-number-delete-note{align-self:center;color:#7b838a}
@media(max-width:900px){.material-request-filterbar{grid-template-columns:1fr 1fr}.private-number-inline-form{grid-template-columns:minmax(150px,1fr) auto}.private-number-delete-note{grid-column:1/-1}}
@media(max-width:699px){.material-request-filterbar{grid-template-columns:1fr}.job-material-status-filter{justify-content:stretch}.job-material-status-filter label,.job-material-status-filter select{width:100%}.private-number-inline-form{grid-template-columns:1fr auto}.private-number-delete-note{grid-column:1/-1}}


/* V1.0.17.0 – Transportlogistik, Teamgruppen und Mobile-Härtung */
.transport-head-actions{display:flex;gap:8px;flex-wrap:wrap}
.transport-filterbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-top:14px}
.transport-filterbar label{min-width:180px}
.transport-summary{display:grid;grid-template-columns:minmax(0,2fr) repeat(4,minmax(115px,1fr));gap:10px;align-items:stretch}
.transport-summary>div{padding:12px;border-radius:11px;background:rgba(0,0,0,.04);min-width:0}
.transport-summary small,.transport-summary strong{display:block}.transport-summary strong{margin-top:4px}
.transport-load{grid-column:span 2}.transport-loadbar{height:11px;border-radius:999px;background:#e6e9eb;overflow:hidden;margin:8px 0 5px}
.transport-loadbar>span{display:block;height:100%;background:#1d2327;max-width:100%}
.transport-load.normal .transport-loadbar>span{background:#2f7d4a}
.transport-load.warn .transport-loadbar>span{background:#d58a00}
.transport-load.danger .transport-loadbar>span{background:#b7473d}
.transport-load.warn{background:rgba(213,138,0,.08)}.transport-load.danger{background:rgba(183,71,61,.08)}
.transport-truck{border:1px solid rgba(0,0,0,.11);border-radius:14px;margin:0 0 14px;overflow:hidden;background:var(--card,#fff)}
.transport-truck-head{display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(190px,1.2fr) minmax(190px,1fr) auto;gap:12px;align-items:center;padding:14px;background:rgba(0,0,0,.025)}
.transport-truck-head small{display:block;margin-top:3px}.transport-truck-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.transport-warning-list{display:grid;gap:6px;padding:0 14px 10px}.transport-warning{padding:8px 10px;border-radius:9px;background:#fff4d6;color:#704e00;font-size:.86rem}
.transport-warning.danger{background:#fff0ef;color:#8d211d}.transport-warning.info{background:#eef4fa;color:#365b78}
.transport-pickup-list{padding:0 14px 14px}.transport-pickup-head,.transport-pickup-row{display:grid;grid-template-columns:40px 90px minmax(150px,1.5fr) 110px 100px 85px 80px minmax(150px,1fr) auto;gap:8px;align-items:center}
.transport-pickup-head{padding:8px 8px;font-size:.74rem;text-transform:uppercase;letter-spacing:.03em;color:#6d757d}
.transport-pickup-row{padding:10px 8px;border-top:1px solid rgba(0,0,0,.08);min-width:0}
.transport-pickup-row[draggable=true]{cursor:grab}.transport-pickup-row.dragging{opacity:.45}.transport-pickup-row.dragover{outline:2px dashed #6b747c;outline-offset:-2px}
.transport-pickup-row small{display:block;margin-top:2px;color:#6d757d}.transport-pickup-row>*{min-width:0}
.transport-pickup-actions{display:flex;gap:5px;justify-content:flex-end;flex-wrap:wrap}.transport-pickup-actions button{padding:7px 9px}
.transport-move-select{min-width:150px;margin:0;padding:8px}
.transport-status{font-size:.78rem;padding:4px 7px;border-radius:999px;background:#e8ebed;display:inline-block}
.transport-status.ready{background:#e8f4eb;color:#236239}.transport-status.planned{background:#e9f0f8;color:#2f5f8a}.transport-status.collected{background:#edf0f2;color:#53606a}
.transport-empty{padding:16px;color:#6d757d;text-align:center}
.transport-add-row{padding:10px 14px 14px;border-top:1px solid rgba(0,0,0,.07);display:flex;justify-content:flex-end}
.transport-calendar-card{font-size:.92rem}.transport-rule-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px}
.transport-rule{padding:9px 10px;border-radius:9px;background:rgba(0,0,0,.035)}.transport-rule strong,.transport-rule small{display:block}
.transport-dialog-grid,.transport-pickup-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.transport-dialog-grid .wide,.transport-pickup-form-grid .wide{grid-column:1/-1}
.transport-pickup-dialog{width:min(820px,94vw)}
.transport-capacity-live{padding:10px 12px;border-radius:10px;margin-top:8px;background:rgba(47,125,74,.08)}
.transport-capacity-live.warn{background:rgba(213,138,0,.12);color:#765000}.transport-capacity-live.danger{background:rgba(183,71,61,.11);color:#8c2720;font-weight:800}
.transport-readonly-note{padding:9px 11px;border-radius:10px;background:rgba(0,0,0,.045);margin-bottom:12px}
.teamchat-group-bar{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 12px}.teamchat-group-btn{border:1px solid rgba(0,0,0,.12);background:rgba(0,0,0,.035);border-radius:999px;padding:8px 11px;font-weight:750;cursor:pointer}.teamchat-group-btn.unread{border-width:2px;background:rgba(213,138,0,.09)}
.teamchat-item .group-badge{display:inline-block;margin-left:6px;font-size:.68rem;padding:2px 5px;border-radius:999px;background:rgba(0,0,0,.07);vertical-align:1px}
.teamchat-mobile-notice{position:fixed;top:max(10px,env(safe-area-inset-top));left:10px;right:10px;z-index:1600;background:#1d2327;color:#fff;border-radius:12px;box-shadow:0 8px 30px rgba(0,0,0,.24);display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:8px 9px}
.teamchat-mobile-notice>button{border:0;background:transparent;color:inherit;text-align:left;padding:4px;cursor:pointer}.teamchat-mobile-notice>button:last-child{font-size:20px;padding:3px 7px}.teamchat-mobile-notice span{display:block;font-size:.82rem;opacity:.86;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Breiten-Schutz: horizontales Scrollen nur innerhalb expliziter Boards/Tabellen. */
html,body{max-width:100%;overflow-x:hidden}
#appView,#appView main,.view,.card,.section-head,.detailgrid,.teamchat-layout,.teamchat-thread,.teamchat-compose,.form-grid,.inline-form,.task-form,.transport-truck{min-width:0;max-width:100%}
input,select,textarea,button{max-width:100%}
img,video,canvas{max-width:100%}
dialog{max-width:calc(100vw - 20px)}

@media(max-width:1050px){
  .transport-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.transport-load{grid-column:span 3}
  .transport-truck-head{grid-template-columns:1fr 1fr}.transport-truck-actions{grid-column:1/-1;justify-content:flex-start}
  .transport-pickup-head{display:none}.transport-pickup-row{grid-template-columns:34px 90px minmax(150px,1.4fr) 100px 90px 75px 75px 1fr}.transport-pickup-actions{grid-column:2/-1;justify-content:flex-start}
}
@media(max-width:699px){
  .topbar,.userbox,.section-head{min-width:0}.section-head{flex-wrap:wrap}.section-head>div{min-width:0}
  .topbar{overflow:hidden}.topbar-brand{min-width:0}.topbar-brand>div{min-width:0}.topbar h1{overflow-wrap:anywhere}
  .card{overflow-wrap:anywhere}
  .form-grid,.inline-form,.task-form,.request-form,.note-form,.file-form,.phase-form,.variation-form,.material-plan-form,.transport-dialog-grid,.transport-pickup-form-grid{grid-template-columns:minmax(0,1fr)!important}
  .form-grid .wide,.transport-dialog-grid .wide,.transport-pickup-form-grid .wide{grid-column:auto}
  .transport-filterbar{display:grid;grid-template-columns:1fr;width:100%}.transport-filterbar label{min-width:0;width:100%}
  .transport-head-actions{width:100%}.transport-head-actions button{flex:1 1 auto}
  .transport-summary{grid-template-columns:1fr 1fr}.transport-load{grid-column:1/-1}
  .transport-truck-head{grid-template-columns:1fr;padding:12px}.transport-truck-actions{grid-column:auto;justify-content:flex-start}
  .transport-pickup-list{padding:0 10px 10px}
  .transport-pickup-row{display:grid;grid-template-columns:36px minmax(0,1fr);gap:5px 9px;padding:12px 4px}
  .transport-pickup-row>.transport-code,.transport-pickup-row>.transport-manufacturer,.transport-pickup-row>.transport-date,.transport-pickup-row>.transport-weight,.transport-pickup-row>.transport-pallets,.transport-pickup-row>.transport-xxl,.transport-pickup-row>.transport-status-cell,.transport-pickup-row>.transport-detail{grid-column:2}
  .transport-pickup-actions{grid-column:2;display:grid;grid-template-columns:1fr 1fr}.transport-move-select{grid-column:1/-1;min-width:0;width:100%}
  .transport-pickup-actions button{width:100%}
  .transport-rule-grid{grid-template-columns:1fr}
  .teamchat-group-bar{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.teamchat-group-btn{flex:0 0 auto}
  .teamchat-new{grid-template-columns:1fr!important}.teamchat-new>*{width:100%;min-width:0!important}
  .teamchat-messages{width:100%;overflow-x:hidden}.chatmsg{max-width:92%;overflow-wrap:anywhere;word-break:break-word}
  .toast-stack{top:calc(64px + env(safe-area-inset-top));bottom:auto;left:10px;right:10px;max-width:none}
  .planning-board{max-width:100%;overflow-x:auto}
  .material-job-list,.material-plan-row,.material-job-row{min-width:0;max-width:100%}
}
@media(max-width:380px){
  .transport-summary{grid-template-columns:1fr}.transport-load{grid-column:auto}
  .transport-pickup-actions{grid-template-columns:1fr}
}


/* V1.0.17.0 – reale Mitarbeiterkosten & rollenabhängige Baustellenbreite */
.detailgrid.single-column{grid-template-columns:minmax(0,1fr)}.detailgrid.single-column>div:last-child{display:none!important}
.installation-cost-parameters{padding:14px;border:1px solid var(--line,#e2e5e8);border-radius:12px;background:rgba(0,0,0,.018);margin:12px 0 18px}.cost-parameter-grid{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:9px;align-items:end}.cost-parameter-grid label,.employee-cost-form label{font-size:.78rem}.cost-parameter-grid input,.employee-cost-form input,.employee-cost-form select{width:100%}.employee-cost-admin-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:18px}.employee-cost-form{display:grid;grid-template-columns:repeat(3,minmax(130px,1fr));gap:9px;align-items:end}.employee-cost-form .wide{grid-column:1/-1}.cost-check{display:flex!important;align-items:center;gap:7px;padding:9px;border-radius:9px;background:rgba(0,0,0,.035);margin:0!important}.cost-check input{width:auto;margin:0}.employee-cost-live{padding:10px 12px;border-radius:10px;background:#f5f6f7;font-weight:800}.employee-cost-history-row{padding:9px 0;border-bottom:1px solid var(--line,#e5e7eb)}.employee-cost-history-row small{display:block;margin-top:3px}.postcalc-margin{padding:12px;border-radius:11px;border:2px solid rgba(0,0,0,.10)}.postcalc-margin.loss{border-color:#b7473d;background:rgba(183,71,61,.08)}.postcalc-margin.low{border-color:#d58a00;background:rgba(213,138,0,.08)}.postcalc-margin.positive{border-color:#c4a73c;background:rgba(196,167,60,.08)}.postcalc-margin.good{border-color:#6b8f55;background:rgba(107,143,85,.08)}.postcalc-margin.target{border-color:#2f7d4a;background:rgba(47,125,74,.08)}.postcalc-margin strong{font-size:1.35rem}.labor-cost-breakdown{margin-top:12px}.labor-cost-person{padding:10px 0;border-top:1px solid #edf0f2}.labor-cost-person:first-child{border-top:0}.labor-cost-person-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.labor-day-row{display:grid;grid-template-columns:95px 75px repeat(4,minmax(90px,1fr)) minmax(150px,1.3fr);gap:7px;align-items:center;padding:6px 0;font-size:.83rem}.labor-day-row small{display:block}.per-diem-toggle{display:flex;align-items:center;gap:6px}.per-diem-toggle input{width:auto;margin:0}.postcalc-components{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.postcalc-components>div{padding:10px;background:#f7f8f9;border-radius:9px}.postcalc-components small,.postcalc-components strong{display:block}.postcalc-plan-target{margin-top:10px;padding:10px 12px;border-radius:9px;background:rgba(0,0,0,.04)}
@media(max-width:1000px){.cost-parameter-grid{grid-template-columns:1fr 1fr}.employee-cost-admin-layout{grid-template-columns:1fr}.employee-cost-form{grid-template-columns:1fr 1fr}.postcalc-components{grid-template-columns:1fr 1fr}.labor-day-row{grid-template-columns:90px 70px 1fr 1fr}.labor-day-row>*:nth-child(n+5){grid-column:span 1}}
@media(max-width:699px){.cost-parameter-grid,.employee-cost-form,.postcalc-components{grid-template-columns:1fr}.employee-cost-form .wide{grid-column:auto}.labor-day-row{grid-template-columns:1fr 1fr}.labor-day-row>*:last-child{grid-column:1/-1}.detailgrid.single-column{display:block}}

/* P³ ERP 1.4.13.3 – Baustellenergebnis in der aktuellen Designsprache */
.postcalc-card{position:relative;overflow:hidden;border-color:#cfdfe1!important;background:linear-gradient(155deg,#fff 0,#f6fbfb 100%)!important;box-shadow:0 10px 28px rgba(24,70,76,.08)!important}
.postcalc-card::before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:#178b96}
.postcalc-card>h3{margin-bottom:14px;padding-left:4px;font-size:1.12rem}
.postcalc-card .postcalc-margin{display:grid;gap:3px;margin-bottom:12px;padding:16px;border-width:1px;border-left-width:5px;box-shadow:0 5px 16px rgba(31,44,48,.06)}
.postcalc-card .postcalc-margin strong{font-size:1.55rem;letter-spacing:-.025em}
.postcalc-card .postcalc-components{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.postcalc-card .postcalc-components>div{min-width:0;padding:10px 11px;border:1px solid #e3ecee;background:rgba(255,255,255,.84);border-radius:9px}
.postcalc-card .postcalc-components small{min-height:2.2em;line-height:1.1;color:#66757a}
.postcalc-card .postcalc-components strong{margin-top:4px;font-size:1rem}
.postcalc-card .postcalc-plan-target{border:1px solid #dbe8ea;background:#eef7f8}
.postcalc-card .labor-cost-breakdown{border-top:1px solid #dde8ea;padding-top:10px}
@media(max-width:699px){.postcalc-card .postcalc-components{grid-template-columns:1fr}}

/* V1.0.17.1 – Hersteller-/Abholadressspeicher */
.transport-known-location{border:1px solid var(--border,#d9dde3);border-radius:11px;padding:10px 12px;background:rgba(0,0,0,.025)}
.transport-known-location-head strong,.transport-known-location-ok strong{display:block}.transport-known-location-head small,.transport-known-location-ok small{display:block;margin-top:3px;color:var(--muted,#6d757d)}
.transport-known-location-actions{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:8px;align-items:end;margin-top:8px}.transport-known-location-actions select{margin:0}.transport-known-location-actions button{white-space:nowrap}
.transport-add-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
@media(max-width:700px){.transport-known-location-actions{grid-template-columns:1fr}.transport-known-location-actions button{width:100%}.transport-add-row .primary{width:100%}}

/* V1.0.17.2 – Abholübersicht, Statuslogik und Dezimalgewichte */
.transport-overview-details{display:grid;gap:2px;margin-top:5px;font-size:.75rem;line-height:1.3;color:#59636c}
.transport-overview-details span{display:block;white-space:normal;overflow-wrap:anywhere}
.transport-overview-details b{color:#343b41}
.transport-status.clarification,.transport-status.not_ready{background:#fff0cc;color:#7d5c00}
.transport-status.in_transit,.transport-status.planned,.transport-status.collected{background:#e9f0f8;color:#2f5f8a}
.transport-truck-actions [data-transport-mark-sent]{white-space:normal;line-height:1.15}
@media(max-width:900px){.transport-overview-details{font-size:.8rem}}
@media(max-width:699px){.transport-overview-details{margin-top:7px;padding-top:6px;border-top:1px solid rgba(0,0,0,.06)}.transport-truck-actions [data-transport-mark-sent]{width:100%}}


/* V1.0.17.2 – offene Abhol-Verfügbarkeiten auf der Startseite */
.transport-next-order-hint{display:block!important;margin:2px 0 5px;color:var(--muted,#6d757d);font-size:.7rem;font-weight:600;line-height:1.15}
.dashboard-transport-group{border-top:1px solid var(--line,#e5e7eb);padding:12px 0}.dashboard-transport-group:first-child{border-top:0;padding-top:0}
.dashboard-transport-group-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:5px}.dashboard-transport-group-head small{color:var(--muted,#6d757d)}
.dashboard-transport-pending{display:grid;grid-template-columns:minmax(170px,.65fr) minmax(0,1.35fr);gap:12px;padding:9px 10px;margin:5px 0;border-left:4px solid #d58a00;border-radius:8px;background:rgba(213,138,0,.065)}
.dashboard-transport-pending small{display:block;margin-top:3px;color:var(--muted,#6d757d);white-space:normal;overflow-wrap:anywhere}.dashboard-transport-pending>div{min-width:0}
@media(max-width:699px){.dashboard-transport-group-head{display:block}.dashboard-transport-group-head small{display:block;margin-top:2px}.dashboard-transport-pending{grid-template-columns:1fr}.transport-next-order-hint{font-size:.72rem}}

/* V1.2.0 – ERP Foundation (Admin-only, additive) */
.erp120-nav{position:relative}.erp120-beta{margin-left:auto;font-size:.58rem;letter-spacing:.07em;padding:2px 5px;border-radius:999px;background:rgba(0,0,0,.08)}
.erp120-hero{border-top:4px solid #1d2327}.erp120-admin-pill{font-weight:800}.erp120-statusline{padding:10px 12px;border-radius:10px;background:#f4f5f6}.erp120-statusline.ok{background:#edf7ef;color:#246b35}.erp120-statusline.error{background:#fff0ef;color:#8d211d}
.erp120-tabs-card{padding-top:14px}.erp120-tabs{display:flex;gap:7px;flex-wrap:wrap;padding-bottom:12px;border-bottom:1px solid #edf0f2}.erp120-tabs button.active{background:#1d2327;color:#fff}.erp120-tab-body{padding-top:16px}
.erp120-metrics{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:10px;margin-bottom:16px}.erp120-metric{padding:14px;border:1px solid #e2e5e8;border-radius:12px;background:#fafafa}.erp120-metric small,.erp120-metric span{display:block;color:#6d757d}.erp120-metric strong{display:block;font-size:1.65rem;margin:4px 0}
.erp120-grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.erp120-panel{padding:15px;border:1px solid #e2e5e8;border-radius:12px;background:#fff;margin-bottom:14px}.erp120-panel h3{margin-bottom:8px}.erp120-callout{padding:11px 12px;margin:10px 0;border-radius:10px;background:#fff4d6;color:#704e00}.erp120-callout.good{background:#edf7ef;color:#246b35}.erp120-list{margin:8px 0 0;padding-left:20px}.erp120-list li{margin:6px 0}
.erp120-feature-list{display:grid;gap:0}.erp120-feature{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 0;border-top:1px solid #edf0f2}.erp120-feature:first-child{border-top:0}.erp120-feature small{display:block;color:#6d757d;margin-top:3px}.erp120-on{background:#edf7ef;color:#246b35}
.erp120-role-list{display:grid;gap:10px}.erp120-user-role{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(300px,2fr) auto;gap:12px;align-items:start;padding:13px;border:1px solid #e2e5e8;border-radius:12px}.erp120-user-role small{display:block;color:#6d757d;margin-top:3px}.erp120-role-checks{display:flex;flex-wrap:wrap;gap:6px}.erp120-role-checks label{display:flex;align-items:center;gap:5px;margin:0;padding:7px 9px;border:1px solid #dfe3e6;border-radius:999px;background:#f7f8f9;font-size:.82rem}.erp120-role-checks input{width:auto;margin:0}
.erp120-inline-form{display:grid;grid-template-columns:100px 1fr 100px 90px auto;gap:7px;align-items:end;margin:12px 0}.erp120-inline-form input,.erp120-inline-form select{margin:0}.erp120-location-form{display:grid;grid-template-columns:1.2fr 1fr 1.4fr 90px 170px auto;gap:8px;align-items:end;margin:12px 0}.erp120-location-form input,.erp120-location-form select{margin:0}.erp120-check{display:flex!important;align-items:center;gap:6px;margin:0!important;padding:10px;border:1px solid #dfe3e6;border-radius:9px}.erp120-check input{width:auto;margin:0}
.erp120-master-list,.erp120-location-list,.erp120-audit-list{display:grid}.erp120-master-list>div,.erp120-location-list>div,.erp120-audit-list>div{display:grid;grid-template-columns:minmax(150px,1fr) minmax(180px,2fr);gap:10px;padding:9px 0;border-top:1px solid #edf0f2}.erp120-master-list>div:first-child,.erp120-location-list>div:first-child,.erp120-audit-list>div:first-child{border-top:0}.erp120-master-list span,.erp120-location-list span,.erp120-audit-list span{color:#6d757d}.erp120-dl{margin:0}.erp120-dl>div{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:8px 0;border-top:1px solid #edf0f2}.erp120-dl>div:first-child{border-top:0}.erp120-dl dt{color:#6d757d}.erp120-dl dd{margin:0;font-weight:700}
@media(max-width:1050px){.erp120-metrics{grid-template-columns:repeat(2,1fr)}.erp120-grid2{grid-template-columns:1fr}.erp120-user-role{grid-template-columns:1fr}.erp120-inline-form,.erp120-location-form{grid-template-columns:1fr 1fr}.erp120-inline-form button,.erp120-location-form button{grid-column:1/-1}}
@media(max-width:699px){.erp120-beta{display:none}.erp120-tabs{display:grid;grid-template-columns:1fr 1fr}.erp120-metrics{grid-template-columns:1fr 1fr}.erp120-inline-form,.erp120-location-form{grid-template-columns:1fr}.erp120-inline-form button,.erp120-location-form button{grid-column:auto}.erp120-feature{grid-template-columns:1fr}.erp120-master-list>div,.erp120-location-list>div,.erp120-audit-list>div,.erp120-dl>div{grid-template-columns:1fr}.erp120-role-checks{display:grid;grid-template-columns:1fr 1fr}}


/* V1.2.0.2 – sichtbares Stundenkonto / Überstundensaldo */
.overtime-balance-main{display:grid;grid-template-columns:1fr auto;gap:5px 16px;align-items:end;padding:16px 18px;border:1px solid #dfe3e6;border-radius:14px;background:#f7f8f9}.overtime-balance-main span{font-size:13px;color:#6d757d;font-weight:700}.overtime-balance-main strong{grid-row:1/3;grid-column:2;font-size:32px;letter-spacing:-.02em}.overtime-balance-main small{color:#6d757d}.overtime-balance-main.positive{border-left:5px solid #2f7d4a}.overtime-balance-main.negative{border-left:5px solid #b7473d}.overtime-balance-details{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.overtime-balance-details>div{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:10px;background:#f7f8f9}.overtime-balance-details span{color:#6d757d;font-size:12px}.overtime-pending-note{margin-top:10px}.overtime-admin-list{display:grid;gap:8px}.overtime-admin-row{display:grid;grid-template-columns:minmax(220px,1fr) 150px minmax(180px,.8fr);gap:12px;align-items:center;padding:12px 14px;border:1px solid #e2e5e8;border-radius:11px;background:#fafafa}.overtime-admin-row>div small{display:block;margin-top:3px;color:#6d757d}.overtime-admin-row>b{font-size:22px;text-align:right}.overtime-admin-row>span{text-align:right;color:#6d757d;font-size:12px}.overtime-admin-row.positive{border-left:4px solid #2f7d4a}.overtime-admin-row.negative{border-left:4px solid #b7473d}
@media(max-width:700px){.overtime-balance-main{grid-template-columns:1fr}.overtime-balance-main strong{grid-row:auto;grid-column:auto;font-size:29px}.overtime-balance-details{grid-template-columns:1fr}.overtime-admin-row{grid-template-columns:1fr auto}.overtime-admin-row>span{grid-column:1/-1;text-align:left}.overtime-admin-row>b{text-align:right}}

/* V1.2.0.3 – transparentes Gleitzeit-/Stundenkonto */
.overtime-balance-audit{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:8px}.overtime-balance-audit>div{padding:9px 11px;border-radius:9px;background:rgba(0,0,0,.035)}.overtime-balance-audit span,.overtime-balance-audit strong{display:block}.overtime-balance-audit span{font-size:11px;color:#6d757d}.overtime-balance-audit strong{margin-top:3px;font-size:14px}
@media(max-width:800px){.overtime-balance-audit{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.overtime-balance-audit{grid-template-columns:1fr}}

/* V1.2.1 – JTL Import Center / Shadow-Migration */
.jtl121-mode-banner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:16px 18px;margin-bottom:16px;border:1px solid #dfe3e6;border-left:5px solid #1d2327;border-radius:14px;background:#f8f9fa}.jtl121-mode-banner h3{margin:3px 0 6px}.jtl121-mode-banner p{line-height:1.45}.jtl121-mode-badges{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.jtl121-badge.shadow{background:#1d2327;color:#fff}.jtl121-badge.ok{background:#edf7ef;color:#246b35}.jtl121-badge.warn,.jtl121-batch.warn .jtl121-badge{background:#fff4d6;color:#704e00}.jtl121-badge.error,.jtl121-batch.error .jtl121-badge{background:#fff0ef;color:#8d211d}.jtl121-badge.reset{background:#eceff1;color:#66717a}.jtl121-badge.muted{background:#eceff1;color:#59636b}
.jtl121-metrics{grid-template-columns:repeat(3,minmax(130px,1fr))}.jtl121-create-form{display:grid;gap:11px;margin-top:12px}.jtl121-create-form label{margin:0}.jtl121-create-form fieldset{border:1px solid #dfe3e6;border-radius:11px;padding:10px 12px;display:flex;flex-wrap:wrap;gap:8px}.jtl121-create-form legend{padding:0 5px;font-weight:800;font-size:.85rem}.jtl121-create-form fieldset label{display:flex;align-items:center;gap:6px;padding:7px 9px;background:#f7f8f9;border-radius:999px;font-size:.82rem}.jtl121-create-form input[type=checkbox]{width:auto;margin:0}.jtl121-lock{margin-top:10px;padding:10px 12px;border-radius:10px;background:#fff0ef;color:#8d211d;font-weight:800}
.jtl121-batch-list{display:grid;gap:10px}.jtl121-batch{border:1px solid #e2e5e8;border-radius:12px;padding:13px;background:#fafafa}.jtl121-batch.ok{border-left:4px solid #2f7d4a}.jtl121-batch.warn{border-left:4px solid #d58a00}.jtl121-batch.error{border-left:4px solid #b7473d}.jtl121-batch.reset{opacity:.72}.jtl121-batch-main{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start}.jtl121-batch-main small{display:block;color:#6d757d;margin-top:3px}.jtl121-batch-main>div:last-child{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.jtl121-batch-counts{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.jtl121-batch-counts span{padding:6px 8px;border-radius:8px;background:#fff;border:1px solid #e3e6e8;font-size:.78rem}.jtl121-batch-actions{display:flex;gap:7px;flex-wrap:wrap}.jtl121-batch-actions button{padding:8px 10px}.jtl121-reset-note{display:block;color:#6d757d;margin-top:8px}
.jtl121-details{margin-top:16px;padding:14px;border:1px solid #dfe3e6;border-radius:12px;background:#fff}.jtl121-detail-summary{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.jtl121-stage-table{display:grid;gap:8px}.jtl121-stage-row{border:1px solid #e2e5e8;border-radius:10px;overflow:hidden}.jtl121-stage-row summary{display:grid;grid-template-columns:110px minmax(0,1fr) auto 90px;gap:9px;align-items:center;padding:10px 12px;cursor:pointer;background:#fafafa}.jtl121-stage-row summary small{color:#6d757d;text-align:right}.jtl121-stage-row.error{border-color:#e1aaa6}.jtl121-stage-row.warning{border-color:#e6ce8e}.jtl121-stage-messages{padding:8px 12px;background:#fff4d6}.jtl121-json-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:10px 12px}.jtl121-json-grid pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:300px;overflow:auto;background:#f5f6f7;padding:10px;border-radius:8px;font-size:.76rem;margin:6px 0 0}
.jtl121-danger-zone{border-color:#efc9c6}.jtl121-killswitch{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end;margin-top:12px}.jtl121-killswitch label{margin:0}.jtl121-killswitch code{font-size:.8rem}.jtl121-killswitch button{min-height:43px}
@media(max-width:1000px){.jtl121-mode-banner{grid-template-columns:1fr}.jtl121-mode-badges{justify-content:flex-start}.jtl121-metrics{grid-template-columns:1fr 1fr}.jtl121-killswitch{grid-template-columns:1fr 1fr}.jtl121-killswitch button{grid-column:1/-1}.jtl121-json-grid{grid-template-columns:1fr}}
@media(max-width:699px){.jtl121-metrics{grid-template-columns:1fr 1fr}.jtl121-batch-main,.jtl121-stage-row summary,.jtl121-killswitch{grid-template-columns:1fr}.jtl121-batch-main>div:last-child{justify-content:flex-start}.jtl121-batch-actions{display:grid;grid-template-columns:1fr}.jtl121-batch-actions button{width:100%}.jtl121-stage-row summary small{text-align:left}.jtl121-killswitch button{grid-column:auto}}

/* v1.2.2 – Secure Keravin Bridge Receiver */
.jtl122-bridge-banner{border-left:4px solid currentColor}
.jtl122-bridge-panel{position:relative}
.jtl122-bridge-actions{display:flex;gap:.65rem;flex-wrap:wrap;margin-top:1rem}
.jtl122-security-stack{display:grid;gap:.55rem;margin-top:1rem;padding:1rem;border:1px solid var(--line,#ddd);border-radius:12px;background:rgba(127,127,127,.05)}
.jtl122-setup-code{margin-top:1rem;padding:1rem;border:1px solid var(--line,#ddd);border-radius:12px;background:rgba(127,127,127,.06)}
.jtl122-setup-code p{margin:.35rem 0 .75rem}
.jtl122-setup-code textarea{width:100%;min-height:108px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.78rem;line-height:1.35;word-break:break-all}
.jtl122-setup-code button{margin-top:.6rem}
.jtl122-manual-test{margin:0 0 1rem;padding:.75rem 1rem;border:1px solid var(--line,#ddd);border-radius:10px}
.jtl122-manual-test>summary{cursor:pointer;font-weight:700}
.jtl122-type-summary{display:flex;gap:.4rem;flex-wrap:wrap;margin:.75rem 0}
@media(max-width:760px){.jtl122-bridge-actions{flex-direction:column}.jtl122-bridge-actions button{width:100%}.jtl122-setup-code textarea{min-height:150px}}

/* v1.2.3 Security Hardening */
.v123-security-overlay{position:fixed;inset:0;z-index:999999;background:rgba(15,18,22,.82);backdrop-filter:blur(7px);display:flex;align-items:center;justify-content:center;padding:20px}
.v123-security-overlay.hidden{display:none!important}.v123-security-blocked{overflow:hidden!important}
.v123-security-card{width:min(760px,100%);max-height:92vh;overflow:auto;background:var(--panel,#fff);color:var(--text,#17191c);border-radius:20px;padding:28px;box-shadow:0 28px 90px rgba(0,0,0,.35);display:grid;gap:18px}
.v123-security-lock{font-size:34px}.v123-security-kicker{font-weight:800;letter-spacing:.08em}.v123-security-card h2{margin:3px 0 6px}.v123-security-card h3{margin:8px 0}
.v123-security-form{display:grid;gap:12px}.v123-security-form label{display:grid;gap:6px;font-weight:700}.v123-security-form input{font-size:22px;letter-spacing:.2em;max-width:240px}
.v123-security-actions{display:flex;justify-content:flex-end;border-top:1px solid var(--line,#e8e8e8);padding-top:14px}
.v123-security-callout{padding:14px;border:1px solid var(--line,#ddd);border-radius:12px}.v123-security-callout p{margin:6px 0 0}
.v123-enroll-grid{display:grid;grid-template-columns:minmax(220px,280px) 1fr;gap:22px;align-items:start}.v123-qr-wrap{background:#fff;border-radius:14px;padding:14px;border:1px solid #ddd}.v123-qr-wrap img{display:block;width:100%;height:auto}.v123-secret-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.v123-secret-row code{padding:9px 10px;border-radius:8px;background:rgba(127,127,127,.12);word-break:break-all}
.v123-security-status-btn{position:fixed;right:18px;bottom:18px;z-index:60000;border-radius:999px;padding:9px 13px;box-shadow:0 8px 24px rgba(0,0,0,.18);font-weight:700}
.v123-security-posture{width:min(760px,94vw);border:0;border-radius:16px;padding:22px;box-shadow:0 24px 80px rgba(0,0,0,.3)}.v123-security-posture::backdrop{background:rgba(0,0,0,.48)}
.v123-posture-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.v123-posture-grid>div{border:1px solid var(--line,#ddd);border-radius:10px;padding:12px}.v123-posture-grid small{display:block;margin-bottom:5px}.v123-posture-grid strong{font-size:1.05rem}.v123-security-good{padding:11px 12px;border:1px solid var(--line,#ddd);border-radius:10px;margin:10px 0}.v123-security-ok{border-color:currentColor!important}
@media(max-width:720px){.v123-security-card{padding:20px}.v123-enroll-grid{grid-template-columns:1fr}.v123-qr-wrap{max-width:280px}.v123-posture-grid{grid-template-columns:1fr 1fr}.v123-security-status-btn{right:10px;bottom:10px}}

/* =========================================================
   Keravin.INTERN v1.2.4 – JTL Shadow ERP / Belegspiegel
   ========================================================= */
.jtl124-direction-banner{border-left:4px solid var(--accent,#284d3b)}
.jtl124-mirror-hero{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;padding:22px;border:1px solid var(--border,#ddd);border-radius:16px;background:var(--card,#fff);margin-bottom:18px}
.jtl124-mirror-hero h3{margin:.2rem 0 .45rem;font-size:1.35rem}.jtl124-mirror-hero p{margin:0;max-width:900px;color:var(--muted,#667085)}
.jtl124-stock-panel{margin-bottom:18px}.jtl124-stock-list{display:grid;gap:8px;max-height:430px;overflow:auto;padding-right:4px}
.jtl124-stock-row{display:grid;grid-template-columns:minmax(300px,1.5fr) minmax(190px,.7fr) minmax(170px,.55fr);gap:16px;align-items:center;border:1px solid var(--border,#e5e7eb);border-radius:12px;padding:11px 13px;background:rgba(127,127,127,.025)}
.jtl124-stock-row>div:first-child{display:flex;flex-direction:column;gap:3px}.jtl124-stock-row small{color:var(--muted,#667085)}
.jtl124-stock-place{display:flex;flex-direction:column;gap:2px}.jtl124-stock-qty{text-align:right;display:flex;flex-direction:column;gap:2px}
.jtl124-doc-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}.jtl124-doc-tabs button span{margin-left:6px;opacity:.65}.jtl124-doc-tabs button.active{font-weight:700;box-shadow:inset 0 -2px 0 currentColor}
.jtl124-doc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:12px;margin-bottom:18px}.jtl124-doc-card{border:1px solid var(--border,#e5e7eb);background:var(--card,#fff);border-radius:14px;padding:15px;display:flex;flex-direction:column;gap:11px}
.jtl124-doc-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.jtl124-doc-card-head>div{display:flex;flex-direction:column;gap:2px}.jtl124-doc-card-head small{color:var(--muted,#667085)}.jtl124-doc-card-head strong{font-size:1.04rem}.jtl124-doc-party{font-weight:650}
.jtl124-doc-card dl{display:grid;grid-template-columns:1fr 1fr;gap:7px 12px;margin:0}.jtl124-doc-card dl div{display:flex;justify-content:space-between;gap:8px}.jtl124-doc-card dt{color:var(--muted,#667085)}.jtl124-doc-card dd{margin:0;font-weight:600;text-align:right}
.jtl124-doc-refs{display:flex;gap:6px;flex-wrap:wrap}.jtl124-doc-refs span{font-size:.82rem;background:rgba(127,127,127,.1);border-radius:999px;padding:4px 8px}.jtl124-doc-card button{margin-top:auto}
.jtl124-doc-detail{margin-top:16px;scroll-margin-top:20px}.jtl124-doc-summary{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 14px}.jtl124-doc-summary span{border:1px solid var(--border,#e5e7eb);border-radius:10px;padding:7px 10px;background:rgba(127,127,127,.025)}
.jtl124-lines{display:grid;gap:5px}.jtl124-line{display:grid;grid-template-columns:52px minmax(0,1fr) 130px;gap:12px;align-items:center;padding:9px 10px;border-bottom:1px solid var(--border,#eee)}.jtl124-line-pos{color:var(--muted,#667085);font-variant-numeric:tabular-nums}.jtl124-line-main{display:flex;flex-direction:column;gap:3px;min-width:0}.jtl124-line-main strong{overflow-wrap:anywhere}.jtl124-line-main small{color:var(--muted,#667085)}.jtl124-line-total{text-align:right;font-weight:650}.jtl124-charge-meta{display:flex;flex-wrap:wrap;gap:5px;margin-top:2px}
.jtl121-stage-row summary strong{overflow-wrap:anywhere}.jtl121-stage-row summary{grid-template-columns:minmax(95px,.35fr) minmax(260px,2fr) auto auto}
@media(max-width:850px){.jtl124-mirror-hero{flex-direction:column}.jtl124-stock-row{grid-template-columns:1fr}.jtl124-stock-qty{text-align:left}.jtl124-line{grid-template-columns:38px minmax(0,1fr)}.jtl124-line-total{grid-column:2;text-align:left}.jtl121-stage-row summary{grid-template-columns:1fr}.jtl124-doc-card dl{grid-template-columns:1fr}}

/* =========================================================
   Keravin.INTERN v1.3.0 – Belegeditor / Formulargestalter
   ========================================================= */
.v130-hero{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:20px 22px;border:1px solid var(--border,#e1e4e8);border-radius:16px;background:var(--card,#fff);margin-bottom:16px}.v130-hero h3{margin:.2rem 0 .45rem;font-size:1.35rem}.v130-hero p{margin:0;max-width:900px;color:var(--muted,#667085)}.v130-hero-badges{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.v130-newdoc-panel{margin-bottom:16px}.v130-newdoc-actions,.v130-editor-actions,.v130-section-actions,.v130-material-actions,.jtl124-detail-actions{display:flex;gap:8px;flex-wrap:wrap}.v130-doc-list{display:grid;gap:7px}.v130-doc-list-row{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;text-align:left;align-items:center;padding:12px 14px;border:1px solid var(--border,#e3e6e8);border-radius:12px;background:var(--card,#fff);color:inherit;cursor:pointer}.v130-doc-list-row:hover{background:rgba(127,127,127,.055)}.v130-doc-list-row span{display:flex;flex-direction:column;gap:3px;min-width:0}.v130-doc-list-row span:last-child{text-align:right}.v130-doc-list-row small{color:var(--muted,#667085)}
.v130-editor{margin-top:18px;scroll-margin-top:18px}.v130-editor-head{align-items:flex-start}.v130-doc-header-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px;margin:14px 0}.v130-doc-header-grid label,.v130-text-grid label,.v130-template-fields label,.v130-material-assumptions label{display:grid;gap:5px;font-size:.78rem;font-weight:700}.v130-doc-header-grid input,.v130-doc-header-grid select,.v130-text-grid textarea,.v130-template-fields input,.v130-template-fields select,.v130-material-assumptions input{width:100%}.v130-text-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}.v130-sections{display:grid;gap:14px}.v130-section{border:1px solid var(--border,#dfe3e6);border-radius:14px;overflow:hidden;background:var(--card,#fff)}.v130-section-head{display:grid;grid-template-columns:minmax(250px,1fr) 145px auto auto;gap:10px;align-items:center;padding:11px 12px;background:rgba(127,127,127,.055);border-bottom:1px solid var(--border,#e6e7e9)}.v130-section-title{display:flex;gap:8px;align-items:center}.v130-section-title input{font-size:1rem;font-weight:800;width:100%}.v130-drag{cursor:grab;font-size:18px;opacity:.65;user-select:none}.v130-small-field{display:grid;gap:3px;font-size:.72rem}.v130-small-field input{width:100%}.v130-inline-check{display:flex;align-items:center;gap:6px;font-size:.82rem;font-weight:700}.v130-inline-check input{width:auto}.v130-line-head{display:grid;grid-template-columns:125px minmax(260px,2fr) 88px 82px 110px 88px 72px 120px 35px;gap:7px;padding:8px 10px;border-bottom:1px solid var(--border,#eee);font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted,#667085)}.v130-lines{display:grid}.v130-line{display:grid;grid-template-columns:125px minmax(260px,2fr) 88px 82px 110px 88px 72px 120px 35px;gap:7px;align-items:start;padding:9px 10px;border-bottom:1px solid var(--border,#eee)}.v130-line.optional{background:rgba(255,196,0,.055)}.v130-line.alternative{background:rgba(70,120,220,.045)}.v130-line.text{background:rgba(127,127,127,.035)}.v130-line input,.v130-line select,.v130-line textarea{width:100%;margin:0}.v130-line-desc{display:grid;gap:5px}.v130-line-art{display:grid;grid-template-columns:1fr 34px;gap:5px}.v130-line-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.v130-line-meta label{display:flex;gap:5px;align-items:center;font-size:.72rem;color:var(--muted,#667085)}.v130-line-meta input[type=checkbox]{width:auto}.v130-line-meta input:not([type=checkbox]){max-width:210px}.v130-line-sum{display:flex;flex-direction:column;gap:3px;text-align:right}.v130-line-sum small{font-size:.66rem;color:var(--muted,#667085)}.v130-section-actions{padding:10px 12px;background:rgba(127,127,127,.025)}.v130-section-subtotal{display:flex;justify-content:flex-end;gap:30px;padding:10px 14px;border-top:1px solid var(--border,#e5e7eb);font-weight:700}.v130-add-section{margin:12px 0}.v130-totalbar{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;gap:24px;align-items:end;margin-top:14px;padding:14px;border-radius:13px;background:rgba(127,127,127,.07);border:1px solid var(--border,#dedede)}.v130-totalbar>div{display:flex;flex-direction:column;gap:3px}.v130-totalbar>div:not(:first-child){text-align:right}.v130-totalbar strong{font-size:1.18rem}.v130-legal-warning{margin-top:12px}.compact{padding:5px 8px!important;min-height:32px!important}.ghost{background:transparent!important}
.v130-search-dialog{width:min(920px,94vw);max-height:90vh;border:0;border-radius:17px;padding:0;box-shadow:0 28px 90px rgba(0,0,0,.35)}.v130-search-dialog::backdrop{background:rgba(0,0,0,.48)}.v130-search-card{padding:20px;display:grid;gap:12px}.v130-search-input{font-size:1.05rem;padding:12px}.v130-search-results{display:grid;gap:6px;max-height:62vh;overflow:auto}.v130-search-result{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;text-align:left;padding:11px 12px;border:1px solid var(--border,#e1e4e8);border-radius:11px;background:var(--card,#fff);color:inherit}.v130-search-result:hover{background:rgba(127,127,127,.06)}.v130-search-result span{display:flex;flex-direction:column;gap:2px}.v130-search-result span:last-child{text-align:right}.v130-search-result small{color:var(--muted,#667085)}
.v130-material-panel{margin:14px 0;border:1px solid var(--border,#dadde0);border-radius:14px;padding:14px;background:rgba(127,127,127,.035)}.v130-material-assumptions{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px}.v130-material-basis{display:flex;gap:16px;flex-wrap:wrap;margin:12px 0}.v130-material-basis span{padding:7px 10px;border:1px solid var(--border,#ddd);border-radius:999px}.v130-material-suggestions{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:9px;margin:12px 0}.v130-material-suggestions>div{border:1px solid var(--border,#ddd);border-radius:11px;padding:10px;display:flex;flex-direction:column;gap:4px}.v130-material-suggestions small,.v130-material-suggestions span{color:var(--muted,#667085)}
.v130-form-type-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}.v130-form-type-tabs .active{font-weight:800;box-shadow:inset 0 -2px 0 currentColor}.v130-designer-grid{display:grid;grid-template-columns:minmax(430px,1fr) minmax(380px,.85fr);gap:14px;align-items:start}.v130-template-fields{display:grid;grid-template-columns:1fr 150px 1fr;gap:10px;margin-bottom:10px}.v130-block-list{display:grid;gap:6px;margin-top:14px}.v130-block-row{display:grid;grid-template-columns:28px minmax(150px,1fr) 85px 95px 100px auto;gap:8px;align-items:center;padding:8px 9px;border:1px solid var(--border,#e1e4e8);border-radius:10px;background:var(--card,#fff)}.v130-block-row.dragging{opacity:.45}.v130-block-row>div:nth-child(2){display:flex;flex-direction:column}.v130-block-row small{color:var(--muted,#667085)}.v130-block-row label{display:flex;align-items:center;gap:5px;font-size:.76rem}.v130-block-row label input{width:auto}.v130-order-buttons{display:flex;gap:3px}.v130-preview-panel{position:sticky;top:10px}.v130-a4{width:min(100%,560px);aspect-ratio:210/297;margin:auto;background:#fff;color:#151515;border:1px solid #d5d5d5;box-shadow:0 10px 30px rgba(0,0,0,.09);padding:28px 26px;display:flex;flex-direction:column;overflow:hidden}.v130-a4-header{font-size:.7rem;margin-bottom:12px}.v130-a4-grid{display:flex;flex-wrap:wrap;align-content:flex-start}.v130-preview-block{box-sizing:border-box;padding:8px;border:1px dashed #c9ccd0;min-height:46px;font-size:.7rem}.v130-preview-block small{display:block;color:#777;text-transform:uppercase;font-size:.55rem;margin-bottom:5px}.v130-preview-block.area-footer{margin-top:auto}.v130-custom-header,.v130-custom-footer{white-space:pre-wrap}.v130-custom-footer{font-size:.6rem;margin-top:auto;padding-top:10px;border-top:1px solid #ddd}.v130-legal-grid{display:grid;grid-template-columns:220px 1fr auto;gap:9px;align-items:start}.v130-legal-grid textarea{grid-column:2/4;width:100%}.v130-legal-grid button{grid-column:3}
@media(max-width:1200px){.v130-doc-header-grid{grid-template-columns:1fr 1fr}.v130-line-head{display:none}.v130-line{grid-template-columns:125px minmax(220px,1fr) repeat(3,90px);}.v130-line>[data-line-field="discount_percent"],.v130-line>[data-line-field="vat_rate"]{grid-row:2}.v130-line-sum{grid-column:4/6;grid-row:2}.v130-line>[data-line-delete]{grid-column:6;grid-row:1}.v130-designer-grid{grid-template-columns:1fr}.v130-preview-panel{position:static}.v130-material-suggestions{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.v130-hero{flex-direction:column}.v130-doc-list-row{grid-template-columns:1fr}.v130-doc-list-row span:last-child{text-align:left}.v130-doc-header-grid,.v130-text-grid,.v130-material-assumptions,.v130-material-suggestions,.v130-template-fields{grid-template-columns:1fr}.v130-section-head{grid-template-columns:1fr}.v130-line{grid-template-columns:1fr;padding:12px}.v130-line>*{grid-column:1!important;grid-row:auto!important}.v130-line-sum{text-align:left}.v130-totalbar{grid-template-columns:1fr}.v130-totalbar>div:not(:first-child){text-align:left}.v130-search-result{grid-template-columns:1fr}.v130-search-result span:last-child{text-align:left}.v130-block-row{grid-template-columns:24px 1fr 80px}.v130-block-row select,.v130-block-row label,.v130-order-buttons{grid-column:2/4}.v130-legal-grid{grid-template-columns:1fr}.v130-legal-grid textarea,.v130-legal-grid button{grid-column:auto}.v130-a4{padding:16px 14px}.v130-preview-block{width:100%!important}}

/* v1.3.0 – einfache editierbare Rechnungs-/Kundenanschrift der Arbeitskopie */
.v130-address-grid{display:grid;grid-template-columns:2fr .6fr 1.2fr 1fr 1.4fr 1fr;gap:10px;margin:10px 0 14px}
.v130-address-grid label{display:flex;flex-direction:column;gap:5px;font-size:.82rem;font-weight:600}
@media(max-width:1100px){.v130-address-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:680px){.v130-address-grid{grid-template-columns:1fr}}

/* 1.4.13.6: ungeklärte Zeitabschnitte, ausschließlich Administrator */
.time-assignment-panel{border-left:5px solid #c8831c;background:#fffaf0;margin-bottom:20px}
.time-assignment-panel header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.time-assignment-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(260px,1.4fr);gap:16px;padding:16px 0;border-top:1px solid #eadfc7}
.time-assignment-row small{display:block;margin-top:6px;color:#59646e}
.time-assignment-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.time-assignment-actions input,.time-assignment-actions select{min-width:0;flex:1 1 180px;min-height:44px}
.time-assignment-actions button{min-height:44px}
@media(max-width:700px){.time-assignment-row{grid-template-columns:minmax(0,1fr)}.time-assignment-actions{align-items:stretch}.time-assignment-actions button{flex:1 1 auto}}

#unassignedTimeV14136{border:2px solid #d5ab4c;background:#fffcf2}#unassignedTimeV14136 header{margin-bottom:14px}#unassignedTimeV14136 button{min-height:42px}
