/* DORFER V14.49.22 – Büro-Ablauf Montage (Runde 1): Heute zu tun, Montage-Steuerung, Akte „Vor der Montage“,
   Vorschläge im Termin-Dialog, Beanstandungen. iPad: Knöpfe mindestens 44 px, kein abgeschnittener Text, keine waagrechte Leiste. */
.b22{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;min-width:0}
.b22 .card{margin:0;min-width:0}
.b22-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin-bottom:10px;min-width:0}
.b22-head h2,.b22-head h3,.b22-head h4{margin:0;font-size:20px}
.b22-head h3{font-size:18px}.b22-head h4{font-size:16px;display:flex;align-items:center;gap:8px}
.b22-head small{color:var(--muted)}
.b22-gap{flex:1 1 10px}
.b22-kicker{display:block;font-size:12px;letter-spacing:.1em;font-weight:800;color:#7a4700}
.b22-ident{all:unset;box-sizing:border-box;cursor:pointer;font-weight:750;color:var(--ink);overflow-wrap:anywhere;min-height:32px;display:inline-flex;align-items:center}
.b22-ident:hover,.b22-ident:focus-visible{color:var(--red);text-decoration:underline}
.b22-ident.is-plain{cursor:default}.b22-ident.is-plain:hover{color:var(--ink);text-decoration:none}
.b22 .btn{min-height:44px}
.b22 .btn svg,.b22-suggest svg{width:18px;height:18px;vertical-align:-3px}

/* ---- Heute zu tun ---- */
.b22-topbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}
.b22-hints{display:flex;flex-wrap:wrap;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:6px 10px}
.b22-hints>svg{width:20px;height:20px;color:#2c4a66}
.b22-hints button{min-height:44px;border:2px solid var(--line);background:#faf9f7;border-radius:12px;padding:0 14px;font:inherit;font-weight:650;display:inline-flex;align-items:center;gap:8px;color:var(--ink);cursor:pointer}
.b22-hints b{background:#2c4a66;color:#fff;border-radius:99px;padding:0 8px;font-size:13px}
.b22-actions{display:flex;flex-wrap:wrap;gap:8px}
.b22-cols{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start}
.b22-todo{flex:999 1 520px;min-width:0}
.b22-side{flex:1 1 300px;max-width:440px;display:grid;gap:16px;min-width:0}
.b22-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;background:#f4f3f1;border-radius:14px;padding:5px;margin-bottom:12px}
.b22-tabs button{min-height:58px;border:0;border-radius:10px;background:transparent;font:inherit;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--ink);padding:4px 2px;min-width:0}
.b22-tabs button strong{font-size:15px;white-space:nowrap}
.b22-tabs button[aria-selected=true]{background:#fff;color:#7d1f29;box-shadow:0 1px 3px #0002}
.b22-tabs small{font-size:12px;font-weight:700;color:var(--muted);text-align:center;line-height:1.15}
.b22-tabs small.is-on{color:#7d1f29}
.b22-preview{margin:0 0 12px;background:#eaf0f6;color:#1f3a52;border-radius:10px;padding:8px 12px;font-weight:600;font-size:14px}
.b22-first{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;border:2px solid #d9a24a;background:#fffaf1;border-radius:16px;padding:14px 16px;margin-bottom:12px}
.b22-first>div{flex:1 1 260px;min-width:0;display:flex;flex-direction:column;gap:3px}
.b22-first small{font-size:12px;letter-spacing:.1em;font-weight:800;color:#7a4700}
.b22-first .b22-ident{font-size:18px}
.b22-first span{font-weight:650;color:#7a4700}
.b22-first .btn{flex:0 1 250px;min-height:52px;white-space:normal}
.b22-first.is-bad{border-color:var(--red);background:#fdf3f4}.b22-first.is-bad small,.b22-first.is-bad span{color:#a82b37}
.b22-first.is-ok{border-color:#9ccbb2;background:#e6f2ec}.b22-first.is-ok strong,.b22-first.is-ok span{color:#0f5a38}
.b22-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.b22-tile{text-align:left;min-height:82px;border:2px solid var(--line);background:#fff;border-radius:14px;padding:10px 14px;font:inherit;cursor:pointer;display:flex;flex-direction:column;gap:2px;color:var(--ink);min-width:0}
.b22-tile span{display:flex;align-items:baseline;gap:8px;font-weight:700}
.b22-tile b{font-size:26px;line-height:1}
.b22-tile small{color:var(--muted)}
.b22-tile.is-bad{border-color:#e8b4ba;background:#fdf6f7}.b22-tile.is-bad b{color:var(--red)}
.b22-tile.is-open{border-color:var(--ink);background:#faf9f7}
.b22-list{margin-top:14px;display:grid;gap:6px}
.b22-list .b22-head{margin-bottom:4px}
.b22-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:#fff;min-width:0}
.b22-row .b22-state{flex:1 1 220px;min-width:0;font-size:14px;color:#7a4700}
.b22-row .btn{font-size:14px;white-space:normal}
.b22-row .b22-pt{width:12px;height:12px;border-radius:50%;background:#d9a24a;flex:none}
.b22-row.is-bad{border-color:#e8b4ba;background:#fdf3f4}.b22-row.is-bad .b22-pt{background:var(--red)}.b22-row.is-bad .b22-state{color:var(--red)}
.b22-row.is-ok,.b22-row.is-ready{border-color:#b9dcc8;background:#f3faf6}
.b22-row.is-ok .b22-pt,.b22-row.is-ready .b22-pt{background:var(--good)}.b22-row.is-ok .b22-state,.b22-row.is-ready .b22-state{color:#0f5a38}
.b22-row.is-held,.b22-row.is-wait{background:#faf9f7}.b22-row.is-held .b22-pt,.b22-row.is-wait .b22-pt{background:#9a948f}.b22-row.is-held .b22-state,.b22-row.is-wait .b22-state{color:#4f4b47}
.b22-plan .b22-plan-item{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;gap:3px;width:100%;padding:10px 12px;border:1px solid var(--line);border-left:6px solid #7B6570;border-radius:12px;margin-bottom:8px;background:#fff}
.b22-plan .b22-plan-item:focus-visible{outline:2px solid var(--red)}
.b22-plan .b22-plan-item small{color:#4f4b47}
.b22-plan .b22-art{font-size:13px;font-weight:700}
.b22-team{display:flex;flex-wrap:wrap;gap:4px}
.b22-chip{font-size:12px;font-weight:700;border-radius:99px;padding:1px 8px}
.b22-team em{font-size:12px;color:#7a4700;font-style:normal;background:#fbf0dc;border-radius:99px;padding:1px 8px}
.b22-free{display:block;color:#4f4b47;margin:4px 0 10px}
.b22-plan>.btn{width:100%}
.b22-more{display:flex;flex-direction:column}
.b22-more h2{font-size:18px;margin:0 0 6px}
.b22-more button{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:10px;min-height:50px;padding:4px 4px;border-top:1px solid #f0eeeb}
.b22-more button:focus-visible{outline:2px solid var(--red)}
.b22-more button>span:first-child{flex:1;display:flex;flex-direction:column;min-width:0}
.b22-more button small{color:var(--muted);font-size:12px}
.b22-more b{min-width:28px;text-align:center;font-size:13px;border-radius:99px;padding:2px 8px;background:#f0eeeb;color:#4f4b47}
.b22-more b.is-on{background:#fbf0dc;color:#7a4700}
.b22-legacy{border:1px solid var(--line);border-radius:14px;background:#fff;padding:0 14px;min-width:0}
.b22-legacy>summary{min-height:48px;display:flex;align-items:center;cursor:pointer;font-weight:650;color:#4f4b47}
.b22-legacy[open]{padding-bottom:14px}

/* ---- Montage-Steuerung ---- */
.b22-cap .b22-nav{display:flex;gap:8px;flex-wrap:wrap}
.b22-cap .b22-nav .btn{min-width:52px;width:auto}
.b22-weeks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.b22-week{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;gap:6px;border:1.5px solid var(--line);border-radius:14px;padding:12px 14px;background:#fff;min-width:0}
.b22-week:focus-visible{outline:2px solid var(--red)}
.b22-week-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 8px;align-items:baseline}
.b22-week-head small{color:var(--muted);font-size:13px}
.b22-week.is-full{border-color:var(--red);background:#fbf4f5}
.b22-big{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 6px;color:#4f4b47}
.b22-big b{font-size:30px;line-height:1;color:var(--ink)}
.b22-week.is-full .b22-big b{color:#5c171f}
.b22-vorm{font-size:13px;font-weight:700;color:#7d1f29;font-style:normal}
.b22-slots{display:flex;gap:4px}
.b22-slots i{flex:1;height:12px;border-radius:4px;background:#e8e5e1;box-sizing:border-box}
.b22-slots i.is-used{background:var(--red)}.b22-week.is-full .b22-slots i.is-used{background:#5c171f}
.b22-slots i.is-vorm{background:#f7e9eb;border:1.5px dashed var(--red)}
/* V14.49.28: Platz fällt weg (Urlaub, Krankheit, Feiertag, andere Einsätze) – grau schraffiert */
.b22-slots i.is-off{background:repeating-linear-gradient(135deg,#e8e5e1 0 4px,#c9c3bc 4px 6px)}
.b22-wline{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center}
.b22-wline small{color:#4f4b47;font-size:13px}
.b22-week>small{font-size:13px;color:var(--muted)}.b22-week>small.b22-away{color:#7a4700}
.b22-link{font-size:14px;font-weight:650;color:var(--red)}
.b22-pill{align-self:flex-start;font-size:13px;font-weight:800;border-radius:99px;padding:2px 10px;background:#e6f2ec;color:#0f5a38}
.b22-pill.is-warn{background:#fbf0dc;color:#7a4700}.b22-pill.is-bad{background:#5c171f;color:#fff}
.b22-strip{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:4px;margin:12px 0 6px;padding:6px;background:#f4f3f1;border-radius:12px}
.b22-strip button{border:2px solid transparent;background:transparent;border-radius:9px;padding:6px 2px 4px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;min-height:62px;font:inherit;cursor:pointer;min-width:0}
.b22-strip button.is-in{border-color:var(--red);background:#fff}
.b22-strip small{font-size:11px;font-weight:700;color:#4f4b47;white-space:nowrap}
.b22-strip button.is-now small{color:var(--red)}
.b22-strip span{display:flex;flex-direction:column-reverse;gap:2px;width:56%;max-width:30px;height:30px}
.b22-strip i{flex:1;border-radius:2px;background:#dedad5}.b22-strip i.is-used{background:var(--red)}.b22-strip i.is-vorm{background:#e8c3c9}
.b22-strip i.is-off{background:repeating-linear-gradient(135deg,#dedad5 0 3px,#b9b2aa 3px 5px)}
.b22-filter-head{margin:4px 0 -6px}
.b22-filters{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.b22-filters button{text-align:left;min-height:96px;border:1.5px solid var(--line);background:#fff;border-radius:14px;padding:10px 12px;font:inherit;cursor:pointer;display:flex;flex-direction:column;gap:2px;color:var(--ink);min-width:0}
.b22-filters button b{font-size:28px;line-height:1.1}
.b22-filters button span{font-weight:650;font-size:14px;line-height:1.25}
.b22-filters button small{color:var(--muted);font-size:12px;line-height:1.25}
.b22-filters button.is-on{border-color:var(--red);background:#f7e9eb}.b22-filters button.is-on b{color:#7d1f29}
.b22-filters button.is-ready b{color:var(--good)}
.b22-steu{padding:0;overflow:hidden}
.b22-steu>.b22-head{padding:16px 18px 6px}
.b22-gbtns{display:flex;flex-wrap:wrap;gap:8px}
.b22-legend{display:flex;flex-wrap:wrap;gap:8px 14px;padding:0 18px 10px;font-size:13px;color:var(--muted)}
.b22-legend span{display:inline-flex;align-items:center;gap:6px;border-radius:8px;padding:3px 9px;font-weight:600}
.b22-legend .is-ok{background:#e6f2ec;color:#0f5a38;border:1px solid #9ccbb2}.b22-legend .is-open{background:#fbf0dc;color:#7a4700;border:1px solid #d9a24a}.b22-legend .is-none{background:#fff;border:1px dashed #b9b4ae}
.b22-cols-head{display:grid;grid-template-columns:130px minmax(0,1fr) minmax(0,150px) minmax(0,310px) 180px;gap:6px 16px;padding:10px 18px;background:#faf9f7;border-top:1px solid #eeece9;font-size:12px;letter-spacing:.06em;color:var(--muted);font-weight:600}
.b22-ghead{all:unset;box-sizing:border-box;cursor:pointer;width:100%;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;min-height:58px;padding:10px 18px;border-top:1px solid var(--line);background:#fff}
.b22-ghead:focus-visible{outline:2px solid var(--red);outline-offset:-2px}
.b22-ghead[aria-expanded=false]{background:#faf9f7}
.b22-ghead small{color:var(--muted)}
.b22-chev{display:inline-grid;place-items:center;width:32px;height:32px;border:1.5px solid #d6d3cf;border-radius:9px;background:#fff;transition:transform .15s;flex:none}
.b22-chev svg{width:18px;height:18px}.b22-chev.is-closed{transform:rotate(-90deg)}
.b22-abruf .b22-ghead{background:#f4f3f1;border-top-width:2px}
.b22-abruf .small-note{padding:8px 18px 4px;margin:0;font-size:14px;color:#4f4b47;background:#faf9f7}
.b22-abruf .b22-srow{background:#faf9f7}
/* Zeile als Raster: passt sich der verfügbaren Breite an (Container-Abfrage; ältere Browser: Bildschirmbreite unten) */
.b22-steu{container-type:inline-size}
.b22-srow{display:grid;grid-template-columns:130px minmax(0,1fr) minmax(0,150px) minmax(0,310px) 180px;grid-template-areas:"when who team steps next";align-items:center;gap:10px 16px;padding:14px 18px;border-top:1px solid #f0eeeb;min-width:0}
.b22-when{grid-area:when;display:flex;flex-direction:column;min-width:0}.b22-when small{color:var(--muted);font-size:13px}
.b22-who{grid-area:who;min-width:0;display:flex;flex-direction:column;gap:2px}.b22-who small{color:var(--muted);font-size:13px}
.b22-who .b22-ident{font-size:16px}
.b22-src{align-self:flex-start;background:#eaf0f6;color:#34495e!important;border-radius:6px;padding:1px 8px;font-size:12px!important}
.b22-hint{align-self:flex-start;background:#fdf3f4;color:#a82b37!important;border-radius:6px;padding:1px 8px;font-size:12px!important;font-weight:700}
.b22-team2{grid-area:team;display:flex;flex-wrap:wrap;gap:6px;min-width:0}.b22-team2 span{font-size:13px;background:#f4f3f1;border-radius:8px;padding:3px 9px}.b22-team2 em{font-size:13px;color:#7a4700;background:#fbf0dc;border-radius:8px;padding:3px 9px;font-style:normal}
.b22-steps{grid-area:steps;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;min-width:0}
.b22-steps li{display:flex;align-items:center;gap:7px;min-height:36px;padding:4px 9px;border-radius:9px;font-size:13px;font-weight:600;line-height:1.2;border:1px dashed #b9b4ae;color:var(--muted);min-width:0}
.b22-steps li.is-ok{background:#e6f2ec;color:#0f5a38;border:1px solid #9ccbb2}.b22-steps li.is-open{background:#fbf0dc;color:#7a4700;border:1px solid #d9a24a}.b22-steps li.is-wait{background:#faf9f7}
.b22-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.b22-dot{width:18px;height:18px;flex:none;border-radius:50%;display:inline-grid;place-items:center;font-size:11px;font-weight:800;border:1.5px dashed #a8a39d;box-sizing:border-box}
.b22-dot.is-ok{background:var(--good);color:#fff;border:0}.b22-dot.is-open{background:#fff;color:#7a4700;border:1.5px solid #d9a24a}
.b22-srow>.btn,.b22-noright{grid-area:next;min-width:0}
.b22-srow>.btn{font-size:14px;white-space:normal;width:100%}
.b22-srow>.btn.b22-ready{background:#e6f2ec;color:#0f5a38;border-color:#9ccbb2}
.b22-noright{font-size:13px;color:var(--muted)}
.b22-steu>.empty{margin:12px 18px 18px}
@container (max-width:1000px){
 .b22-cols-head{display:none}
 .b22-srow{grid-template-columns:120px minmax(0,1fr) minmax(0,280px) 170px;grid-template-areas:"when who steps next" "when team steps next"}
}
@container (max-width:840px){
 .b22-srow{grid-template-columns:120px minmax(0,1fr) 180px;grid-template-areas:"when who next" "when team next" "steps steps steps"}
 .b22-steps{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@container (max-width:560px){
 .b22-srow{grid-template-columns:minmax(0,1fr);grid-template-areas:"when" "who" "team" "steps" "next"}
 .b22-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* V14.49.23: Ältere iPads (iPadOS 15 und älter) kennen keine Container-Abfragen – dort dieselben Stufen nach Bildschirmbreite
   (gemessen: Inhaltsbreite 1000 px ≈ Bildschirm 1400 px, 840 px ≈ 1210 px, 560 px ≈ 580 px). */
@supports not (container-type:inline-size){
 @media(max-width:1400px){
  .b22-cols-head{display:none}
  .b22-srow{grid-template-columns:120px minmax(0,1fr) minmax(0,280px) 170px;grid-template-areas:"when who steps next" "when team steps next"}
 }
 @media(max-width:1210px){
  .b22-srow{grid-template-columns:120px minmax(0,1fr) 180px;grid-template-areas:"when who next" "when team next" "steps steps steps"}
  .b22-steps{grid-template-columns:repeat(4,minmax(0,1fr))}
 }
 @media(max-width:580px){
  .b22-srow{grid-template-columns:minmax(0,1fr);grid-template-areas:"when" "who" "team" "steps" "next"}
  .b22-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
 }
}

/* ---- Akte: Vor der Montage ---- */
.b22-akte{display:grid;gap:12px}
.b22-akte>.b22-head{margin:0}
.b22-akte>.b22-head small{display:block}
.b22-stages{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.b22-stages li{border-radius:12px;padding:10px 12px;background:#f4f3f1;display:flex;flex-direction:column;gap:2px;min-width:0}
.b22-stages li small{font-size:12px;color:var(--muted)}
.b22-stages li.is-now{background:var(--red);color:#fff}.b22-stages li.is-now small{color:#fff;opacity:.92}
.b22-stages li.is-done{background:#e6f2ec;color:#0f5a38}
.b22-next{display:flex;flex-wrap:wrap;gap:10px 12px;align-items:center;margin:0;padding:12px 14px;border-radius:14px;background:#fbf0dc;border:1px solid #e8c88f;color:#5c3a00}
.b22-next>span{width:34px;height:34px;border-radius:50%;background:#fff;display:inline-grid;place-items:center;flex:none}
.b22-next>strong{flex:1 1 220px}
.b22-next.is-ok{background:#e6f2ec;border-color:#9ccbb2;color:#0f5a38}
.b22-step{border:1px solid var(--line);border-radius:16px;padding:14px 16px;margin:0;display:grid;gap:10px;background:#fff;min-width:0}
.b22-step.is-todo{border:2px solid #d9a24a}
.b22-step h4{margin:0;font-size:17px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.b22-step h4 .pill{margin-left:auto;font-size:13px}
.b22-step p{margin:0}
.b22-step>.btn{justify-self:start;width:auto;white-space:normal}
.b22-step:focus{outline:2px solid var(--red);outline-offset:2px}
.b22-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.b22-facts>div{background:#faf9f7;border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:2px;min-width:0}
.b22-facts small,.b22-facts span{color:var(--muted);font-size:14px}
.b22-checks{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:14px}
.b22-ok{color:#0f5a38}.b22-warn{color:#7a4700;font-weight:650}
.b22-step fieldset{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center;min-width:0}
.b22-step legend{font-weight:700;margin-bottom:6px;width:100%;padding:0}
.b22-opt{flex:1 1 180px;display:flex;align-items:center;gap:10px;min-height:54px;padding:6px 14px;border:2px solid #d6d3cf;border-radius:14px;background:#fff;font-weight:650;cursor:pointer;box-sizing:border-box}
.b22-opt input{width:22px;height:22px;accent-color:var(--red);flex:none}
.b22-opt:has(input:checked){border-color:var(--red);background:#f7e9eb;color:#7d1f29}
.b22-opt input:checked+span{color:#7d1f29;font-weight:750} /* auch ohne :has() (iPadOS vor 15.4) sichtbar gewählt */
.b22-datebox{flex:1 1 100%;display:flex;flex-direction:column;gap:8px;background:#fbf4f5;border-radius:12px;padding:12px}
.b22-datebox[hidden]{display:none}
.b22-datebox label{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-weight:650}
.b22-datebox input[type=date]{min-height:52px;min-width:200px;border:2px solid #d6d3cf;border-radius:12px;padding:0 12px;font:inherit;font-size:17px;background:#fff;box-sizing:border-box}
.b22-datebox small{color:#4f4b47;font-size:14px}
.b22-quick{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.b22-quick>span{font-weight:650}
.b22-quick .btn{display:flex;flex-direction:column;align-items:flex-start;line-height:1.2;min-height:52px;width:auto}
.b22-quick .btn small{font-weight:500}
.b22-docs{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px}
.b22-docs span{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;border-radius:12px;padding:10px 12px;font-size:14px}
.b22-docs span small{flex:1 1 100%;font-size:13px}
.b22-docs .is-ok{background:#e6f2ec;color:#0f5a38}.b22-docs .is-miss{background:#fbf0dc;color:#7a4700;border:1px dashed #d9a24a}.b22-docs .is-na{background:#faf9f7;color:var(--muted)}
.b22-mail{border:1px solid var(--line);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}
.b22-mail.is-soft{background:#fbfaf9}
.b22-mail .btn{align-self:flex-start;white-space:normal}
.b22-chips{display:flex;flex-wrap:wrap;gap:6px}
.b22-chips span{font-size:13px;font-weight:600;border-radius:8px;padding:3px 10px}
.b22-chips .is-ok{background:#e6f2ec;color:#0f5a38}.b22-chips .is-miss{background:#fbf0dc;color:#7a4700}

/* ---- Termin & Team einteilen: Vorschläge im Termin-Dialog ---- */
.b22-suggest{border:1px solid var(--line);border-radius:16px;padding:14px;margin:0 0 14px;background:#faf9f7;display:grid;gap:10px}
.b22-suggest .b22-head{margin:0}
.b22-sugg-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}
.b22-sugg{text-align:left;border:2px solid #d6d3cf;background:#fff;border-radius:14px;padding:12px 14px;font:inherit;cursor:pointer;display:flex;flex-direction:column;gap:3px;min-height:96px;color:var(--ink)}
.b22-sugg strong{font-size:18px}
.b22-sugg small{color:#0f5a38;font-weight:650}
.b22-sugg[aria-pressed=true]{border-color:var(--red);background:var(--red);color:#fff}.b22-sugg[aria-pressed=true] small{color:#fff}

/* ---- Beanstandungen ---- */
.b22-icols{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start}
.b22-ilist{flex:1 1 320px;max-width:460px;display:flex;flex-direction:column;gap:10px;min-width:0}
.b22-iright{flex:999 1 480px;min-width:0;display:flex;flex-direction:column;gap:14px}
.b22-isearch{display:flex;align-items:center;gap:10px;background:#fff;border:2px solid #d6d3cf;border-radius:14px;padding:0 6px 0 14px;min-height:58px}
.b22-isearch.is-on{border-color:var(--red)}
.b22-isearch>svg{width:22px;height:22px;color:#66625f;flex:none}
.b22-isearch input{flex:1;min-width:0;height:52px;border:0;outline:none;background:transparent;font:inherit;font-size:17px;color:var(--ink)}
.b22-iclear{width:44px;height:44px;border:0;border-radius:10px;background:#f4f3f1;cursor:pointer;display:inline-grid;place-items:center;flex:none;color:var(--ink)}
.b22-iclear svg{width:18px;height:18px}
.b22-itabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;background:#e9e6e2;border-radius:14px;padding:4px}
.b22-itabs[hidden]{display:none}
.b22-itabs button{min-height:56px;border:0;border-radius:11px;background:transparent;font:inherit;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.15;color:var(--ink)}
.b22-itabs button strong{font-size:20px}.b22-itabs button span{font-size:13px;font-weight:650}
.b22-itabs button[aria-selected=true]{background:#fff;color:#7d1f29;box-shadow:0 1px 3px #0002}
.b22-ifound{margin:0;padding:0 4px;font-weight:600;color:#4f4b47;font-size:14px}
.b22-irows{display:flex;flex-direction:column;gap:8px}
.b22-irow{display:flex;flex-direction:column;gap:3px;text-align:left;padding:12px 14px;border-radius:12px;font:inherit;color:var(--ink);cursor:pointer;border:2px solid var(--line);border-left:6px solid var(--red);background:#fbfaf9;min-width:0}
.b22-irow.is-neu{border-left-color:#d9a24a}.b22-irow.is-arbeit{border-left-color:#2c4a66}.b22-irow.is-erledigt{border-left-color:var(--good)}
.b22-irow.is-sel{border-color:var(--ink);background:#fff}
.b22-irow-top{display:flex;gap:8px;align-items:baseline;justify-content:space-between}
.b22-irow-top strong{font-size:16px;overflow-wrap:anywhere}
.b22-irow-top small{flex:none;font-weight:650;color:var(--muted)}.b22-irow-top small.is-late{color:var(--red)}
.b22-irow-desc{font-size:13px;color:var(--muted);overflow-wrap:anywhere}
.b22-irow-next{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center;font-size:14px}
.b22-irow.is-neu .b22-irow-next b{color:#7a4700}.b22-irow.is-arbeit .b22-irow-next b{color:#1f3a52}.b22-irow.is-erledigt .b22-irow-next b{color:#0f5a38}
.b22-gpill{font-size:12px;font-weight:700;border-radius:999px;padding:2px 10px;align-self:flex-start}
.b22-gpill.is-neu{background:#fbf0dc;color:#7a4700}.b22-gpill.is-arbeit{background:#eaf0f6;color:#1f3a52}.b22-gpill.is-erledigt{background:#e6f2ec;color:#0f5a38}
.b22-idetail{display:grid;gap:12px}
.b22-idetail-head{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start;justify-content:space-between}
.b22-idetail-head>div:first-child{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1 1 280px}
.b22-idetail-head h2{margin:0;font-size:22px;line-height:1.2}
.b22-idetail-head .b22-ident{font-size:17px}
.b22-idetail-head small{color:var(--muted)}
.b22-iacts{display:flex;flex-wrap:wrap;gap:8px}
.b22-iacts .btn{white-space:normal}
.b22-inote{background:#faf9f7;border-radius:12px;padding:10px 14px}
.b22-inote small{font-weight:700;color:var(--muted)}
.b22-inote p{margin:2px 0 8px}
.b22-isteps{display:grid;gap:10px}
.b22-isteps h3{margin:0 0 4px;font-size:18px}
.b22-iload{margin:0}
.b22-istep{display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:6px 2px}
.b22-istep>div{flex:1 1 220px;display:flex;flex-direction:column;gap:2px;min-width:0}
.b22-istep small{color:#4f4b47;font-size:14px}
.b22-inum{width:34px;height:34px;border-radius:50%;display:inline-grid;place-items:center;font-weight:800;flex:none;box-sizing:border-box;border:2px dashed #c9c4bf;color:#8a847e}
.b22-istep.is-done .b22-inum{background:var(--good);color:#fff;border:0}.b22-istep.is-done strong{color:#0f5a38}
.b22-istep.is-locked{color:#8a847e}
.b22-istep.is-later{padding:8px 10px;border-radius:12px;background:#fffaf1;border:1px dashed #d9a24a}.b22-istep.is-later .b22-inum{background:#fbf0dc;border:1px solid #d9a24a;color:#7a4700}
.b22-istep.is-info .b22-inum{border-style:solid;border-color:#cfd9e3;color:#2c4a66}
.b22-istep.is-current{padding:14px;border-radius:14px;background:#fffaf1;border:2px solid #d9a24a;align-items:flex-start}
.b22-istep.is-current .b22-inum{background:var(--red);color:#fff;border:0}
.b22-istep.is-current strong{font-size:18px;line-height:1.2}
.b22-istep.is-current p{margin:4px 0 8px}

/* ---- iPad und schmale Bildschirme ---- */
@media(max-width:1100px){.b22-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.b22-side{max-width:none}}
@media(max-width:900px){.b22-weeks{grid-template-columns:repeat(2,minmax(0,1fr))}.b22-stages{grid-template-columns:repeat(2,minmax(0,1fr))}.b22-ilist{max-width:none}}
@media(max-width:600px){.b22-tabs{gap:3px;padding:3px}.b22-tabs button{min-height:54px}.b22-tabs button strong{font-size:13px}.b22-tabs small{font-size:11px}
 .b22-strip{grid-template-columns:repeat(6,minmax(0,1fr))}.b22-cols-head{display:none}.b22-srow{grid-template-columns:minmax(0,1fr);grid-template-areas:"when" "who" "team" "steps" "next"}.b22-first .btn{flex:1 1 100%}.b22-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
 .b22-weeks{grid-template-columns:minmax(0,1fr)}.b22-actions .btn{flex:1 1 auto}.b22-datebox input[type=date]{min-width:0;width:100%}}
/* V14.49.29 (Wunsch des Inhabers): Vormerkung/Kaufvertrag in der zweiten Woche der Doppel-KW „dringlich“, danach „überfällig“ */
.b22-urgent{display:inline-block;margin-top:4px;border-radius:6px;padding:2px 8px;font-size:12px;font-weight:700;line-height:1.4}
.b22-urgent.is-urgent{background:#a82b37;color:#fff}
.b22-urgent.is-late{background:#5c171f;color:#fff}
/* V14.49.29: Hinweis „Später … ohne Termin“ unter der Liste der Montage-Steuerung */
.b22-later{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:10px 18px;border-top:1px solid var(--line);background:#faf9f7;font-size:14px;color:#4f4b47}
.b22-later strong{color:#2b2725}
.b22-later .btn{min-height:44px;margin-left:auto}
