/* FB 3.4.2 — isolated Bauführer profile. Other roles are untouched. */
.fbBaufPage{max-width:1180px;margin:0 auto}
.fbBaufPage.hidden{display:none!important}
.fbBaufCard{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:14px;margin:0 0 12px;box-shadow:0 2px 10px #00000008}
.fbBaufTitle{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.fbBaufTitle h2,.fbBaufTitle h3{margin:0}
.fbBaufSearchWrap{position:relative}
.fbBaufPicker{position:absolute;z-index:50;left:0;right:0;top:calc(100% + 2px);background:#fff;border:1px solid #dfe4df;border-radius:10px;box-shadow:0 10px 30px #0002;max-height:260px;overflow:auto}
.fbBaufPicker:empty{display:none}
.fbBaufPicker button{display:block;width:100%;text-align:left;background:#fff;border:0;border-bottom:1px solid #eee;border-radius:0;padding:10px 11px;color:#17231d}
.fbBaufPicker button:last-child{border-bottom:0}
.fbBaufSiteHead{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:12px 0 8px}
.fbBaufSiteHead b{font-size:15px}
.fbBaufSummary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:10px 0}
.fbBaufStat{border:1px solid #e3e7e3;background:#fbfcfa;border-radius:12px;padding:10px;text-align:left;min-width:0;cursor:pointer;color:#17231d}
.fbBaufStat span{display:block;font-size:11px;color:#6b7280;margin-bottom:3px}
.fbBaufStat strong{display:block;font-size:18px;line-height:1.15;overflow-wrap:anywhere}
.fbBaufStat:active{transform:translateY(1px)}
.fbBaufDetail{border-top:1px solid #e6e8e6;margin-top:10px;padding-top:10px}
.fbBaufDetail .item{padding:8px 2px;margin:0;border-radius:0;border-bottom:1px solid #eef0ee}
.fbBaufCreateGrid{display:grid;grid-template-columns:minmax(0,1.35fr) 130px minmax(0,.8fr);gap:8px;align-items:end}
.fbBaufCreateGrid>div{min-width:0}
.fbBaufCreateGrid input{margin-bottom:0!important}
.fbBaufAllowance{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin:9px 0}
.fbBaufAllowance label{display:inline-flex;align-items:center;gap:7px;flex-direction:row-reverse;margin:0;font-size:13px}
.fbBaufAllowance input{width:18px;height:18px;margin:0}
.fbBaufCreateActions{display:flex;gap:8px;justify-content:flex-end}
.fbBaufToolbar{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:end}
.fbBaufToolbar>*{min-width:0}
.fbBaufList .item{padding:9px 2px;margin:0;border-radius:0;border-bottom:1px solid #ecefec}
.fbBaufRow{display:flex;align-items:center;justify-content:space-between;gap:8px}
.fbBaufRowMain{min-width:0;flex:1 1 auto}
.fbBaufActions{display:flex;gap:5px;align-items:center;flex:0 0 auto}
.fbBaufIconBtn{width:31px!important;min-width:31px!important;height:31px!important;min-height:31px!important;padding:0!important;display:inline-flex!important;align-items:center;justify-content:center;font-size:14px!important;border-radius:8px!important}
.fbBaufTabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.fbBaufTabs button.active{background:#1f6f4a!important;color:#fff!important;border-color:#1f6f4a!important}
.fbBaufDocFilters{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:8px;margin-bottom:8px}
.fbBaufMonthlyControls{display:grid;grid-template-columns:minmax(0,1fr) 155px auto;gap:8px;align-items:end}
.fbBaufMonthlyPreview{overflow:auto;margin-top:10px}
.fbBaufMonthlyEditList{margin-top:10px}
.fbBaufAbsFilters{display:grid;grid-template-columns:minmax(0,1fr) 160px;gap:8px;margin-bottom:8px}
.fbBaufMuted{font-size:12px;color:#6b7280}
.fbBaufDocsThumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;margin-top:8px}
.fbBaufDocsThumbs img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px;border:1px solid #ddd}
body.fbRoleBaufuehrer #fb3210HaButton{display:none!important}
body.fbRoleBaufuehrer #workerView{display:none!important}
@media(max-width:700px){
  .fbBaufSummary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fbBaufCreateGrid{grid-template-columns:minmax(0,1fr) 95px}
  .fbBaufCreateGrid>div:nth-child(3){grid-column:1/-1}
  .fbBaufToolbar{grid-template-columns:minmax(0,1fr) auto}
  .fbBaufToolbar>button:last-child{grid-column:1/-1}
  .fbBaufMonthlyControls{grid-template-columns:minmax(0,1fr) 132px}
  .fbBaufMonthlyControls>button{grid-column:1/-1}
  .fbBaufDocFilters,.fbBaufAbsFilters{grid-template-columns:minmax(0,1fr) 125px}
}


/* FB 3.4.4 — Bauführer-only compact layout and grouped details. */
body.fbRoleBaufuehrer .fbBaufStat span{font-size:10px}
body.fbRoleBaufuehrer .fbBaufStat strong{font-size:15px}
body.fbRoleBaufuehrer .fbBaufDocRow{font-size:12px}
body.fbRoleBaufuehrer .fbBaufDocRow .small{font-size:10px}
body.fbRoleBaufuehrer .fbBaufDocFilters{grid-template-columns:minmax(240px,3fr) minmax(170px,1fr)}
body.fbRoleBaufuehrer .fbBaufMonthlyControls{grid-template-columns:minmax(260px,2fr) minmax(170px,.7fr) auto}
.fbBaufPager{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:12px;font-size:12px}
.fbBaufPager button{min-width:92px}
.fbBaufGroup{border-bottom:1px solid #ecefec}
.fbBaufGroup summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 2px;cursor:pointer;font-size:13px}
.fbBaufGroup summary::-webkit-details-marker{display:none}
.fbBaufGroup summary span{font-weight:800;min-width:0;overflow-wrap:anywhere}
.fbBaufGroup summary strong{font-size:13px;white-space:nowrap}
.fbBaufGroup summary:before{content:'▸';font-size:11px;flex:0 0 auto}
.fbBaufGroup[open] summary:before{content:'▾'}
.fbBaufGroupBody{padding:0 0 7px 22px}
.fbBaufGroupLine{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;padding:5px 0;border-top:1px dashed #eef0ee;font-size:12px}
.fbBaufGroupLine small{grid-column:1/-1;color:#6b7280;font-size:10px}
@media(max-width:700px){
 body.fbRoleBaufuehrer .fbBaufDocFilters{grid-template-columns:minmax(0,1fr) minmax(145px,42%)}
 body.fbRoleBaufuehrer .fbBaufMonthlyControls{grid-template-columns:minmax(0,1fr) minmax(145px,42%)}
 body.fbRoleBaufuehrer .fbBaufMonthlyControls>button{grid-column:1/-1}
}

/* FB 3.4.5 — Bauführer final compact corrections. */
body.fbRoleBaufuehrer .fb324BrandHelmet{background-image:url('helmet-white.svg')!important}
body.fbRoleBaufuehrer .fbBaufMonthlyControls{grid-template-columns:minmax(260px,1fr) minmax(230px,.9fr) auto!important}
body.fbRoleBaufuehrer .fbBaufDocFilters{grid-template-columns:minmax(260px,1fr) minmax(230px,.72fr)!important}
body.fbRoleBaufuehrer .fbBaufDocRow{font-size:11px!important;padding:6px 2px!important;min-height:36px}
body.fbRoleBaufuehrer .fbBaufDocRow b{font-size:11px!important}
body.fbRoleBaufuehrer .fbBaufDocRow .small{font-size:9px!important;line-height:1.15}
body.fbRoleBaufuehrer .fbBaufDocRow .fbBaufIconBtn{width:27px!important;min-width:27px!important;height:27px!important;min-height:27px!important;font-size:12px!important}
body.fbRoleBaufuehrer .fbBaufPdfBtn{font-size:10px!important;min-height:28px!important;padding:5px 10px!important;border-radius:8px!important}
.fbBaufPhotoRow .fbBaufRowMain{display:flex;align-items:center;gap:9px}
.fbBaufPhotoThumb{width:42px;height:34px;object-fit:cover;border-radius:6px;border:1px solid #e3e7e3;flex:0 0 auto}

.fbBaufEditorModal{position:fixed;inset:0;z-index:10050;background:#0007;display:flex;align-items:center;justify-content:center;padding:18px}
.fbBaufEditorModal.hidden{display:none!important}
.fbBaufEditorCard{width:min(850px,96vw);max-height:92vh;overflow:auto;background:#fff;border-radius:16px;padding:16px;box-shadow:0 20px 70px #0005}
.fbBaufEditorRows{margin:12px 0 16px}
.fbBaufEditorLine{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:12px;align-items:center;padding:7px 0;border-bottom:1px solid #ecefec}
.fbBaufEditorLine small{display:block;color:#667085;margin-top:2px;font-size:10px}
.fbBaufEditorLine input{margin:0!important;text-align:right}
.fbBaufSignatureCanvas{width:100%;height:150px;border:2px dashed #cfd5cf;border-radius:12px;background:#fff;touch-action:none;display:block}
.fbBaufEditorActions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin-top:10px}

#fbHaSiteOverview{margin:4px 0 14px}
#fbHaSiteOverview hr{margin:16px 0}
#fbHaSiteOverview .fbBaufSummary{margin-top:10px}

@media(max-width:700px){
 body.fbRoleBaufuehrer .fbBaufMonthlyControls{grid-template-columns:minmax(0,1fr) minmax(155px,46%)!important}
 body.fbRoleBaufuehrer .fbBaufDocFilters{grid-template-columns:minmax(0,1fr) minmax(155px,46%)!important}
 .fbBaufEditorLine{grid-template-columns:minmax(0,1fr) 95px}
}

/* FB 3.4.7 — consolidated verified corrections */
body.fbRoleBaufuehrer .fb324BrandHelmet{background-image:url('helmet-white.svg')!important;background-color:transparent!important}
body.fbRoleBaufuehrer .fbBaufMonthlyControls{grid-template-columns:minmax(280px,50%) 220px 110px!important;justify-content:start!important}
body.fbRoleBaufuehrer .fbBaufMonthlyControls>div:nth-child(2){width:220px!important}
body.fbRoleBaufuehrer #fbBaufMonth{width:100%!important;min-width:200px!important}
body.fbRoleBaufuehrer .fbBaufDocFilters{grid-template-columns:minmax(260px,42%) 210px auto!important;justify-content:start!important;align-items:end!important}
body.fbRoleBaufuehrer #fbBaufDocSearch{max-width:100%!important}
body.fbRoleBaufuehrer #fbBaufDocMonth{width:210px!important;min-width:190px!important}
.fb347ShowAll{min-width:110px!important;white-space:nowrap}
.fb347DocEmpty{padding:16px 4px;color:#667085;font-size:11px}
body.fbRoleBaufuehrer .fbBaufDocRow{font-size:10.5px!important;padding:4px 2px!important;min-height:30px!important}
body.fbRoleBaufuehrer .fbBaufDocRow b{font-size:10.5px!important;line-height:1.15!important;font-weight:750!important}
body.fbRoleBaufuehrer .fbBaufDocRow .small{font-size:8.5px!important;line-height:1.1!important}
body.fbRoleBaufuehrer .fbBaufDocRow .fbBaufIconBtn{width:23px!important;min-width:23px!important;height:23px!important;min-height:23px!important;font-size:10px!important;border-radius:7px!important}
body.fbRoleBaufuehrer .fbBaufPdfBtn{font-size:9px!important;min-height:24px!important;padding:3px 8px!important;border-radius:7px!important}
body.fbRoleBaufuehrer .fbBaufList .item{margin:0!important}
body.fbRoleBaufuehrer .fbBaufPhotoThumb{width:34px!important;height:28px!important}
body.fbRoleBaufuehrer #fbBaufMonthlyEditList{display:none!important}

.fb347PdfModal{position:fixed;inset:0;z-index:12000;background:#0009;padding:14px;overflow:auto}
.fb347PdfModal.hidden{display:none!important}
.fb347PdfShell{width:min(1500px,98vw);margin:0 auto;background:#e9ecef;border-radius:14px;overflow:hidden;box-shadow:0 24px 80px #0007}
.fb347PdfToolbar{position:sticky;top:0;z-index:4;display:flex;align-items:center;gap:10px;justify-content:space-between;background:#fff;padding:10px 12px;border-bottom:1px solid #d8dde3}
.fb347PdfSheet{width:1400px;min-height:850px;margin:18px auto;background:#fff;padding:28px 30px;box-shadow:0 4px 24px #0002;color:#111;font-family:Arial,sans-serif}
.fb347PdfHead{display:grid;grid-template-columns:220px 1fr 260px;gap:18px;align-items:start;margin-bottom:14px}
.fb347Logo{display:inline-block;background:#111;color:#f5d10a;font-size:25px;font-weight:900;padding:9px 14px;width:max-content}
.fb347PdfTitle{text-align:center;font-size:26px;font-weight:800;padding-top:8px}
.fb347PdfMeta{font-size:13px;text-align:right;padding-top:8px}
.fb347PdfName{grid-column:2/4;border-bottom:1px solid #444;padding-bottom:6px;font-size:15px}.fb347PdfName b{margin-left:14px}
.fb347TableWrap{overflow:visible}
.fb347HoursTable{width:100%;border-collapse:collapse;table-layout:fixed;font-size:10px}
.fb347HoursTable th,.fb347HoursTable td{border:1px solid #777;text-align:center;height:31px;padding:1px}
.fb347HoursTable th:first-child,.fb347HoursTable td:first-child{width:235px;text-align:left;padding-left:7px;font-size:10px}
.fb347HourInput{width:100%!important;min-width:0!important;height:26px!important;margin:0!important;padding:1px!important;border:1px solid #e2b600!important;border-radius:3px!important;text-align:center!important;font-size:10px!important;background:#fffbe8!important}
.fb347PdfFooter{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-top:20px;font-size:11px}
.fb347SignLine{display:inline-block;width:230px;border-bottom:1px solid #333;height:18px;vertical-align:bottom}
.fb347SignatureBlock{width:360px;position:relative}.fb347SignatureBlock label{display:block;font-weight:700;margin-bottom:4px}.fb347SignatureBlock canvas{width:100%;height:92px;border:1px dashed #777;background:#fff;touch-action:none}.fb347ClearSig{position:absolute;right:4px;bottom:4px;font-size:9px!important;padding:3px 6px!important;min-height:0!important}

.fb347HaSitesCard>#fb347HaOverview{order:0}
.fb347HaSitesCard{display:flex!important;flex-direction:column!important;gap:10px}
.fb347HaTools{order:1;border-top:1px solid #e7e7e7;padding-top:8px}.fb347HaTools>summary{cursor:pointer;font-weight:800;padding:8px 2px}.fb347HaToolsBody{padding-top:8px}
#fb347HaOverview .fbBaufSummary{margin:10px 0}

@media(max-width:700px){
 body.fbRoleBaufuehrer .fbBaufMonthlyControls{grid-template-columns:minmax(0,1fr) 165px!important}
 body.fbRoleBaufuehrer .fbBaufMonthlyControls>button{grid-column:1/-1;width:max-content}
 body.fbRoleBaufuehrer .fbBaufMonthlyControls>div:nth-child(2){width:165px!important}
 body.fbRoleBaufuehrer #fbBaufMonth{min-width:155px!important}
 body.fbRoleBaufuehrer .fbBaufDocFilters{grid-template-columns:minmax(0,1fr) 165px!important}
 body.fbRoleBaufuehrer #fbBaufDocMonth{width:165px!important;min-width:155px!important}
 body.fbRoleBaufuehrer .fbBaufDocFilters .fb347ShowAll{grid-column:1/-1;width:max-content}
 .fb347PdfShell{width:98vw}.fb347PdfSheet{transform-origin:top left}
}


/* FB 3.4.10 — definitive Bauführer UI fixes. These selectors do not depend on a body role class. */
#fbBaufMonthly .fbBaufMonthlyControls{
  display:grid!important;
  grid-template-columns:minmax(300px,40%) minmax(250px,26%) 110px!important;
  justify-content:start!important;
  align-items:end!important;
  gap:10px!important;
}
#fbBaufMonthly #fbBaufWorkerSearch{width:100%!important;max-width:none!important;min-width:0!important}
#fbBaufMonthly #fbBaufMonth{width:100%!important;min-width:230px!important;max-width:none!important}
#fbBaufMonthly .fbBaufMonthlyControls>button{width:110px!important;min-width:110px!important;grid-column:auto!important}

#fbBaufDocuments .fbBaufDocFilters{
  display:grid!important;
  grid-template-columns:minmax(300px,42%) 220px auto!important;
  justify-content:start!important;
  align-items:end!important;
  gap:10px!important;
}
#fbBaufDocuments #fbBaufDocSearch{width:100%!important;max-width:none!important;min-width:0!important}
#fbBaufDocuments #fbBaufDocMonth{width:220px!important;min-width:220px!important;max-width:220px!important}
#fbBaufDocuments .fbBaufDocRow{font-size:10px!important;padding:4px 2px!important;min-height:29px!important}
#fbBaufDocuments .fbBaufDocRow b{font-size:10px!important;line-height:1.12!important;font-weight:750!important}
#fbBaufDocuments .fbBaufDocRow .small{font-size:8px!important;line-height:1.08!important}
#fbBaufDocuments .fbBaufPdfBtn{font-size:8.5px!important;min-height:22px!important;padding:2px 7px!important;border-radius:6px!important}
#fbBaufDocuments .fbBaufIconBtn{width:22px!important;min-width:22px!important;height:22px!important;min-height:22px!important;padding:0!important;font-size:9px!important;border-radius:6px!important}
#fbBaufDocuments .fbBaufList .item{margin:0!important}

@media(max-width:760px){
  #fbBaufMonthly .fbBaufMonthlyControls{grid-template-columns:minmax(0,1fr) 160px!important}
  #fbBaufMonthly .fbBaufMonthlyControls>button{grid-column:1/-1!important;width:max-content!important;min-width:100px!important}
  #fbBaufMonthly #fbBaufMonth{min-width:150px!important}
  #fbBaufDocuments .fbBaufDocFilters{grid-template-columns:minmax(0,1fr) 160px!important}
  #fbBaufDocuments #fbBaufDocMonth{width:160px!important;min-width:160px!important;max-width:160px!important}
  #fbBaufDocuments .fb347ShowAll{grid-column:1/-1!important;width:max-content!important}
}


/* FB 4.0.5 — mobile usability fixes only. */
.fb347PdfShell{overflow:visible!important}
.fb347PdfViewport{max-width:100%;max-height:calc(100vh - 92px);overflow:auto!important;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y pinch-zoom;background:#e9ecef;padding:8px}
.fb347PdfSheet{transform:none;transform-origin:top left!important}
.fb347DayInputs{display:flex;flex-direction:column;gap:2px}

@media(max-width:760px){
  body.fbRoleBaufuehrer #nav.fb260Nav{
    display:flex!important;
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch;
    gap:4px!important;
    justify-content:flex-start!important;
    scrollbar-width:none;
  }
  body.fbRoleBaufuehrer #nav.fb260Nav::-webkit-scrollbar{display:none}
  body.fbRoleBaufuehrer #nav.fb260Nav>button{
    flex:0 0 auto!important;
    width:auto!important;
    min-width:max-content!important;
    max-width:none!important;
    white-space:nowrap!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
  body.fbRoleBaufuehrer #nav.fb260Nav>button span:not(.fb260Icon):not(.navBadge){white-space:nowrap!important}
  .fb347PdfModal{padding:6px!important;overflow:hidden!important}
  .fb347PdfShell{width:100%!important;max-height:100vh!important;border-radius:10px!important}
  .fb347PdfToolbar{gap:6px!important;flex-wrap:wrap!important}
  .fb347PdfToolbar>b{flex:1 1 180px;min-width:0}
  .fb347PdfViewport{height:calc(100vh - 110px)!important;max-height:none!important}
}


/* FB 4.0.7 — mobile Baustelle form width fix only. */
#fbBaufSites .fbBaufCreateGrid label{
  display:block!important;
  line-height:1.12!important;
  overflow-wrap:anywhere!important;
}
@media(max-width:760px){
  #fbBaufSites .fbBaufCreateGrid{
    grid-template-columns:minmax(0,1fr) 118px!important;
    align-items:end!important;
    gap:10px!important;
  }
  #fbBaufSites .fbBaufCreateGrid>div:nth-child(1){grid-column:1/2!important}
  #fbBaufSites .fbBaufCreateGrid>div:nth-child(2){grid-column:2/3!important}
  #fbBaufSites .fbBaufCreateGrid>div:nth-child(3){grid-column:1/-1!important}
  #fbBaufSites #fbBaufSiteName{width:100%!important}
  #fbBaufSites #fbBaufSiteNumber{width:100%!important;min-width:0!important}
}


/* FB 4.0.8 — PDF-only branding + native-feeling pinch editor + mobile field containment. */
/* PDF branding only. App/header branding remains untouched. */
.fb347Logo{
  background:#f6be00!important;
  color:inherit!important;
  padding:7px!important;
  border-radius:3px!important;
  font-size:0!important;
}
.fb408PdfLogoInner{
  display:block;
  background:#111;
  color:#fff;
  font:900 22px/1 Arial,sans-serif;
  letter-spacing:.4px;
  padding:8px 12px;
  white-space:nowrap;
}
.fb408PdfStage{position:relative;width:1400px;min-height:850px;margin:0 auto}
.fb347PdfSheet{margin:0!important;transform-origin:0 0!important}
.fb347PdfViewport{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}

@media(max-width:760px){
  /* Monatsstundenliste: both controls stay fully inside the card. */
  #fbBaufMonthly .fbBaufMonthlyControls{
    width:100%!important;
    grid-template-columns:minmax(0,1fr) minmax(0,44%)!important;
    gap:10px!important;
  }
  #fbBaufMonthly .fbBaufMonthlyControls>div{
    width:auto!important;
    min-width:0!important;
    max-width:100%!important;
  }
  #fbBaufMonthly #fbBaufWorkerSearch,
  #fbBaufMonthly #fbBaufMonth{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }
  #fbBaufMonthly .fbBaufMonthlyControls>button{
    grid-column:1/-1!important;
    width:max-content!important;
  }

  /* Baustelle erstellen: name wide, number narrow, both labels contained. */
  #fbBaufSites .fbBaufCreateGrid{
    grid-template-columns:minmax(0,1fr) 145px!important;
    gap:10px!important;
  }
  #fbBaufSites .fbBaufCreateGrid>div:nth-child(1){grid-column:1/2!important;min-width:0!important}
  #fbBaufSites .fbBaufCreateGrid>div:nth-child(2){grid-column:2/3!important;min-width:0!important}
  #fbBaufSites .fbBaufCreateGrid>div:nth-child(3){grid-column:1/-1!important}
  #fbBaufSites .fbBaufCreateGrid label{white-space:nowrap!important;overflow:visible!important;word-break:normal!important}
  #fbBaufSites #fbBaufSiteName,
  #fbBaufSites #fbBaufSiteNumber{width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important}
}

/* FB 4.0.9 — mobile month containment, PDF logo/weekend shading and touch pinch. */
.fb347Logo{
  background:transparent!important;
  padding:0!important;
  border-radius:0!important;
  font-size:initial!important;
}
.fb409PdfLogoImage{
  display:block;
  width:220px;
  height:auto;
  max-width:100%;
  object-fit:contain;
}
.fb347HoursTable th.fb409Saturday,
.fb347HoursTable td.fb409Saturday{background:#fff3bf!important}
.fb347HoursTable th.fb409SunHoliday,
.fb347HoursTable td.fb409SunHoliday{background:#f6d365!important}
.fb347HoursTable td.fb409Saturday .fb347HourInput{background:#fff3bf!important}
.fb347HoursTable td.fb409SunHoliday .fb347HourInput{background:#f6d365!important}
.fb347PdfViewport{
  touch-action:none!important;
  -ms-touch-action:none!important;
}
.fb408PdfStage{touch-action:none!important}

@media(max-width:760px){
  #fbBaufMonthly .fbBaufMonthlyControls{
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    max-width:100%!important;
    gap:10px!important;
  }
  #fbBaufMonthly .fbBaufMonthlyControls>div,
  #fbBaufMonthly .fbBaufMonthlyControls>div:nth-child(2){
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }
  #fbBaufMonthly #fbBaufWorkerSearch,
  #fbBaufMonthly #fbBaufMonth{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }
  #fbBaufMonthly .fbBaufMonthlyControls>button{
    grid-column:1!important;
    width:max-content!important;
  }
  #fbBaufSites .fbBaufCreateGrid{
    grid-template-columns:minmax(0,1fr) 132px!important;
  }
  #fbBaufSites .fbBaufCreateGrid>div:nth-child(2) label{
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    line-height:1.05!important;
  }
}


/* FB 4.1.0 — scoped fixes from stable 4.0.9. */
/* Hauptadmin: the Baustellen card must obey the active HA area. */
.fb347HaSitesCard.ha251Area:not(.active){display:none!important}
.fb347HaSitesCard.ha251Area.active{display:flex!important}

/* Bauführer Monatsstundenliste mobile: Mitarbeiter + Monat stay side-by-side and inside the card. */
@media(max-width:760px){
  #fbBaufMonthly .fbBaufMonthlyControls{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 142px!important;
    width:100%!important;
    max-width:100%!important;
    gap:8px!important;
    align-items:end!important;
  }
  #fbBaufMonthly .fbBaufMonthlyControls>div,
  #fbBaufMonthly .fbBaufMonthlyControls>div:nth-child(2){
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    overflow:visible!important;
  }
  #fbBaufMonthly #fbBaufWorkerSearch,
  #fbBaufMonthly #fbBaufMonth{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    margin:0!important;
  }
  #fbBaufMonthly .fbBaufMonthlyControls>button{
    grid-column:1/-1!important;
    width:max-content!important;
  }
}

/* Absence rows in the editable Monatsstundenliste. */
.fb347AbsenceRow td:first-child{font-weight:700!important}
.fb347AbsenceMark{font-weight:800;font-size:11px;line-height:1}


/* FB 4.1.1 — compact Bauführer mobile controls + exact Hauptadmin PDF viewer. */
@media(max-width:760px){
  #fbBaufMonthly .fbBaufMonthlyControls{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:10px!important;
  }
  #fbBaufMonthly .fbBaufMonthlyControls>div:first-child{width:min(350px,100%)!important;max-width:100%!important}
  #fbBaufMonthly .fbBaufMonthlyControls>div:nth-child(2){width:min(230px,100%)!important;max-width:100%!important}
  #fbBaufMonthly #fbBaufWorkerSearch,#fbBaufMonthly #fbBaufMonth{width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important}
  #fbBaufMonthly .fbBaufMonthlyControls>button{width:auto!important;min-width:0!important;grid-column:auto!important}
}
.fb411HaPdfModal{position:fixed;inset:0;z-index:13000;background:#0009;padding:10px}
.fb411HaPdfModal.hidden{display:none!important}
.fb411HaPdfShell{height:100%;background:#eef1f4;border-radius:14px;overflow:hidden;display:flex;flex-direction:column}
.fb411HaPdfToolbar{display:flex;align-items:center;gap:10px;justify-content:space-between;background:#fff;padding:10px 12px;border-bottom:1px solid #d8dde3;flex-wrap:wrap}
.fb411HaPdfToolbarActions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.fb411HaPdfFrame{border:0;width:100%;flex:1 1 auto;min-height:0;background:#fff;touch-action:auto}
.fb411EditPanel{background:#fff;border-bottom:1px solid #d8dde3;padding:10px;max-height:42vh;overflow:auto}
.fb411EditPanel.hidden{display:none!important}
.fb411EditGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:8px}
.fb411EditRow{display:grid;grid-template-columns:minmax(0,1fr) 90px;gap:10px;align-items:center;border:1px solid #e2e6e2;border-radius:10px;padding:8px;background:#fafbfa}
.fb411EditRow span{min-width:0}.fb411EditRow small{display:block;color:#667085;margin-top:2px;overflow-wrap:anywhere}.fb411EditRow input{margin:0!important;text-align:right}
@media(max-width:760px){
  .fb411HaPdfModal{padding:0}
  .fb411HaPdfShell{border-radius:0}
  .fb411HaPdfToolbar{align-items:flex-start}
  .fb411HaPdfToolbar>b{flex:1 1 180px}
  .fb411HaPdfToolbarActions{width:100%}
  .fb411HaPdfToolbarActions button{font-size:12px!important;padding:7px 9px!important}
  .fb411EditGrid{grid-template-columns:1fr}
}

/* FB 4.1.2 — direct editable Hauptadmin-style Monatsstundenliste for Bauführer only. */
.fb412DirectModal{position:fixed;inset:0;z-index:14000;background:#0009;padding:10px}
.fb412DirectModal.hidden{display:none!important}
.fb412DirectShell{height:100%;display:flex;flex-direction:column;background:#eef1f4;border-radius:14px;overflow:hidden}
.fb412DirectToolbar{flex:0 0 auto;display:flex;align-items:center;gap:10px;justify-content:space-between;flex-wrap:wrap;background:#fff;border-bottom:1px solid #d8dde3;padding:10px 12px}
.fb412DirectToolbar>b{font-size:18px}
.fb412DirectActions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.fb412DirectViewport{position:relative;flex:1 1 auto;min-height:0;overflow:hidden;background:#dfe3e7;touch-action:none}
.fb412DirectStage{position:relative;margin:0;transform-origin:0 0}
.fb412DirectSheet{position:absolute;left:0;top:0;width:1120px;min-height:794px;background:#fff;color:#111;font-family:Arial,sans-serif;padding:30px 34px 28px;box-shadow:0 2px 16px #0002;transform-origin:0 0}
.fb412DirectHead{display:grid;grid-template-columns:300px 1fr 250px;align-items:start;gap:18px;margin-bottom:18px}
.fb412DirectLogo{width:245px;height:90px;object-fit:contain;object-position:left center}
.fb412DirectTitle{text-align:center;font-size:27px;font-weight:800;padding-top:16px;white-space:nowrap}
.fb412DirectMeta{text-align:right;font-size:15px;line-height:1.45;padding-top:10px}
.fb412DirectName{grid-column:2/4;border-bottom:1px solid #444;padding:2px 0 8px;font-size:16px}.fb412DirectName b{margin-left:14px;font-size:18px}
.fb412DirectTable{width:100%;border-collapse:collapse;table-layout:fixed;font-size:11px}
.fb412DirectTable th,.fb412DirectTable td{border:1px solid #777;text-align:center;height:38px;padding:2px}
.fb412DirectTable th:first-child,.fb412DirectTable td:first-child{width:320px;text-align:left;padding-left:8px;font-size:11px}
.fb412DirectTable thead th{font-weight:900}
.fb412DirectTable .sat{background:#fff3bf}.fb412DirectTable .sun,.fb412DirectTable .holiday{background:#f6d365}
.fb412DirectTable .totalRow td{font-weight:900;background:#f5f5f5}.fb412DirectTable .totalRow td.sat{background:#fff3bf}.fb412DirectTable .totalRow td.sun,.fb412DirectTable .totalRow td.holiday{background:#f6d365}
.fb412DirectHour{width:100%!important;min-width:0!important;height:30px!important;margin:0!important;padding:0 2px!important;border:1px solid #e2b600!important;border-radius:4px!important;background:#fffbe8!important;text-align:center!important;font-size:11px!important;font-weight:800!important;color:#111!important}
.fb412DirectFooter{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-top:42px;font-size:13px}
.fb412DirectLine{display:inline-block;width:240px;border-bottom:1px solid #333;height:20px;vertical-align:bottom}
.fb412DirectSignature{width:310px;min-height:92px;text-align:left}
.fb412DirectSignature b{display:block;margin-bottom:4px}.fb412DirectSignatureImg{display:block;max-width:250px;max-height:70px;object-fit:contain;object-position:left bottom;margin-bottom:3px}
.fb412DirectSigLine{display:block;width:280px;border-bottom:1px solid #333;height:12px}
.fb412DirectHint{font-size:11px;color:#667085;margin-top:4px}
@media(max-width:760px){
 .fb412DirectModal{padding:0}.fb412DirectShell{border-radius:0}.fb412DirectToolbar{align-items:flex-start}.fb412DirectToolbar>b{flex:1 1 220px}.fb412DirectActions{width:100%}.fb412DirectActions button,.fb412DirectToolbar>button{font-size:12px!important;padding:7px 9px!important}
}
