/* Reset, CSS-Variablen, Grund-Layout (Bildschirm-Rahmen, Kopfleiste). */
:root{
  --brand:#2b6cb0; --brand-d:#20517f; --bg:#eef2f4; --card:#ffffff;
  --ink:#1c2a30; --mut:#6b7c84; --line:#e2e8eb;
  --offen:#e0a500; --offen-bg:#fdf4dc;       /* Status offen = gelb */
  --gebucht:#2e9e5b; --gebucht-bg:#e7f6ed;    /* Status gebucht = gruen */
  --fehler:#d63b3b; --fehler-bg:#fdeaea;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{color-scheme:only light}
html,body{height:100%;color-scheme:only light}
body{margin:0;font-family:-apple-system,"Segoe UI",Roboto,system-ui,sans-serif;
     background:var(--bg);color:var(--ink);overflow:hidden}
.wrap{max-width:480px;margin:0 auto;height:100vh;height:100dvh;background:var(--bg);position:relative;
      display:flex;flex-direction:column;overflow:hidden}
.hide{display:none!important}
button{font:inherit;cursor:pointer;border:none}

#lade,#login,#betrieb,#app{flex:1;display:flex;flex-direction:column;min-height:0}
.top{background:var(--brand);color:#fff;padding:14px 18px 12px;flex:none;
     display:flex;align-items:center;justify-content:space-between}
.top .hi{font-size:17px;font-weight:600}
.body{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:14px 14px 16px}

/* Generische Layout-Hilfen (ersetzen inline style="...") */
.center{text-align:center}
.row{display:flex;align-items:center;gap:10px}
.row-8{display:flex;gap:8px}
.row-between{display:flex;align-items:center;justify-content:space-between}
.flex1{flex:1}
.m0{margin:0}
.mb-8{margin-bottom:8px}
.mt-2{margin-top:2px}
.mt-6{margin-top:6px}
