/* ═══════════════════════════════════════════════════════════════════════
   Auftragsverwaltung – Mobile Ansicht im Stil der Apple iOS Human Interface Guidelines
   Aktiv nur auf schmalen Bildschirmen (Handy), gesteuert über die Klasse "ios" am <body>
   (gesetzt von js/15-ios-mobile.js). Der Desktop bleibt vollständig unverändert.
   Grundsätze (HIG): Tab-Leiste unten (max. 5 Einträge inkl. „Mehr"), durchscheinende Navigations-
   und Tab-Leiste mit Haarlinie, großer Seitentitel, gruppierte Listen („Inset Grouped"), Mindest-
   Tippfläche 44 pt, Systemschrift, Safe-Area (Notch/Home-Indikator) berücksichtigt.
   ═══════════════════════════════════════════════════════════════════════ */

body.ios{
  --ios-bg:#F2F2F7;--ios-cell:#FFFFFF;--ios-sep:rgba(60,60,67,.18);--ios-label:#000;--ios-label2:rgba(60,60,67,.6);
  --ios-label3:rgba(60,60,67,.3);--ios-tint:#007AFF;--ios-red:#FF3B30;--ios-green:#34C759;--ios-gray:#8E8E93;
  --ios-bar:rgba(249,249,249,.92);--ios-nav-h:44px;--ios-tab-h:50px;
  --ios-top:calc(var(--ios-nav-h) + env(safe-area-inset-top));
  --ios-bottom:calc(var(--ios-tab-h) + env(safe-area-inset-bottom));
  font-family:-apple-system,BlinkMacSystemFont,'SF Pro Text','Inter','Segoe UI',sans-serif;
  background:var(--ios-bg);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;
  --blue:#007AFF;--blue-dark:#0062CC;--blue-soft:rgba(0,122,255,.1);--red:#FF3B30;--green:#34C759;--surface:#F2F2F7;
}
.ios-navbar,.ios-tabbar,.ios-large-title,#pg-ios-mehr{display:none}

/* ─── Grundgerüst: Seitenleiste/obere Leiste der Desktop-Ansicht ausblenden ─── */
body.ios .sidebar,body.ios .sidebar-overlay,body.ios .topbar{display:none!important}
body.ios .main-area{margin-left:0;background:var(--ios-bg)}
body.ios .content-area{padding:calc(var(--ios-top) + 4px) 16px calc(var(--ios-bottom) + 24px)}
body.ios.ios-tabbar-hidden .content-area{padding-bottom:calc(env(safe-area-inset-bottom) + 16px)}

/* ─── Navigationsleiste (oben) ─── */
body.ios .ios-navbar{display:flex;position:fixed;top:0;left:0;right:0;z-index:90;height:var(--ios-top);padding:env(safe-area-inset-top) 8px 0;
  align-items:center;background:var(--ios-bar);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);
  border-bottom:.5px solid transparent;transition:border-color .2s,background .2s}
body.ios .ios-navbar.scrolled{border-bottom-color:var(--ios-sep)}
.ios-nav-side{flex:1 1 0;display:flex;align-items:center;min-width:0}
.ios-nav-side.right{justify-content:flex-end;gap:4px}
.ios-nav-title{flex:0 1 auto;max-width:60%;font-size:17px;font-weight:600;letter-spacing:-.41px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  opacity:0;transition:opacity .18s}
.ios-navbar.scrolled .ios-nav-title,.ios-navbar.always-title .ios-nav-title{opacity:1}
.ios-nav-btn{border:none;background:none;color:var(--ios-tint);font-size:17px;letter-spacing:-.41px;min-height:44px;min-width:44px;padding:0 8px;display:inline-flex;align-items:center;gap:2px;cursor:pointer;font-family:inherit}
.ios-nav-btn:active{opacity:.4}
.ios-nav-btn svg{width:22px;height:22px}
.ios-nav-back svg{width:13px;height:22px;margin-right:4px}
.ios-sync-dot{font-size:11px;font-weight:600;border-radius:10px;padding:3px 8px;display:none;white-space:nowrap}
.ios-sync-dot.offline{display:inline-block;background:rgba(255,149,0,.15);color:#C93400}
.ios-sync-dot.syncing{display:inline-block;background:rgba(0,122,255,.12);color:var(--ios-tint)}

/* ─── Großer Seitentitel ─── */
body.ios .ios-large-title{display:block;font-size:34px;line-height:41px;font-weight:700;letter-spacing:.37px;color:var(--ios-label);margin:2px 0 10px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.ios .ios-large-sub{font-size:13px;color:var(--ios-label2);font-weight:400;letter-spacing:-.08px;margin:-8px 0 12px}
body.ios .ios-dup-title{display:none!important}

/* ─── Tab-Leiste (unten) ─── */
body.ios .ios-tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:90;height:var(--ios-bottom);padding-bottom:env(safe-area-inset-bottom);
  background:var(--ios-bar);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-top:.5px solid var(--ios-sep);
  transition:transform .25s ease}
body.ios.ios-tabbar-hidden .ios-tabbar{transform:translateY(110%)}
.ios-tab{flex:1 1 0;min-width:0;border:none;background:none;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:6px;gap:2px;
  color:var(--ios-gray);cursor:pointer;font-family:inherit;-webkit-user-select:none;user-select:none}
.ios-tab.active{color:var(--ios-tint)}
.ios-tab:active .ios-tab-ic{transform:scale(.9)}
.ios-tab-ic{position:relative;width:28px;height:26px;display:flex;align-items:center;justify-content:center;transition:transform .1s}
.ios-tab-ic svg{width:26px;height:26px}
.ios-tab.active .ios-tab-ic svg{stroke-width:2.1}
.ios-tab-lb{font-size:10px;font-weight:500;letter-spacing:.1px;line-height:12px;max-width:100%;padding:0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ios-badge{position:absolute;top:-3px;left:17px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--ios-red);color:#fff;font-size:12px;font-weight:500;
  line-height:18px;text-align:center;display:none;box-shadow:0 0 0 1.5px var(--ios-bar)}
.ios-badge.show{display:block}

/* ─── Gruppierte Listen („Inset Grouped") – u.a. für „Mehr" ─── */
body.ios #pg-ios-mehr.active{display:block}
.ios-group-title{font-size:13px;color:var(--ios-label2);text-transform:uppercase;letter-spacing:-.08px;margin:22px 16px 7px}
.ios-group-foot{font-size:13px;color:var(--ios-label2);margin:7px 16px 0;letter-spacing:-.08px}
.ios-list{background:var(--ios-cell);border-radius:10px;overflow:hidden}
.ios-cell{display:flex;align-items:center;gap:12px;min-height:44px;padding:6px 16px;width:100%;border:none;background:none;text-align:left;cursor:pointer;
  position:relative;font-family:inherit;color:var(--ios-label);font-size:17px;letter-spacing:-.41px}
.ios-cell:active{background:#D1D1D6}
.ios-cell+.ios-cell::before{content:'';position:absolute;top:0;right:0;left:16px;height:.5px;background:var(--ios-sep)}
.ios-list.with-icons .ios-cell+.ios-cell::before{left:57px}
.ios-cell-ic{width:29px;height:29px;border-radius:7px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}
.ios-cell-ic svg{width:19px;height:19px;stroke-width:2}
.ios-cell-main{flex:1;min-width:0}
.ios-cell-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ios-cell-sub{font-size:13px;color:var(--ios-label2);letter-spacing:-.08px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ios-cell-val{color:var(--ios-label2);font-size:17px;white-space:nowrap}
.ios-cell-badge{background:var(--ios-red);color:#fff;border-radius:10px;min-width:20px;height:20px;padding:0 6px;font-size:13px;line-height:20px;text-align:center}
.ios-chev{width:8px;height:13px;color:var(--ios-label3);flex-shrink:0}
.ios-cell.center{justify-content:center;color:var(--ios-tint)}
.ios-cell.danger{color:var(--ios-red)}
.ios-profile{padding:12px 16px;gap:14px}
.ios-avatar{width:58px;height:58px;border-radius:50%;background:linear-gradient(180deg,#A5ABB8,#858994);color:#fff;font-size:24px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ios-profile .ios-cell-title{font-size:20px;font-weight:600;letter-spacing:.38px}
.ios-foot{text-align:center;font-size:12px;color:var(--ios-label2);margin:26px 0 8px;line-height:1.5}

/* Tab-Leiste anpassen (Bearbeiten-Modus mit roten/grünen Kreisen wie in iOS) */
.ios-edit-btn{width:22px;height:22px;border-radius:50%;border:none;color:#fff;font-size:18px;line-height:22px;display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;padding:0}
.ios-edit-btn.rm{background:var(--ios-red)}.ios-edit-btn.add{background:var(--ios-green)}
.ios-edit-btn:disabled{opacity:.3}
.ios-move{border:none;background:none;color:var(--ios-label3);font-size:18px;min-width:34px;min-height:34px;cursor:pointer}
.ios-move:disabled{opacity:.25}

/* ─── Allgemeine Seiten-Inhalte im iOS-Stil ─── */
body.ios .card{border-radius:12px;box-shadow:none;padding:16px;margin-bottom:16px;background:var(--ios-cell)}
body.ios .card-title{font-size:17px;font-weight:600;letter-spacing:-.41px}
body.ios .btn{border-radius:10px;min-height:44px;font-size:15px;font-weight:600;padding:10px 16px}
body.ios .btn-sm{min-height:34px;font-size:14px;padding:6px 12px;border-radius:8px}
body.ios .btn-primary{background:var(--ios-tint)}
body.ios .btn-outline{border:none;background:rgba(118,118,128,.12);color:var(--ios-tint)}
body.ios .btn-danger{background:var(--ios-red)}
body.ios .btn-success{background:var(--ios-green)}
body.ios .field input,body.ios .field select,body.ios .field textarea,body.ios .search-bar input,body.ios .filter-sel{font-size:17px;border-radius:10px;border:none;background:rgba(118,118,128,.12);min-height:44px}
body.ios .field input:focus,body.ios .field select:focus,body.ios .field textarea:focus,body.ios .search-bar input:focus{box-shadow:0 0 0 2px rgba(0,122,255,.35);background:var(--white,#fff)}
body.ios .field label{font-size:13px;color:var(--ios-label2);font-weight:400;text-transform:none}
body.ios .search-bar input{padding-left:36px;min-height:36px;height:36px;font-size:17px}
body.ios .search-bar{min-width:0}
body.ios .tabbar{border-bottom:none;background:rgba(118,118,128,.12);border-radius:9px;padding:2px;gap:0;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
body.ios .tabbar::-webkit-scrollbar{display:none}
body.ios .tab-btn{border-bottom:none;border-radius:7px;margin:0;padding:6px 12px;font-size:13px;font-weight:500;color:var(--ios-label);flex:1 0 auto}
body.ios .tab-btn.active{background:var(--white,#fff);box-shadow:0 3px 8px rgba(0,0,0,.12),0 3px 1px rgba(0,0,0,.04);color:var(--ios-label)}
body.ios .table-wrap{margin:0 -16px;padding:0 16px;-webkit-overflow-scrolling:touch}
body.ios tbody td{font-size:15px}
body.ios thead th{font-size:12px;text-transform:uppercase;letter-spacing:0;color:var(--ios-label2);border-bottom:.5px solid var(--ios-sep)}
body.ios tbody td{border-bottom:.5px solid var(--ios-sep)}
body.ios .badge{border-radius:6px;font-size:12px}
body.ios .tk-card{border:none;border-radius:12px;box-shadow:none}
body.ios .stat-card{border:none;box-shadow:none;border-radius:12px}

/* Verbindungs-/Synchronisierungsstatus: mobil als kompakte Kennzeichnung rechts in der
   Navigationsleiste („Offline · 3") statt der breiten Leiste der Desktop-Ansicht */
body.ios #connBar{display:none!important}
.ios-sync-dot{cursor:pointer}

/* Hinweismeldungen (Toasts) als iOS-Banner oben */
body.ios .toast-container{top:calc(env(safe-area-inset-top) + 8px);bottom:auto;left:12px;right:12px;display:flex;flex-direction:column;align-items:center;z-index:1000;pointer-events:none}
body.ios .toast{border-left:none;border-radius:14px;background:rgba(30,30,30,.92);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);font-size:15px;padding:12px 16px;max-width:100%;
  box-shadow:0 8px 24px rgba(0,0,0,.2);animation:iosToastIn .35s cubic-bezier(.32,.72,0,1)}
@keyframes iosToastIn{from{transform:translateY(-24px);opacity:0}to{transform:none;opacity:1}}

/* Dialoge als „Sheet" von unten */
body.ios .modal-bg{align-items:flex-end;padding:0;padding-top:calc(env(safe-area-inset-top) + 10px);background:rgba(0,0,0,.35);z-index:200}
body.ios .modal,body.ios .modal-lg{max-width:100%!important;width:100%;border-radius:12px 12px 0 0;max-height:calc(100dvh - env(safe-area-inset-top) - 10px);
  box-shadow:0 -4px 24px rgba(0,0,0,.12);animation:iosSheetIn .38s cubic-bezier(.32,.72,0,1)}
@keyframes iosSheetIn{from{transform:translateY(100%)}to{transform:none}}
body.ios .modal-head{position:relative;padding:18px 16px 12px;border-bottom:.5px solid var(--ios-sep)}
body.ios .modal-head::before{content:'';position:absolute;top:6px;left:50%;width:36px;height:5px;margin-left:-18px;border-radius:3px;background:rgba(60,60,67,.3)}
body.ios .modal-head h2{font-size:17px;font-weight:600;letter-spacing:-.41px}
body.ios .modal-close{width:30px;height:30px;border-radius:50%;background:rgba(118,118,128,.12);color:var(--ios-label2);font-size:20px;display:flex;align-items:center;justify-content:center}
body.ios .modal-foot{padding:10px 16px calc(10px + env(safe-area-inset-bottom));border-top:.5px solid var(--ios-sep)}
body.ios .confirm-bg{align-items:center}
body.ios .confirm-box{border-radius:14px;padding:20px 16px 0;text-align:center;max-width:280px;background:rgba(242,242,242,.97)}
body.ios .confirm-box h3{font-size:17px;font-weight:600}
body.ios .confirm-box p{font-size:13px;color:var(--ios-label)}
body.ios .confirm-btns{margin:0 -16px;border-top:.5px solid var(--ios-sep);gap:0}
body.ios .confirm-btns .btn{flex:1;background:none;border-radius:0;color:var(--ios-tint);font-weight:400;font-size:17px;min-height:44px}
body.ios .confirm-btns .btn-danger{color:var(--ios-red);font-weight:600;border-left:.5px solid var(--ios-sep)}
body.ios .action-menu{border-radius:14px;border:none;box-shadow:0 10px 40px rgba(0,0,0,.2);padding:0;overflow:hidden}
body.ios .action-menu button{font-size:17px;padding:12px 16px;border-radius:0;border-bottom:.5px solid var(--ios-sep)}

/* Chat: eigene Kopfzeile → großer Titel entfällt, Höhe an Navigations-/Tab-Leiste anpassen */
body.ios.ios-page-chat .ios-large-title{display:none}
body.ios.ios-page-chat .content-area{padding-left:0;padding-right:0;padding-bottom:0}
body.ios #pg-chat.active{display:flex;flex-direction:column;height:calc(100dvh - var(--ios-top) - 4px - var(--ios-bottom))}
body.ios.ios-tabbar-hidden #pg-chat.active{height:calc(100dvh - var(--ios-top) - 4px)}
body.ios #chatPushHint{margin:0 12px 8px!important;flex-shrink:0}
body.ios .chat-shell{flex:1 1 auto;min-height:0;height:auto;border-radius:0;box-shadow:none}
body.ios .chat-pane{border-radius:0!important}
body.ios .chat-back-btn{color:var(--ios-tint);font-size:28px;font-weight:300}

/* Offline-Kennzeichnung */
body.ios.av-offline .ios-navbar{background:rgba(255,248,235,.94)}

/* Listen-Tabellen als iOS-Zellen (siehe iosLabelTables in js/15-ios-mobile.js) */
body.ios .table-wrap{overflow-x:visible;margin:0;padding:0}
body.ios table.ios-cells thead{display:none}
body.ios table.ios-cells,body.ios table.ios-cells tbody{display:block;width:100%}
body.ios table.ios-cells tbody tr{display:block;padding:11px 0;border-bottom:.5px solid var(--ios-sep)}
body.ios table.ios-cells tbody tr:last-child{border-bottom:none}
body.ios table.ios-cells tbody tr:active{background:#E5E5EA}
body.ios table.ios-cells tbody td{display:flex;gap:10px;align-items:baseline;padding:1px 0;border:none;font-size:15px;line-height:1.35;min-width:0;word-break:break-word;max-width:none!important;white-space:normal!important;overflow:visible!important}
body.ios table.ios-cells tbody td::before{content:attr(data-label);flex:0 0 112px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:var(--ios-label2);font-weight:400}
body.ios table.ios-cells tbody td:first-child{font-size:17px;font-weight:600;padding-bottom:3px}
body.ios table.ios-cells tbody td:first-child::before,body.ios table.ios-cells tbody td[data-label=""]::before{display:none}
body.ios table.ios-cells tbody td.ios-empty{display:none}
body.ios table.ios-cells tbody td[colspan]{display:block}
body.ios table.ios-cells tbody td[data-label=""]{justify-content:flex-end}

/* Geöffnete Bildschirmtastatur: sichtbare Höhe statt Seitenhöhe verwenden, damit Eingabezeile und
   Inhalt direkt über der Tastatur stehen (siehe iosViewportSync in js/15-ios-mobile.js). */
body.ios.ios-kb .content-area{padding-bottom:8px}
body.ios.ios-kb #pg-chat.active{height:calc(var(--ios-vvh,100dvh) - var(--ios-top))}
body.ios.ios-kb #chatComposer{padding-bottom:10px!important}
body.ios.ios-kb .modal,body.ios.ios-kb .modal-lg{max-height:calc(var(--ios-vvh,100dvh) - 10px)}

/* ═══ v2.08 – Rechnungen/Belege/Umsatz auf dem Handy (iOS HIG: 44 pt Touch-Ziele, 16 pt Eingabeschrift, Safe-Areas; gilt auch für Android als Grundlage) ═══ */
body.ios .bl-pos{padding:12px;border-radius:12px;background:var(--ios-cell)}
body.ios .bl-pos-kopf{flex-wrap:wrap;row-gap:4px}
body.ios .bl-pos-art{flex:1 1 auto;min-width:0;font-size:15px}
body.ios .bl-pos-akt{flex:0 0 100%;margin-left:0;justify-content:flex-end;gap:4px;border-top:.5px solid var(--ios-sep);padding-top:4px}
body.ios .bl-pos-akt .btn-ghost{min-width:44px;min-height:44px;font-size:18px;display:inline-flex;align-items:center;justify-content:center}
body.ios .bl-preis{grid-template-columns:1fr 1fr}
body.ios .bl-groessen{padding:12px}
body.ios .bl-gr-zeile{display:grid;grid-template-columns:28px 1fr 1fr;gap:8px 10px;align-items:end;padding:10px 0;border-top:.5px solid var(--ios-sep)}
body.ios .bl-gr-zeile:first-of-type{border-top:0}
body.ios .bl-gr-zeile>label{min-width:0;font-size:12px;color:var(--ios-label2)}
body.ios .bl-gr-nr{grid-row:1;width:28px;height:44px}
body.ios .bl-gr-raum{grid-column:1/-1;min-width:0!important}
body.ios .bl-gr-betrag{grid-column:1/3;text-align:left;font-size:15px;padding:0}
body.ios .bl-gr-zeile>.btn-ghost{grid-column:3;justify-self:end;min-width:44px;min-height:44px}
body.ios .bl-gr-zeile input,body.ios .bl-zusatz input,body.ios .bl-preis input,body.ios .bl-preis select,body.ios #belegModal input,body.ios #belegModal select,body.ios #belegModal textarea,body.ios #belegAktionModal input,body.ios #belegAktionModal select,body.ios #belegAktionModal textarea,body.ios #pg-belege input,body.ios #pg-belege select{font-size:16px!important;min-height:44px;padding:8px 12px;border-radius:10px}
body.ios .bl-zusatz{flex-wrap:wrap}
body.ios .bl-addbar .btn{flex:1 1 calc(50% - 8px)}
body.ios .bl-sum{max-width:none}
body.ios .bl-vor-var{grid-template-columns:1fr auto auto;row-gap:0}
body.ios .bl-vor-var span:nth-child(2){grid-column:1/-1}
body.ios #belegModal .modal-foot,body.ios #belegAktionModal .modal-foot{display:block}
body.ios #belegModal .modal-foot>span:last-child,body.ios #belegAktionModal .modal-foot>span:last-child{display:grid!important;grid-template-columns:1fr 1fr;gap:8px;margin-top:6px}
body.ios #belegModal .modal-foot .btn,body.ios #belegAktionModal .modal-foot .btn{margin:0;width:100%;justify-content:center;white-space:nowrap;padding-left:8px;padding-right:8px}
body.ios #belegModal .modal-foot .btn-success,body.ios #belegModal .modal-foot .btn-primary{grid-column:1/-1;order:-1}body.ios #pg-belege .filters-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
body.ios #pg-belege .search-bar{grid-column:1/-1}
body.ios .ums-kacheln{grid-template-columns:1fr 1fr}
body.ios .ums-kopf{font-size:17px}
body.ios #umsatzBody table{font-size:12px;width:100%}
body.ios #umsatzBody th,body.ios #umsatzBody td{padding:9px 4px!important;white-space:nowrap}
body.ios #umsatzModal .modal-foot{display:grid;grid-template-columns:1fr 1fr;gap:8px}
body.ios #belegModal .modal-foot .btn:nth-child(3){grid-column:1/-1}
body.ios #umsatzBody table th:nth-child(3),body.ios #umsatzBody table td:nth-child(3){display:none}
body.ios #pg-belege .filters-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
body.ios #pg-belege .filters-row>*{min-width:0;width:100%;max-width:100%;box-sizing:border-box}
body.ios #pg-belege .search-bar input{padding-left:38px}
body.ios .ios-large-title{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.12}

/* ═══ v2.21 – Ablauf Ausbau/Werkstatt/Einbau/Aufmaß auf dem Handy (iOS HIG; gilt auch als Basis für Android) ═══ */
body.ios .ta-block>div:not(.section-head):not(.dok-err),body.ios .ta-block>label{font-size:15px;min-height:44px}
body.ios .dok-switch{min-height:44px;gap:12px;font-size:15px}
body.ios .dok-switch input[type=checkbox]{width:24px;height:24px;flex:0 0 24px}
body.ios .dok-chip{min-height:44px;padding:10px 16px;font-size:15px;border-radius:22px}
body.ios .am-zeile{border:none;border-radius:12px;background:var(--ios-cell);padding:12px}
body.ios .am-kopf{flex-wrap:wrap;row-gap:8px}
body.ios .am-art{flex:1 1 100%;order:2}
body.ios .am-kopf .dok-pos-nr{order:1}
body.ios .am-stueck{order:3;flex:1 1 0;width:auto}
body.ios .am-btn{order:4;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;font-size:18px}
body.ios .am-masse{display:grid;grid-template-columns:1fr auto 1fr 88px;gap:8px}
body.ios .am-zeile input,body.ios .am-zeile select,body.ios .ta-block input[type=text],body.ios .ta-block select,body.ios .wk-notiz,body.ios .wk-zuordnung{font-size:16px!important;min-height:44px;border-radius:10px;border:none;background:rgba(118,118,128,.12);padding:8px 12px;box-sizing:border-box}
body.ios .am-zeile summary{min-height:44px;display:flex;align-items:center;font-size:15px}
body.ios .am-felder label{font-size:13px;color:var(--ios-label2)}
body.ios .am-felder input{margin-top:4px}
body.ios #aufmassListe+button,body.ios .ta-block .btn{min-height:44px}
body.ios .dok-pos-actions .btn-ghost,body.ios .dok-pos-row .btn-ghost{min-width:44px;min-height:44px}
body.ios #belegAktionBody .dok-switch{padding:4px 0}
body.ios .am-zeile{border:.5px solid var(--ios-sep)}

body.ios .wk-status-zelle{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
body.ios .wk-status-zelle .btn-ghost{white-space:nowrap;min-height:44px;padding:0 12px;font-size:15px}
body.ios .wk-pstat{font-size:13px!important}
body.ios .table-wrap td .btn-ghost,body.ios .table-wrap td .btn-outline.btn-sm{min-width:44px;min-height:44px}

body.ios #belegAktionBody .bl-mehr{display:flex;flex-direction:column;gap:8px}
body.ios #belegAktionBody .bl-mehr .btn{width:100%;justify-content:flex-start;min-height:50px;font-size:17px;text-align:left}
body.ios #belegModal .modal-foot .btn:nth-child(5){grid-column:1/-1}

/* Nachtrag: alle Eingaben im Dokumenten-Assistenten mit 16 pt (iOS zoomt sonst beim Antippen) und 44 pt hoch */
body.ios #dokWizardModal input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]),body.ios #dokWizardModal select,body.ios #dokWizardModal textarea{font-size:16px!important}
body.ios #dokWizardModal input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]),body.ios #dokWizardModal select{min-height:44px}

body.ios .dok-pos-del{min-width:44px;min-height:44px;font-size:20px}
body.ios .dok-undo{font-size:15px;border-radius:12px}
body.ios .dok-undo .btn{min-height:44px}

/* ═══ v2.26 – Ergebnisse des Geräte-Checks: Datumsfelder 16 pt (iOS zoomt sonst), Seitenknöpfe 44 pt, Dienstplanung ohne Überlauf ═══ */
body.ios input[type=date],body.ios input[type=time],body.ios input[type=datetime-local],body.ios input[type=month],body.ios input[type=week]{font-size:16px!important;min-height:44px}
body.ios .btn-sm{min-height:44px;min-width:44px}
body.ios .table-wrap td .btn-sm{min-height:44px}
body.ios .filters-row{flex-wrap:wrap}
body.ios #planViewTabs{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap}
body.ios #pg-planung .filter-sel,body.ios #pg-planung .filters-row>*{max-width:100%;box-sizing:border-box}
body.ios .chat-back-btn{min-width:44px;min-height:44px}

body.ios .tab-btn{min-height:44px}

/* ═══ v2.27 – Rückmeldung vom echten iPhone (Neuer Auftrag) ═══
   1) Jedes Eingabefeld mind. 16 pt: das Suchfeld „Kunde suchen" hatte ca. 12 pt → iOS zoomte beim Antippen ins Formular hinein,
      die Seite wurde seitlich verschoben/abgeschnitten.
   2) Tastatur offen: Der Dialog (Sheet) klebte am unteren Rand der Seite – also HINTER der Tastatur. Jetzt richtet er sich am sichtbaren
      Bereich (über der Tastatur) aus, das aktive Feld bleibt sichtbar. */
body.ios input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):not([type=color]):not([type=hidden]),body.ios select,body.ios textarea{font-size:16px!important}
body.ios.ios-kb .modal-bg{position:fixed!important;top:var(--ios-vvtop,0px)!important;bottom:auto!important;height:var(--ios-vvh,100dvh)!important;padding-top:8px!important}
body.ios.ios-kb .modal,body.ios.ios-kb .modal-lg{max-height:calc(var(--ios-vvh,100dvh) - 8px)!important}
body.ios.ios-kb .modal-foot{padding-bottom:10px!important}
body.ios .modal-close{position:relative}
body.ios .modal-close::after{content:'';position:absolute;inset:-7px}

/* v2.28 – Handy: neue Desktop-Bausteine der Startseite dort nicht verwenden */
body.ios .dash-gruss,body.ios .dash-quick{display:none}
body.ios .dash-grid{display:block}
body.ios .dash-side{display:none}

/* v2.29 – Auftrag-Dialog am Handy: gleiche Hoehe in allen Reitern, breite Tabellen scrollen im Reiter */
body.ios #detailModal .modal{height:calc(100dvh - 24px);max-height:calc(100dvh - 24px)}
body.ios #detailModal .dm-tab-panel{overflow-x:auto;-webkit-overflow-scrolling:touch}
body.ios #detailModal .dm-tab-panel table{min-width:560px}
body.ios #detailModal .dok-steps{position:sticky;top:0;z-index:3;background:var(--white,#fff);margin:0 -20px 12px!important;padding:12px 20px 10px!important;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}
body.ios #detailModal .dok-steps::-webkit-scrollbar{display:none}
body.ios #detailModal .dok-step{flex:0 0 auto;white-space:nowrap}


/* v2.29 – Ergebnis Geraete-Check (iPhone, iOS 18.7): Telefonlinks mit 44-pt-Tippflaeche, Dienstplanung bricht Bedienelemente um, kein Zoom durch Doppeltipp */
body.ios a[href^="tel:"]{position:relative}
body.ios a[href^="tel:"]::after{content:'';position:absolute;left:-6px;right:-6px;top:-12px;bottom:-12px}
body.ios #pg-planung .filters-row,body.ios #pg-planung .filters-row>div{flex-wrap:wrap}
body.ios #pg-planung .filters-row{gap:8px}
body.ios #pg-planung{max-width:100%;overflow-x:clip}
body.ios .modal,body.ios .modal-body{min-width:0;max-width:100%}
html{touch-action:manipulation}

