/* ════════════════════════════════════════════════════════════════════
   gema_bestand.css — Übersicht «Fällig zuerst» (Design 1b, 01.10.2026)
   Werkzeug- und Fahrzeugmanagement teilen denselben Aufbau:
     Kopf (Titel, Zählzeile, Knöpfe, «Mehr»-Menü)
     → Arbeitsliste (drei Spalten mit Direktaktion)
     → Bestand (Suche, Filter-Chips, gruppierte Tabelle mit «⋯»).
   Die Akzentfarbe setzt die Seite über --gb-ak / --gb-ak-bg / --gb-ak-bd
   am Container .gb-seite. Alle Farben literal (Druck/Raster).
   Einbinden NACH dem eigenen <style> und VOR gema_responsive.css.
   ════════════════════════════════════════════════════════════════════ */

.gb-seite{--gb-ak:#7c3aed;--gb-ak-bg:#fdf4ff;--gb-ak-bd:#c4b5fd;--gb-txt:#111827;--gb-txt2:#374151;--gb-mut:#6b7280;--gb-mut2:#9ca3af;--gb-brd:#e2e7f0;--gb-brd2:#cdd4e4;--gb-lin:#edf0f7}

/* ── Kopf ─────────────────────────────────────────────────────────── */
.gb-seite .hero.gb-kopf{background:none;border:none;box-shadow:none;padding:0;margin:0 0 18px;border-radius:0;overflow:visible}
.gb-seite .hero.gb-kopf::before,.gb-seite .hero.gb-kopf::after{display:none;content:none}
/* z-index:auto — ohne eigene Stapelebene liegt das «Mehr»-Menü über dem
   Bestand und nicht in der Ebene des Kopfs gefangen */
.gb-kopf .hero-in{display:flex;align-items:center;gap:14px;flex-wrap:nowrap;justify-content:flex-start;z-index:auto}
.gb-kopf .hero-left{display:flex;align-items:center;gap:14px;flex:1 1 auto;min-width:0}
.gb-kopf .hero-left>div{min-width:0}
.gb-kopf .hero-ic{width:42px;height:42px;border-radius:12px;background:var(--gb-ak-bg);border:1.5px solid var(--gb-ak-bd);display:flex;align-items:center;justify-content:center;font-size:21px;flex-shrink:0}
.gb-kopf .hero-title{font-size:22px;font-weight:900;letter-spacing:-.5px;color:var(--gb-txt);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gb-kopf .hero-sub{font-size:12.5px;color:var(--gb-mut);margin-top:2px;line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gb-kopf .hero-sub b{font-weight:700;color:var(--gb-txt2)}
.gb-akt{display:flex;align-items:center;gap:8px;flex-shrink:0}
.gb-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 15px;border-radius:9px;border:1.5px solid var(--gb-brd2);background:#fff;color:var(--gb-txt2);font-size:13px;font-weight:700;font-family:inherit;cursor:pointer;white-space:nowrap;line-height:1.2;min-height:38px;box-sizing:border-box}
.gb-btn:hover{border-color:var(--gb-ak-bd);background:#fafbff}
.gb-btn .gb-pfeil{font-size:10px;color:var(--gb-mut2)}
.gb-btn.gb-haupt{padding:10px 18px;border:none;background:var(--gb-ak);color:#fff;font-size:13.5px;font-weight:800}
.gb-btn.gb-haupt:hover{filter:brightness(1.06);background:var(--gb-ak)}
.gb-btn[aria-expanded="true"]{border-color:var(--gb-ak);color:var(--gb-ak)}

/* «Mehr»-Menü: die bestehenden Knöpfe der Seite (IDs, onclick und
   Rollen-Sichtbarkeit unverändert) stehen gruppiert in einem Aufklapper.
   Ein Knopf, den die Rolle ausblendet (Inline display:none), bleibt aus;
   eine Gruppe ohne sichtbaren Eintrag blendet gema_bestand.js aus. */
.gb-mehr{position:relative;display:inline-flex}
.gb-menu{display:none;position:absolute;right:0;top:calc(100% + 6px);z-index:1200;min-width:270px;max-width:min(340px,calc(100vw - 24px));max-height:calc(100vh - 160px);overflow-y:auto;background:#fff;border:1px solid var(--gb-brd);border-radius:12px;box-shadow:0 16px 40px rgba(15,23,42,.18),0 2px 6px rgba(15,23,42,.08);padding:6px;box-sizing:border-box;text-align:left}
.gb-mehr.offen>.gb-menu{display:block}
.gb-menu-grp{display:block;padding:9px 10px 4px;font-size:10.5px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--gb-mut2)}
.gb-menu-grp:first-child{padding-top:4px}
.gb-menu-grp.gb-leer{display:none}
.gb-menu>button,.gb-menu .gb-mi{display:flex;width:100%;align-items:center;gap:8px;padding:9px 10px!important;margin:0!important;border:none!important;border-radius:8px!important;background:none!important;color:var(--gb-txt2)!important;font-size:13px!important;font-weight:600!important;font-family:inherit;text-align:left;cursor:pointer;min-height:36px;box-shadow:none!important;white-space:normal;line-height:1.3;box-sizing:border-box}
.gb-menu>button:hover,.gb-menu .gb-mi:hover,.gb-menu>button:focus-visible{background:#f4f6fb!important}
.gb-menu .gb-mi-zus{margin-left:auto;font-size:11px;font-weight:800;color:var(--gb-mut2)}
.gb-menu-ansicht{display:flex;gap:6px;padding:4px 6px 6px}
.gb-menu-ansicht>button{flex:1 1 0;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;border-radius:9px;border:1.5px solid var(--gb-brd);background:#fff;color:var(--gb-txt2);font-size:16px;font-weight:700;cursor:pointer;font-family:inherit;min-height:0;line-height:1.1}
.gb-menu-ansicht>button span{font-size:11px;font-weight:700}
.gb-menu-ansicht>button.active{border-color:var(--gb-ak);background:var(--gb-ak-bg);color:var(--gb-ak)}

/* ── Arbeitsliste ─────────────────────────────────────────────────── */
.gb-arbeit{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 24px}
.gb-ak-karte{background:#fff;border:1px solid var(--gb-brd);border-radius:14px;box-shadow:0 1px 4px rgba(0,0,0,.07);display:flex;flex-direction:column;overflow:hidden;min-width:0}
.gb-ak-kopf{display:flex;align-items:center;gap:8px;padding:14px 16px 10px;width:100%;background:none;border:none;font-family:inherit;text-align:left;cursor:default;color:var(--gb-txt)}
.gb-ak-punkt{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.gb-ak-titel{font-size:13.5px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gb-ak-zahl{font-size:12px;font-weight:800;padding:1px 8px;border-radius:999px;flex-shrink:0;min-width:1ch;text-align:center}
.gb-ak-zahl .gema-sk{display:inline-block;width:14px;height:12px;vertical-align:-1px}
.gb-ak-cx{display:none;margin-left:auto;font-size:10px;color:var(--gb-mut2)}
.gb-ak-info{margin-left:auto;font-size:11px;color:var(--gb-mut2);cursor:help}
.gb-ak-body{display:flex;flex-direction:column;flex:1 1 auto}
.gb-ak-zeile{display:flex;align-items:center;gap:10px;padding:9px 16px;border-top:1px solid var(--gb-lin);min-width:0}
.gb-ak-zeile.gb-klick{cursor:pointer}
.gb-ak-zeile.gb-klick:hover{background:#f8faff}
.gb-ak-ic{width:32px;height:32px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0;border:1px solid transparent;overflow:hidden;box-sizing:border-box}
.gb-ak-ic img{width:100%;height:100%;object-fit:cover}
.gb-ak-txt{flex:1 1 auto;min-width:0}
.gb-ak-name{font-size:13px;font-weight:700;color:var(--gb-txt);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gb-ak-zusatz{font-weight:500;color:var(--gb-mut);font-size:11.5px}
.gb-ak-sub{font-size:11.5px;font-weight:600;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gb-ak-btn{flex-shrink:0;padding:6px 10px;border-radius:8px;border:1.5px solid var(--gb-ak-bd);background:var(--gb-ak-bg);color:var(--gb-ak);font-size:11.5px;font-weight:800;font-family:inherit;cursor:pointer;white-space:nowrap;line-height:1.2}
.gb-ak-btn:hover{background:var(--gb-ak);color:#fff;border-color:var(--gb-ak)}
.gb-ak-leer{padding:12px 16px 14px;border-top:1px solid var(--gb-lin);font-size:12px;color:var(--gb-mut);line-height:1.45}
.gb-ak-fuss{margin-top:auto;display:block;width:100%;text-align:left;padding:10px 16px;border:none;border-top:1px solid var(--gb-lin);background:none;font-size:12px;font-weight:700;color:var(--gb-ak);font-family:inherit;cursor:pointer}
.gb-ak-fuss:hover{background:#f8faff}
.gb-ak-fuss[disabled]{color:var(--gb-mut2);cursor:default;background:none}

/* ── Bestand: Leiste ──────────────────────────────────────────────── */
.gb-leiste{display:flex;align-items:center;gap:8px;margin:6px 0 12px;flex-wrap:nowrap}
.gb-leiste-titel{font-size:16px;font-weight:800;color:var(--gb-txt);margin-right:8px;flex-shrink:0;white-space:nowrap}
.gb-leiste-n{font-size:12.5px;font-weight:600;color:var(--gb-mut);margin-left:4px}
.gb-leiste-n:not(:empty)::before{content:"· "}
.gb-suche{flex:1 1 220px;min-width:0;display:flex;align-items:center;gap:8px;background:#fff;border:1.5px solid var(--gb-brd2);border-radius:10px;padding:0 12px;height:38px;box-sizing:border-box}
.gb-suche:focus-within{border-color:var(--gb-ak)}
.gb-suche>span{color:var(--gb-mut2);font-size:14px;flex-shrink:0}
.gb-suche input{flex:1 1 auto;min-width:0;border:none;outline:none;background:none;font-size:13.5px;font-family:inherit;color:var(--gb-txt);padding:0;height:100%}
.gb-suche input::placeholder{color:var(--gb-mut2)}
.gb-chips{display:flex;align-items:center;gap:8px;flex-shrink:0}
/* Chip = echtes <select> (native Auswahl, auf dem Handy die Systemliste) */
.gb-chip{appearance:none;-webkit-appearance:none;height:38px;padding:0 28px 0 12px;border-radius:10px;border:1.5px solid var(--gb-brd2);background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%239ca3af' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 11px center;color:var(--gb-txt2);font-size:12.5px;font-weight:600;font-family:inherit;cursor:pointer;max-width:240px;text-overflow:ellipsis;box-sizing:border-box;line-height:1.2}
.gb-chip:focus{outline:none;border-color:var(--gb-ak)}
.gb-chip.an{border-color:var(--gb-ak);background-color:var(--gb-ak-bg);color:var(--gb-ak);font-weight:700}
button.gb-chip{background-image:none;padding:0 12px;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.gb-chip .gb-chip-ct{font-size:10px;font-weight:800;padding:1px 6px;border-radius:6px;background:var(--gb-ak);color:#fff}
button.gb-chip.gb-chip-x{color:#b91c1c;border-color:#fecaca;background:#fff}
button.gb-chip.gb-chip-x:hover{background:#fef2f2}
/* aktiver Schnellfilter aus der Arbeitsliste (✕ hebt ihn auf) */
.gb-aktiv{display:flex;flex-wrap:wrap;gap:6px;margin:-4px 0 10px}
.gb-aktiv:empty{display:none}
.gb-aktiv button{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;border:1.5px solid var(--gb-ak-bd);background:var(--gb-ak-bg);color:var(--gb-ak);font-size:12px;font-weight:700;font-family:inherit;cursor:pointer}

/* ── Bestand: Tabelle (Desktop) / Liste (Handy) ───────────────────── */
.gb-tab{background:#fff;border:1px solid var(--gb-brd);border-radius:14px;overflow:hidden;box-shadow:0 1px 4px rgba(0,0,0,.07)}
.gb-thead{display:none}
/* Spaltenkopf erst ab 900 px; die Spalten (grid-template-columns) legt die
   Seite fest. Sie bindet dieses Blatt NACH ihrem <style> ein — darum steht
   die Anzeige hier, sonst bliebe der Kopf auch am Desktop verborgen. */
@media(min-width:900px){.gb-thead{display:grid}}
.gb-thead>div,.gb-thead>button{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:var(--gb-mut);background:none;border:none;padding:0;text-align:left;font-family:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gb-thead>button{cursor:pointer}
.gb-thead>button:hover{color:var(--gb-txt2)}
.gb-thead>button.is-sort{color:var(--gb-ak)}
.gb-thead .th-ar{margin-left:4px;font-size:9px}
.gb-grp{display:flex;align-items:center;gap:8px;width:100%;padding:9px 18px;background:#f4f6fb;border:none;border-bottom:1px solid var(--gb-brd);font-size:12.5px;font-weight:800;color:var(--gb-txt2);cursor:pointer;font-family:inherit;text-align:left;box-sizing:border-box}
.gb-grp:hover{background:#eef1f8}
.gb-grp .gb-grp-cx{font-size:10px;color:var(--gb-mut2);width:12px;flex-shrink:0}
.gb-grp .gb-grp-n{font-weight:600;color:var(--gb-mut2)}
.gb-grp .gb-grp-al{margin-left:6px;font-size:11px;font-weight:800;padding:1px 8px;border-radius:999px;background:#fef2f2;color:#dc2626}
.gb-grp .gb-grp-al.amb{background:#fffbeb;color:#d97706}
.gb-zm{flex-shrink:0;width:36px;height:32px;border-radius:8px;border:none;background:none;color:var(--gb-mut2);font-size:16px;font-weight:800;cursor:pointer;font-family:inherit;line-height:1;display:inline-flex;align-items:center;justify-content:center;letter-spacing:1px}
.gb-zm:hover,.gb-zm[aria-expanded="true"]{background:#eef1f8;color:var(--gb-txt2)}
.gb-pill{display:inline-block;padding:3px 9px;border-radius:7px;font-size:11.5px;font-weight:700;border:1px solid transparent;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;box-sizing:border-box}
.gb-fuss{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:11px 18px;border-top:1px solid var(--gb-lin);background:#fafbfe;font-size:12.5px;color:var(--gb-mut)}
.gb-fuss:empty{display:none}
.gb-fuss.gb-frei{border:1px solid var(--gb-brd);border-radius:12px;margin-top:12px}
.gb-fuss button{padding:5px 11px;border-radius:8px;border:1.5px solid var(--gb-brd2);background:#fff;color:var(--gb-txt2);font-size:12px;font-weight:700;font-family:inherit;cursor:pointer}
.gb-fuss button:hover{border-color:var(--gb-ak-bd);color:var(--gb-ak)}

/* Farbtöne (Pillen, Icon-Kacheln, Unterzeilen) */
.gb-t-red{background:#fef2f2;color:#dc2626;border-color:#fecaca}
.gb-t-amb{background:#fffbeb;color:#d97706;border-color:#fde68a}
.gb-t-grn{background:#f0fdf4;color:#16a34a;border-color:#bbf7d0}
.gb-t-mut{background:#edf0f7;color:#6b7280;border-color:#cdd4e4}
.gb-t-blue{background:#eff6ff;color:#2563eb;border-color:#93c5fd}
.gb-t-cyan{background:#ecfeff;color:#0891b2;border-color:#a5f3fc}
.gb-t-pur{background:#f5f3ff;color:#7c3aed;border-color:#ddd6fe}
.gb-t-org{background:#fff7ed;color:#c2410c;border-color:#fed7aa}
.gb-t-lend{background:#fefce8;color:#92400e;border-color:#fde68a}
.gb-c-red{color:#dc2626}.gb-c-amb{color:#d97706}.gb-c-grn{color:#16a34a}.gb-c-mut{color:#6b7280}.gb-c-blue{color:#2563eb}.gb-c-org{color:#c2410c}.gb-c-lend{color:#92400e}

/* ── Zeilenmenü «⋯» (schwebend, an den Knopf geheftet) ─────────────── */
.gb-zmenu{position:fixed;z-index:1250;min-width:230px;max-width:min(320px,calc(100vw - 24px));max-height:min(420px,calc(100vh - 24px));overflow-y:auto;background:#fff;border:1px solid var(--gb-brd,#e2e7f0);border-radius:12px;box-shadow:0 16px 40px rgba(15,23,42,.2),0 2px 6px rgba(15,23,42,.08);padding:6px;box-sizing:border-box;font-family:inherit}
.gb-zmenu-kopf{padding:6px 10px 6px;font-size:11.5px;font-weight:800;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-bottom:1px solid #edf0f7;margin-bottom:4px}
.gb-zmenu button{display:flex;width:100%;align-items:center;gap:8px;padding:9px 10px;border:none;border-radius:8px;background:none;color:#374151;font-size:13px;font-weight:600;font-family:inherit;text-align:left;cursor:pointer;min-height:36px;line-height:1.3}
.gb-zmenu button:hover,.gb-zmenu button:focus-visible{background:#f4f6fb;outline:none}
.gb-zmenu button.gb-gefahr{color:#b91c1c}
.gb-zmenu-trenn{height:1px;background:#edf0f7;margin:4px 6px}
.gb-zm-bg{position:fixed;inset:0;z-index:1190;background:transparent}

/* gema_responsive.css setzt jedes Feld auf 16px !important (iOS-Zoom beim
   Fokus). Am Gerät mit Maus gibt es diesen Zoom nicht — dort tragen Chips und
   Suche die Grösse des Designs, sonst walzen die Chips die Suche zusammen. */
@media (hover:hover) and (pointer:fine) and (min-width:641px){
  .gb-leiste select.gb-chip,.gb-leiste .gb-suche input{font-size:13px!important}
}

/* ── Tablet (641–1023 px): Arbeitsliste zweispaltig ───────────────── */
@media (max-width:1023px){
  .gb-arbeit{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gb-arbeit>.gb-ak-karte:nth-child(3){grid-column:1/-1}
  .gb-leiste{flex-wrap:wrap}
  .gb-leiste-titel{flex-basis:100%}
  .gb-chips{flex-wrap:wrap}
}

/* ── Handy (≤640 px) ──────────────────────────────────────────────── */
@media (max-width:640px){
  .gb-seite .hero.gb-kopf{margin:0 0 10px!important;padding:0!important;border-radius:0!important}
  .gb-kopf .hero-in{flex-wrap:wrap!important;gap:8px 10px!important}
  .gb-kopf .hero-left{flex:1 1 0;gap:10px}
  .gb-kopf .hero-ic{width:34px!important;height:34px!important;font-size:17px!important;border-radius:9px}
  .gb-kopf .hero-title{font-size:17px!important}
  .gb-akt{flex:1 1 100%;gap:6px}
  .gb-akt .gb-btn{padding:7px 10px;font-size:12.5px;min-height:36px;border-radius:9px}
  .gb-akt .gb-btn.gb-haupt{margin-left:auto;padding:8px 13px}
  .gb-akt .gb-lang{display:none}
  /* Menü als Blatt von unten */
  .gb-mehr{position:static}
  .gb-menu{position:fixed;left:0;right:0;bottom:0;top:auto;max-width:none;min-width:0;max-height:78vh;border-radius:16px 16px 0 0;padding:8px 10px calc(14px + env(safe-area-inset-bottom,0px));box-shadow:0 -10px 40px rgba(15,23,42,.25)}
  .gb-menu>button,.gb-menu .gb-mi{min-height:44px;font-size:14px!important}
  .gb-mehr.offen::before{content:'';position:fixed;inset:0;background:rgba(15,23,42,.35);z-index:1190}
  /* Arbeitsliste: drei Zusammenfassungen nebeneinander, Antippen klappt
     die Spalte darunter auf (Akkordeon) — so beginnt der Bestand im ersten
     Bildschirm. */
  .gb-arbeit{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin:0 0 12px}
  .gb-arbeit>.gb-ak-karte,.gb-arbeit>.gb-ak-karte:nth-child(3){grid-column:span 2}
  /* ist eine Spalte offen, teilen sich die beiden anderen die Zeile darunter */
  .gb-arbeit:has(>.gb-ak-karte.auf)>.gb-ak-karte:not(.auf){grid-column:span 3}
  .gb-ak-karte{border-radius:11px;box-shadow:none}
  .gb-ak-kopf{padding:8px 8px;gap:5px;cursor:pointer;flex-wrap:nowrap}
  .gb-ak-titel{font-size:11.5px;flex:1 1 auto;min-width:0}
  .gb-ak-zahl{font-size:11px;padding:1px 6px}
  .gb-ak-info{display:none}
  .gb-ak-body{display:none}
  .gb-arbeit>.gb-ak-karte.auf{grid-column:1/-1;order:-1}
  .gb-ak-karte.auf .gb-ak-body{display:flex}
  .gb-ak-karte.auf .gb-ak-titel{font-size:13px}
  .gb-ak-karte.auf .gb-ak-cx{display:inline}
  .gb-ak-zeile{padding:8px 10px;gap:8px}
  .gb-ak-btn{padding:7px 9px;min-height:34px}
  .gb-ak-fuss{padding:10px 12px}
  .gb-leiste{flex-wrap:wrap;gap:6px;margin:0 0 8px}
  .gb-leiste-titel{flex-basis:100%;font-size:13px;margin:0 0 -2px}
  .gb-suche{flex:1 1 100%;height:40px}
  .gb-suche input{font-size:16px}
  .gb-chips{flex:1 1 100%;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}
  .gb-chips::-webkit-scrollbar{display:none}
  .gb-chip{height:36px;flex-shrink:0;max-width:170px;font-size:16px}
  button.gb-chip{font-size:13px}
  .gb-grp{padding:8px 12px}
  .gb-fuss{padding:10px 12px}
  .gb-zmenu{left:0!important;right:0!important;top:auto!important;bottom:0!important;max-width:none;max-height:75vh;border-radius:16px 16px 0 0;padding:8px 10px calc(14px + env(safe-area-inset-bottom,0px))}
  .gb-zmenu button{min-height:44px;font-size:14px}
  .gb-zm-bg{background:rgba(15,23,42,.35)}
}

@media print{
  .gb-akt,.gb-arbeit,.gb-leiste,.gb-aktiv,.gb-zm,.gb-fuss button,.gb-menu,.gb-zmenu,.gb-zm-bg{display:none!important}
}
