/* 03-projekt-allgemein.css · Teil 3 von 19 · Export-Kacheln, Aktionszeilen, Drive-Freigaben, Dropdowns, Bearbeiten-Knopf, Crew-Kreuz. Reihenfolge der Dateien = Kaskade (index.html), nicht umsortieren. */
/* Export-Kacheln */
.exp-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:12px; align-items:stretch; }
.exp-k { border:1px solid var(--border); border-radius:10px; padding:12px 14px; background:#fff; display:flex; flex-direction:column; }
.exp-kopf { font-size:13px; color:var(--navy); margin-bottom:4px; }
.exp-txt { font-size:12px; color:var(--muted); margin-bottom:8px; }
/* Aktionszeile: immer unten, alle Aktionen einheitlich hoch */
.exp-akt { margin-top:auto; display:flex; flex-wrap:wrap; align-items:center; gap:6px; min-height:34px; }
.exp-akt .btn, .exp-akt .btn.sec, .exp-akt .p-link {
  height:32px; padding:0 14px; display:inline-flex; align-items:center; justify-content:center;
  font-size:12.5px; font-weight:600; border-radius:8px; margin:0; box-sizing:border-box; white-space:nowrap; }
.exp-akt .btn.sec { border:1px solid var(--border); }
.exp-akt .p-link { border:1px solid var(--pink); background:#fff; }
.exp-off { font-size:12px; color:var(--muted); font-style:italic; align-self:center; }
/* Drive-Freigaben */
.fg-links { display:flex; flex-wrap:wrap; gap:6px 16px; margin-bottom:10px; font-size:13px; }
.fg-box { border:1px solid var(--border); border-radius:10px; padding:10px 12px; margin-bottom:6px; }
.fg-box-t { font-size:11px; font-weight:700; text-transform:uppercase; color:var(--muted); letter-spacing:.03em; margin-bottom:6px; }
.fg-oids { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:8px; }
.fg-oid { font-family:"IBM Plex Mono",monospace; font-size:11px; background:#EEF0FB; color:#3C3489; padding:2px 8px; border-radius:99px; }
.fg-oid a { color:#8A8FA3; text-decoration:none; }
.fg-add { display:flex; gap:8px; }
.fg-add input { flex:1; min-width:160px; padding:8px 10px; border:1px solid var(--border); border-radius:8px; font-size:13px; font-family:inherit; }
.fg-add input:focus { outline:none; border-color:var(--cyan); box-shadow:0 0 0 3px rgba(84,104,217,.16); }
.fg-muted { font-size:11.5px; color:var(--muted); }
.fg-err { font-size:11.5px; color:#B4232A; }
.fg-bulk { display:flex; align-items:center; gap:10px; font-size:13px; padding:8px 10px; border-radius:8px;
  background:#FDECEE; color:#8A2020; margin-bottom:10px; flex-wrap:wrap; }
.fg-bulk.ok { background:#E7F6EF; color:#0A6B49; }
.fg-bulk .btn { padding:3px 10px; }
.fg-tree { border:1px solid var(--border); border-radius:10px; overflow:hidden; }
.fg-wurzel { border-top:1px solid #EEF0F4; }
.fg-wurzel:first-child { border-top:none; }
.fg-wlabel { font-size:10.5px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:var(--muted);
  background:#F7F8FB; padding:4px 12px; }
.fg-item { display:flex; gap:10px; align-items:baseline; padding:3px 10px; font-size:12.5px; border-top:1px solid #F2F3F8; }
.fg-i-n { flex:1 1 42%; min-width:150px; }
.fg-i-n a { color:var(--navy); }
.fg-i-p { flex:1 1 54%; display:flex; flex-wrap:wrap; gap:3px 4px; align-items:baseline; }
.fg-f > summary { list-style:none; cursor:pointer; display:flex; align-items:baseline; }
.fg-f > summary::-webkit-details-marker { display:none; }
.fg-f > summary::before { content:'▸'; color:var(--muted); font-size:10px; flex:none; width:13px; padding-left:4px; }
.fg-f[open] > summary::before { content:'▾'; }
.fg-f > summary .fg-item { flex:1; }
.fg-c { margin-left:13px; border-left:1px solid #EEF0F4; }
.fg-p { font-size:11px; background:#EEF0FB; color:#3C3489; padding:1px 7px; border-radius:99px; white-space:nowrap; }
.fg-p i { font-style:normal; opacity:.7; }
.fg-p.ext { background:#FDECEE; color:#B4232A; }
.fg-p.geerbt { opacity:.6; }
.fg-p .fg-geerbt { font-size:9.5px; text-transform:uppercase; opacity:.7; margin-left:2px; }
.fg-px { color:#B4232A; text-decoration:none; font-weight:700; margin-left:4px; padding:0 3px; }
.fg-px:hover { background:rgba(180,35,42,.15); border-radius:4px; }
@media (max-width:700px){ .fg-item { flex-direction:column; gap:4px; } .fg-i-n, .fg-i-p { flex:1 1 auto; } }
@media (max-width:640px){ .dgrid { grid-template-columns:1fr; } }
.di-l { font-size:11px; font-weight:600; text-transform:uppercase; color:var(--muted); letter-spacing:.03em; }
.di-w { font-size:14px; color:#1F2430; margin-top:2px; }
.pstep { display:flex; gap:4px; }
.pstep-i { flex:1; text-align:center; }
.pstep-dot { width:26px; height:26px; line-height:26px; border-radius:50%; margin:0 auto 4px;
  background:#E3E5EE; color:#8A8FA3; font-size:12px; font-weight:700; }
.pstep-i.done .pstep-dot { background:var(--cyan); color:#04494A; }
.pstep-i.current .pstep-dot { background:var(--pink); color:#fff; }
.pstep-lbl { font-size:10px; color:var(--muted); }
.pstep-i.current .pstep-lbl { color:var(--navy); font-weight:700; }
.cl { display:flex; gap:12px; align-items:baseline; flex-wrap:wrap; padding:6px 0; font-size:14px; }
.cl-firma { color:var(--muted); }
tr.klick { cursor:pointer; }
/* Schön gestaltete Dropdowns (native select, eigener Pfeil). `.dgrid select`
   ergaenzt: dieselbe Optik wie Formularfelder gilt jetzt auch fuer Selects
   in Stammdaten-Karten (Detailseiten-Muster item()/zeile(), z.B. Venue-
   Detail "Stufe"/"Prioritaet") — vorher fielen die auf den nackten
   Browser-Standard zurueck (eckig, weiss statt der App-Optik). Bewusst
   **nicht** erweitert auf die schlanken Toolbar-Filter (Showtimings,
   Venue-Evaluation, Log/Material-Kategorie) — die bleiben absichtlich
   unbestylt/kompakt, siehe CLAUDE.md. */
.frm-row select, .crew-add select, .dgrid select {
  width:100%; padding:9px 34px 9px 12px; border:1px solid var(--border); border-radius:8px;
  font-size:14px; font-family:inherit; background-color:#fff; color:#1F2430; cursor:pointer;
  -webkit-appearance:none; -moz-appearance:none; appearance:none; line-height:1.3;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23131256' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 12px center; transition:border-color .12s, box-shadow .12s;
}
.frm-row select:hover, .crew-add select:hover, .dgrid select:hover { border-color:#AeB2C8; }
.frm-row select:focus, .crew-add select:focus, .dgrid select:focus { outline:none; border-color:var(--cyan); box-shadow:0 0 0 3px rgba(84,104,217,.16); }
.dgrid select:disabled { background-color:var(--bg); color:var(--muted); cursor:not-allowed; }
/* Bearbeiten-Knopf in Reiter-Überschrift */
.ds-t { display:flex; align-items:center; }
.ds-edit { margin-left:auto; background:#fff; border:1px solid var(--border); color:var(--navy);
  border-radius:7px; padding:4px 10px; font-size:11px; font-weight:600; cursor:pointer; font-family:inherit; text-transform:none; letter-spacing:0; }
.ds-edit:hover { border-color:var(--pink); color:var(--pink); }
/* Crew: Entfernen-Kreuz + Hinzufügen-Zeile */
.cl-x { margin-left:auto; background:none; border:none; color:#C23; font-size:13px; cursor:pointer; padding:2px 6px; border-radius:6px; }
.cl-x:hover { background:#FDECEE; }
.crew-add { display:flex; gap:8px; align-items:center; flex-wrap:wrap; margin-top:14px;
  padding-top:14px; border-top:1px dashed var(--border); }
.crew-add input:focus { outline:none; border-color:var(--cyan); box-shadow:0 0 0 3px rgba(84,104,217,.16); }
.listen-kopf { display:flex; justify-content:flex-end; margin-bottom:10px; }
/* Technikpartner-Export: Partner in der Kachel, Ergebnis im Hinweis-Dialog */
.tnp-ps { display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }
.tnp-p { font-size:12px; color:var(--navy); background:#EEF0FB; border-radius:99px; padding:2px 9px; }
.tnp-p small { color:var(--muted); }
.tnp-p.aus { background:#F3F1EC; color:var(--muted); }
.tnp-erg { margin:6px 0 0; padding-left:18px; }
.tnp-erg li { margin:4px 0; }
.tnp-hinweise { margin:4px 0 0; padding-left:16px; font-size:12px; color:var(--muted); }
.tnp-fehler { color:#B4232A; }
