/* 08-projekt-reiter.css · Teil 8 von 19 · Verknüpfte Zeilen, Team-Verwaltung, Rentman-Material, Venue-Validierung, Asana, Crew. Reihenfolge der Dateien = Kaskade (index.html), nicht umsortieren. */
/* Verknüpfte Projekt-/Objekt-Zeilen in Detailansichten */
.lp { display:flex; align-items:center; gap:10px; padding:8px 10px; border:1px solid var(--border);
  border-radius:9px; margin-bottom:6px; cursor:pointer; background:#fff; transition:border-color .1s, background .1s; }
.lp:hover { border-color:var(--pink); background:#FCFCFE; }
.lp b { color:var(--navy); }
.lp-meta { color:var(--muted); font-size:12px; margin-left:auto; }
.exp-firma-info { font-size:14px; color:var(--navy); margin-bottom:8px; }
.exp-firma-sp { display:inline-block; vertical-align:top; margin-right:24px; margin-bottom:8px; }
.exp-firma-h { font-size:11px; font-weight:700; text-transform:uppercase; color:var(--muted); margin-bottom:2px; }
.exp-firma-sp ul { margin:0; padding-left:18px; font-size:13px; }
.exp-firma-akt { margin-top:8px; }
.rolle-badge { display:inline-block; font-size:11px; font-weight:600; padding:2px 9px; border-radius:99px; background:#EEF0FB; color:#3C3489; }
.rolle-badge.r-super { background:#FDE7EC; color:#B4232A; }
.rolle-badge.r-admin { background:#FCEFE0; color:#8A5300; }
.rolle-badge.r-chef { background:#EDE9FB; color:#5B3EA6; }
.rolle-badge.r-pm { background:#E1F0FB; color:#1E4E8C; }
.rolle-badge.r-technik { background:#E7F6EF; color:#0A6B49; }
.rolle-badge.r-content { background:#E4F5F5; color:#0A6E6F; }
.rolle-badge.r-lager { background:#EEF0FB; color:#3C3489; }
.rolle-badge.r-extern { background:#ECECEF; color:#6B7280; }
/* Team-Verwaltung — kompakte Tabelle */
.team-tbl td { padding:6px 10px; vertical-align:middle; }
.team-tbl .tm-mail { display:block; font-size:11.5px; color:var(--muted); margin-top:1px; }
.team-tbl tr.tm-inaktiv td { opacity:.5; }
.tm-dot { display:inline-block; width:7px; height:7px; border-radius:50%; background:#C7C9D6; margin-right:6px; vertical-align:1px; }
.tm-dot.on { background:#3FBF6F; }
.tm-edit { background:none; border:none; cursor:pointer; font-size:13px; padding:3px 6px; border-radius:6px; opacity:.5; }
tr:hover .tm-edit { opacity:1; }
.tm-edit:hover { background:var(--bg); }
.via-badge { display:inline-block; font-size:10px; font-weight:700; padding:1px 7px; border-radius:99px; background:#FFF3E0; color:#8A5300; vertical-align:middle; }
/* Rentman-Material */
.rm-chips { display:flex; flex-wrap:wrap; gap:6px; }
.rm-chip { display:inline-flex; align-items:center; gap:6px; background:#EEF0FB; color:#3C3489; font-size:13px; font-weight:600; padding:3px 10px; border-radius:99px; }
.rm-chip a { color:#B4232A; text-decoration:none; font-weight:700; }
.mat-head { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); background:#fff; border:1px solid var(--border); border-radius:10px; margin-bottom:14px; }
.mat-head-l { padding:16px 18px; border-right:1px solid var(--border); display:flex; flex-direction:column; gap:10px; }
.mat-head-r { padding:16px 18px; display:flex; flex-direction:column; gap:10px; }
.mat-head-t { display:flex; align-items:baseline; gap:10px; }
.mat-head-t h2 { margin:0; font-size:17px; font-weight:700; color:var(--navy); }
.mat-head-t span { font-size:13px; color:var(--muted); }
.mat-head-r h2 { margin:0; font-size:13px; font-weight:700; color:var(--navy); text-transform:uppercase; letter-spacing:.03em; }
.mat-dl { margin:0; display:grid; grid-template-columns:150px minmax(0,1fr); row-gap:6px; font-size:13px; }
.mat-dl dt { color:var(--muted); }
.mat-dl dd { margin:0; }
.mat-akt { border:0; background:none; padding:0; margin-left:10px; font:inherit; font-size:13px; font-weight:600; color:var(--pink); cursor:pointer; }
.mat-akt:hover { text-decoration:underline; }
.mat-rmadd { display:flex; gap:8px; }
.mat-rmadd input { flex:1; height:34px; box-sizing:border-box; border:1px solid var(--border); border-radius:7px; padding:0 10px; font:inherit; font-size:13px; }
.mat-hint { font-size:12px; color:var(--muted); }
.mat-tools { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:10px; flex-wrap:wrap; }
.mat-suche { display:flex; align-items:center; width:280px; height:34px; box-sizing:border-box; padding:0 12px; background:#fff; border:1px solid var(--border); border-radius:8px; }
.mat-suche input { border:0; outline:none; background:transparent; font:inherit; font-size:13.5px; flex:1; }
.mat-tools-r { display:flex; align-items:center; gap:14px; }
.mat-engp { display:flex; align-items:center; gap:6px; font-size:13px; color:#45434F; cursor:pointer; }
.mat-engp input { accent-color:var(--pink); width:15px; height:15px; }
button.mat-auf { border:0; background:none; font:inherit; font-size:13px; color:#45434F; cursor:pointer; padding:0; }
button.mat-auf:hover { color:var(--pink); }
.mat-tree { background:#fff; border:1px solid var(--border); border-radius:10px; overflow:hidden; }
.mat-tree-kopf { display:grid; grid-template-columns:minmax(0,1fr) 70px 90px; gap:14px; align-items:center; height:36px; padding:0 14px; background:var(--th-bg); border-bottom:1px solid var(--border); font-size:11.5px; font-weight:600; color:var(--muted); }
.mat-tree-kopf span:nth-child(2) { text-align:right; }
.mat-proj-t { padding:8px 14px; font-size:12px; font-weight:700; color:var(--pink); text-transform:uppercase; letter-spacing:.03em; background:var(--bg); }
.mat-proj-t span { color:var(--muted); font-weight:500; text-transform:none; letter-spacing:0; }
.mat-kat { border-bottom:1px solid #EFEDE8; }
.mat-kat:last-child { border-bottom:none; }
.mat-kat-t { width:100%; display:flex; align-items:center; gap:10px; height:40px; padding:0 14px; border:0; background:transparent; font:inherit; text-align:left; color:#1C1B22; cursor:pointer; }
.mat-kat-t:hover { background:var(--bg); }
.mat-kat-t b { font-size:13.5px; font-weight:600; }
.mat-arrow { font-size:10px; color:var(--muted); width:10px; display:inline-block; flex:none; }
.mat-bar { flex:1; max-width:220px; height:4px; background:var(--bg); border-radius:2px; overflow:hidden; }
.mat-bar i { display:block; height:100%; background:#C9C5BA; border-radius:2px; }
.mat-kat-n { margin-left:auto; font-size:12.5px; color:var(--muted); font-variant-numeric:tabular-nums; }
.mat-kat-body { display:flex; flex-direction:column; background:#FCFBF9; border-top:1px solid #EFEDE8; }
.mat-kat-body[hidden] { display:none; }
.mat-art { display:grid; grid-template-columns:minmax(0,1fr) 70px 90px; gap:14px; align-items:center; height:34px; padding:0 14px 0 38px; border-bottom:1px solid #F3F1EC; font-size:13.5px; }
.mat-art:last-child { border-bottom:none; }
.mat-art-n { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.mat-art-m { text-align:right; font-variant-numeric:tabular-nums; font-weight:500; }
.mat-frei { display:inline-block; min-width:26px; text-align:center; padding:2px 7px; border-radius:5px; font-size:11.5px; font-weight:600; font-variant-numeric:tabular-nums; }
.mat-frei-lade { color:var(--muted); }
.mat-frei-ok { background:#E7F6EF; color:#0A6B49; }
.mat-frei-knapp { background:#FFF3E0; color:#8A5300; }
.mat-frei-ueber { background:#FDECEE; color:#B4232A; }
.mat-frei-unbek { color:var(--muted); }
@media (max-width:900px){ .mat-head { grid-template-columns:1fr; } .mat-head-l { border-right:0; border-bottom:1px solid var(--border); } }
/* Venue Validation + Dokumentations-Status */
.val-stufe { margin-bottom:14px; }
.val-stufe-t { font-size:13px; font-weight:700; color:var(--navy); text-transform:uppercase; letter-spacing:.03em; margin-bottom:6px; }
.val-item { display:flex; align-items:flex-start; gap:9px; padding:5px 8px; border-radius:8px; font-size:14px; cursor:pointer; }
.val-item:hover { background:#F3F4F8; }
.val-item input { margin-top:3px; accent-color:var(--pink); }
.val-item.val-offen { background:#FDECEE; }
.val-muss { color:var(--pink); font-weight:700; }
.val-fortschritt { margin-top:10px; padding:8px 12px; border-radius:8px; font-size:13px; font-weight:600; }
.val-fortschritt.ok { background:#E7F6EF; color:#0A6B49; }
.val-fortschritt.warn { background:#FFF3E0; color:#8A5300; }
.doku-z { display:flex; align-items:center; gap:10px; padding:8px 4px; border-bottom:1px solid var(--border); font-size:14px; }
.doku-z:last-child { border-bottom:none; }
.doku-status { width:22px; height:22px; border-radius:99px; display:inline-flex; align-items:center; justify-content:center; font-size:12px; font-weight:700; flex:none; }
.doku-status.ok { background:#E7F6EF; color:#0A6B49; }
.doku-status.fehlt { background:#EEF0FB; color:var(--muted); }
/* Asana-Aufgaben */
.auf-sec { margin-bottom:14px; }
.auf-sec-t { font-size:13px; font-weight:700; color:var(--navy); text-transform:uppercase; letter-spacing:.03em; margin-bottom:4px; }
.auf-z { display:flex; align-items:center; gap:10px; padding:7px 4px; border-bottom:1px solid var(--border); font-size:14px; }
.auf-z:last-child { border-bottom:none; }
.auf-z.erledigt a { text-decoration:line-through; color:var(--muted); }
.auf-dot { width:12px; height:12px; border-radius:99px; border:2px solid var(--pink); flex:none; }
.auf-dot.ok { background:#0A6B49; border-color:#0A6B49; }
.auf-meta { font-size:12px; color:var(--muted); white-space:nowrap; }
.auf-due { font-family:"IBM Plex Mono",monospace; background:#EEF0FB; padding:1px 7px; border-radius:99px; }
.stand { font-size:12px; color:var(--muted); margin-bottom:10px; }
/* Crew & Termine (kombiniert) */
.ct2 { display:grid; grid-template-columns:1fr 1fr; gap:26px; }
@media (max-width:820px) { .ct2 { grid-template-columns:1fr; gap:18px; } }
.ct-h { font-size:13px; font-weight:700; color:var(--navy); text-transform:uppercase; letter-spacing:.03em; margin-bottom:10px; display:flex; align-items:center; justify-content:space-between; }
.ct-count { font-size:11px; font-weight:700; color:var(--muted); background:var(--bg); border-radius:99px; padding:1px 8px; margin-left:4px; }
.tk-z { display:flex; justify-content:space-between; gap:12px; padding:7px 2px; border-bottom:1px solid var(--border); font-size:14px; }
.tk-z:last-child { border-bottom:none; }
.tk-l { color:var(--muted); }
.tk-w { font-weight:600; text-align:right; }
