/* ═══════════════════════════════════════════════════════════════════════
   Auftragsverwaltung – Mobile Ansicht nach den Google Material-Design-3-Richtlinien (Android)
   Aktiv nur auf dem Handy (Klassen "ios" + "android" am <body>, gesetzt von js/15-ios-mobile.js –
   die Struktur (Leiste unten, Kopfleiste oben, „Mehr"-Liste) ist auf beiden Plattformen dieselbe,
   hier wird sie im Material-Stil dargestellt). Grundsätze (M3): Top App Bar mit linksbündigem Titel,
   Navigation Bar unten (80 dp) mit Pillen-Indikator, Tippflächen ≥ 48 dp, gefüllte/umrandete
   Schaltflächen mit voller Rundung, umrandete Textfelder, Bottom Sheets mit 28 dp Rundung,
   Snackbar unten, Zustandsebenen statt Schatten, Systemschrift (Roboto).
   ═══════════════════════════════════════════════════════════════════════ */

body.android{
  --md-primary:#0B57D0;--md-on-primary:#fff;--md-primary-container:#D3E3FD;--md-on-primary-container:#041E49;
  --md-surface:#F8F9FC;--md-surface-container:#EDF1F9;--md-surface-container-low:#F3F6FC;--md-surface-container-high:#E6EBF4;
  --md-on-surface:#1B1B1F;--md-on-surface-variant:#44474E;--md-outline:#74777F;--md-outline-variant:#C4C6D0;
  --md-error:#B3261E;--md-success:#146C2E;
  --ios-bg:var(--md-surface);--ios-cell:#fff;--ios-sep:var(--md-outline-variant);--ios-label:var(--md-on-surface);--ios-label2:var(--md-on-surface-variant);
  --ios-label3:var(--md-outline);--ios-tint:var(--md-primary);--ios-red:var(--md-error);--ios-green:#146C2E;--ios-gray:var(--md-on-surface-variant);
  --ios-bar:var(--md-surface);--ios-nav-h:64px;--ios-tab-h:80px;
  --blue:var(--md-primary);--blue-dark:#0842A0;--blue-soft:var(--md-primary-container);--red:var(--md-error);--green:#146C2E;--surface:var(--md-surface);
  font-family:Roboto,'Google Sans','Inter','Segoe UI',system-ui,sans-serif;background:var(--md-surface);color:var(--md-on-surface);
}

/* ─── Top App Bar (Titel links, immer sichtbar, kein großer Seitentitel) ─── */
body.android .ios-navbar{background:var(--md-surface);-webkit-backdrop-filter:none;backdrop-filter:none;padding:env(safe-area-inset-top) 4px 0 4px;border-bottom:0;transition:background .2s,box-shadow .2s}
body.android .ios-navbar.scrolled{background:var(--md-surface-container);box-shadow:0 1px 3px rgba(0,0,0,.14);border-bottom-color:transparent}
body.android .ios-navbar .ios-nav-side:first-child{flex:0 0 auto}
body.android .ios-nav-title{flex:1 1 auto;max-width:none;opacity:1;text-align:left;font-size:22px;font-weight:400;letter-spacing:0;padding-left:12px;color:var(--md-on-surface)}
body.android .ios-nav-side.right{flex:0 0 auto;padding-right:8px}
body.android .ios-nav-btn{color:var(--md-on-surface);font-size:16px;letter-spacing:.1px;min-height:48px;min-width:48px;border-radius:24px;justify-content:center}
body.android .ios-nav-btn:active{opacity:1;background:rgba(27,27,31,.12)}
/* Zurück-Pfeil ohne Beschriftung (M3: nur Symbol) */
body.android .ios-nav-back{font-size:0;padding:0 12px}
body.android .ios-nav-back svg{width:18px;height:20px;margin:0}
body.android .ios-large-title,body.android .ios-large-sub{display:none!important}
body.android .content-area{padding-top:calc(var(--ios-top) + 8px)}
body.android .ios-sync-dot{border-radius:8px;font-weight:500;letter-spacing:.5px}
body.android.av-offline .ios-navbar{background:#FFF1D6}

/* ─── Navigation Bar unten (80 dp, Pillen-Indikator) ─── */
body.android .ios-tabbar{background:var(--md-surface-container);-webkit-backdrop-filter:none;backdrop-filter:none;border-top:0;height:var(--ios-bottom);padding:0 4px env(safe-area-inset-bottom)}
body.android .ios-tab{padding-top:12px;gap:4px;color:var(--md-on-surface-variant);-webkit-tap-highlight-color:transparent}
body.android .ios-tab .ios-tab-ic{width:64px;height:32px;border-radius:16px;transition:background .2s,transform .1s}
body.android .ios-tab .ios-tab-ic svg{width:24px;height:24px;stroke-width:1.8}
body.android .ios-tab:active .ios-tab-ic{transform:none;background:rgba(27,27,31,.10)}
body.android .ios-tab.active{color:var(--md-on-surface)}
body.android .ios-tab.active .ios-tab-ic{background:var(--md-primary-container);color:var(--md-on-primary-container)}
body.android .ios-tab.active .ios-tab-ic svg{stroke-width:2.1}
body.android .ios-tab-lb{font-size:12px;font-weight:500;letter-spacing:.5px;line-height:16px}
body.android .ios-tab.active .ios-tab-lb{font-weight:700}
body.android .ios-badge{top:-2px;left:38px;min-width:16px;height:16px;padding:0 4px;font-size:11px;line-height:16px;border-radius:8px;background:var(--md-error);box-shadow:none}

/* ─── „Mehr" als Material-Liste ─── */
body.android .ios-group-title{font-size:14px;font-weight:500;letter-spacing:.1px;text-transform:none;color:var(--md-primary);margin:20px 16px 4px}
body.android .ios-group-foot{font-size:12px;letter-spacing:.4px}
body.android .ios-list{background:transparent;border-radius:0}
body.android .ios-cell{min-height:56px;padding:8px 16px;font-size:16px;letter-spacing:.5px;gap:16px;border-radius:0}
body.android .ios-cell:active{background:rgba(27,27,31,.10)}
body.android .ios-cell+.ios-cell::before{display:none}
body.android .ios-cell-ic{width:40px;height:40px;border-radius:20px;background:var(--md-primary-container)!important;color:var(--md-on-primary-container)}
body.android .ios-cell-ic svg{width:22px;height:22px}
body.android .ios-cell-sub{font-size:14px;letter-spacing:.25px}
body.android .ios-cell-val{font-size:14px}
body.android .ios-chev{display:none}
body.android .ios-cell-badge{background:var(--md-error);border-radius:8px;min-width:16px;height:16px;line-height:16px;font-size:11px}
body.android .ios-cell.center{justify-content:flex-start;color:var(--md-primary);font-weight:500}
body.android .ios-avatar{background:var(--md-primary-container);color:var(--md-on-primary-container);width:56px;height:56px;font-weight:500}
body.android .ios-profile .ios-cell-title{font-size:22px;font-weight:400;letter-spacing:0}

/* ─── Karten, Schaltflächen, Felder ─── */
body.android .card{border-radius:12px;background:var(--md-surface-container-low);border:1px solid var(--md-outline-variant);box-shadow:none;padding:16px}
body.android .card-title{font-size:16px;font-weight:500;letter-spacing:.15px}
body.android .btn{min-height:48px;border-radius:100px;padding:10px 24px;font-size:14px;font-weight:500;letter-spacing:.1px;box-shadow:none;position:relative;overflow:hidden}
body.android .btn-sm{min-height:40px;padding:6px 16px;border-radius:100px;font-size:13px}
body.android .btn-primary{background:var(--md-primary);color:var(--md-on-primary);background-image:none}
body.android .btn-primary:active{background:#0842A0}
body.android .btn-success{background:var(--md-success)}
body.android .btn-danger{background:var(--md-error)}
body.android .btn-outline{background:transparent;border:1px solid var(--md-outline);color:var(--md-primary)}
body.android .btn-outline:active{background:rgba(11,87,208,.12)}
body.android .btn-ghost{min-width:48px;min-height:48px;border-radius:24px}
body.android .field label{font-size:12px;font-weight:500;letter-spacing:.4px;color:var(--md-on-surface-variant)}
body.android .field input,body.android .field select,body.android .field textarea,body.android .filter-sel{background:transparent;border:1px solid var(--md-outline);border-radius:8px;min-height:56px;padding:12px 16px;font-size:16px;color:var(--md-on-surface)}
body.android .field textarea{min-height:88px}
body.android .field input:focus,body.android .field select:focus,body.android .field textarea:focus{border:2px solid var(--md-primary);padding:11px 15px;box-shadow:none;background:transparent}
body.android .search-bar input{background:var(--md-surface-container-high);border:0;border-radius:28px;height:56px;min-height:56px;padding-left:52px;font-size:16px}
body.android .search-bar input:focus{border:0;padding-left:52px;box-shadow:0 0 0 2px var(--md-primary)}
body.android .search-bar .si{left:18px}
body.android input[type=checkbox],body.android input[type=radio]{accent-color:var(--md-primary);width:20px;height:20px}

/* ─── Karteikarten (Tabs): M3 „Secondary Tabs" mit Unterstrich ─── */
body.android .tabbar{background:transparent;border-radius:0;padding:0;border-bottom:1px solid var(--md-outline-variant);gap:0}
body.android .tab-btn{min-height:48px;border-radius:0;padding:0 16px;font-size:14px;font-weight:500;letter-spacing:.1px;color:var(--md-on-surface-variant);border-bottom:3px solid transparent;margin-bottom:-1px;flex:1 0 auto}
body.android .tab-btn.active{background:transparent;box-shadow:none;color:var(--md-primary);border-bottom-color:var(--md-primary)}
body.android #orderModal .tabbar{background:transparent;padding:0;border-radius:0}
body.android #orderModal .tab-btn{border-radius:0;padding:0 14px;font-size:14px}
body.android #orderModal .tab-btn.active{background:transparent;box-shadow:none}
body.android #orderModal .of-section{background:var(--md-surface-container-low);border-color:var(--md-outline-variant);border-radius:12px}

/* ─── Listen-Tabellen als Material-Listenkarten ─── */
body.android thead th{color:var(--md-on-surface-variant);border-bottom-color:var(--md-outline-variant);background:transparent}
body.android table.ios-cells tbody tr{padding:12px 4px;border-bottom:1px solid var(--md-outline-variant)}
body.android table.ios-cells tbody tr:active{background:rgba(27,27,31,.08)}
body.android table.ios-cells tbody td::before{font-size:12px;letter-spacing:.4px;color:var(--md-on-surface-variant)}
body.android table.ios-cells tbody td:first-child{font-size:16px;font-weight:500;letter-spacing:.15px}
body.android .badge{border-radius:8px;font-size:12px;font-weight:500;letter-spacing:.3px;padding:3px 10px}
body.android .tk-card,body.android .stat-card{border:1px solid var(--md-outline-variant);border-radius:12px;background:var(--md-surface-container-low);box-shadow:none}
body.android .tk-card:active{transform:none;background:var(--md-surface-container-high)}

/* ─── Bottom Sheet (Dialoge) ─── */
body.android .modal-bg{background:rgba(0,0,0,.32);-webkit-backdrop-filter:none;backdrop-filter:none}
body.android .modal,body.android .modal-lg{border-radius:28px 28px 0 0;background:var(--md-surface-container-low);box-shadow:0 -2px 12px rgba(0,0,0,.18);animation:mdSheetIn .3s cubic-bezier(.05,.7,.1,1)}
@keyframes mdSheetIn{from{transform:translateY(100%)}to{transform:none}}
body.android .modal-head{padding:26px 24px 12px;border-bottom:0}
body.android .modal-head::before{top:10px;width:32px;height:4px;margin-left:-16px;border-radius:2px;background:var(--md-outline)}
body.android .modal-head h2{font-size:22px;font-weight:400;letter-spacing:0}
body.android .modal-close{width:48px;height:48px;background:transparent;color:var(--md-on-surface-variant);font-size:26px;margin:-8px -12px -8px 0}
body.android .modal-close:active{background:rgba(27,27,31,.12)}
body.android .modal-body{padding:8px 24px 16px}
body.android .modal-foot{padding:12px 24px calc(16px + env(safe-area-inset-bottom));border-top:0;background:transparent;border-radius:0;gap:8px}
body.android .confirm-bg{align-items:center}
body.android .confirm-box{border-radius:28px;background:var(--md-surface-container-high);padding:24px 24px 16px;text-align:left;max-width:312px}
body.android .confirm-box h3{font-size:24px;font-weight:400;margin-bottom:16px}
body.android .confirm-box p{font-size:14px;letter-spacing:.25px;color:var(--md-on-surface-variant)}
body.android .confirm-btns{margin:0;border-top:0;gap:8px;justify-content:flex-end}
body.android .confirm-btns .btn{flex:0 0 auto;background:transparent;color:var(--md-primary);font-weight:500;padding:10px 12px;font-size:14px;border:0;min-height:40px}
body.android .confirm-btns .btn-danger{color:var(--md-error);border-left:0}
body.android .action-menu{border-radius:12px;border:0;background:var(--md-surface-container);box-shadow:0 2px 10px rgba(0,0,0,.22);padding:8px 0}
body.android .action-menu button{font-size:16px;letter-spacing:.5px;padding:14px 16px;min-height:48px;border-bottom:0;border-radius:0;color:var(--md-on-surface)}
body.android .action-menu button:active{background:rgba(27,27,31,.10)}

/* ─── Snackbar (unten, über der Navigation Bar) ─── */
body.android .toast-container{top:auto;bottom:calc(var(--ios-bottom) + 8px);left:8px;right:8px;align-items:stretch}
body.android .toast{background:#303033;color:#F3F0F4;border-radius:4px;box-shadow:0 3px 8px rgba(0,0,0,.3);font-size:14px;letter-spacing:.25px;padding:14px 16px;min-height:48px;animation:mdSnackIn .25s cubic-bezier(.05,.7,.1,1)}
body.android .toast.success,body.android .toast.error{box-shadow:0 3px 8px rgba(0,0,0,.3)}
body.android.ios-tabbar-hidden .toast-container{bottom:calc(env(safe-area-inset-bottom) + 12px)}
@keyframes mdSnackIn{from{transform:translateY(16px);opacity:0}to{transform:none;opacity:1}}

/* ─── Chat ─── */
body.android .chat-back-btn{color:var(--md-on-surface);font-size:24px;min-width:48px;min-height:48px}
body.android .chat-bubble{border-radius:16px;box-shadow:none}
body.android .chat-avatar{background:var(--md-primary-container);color:var(--md-on-primary-container)}
body.android .chat-new-fab{width:56px;height:56px;border-radius:16px;background:var(--md-primary-container);color:var(--md-on-primary-container);box-shadow:0 3px 8px rgba(0,0,0,.22)}
body.android .chat-item{min-height:72px}

@media(prefers-reduced-motion:reduce){body.android *{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* ═══ v2.08 – Belege/Umsatz nach Material 3 (48 dp Touch-Ziele, gefüllte Felder, Snackbar bleibt über der Leiste) ═══ */
body.android .bl-pos{border-radius:16px;border:0;background:var(--md-surface-container-low)}
body.android .bl-konfig{border-left:0;box-shadow:inset 4px 0 0 var(--md-primary)}
body.android .bl-groessen{border:1px solid var(--md-outline-variant);border-radius:12px;background:var(--white,#fff)}
body.android .bl-pos-akt .btn-ghost,body.android .bl-gr-zeile>.btn-ghost{min-width:48px;min-height:48px;border-radius:24px}
body.android .bl-gr-zeile input,body.android .bl-zusatz input,body.android .bl-preis input,body.android .bl-preis select,body.android #belegModal input,body.android #belegModal select,body.android #belegModal textarea,body.android #belegAktionModal input,body.android #belegAktionModal select,body.android #belegAktionModal textarea,body.android #pg-belege input,body.android #pg-belege select{min-height:56px;border-radius:4px;border:1px solid var(--md-outline);background:var(--white,#fff)}
body.android .bl-gr-zeile input:focus,body.android #belegModal input:focus,body.android #belegModal select:focus,body.android #belegModal textarea:focus{border-color:var(--md-primary);box-shadow:inset 0 0 0 1px var(--md-primary);outline:0}
body.android .ums-kachel{border:0;border-radius:16px;background:var(--md-surface-container-low)}
body.android #belegModal .modal-foot .btn,body.android #belegAktionModal .modal-foot .btn,body.android #umsatzModal .modal-foot .btn{min-height:48px;border-radius:24px}
/* ═══ v2.21 – Ablauf Ausbau/Werkstatt/Einbau/Aufmaß (Material 3: 48 dp Touch-Ziele, Felder mit Rahmen) ═══ */
body.android .dok-chip{min-height:48px;border-radius:24px}
body.android .dok-switch{min-height:48px}
body.android .am-zeile{border-radius:16px;background:var(--md-surface-container-low)}
body.android .am-btn{min-width:48px;min-height:48px;border-radius:24px}
body.android .am-zeile input,body.android .am-zeile select,body.android .ta-block input[type=text],body.android .ta-block select,body.android .wk-notiz,body.android .wk-zuordnung{min-height:56px;border:1px solid var(--md-outline);border-radius:4px;background:var(--white,#fff)}

body.android .wk-status-zelle .btn-ghost,body.android .table-wrap td .btn-ghost{min-width:48px;min-height:48px}

body.android #belegAktionBody .bl-mehr{display:flex;flex-direction:column;gap:8px}
body.android #belegAktionBody .bl-mehr .btn{width:100%;justify-content:flex-start;min-height:56px;border-radius:28px}

body.android .dok-pos-del{min-width:48px;min-height:48px}
body.android .dok-undo .btn{min-height:48px}

body.android .btn-sm{min-height:48px;min-width:48px}
body.android input[type=date],body.android input[type=time]{min-height:56px}

body.android .tab-btn{min-height:48px}
