/* Mobile Bedienung und Web-App (iPhone): ergaenzt style.css, ohne es umzubauen. Eingebunden ueber pwa_head_html() (lib.php). */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{overflow-x:hidden}
img,svg,video,canvas{max-width:100%}

/* Notch und Home-Indikator (viewport-fit=cover) */
.nav .in{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}
.wrap{padding-bottom:calc(60px + env(safe-area-inset-bottom))}
@supports (padding:max(0px)){.wrap{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}}
html.standalone .nav{padding-top:env(safe-area-inset-top)}

/* Update-Hinweis (pwa.js) */
.pwa-update{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:60;display:flex;align-items:center;gap:10px;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:10px 12px;max-width:460px;margin:0 auto}
.pwa-update span{flex:1;font-weight:600;font-size:14px}
.pwa-update .pwa-x{background:none;border:0;color:var(--muted);font-size:24px;line-height:1;width:44px;height:44px;cursor:pointer}

/* Anleitung (?p=app) */
.steps{margin:0 0 12px;padding-left:22px}.steps li{margin:0 0 8px}
.card h3{font-size:15px;margin:14px 0 6px}
.qrbox{background:#fff;border-radius:12px;padding:6px;line-height:0;display:inline-block;margin:6px 0}
.qrbox svg{width:200px;height:auto}

@media (max-width:1400px){
  /* Hamburger-Menue (bis 1400 px, damit die Leiste auf Laptops nie breiter als das Fenster wird): grosse Tippflaechen */
  .nav .burger{width:44px;height:44px}
  .nav .t,.nav button.t{min-height:44px}
  .nav .ddm a,.nav .ddm .mi{min-height:44px}
  .nav .ico{min-height:44px}
  .nav .menu{max-height:calc(100vh - 64px - env(safe-area-inset-top));max-height:calc(100dvh - 64px - env(safe-area-inset-top));-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
  /* Symbol-Knoepfe im aufgeklappten Menue mit sichtbarem Text */
  .nav [data-goto-open]::after{content:"Seite suchen"}
  .nav .hd-open::after{content:"Hilfe"}
  .nav .belldd>.ico::after{content:"F\00e4lliges"}
  .nav .belldd>.ico .badge{order:2}
  .nav .ico::after{font:550 14px var(--font);color:var(--text)}
}
@media (max-width:720px){
  /* Kennzahl-Kacheln zweispaltig und flacher statt einzeln gestapelt */
  .stats,.stats4{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .card.stat,.stat.card{padding:12px}
  .stat .n{font-size:24px}
}

@media (max-width:720px){
  .wrap{padding-top:16px}
  /* Tabellen: seitlich wischen statt die Seite zu verbreitern */
  table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .head{flex-wrap:wrap}
  .head h1{font-size:24px}
  .row{gap:8px}
  .card{padding:16px 14px}
  .grid2,.grid3,.grid2c{grid-template-columns:minmax(0,1fr)}
  pre,code,.url{max-width:100%;overflow-x:auto}
  .grow,.ell,.row>*,.card,.wrap>*{min-width:0}
  select,input,textarea{max-width:100%}
  .wrap{overflow-wrap:break-word}
  .doc .th{height:110px}
  .docs{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
}

/* Touch-Geraete: mindestens 44 px Tippflaeche, 16 px Schrift in Feldern (verhindert den Zoom von iOS beim Fokussieren) */
@media (pointer:coarse),(max-width:720px){
  input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=submit]):not([type=button]):not([type=hidden]),select,textarea{font-size:16px!important;min-height:44px}
  textarea{min-height:88px}
  .btn,.btn.sm,button.btn,a.btn{min-height:44px;padding-top:10px;padding-bottom:10px}
  .filters a{min-height:44px;display:inline-flex;align-items:center}
  input[type=checkbox],input[type=radio]{width:22px;height:22px}
  td a,th a{display:inline-block;padding:12px 0}
  .check{position:relative}.check::after{content:"";position:absolute;inset:-11px}   /* Kreis bleibt 22 px, Tippflaeche 44 px */
  a.pill,a.more{position:relative}a.pill::after,a.more::after{content:"";position:absolute;left:0;right:0;top:-11px;bottom:-11px}
}
@media (pointer:coarse){
  .nav .brand{min-height:44px;display:inline-flex;align-items:center}
}
