/* Aufgabenliste, FBA-Karte, Hochladen, Partnerverwaltung, Protokoll. */

main { max-width: 1280px; margin: 0 auto; padding: 1.2rem 1.2rem 5rem; }

.oben { display: grid; gap: .7rem; margin-bottom: 1.2rem; }
.seite { display: grid; gap: 1.2rem; grid-template-columns: minmax(0, 1fr); align-items: start; }
.seitenleiste { display: grid; gap: 1rem; align-content: start; }
.spalte { display: grid; gap: 1.1rem; align-content: start; min-width: 0; }

@media (min-width: 1000px) {
  .seite.mit-leiste { grid-template-columns: minmax(0, 1fr) 23rem; }
  .seite.mit-leiste > .seitenleiste { grid-column: 2; grid-row: 1; position: sticky; top: 4.4rem; max-height: calc(100vh - 5.4rem); overflow-y: auto; }
  .seite.mit-leiste > .spalte { grid-column: 1; grid-row: 1; }
}

.uebersicht { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .9rem; }
.uebersicht h1 { font-size: 1.25rem; margin-right: auto; }
.filter { display: flex; gap: .3rem; }
.filter button { padding: .25rem .7rem; font-size: .85rem; }

/* ---------- Abschnitte und Aufgaben ---------- */

.abschnitt { display: grid; gap: .55rem; }
.abschnitt-kopf { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.abschnitt-kopf h2 { font-size: 1.05rem; margin-right: auto; }
.zaehler { margin-left: .35rem; color: var(--gedaempft); font-weight: 600; }
.leer {
  padding: .9rem 1rem;
  border: 1px dashed var(--rand-hell);
  border-radius: 8px;
  color: var(--gedaempft);
  text-align: center;
}

.aufgabe {
  display: grid;
  gap: .5rem;
  padding: .8rem .95rem;
  background: var(--flaeche);
  border: 1px solid var(--rand);
  border-radius: 8px;
}
.aufgabe.problem { background: var(--warn-flaeche); border-color: var(--warn); }
.aufgabe.erledigt, .aufgabe.storniert { opacity: .75; }
.aufgabe.gedruckt { border-left: 3px solid var(--akzent); }
/* Direktdruck unterwegs: der Knopf nimmt solange keinen zweiten Klick an. */
.knopf[aria-busy="true"] { opacity: .55; pointer-events: none; }
.aufgabe-kopf { display: flex; flex-wrap: wrap; align-items: baseline; gap: .3rem .6rem; }
.aufgabe .titel { font-weight: 600; overflow-wrap: anywhere; margin-right: auto; }
.aufgabe .meta { color: var(--gedaempft); font-size: .85rem; overflow-wrap: anywhere; }
.aufgabe .notiz { white-space: pre-wrap; overflow-wrap: anywhere; }
.aufgabe .hinweis-doppelt { color: var(--pick); font-size: .85rem; }
.dateien { display: flex; flex-wrap: wrap; gap: .4rem; }
.aktionen { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.aktionen .rechts { margin-left: auto; display: flex; flex-wrap: wrap; gap: .5rem; }
.aktionen .haken { min-height: 2.5rem; padding-inline: 1.1rem; }

.meldung-box {
  display: grid;
  gap: .3rem;
  padding: .55rem .7rem;
  background: var(--erhoben);
  border: 1px solid var(--rand-hell);
  border-radius: 6px;
  font-size: .92rem;
}
.meldung-box.warn { border-color: var(--warn); }
.meldung-box.antwort { border-color: var(--akzent); }
.meldung-box strong { font-size: .8rem; text-transform: uppercase; letter-spacing: .04em; color: var(--gedaempft); }
.meldung-box p { white-space: pre-wrap; overflow-wrap: anywhere; }
.loesen { display: grid; gap: .5rem; }

/* ---------- FBA-Karte ---------- */

.fba { display: grid; gap: .45rem; padding: .8rem .95rem; background: var(--pick-flaeche); border: 1px solid var(--pick); border-radius: 8px; }
.fba.ruhig { background: var(--flaeche); border-color: var(--rand); }
.fba h2 { display: flex; align-items: center; gap: .5rem; font-size: 1rem; }
.fba-zeile {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: .1rem .6rem;
  align-items: baseline;
  padding: .4rem 0;
  border-top: 1px solid var(--rand-hell);
}
.fba-zeile .platz { font-weight: 700; font-variant-numeric: tabular-nums; color: var(--pick); }
.fba-zeile .was { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fba-zeile .menge { font-weight: 700; font-variant-numeric: tabular-nums; }
.fba-zeile .ort { grid-column: 2 / 4; color: var(--gedaempft); font-size: .8rem; }
.fba .mehr { color: var(--gedaempft); font-size: .85rem; }

/* ---------- Hochladen ---------- */

.neu { padding: 0; }
.neu > summary { padding: .75rem 1rem; font-weight: 700; cursor: pointer; }
.neu form { display: grid; gap: .7rem; padding: 0 1rem 1rem; }
.ablage {
  display: grid;
  gap: .15rem;
  padding: .9rem;
  border: 2px dashed var(--rand-hell);
  border-radius: 8px;
  color: var(--gedaempft);
  text-align: center;
  cursor: pointer;
}
.ablage.ueber { background: var(--erhoben); border-color: var(--akzent); color: var(--text); }
.gewaehlt { display: grid; gap: .3rem; margin: 0; padding: 0; list-style: none; }
.gewaehlt li { display: flex; align-items: center; justify-content: space-between; gap: .5rem; font-size: .88rem; }
.gewaehlt .name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nur-extern[hidden] { display: none; }

/* ---------- Partner und Protokoll ---------- */

.partner-liste { display: grid; gap: .6rem; }
.partner-zeile { display: grid; gap: .5rem; padding: .8rem .95rem; background: var(--flaeche); border: 1px solid var(--rand); border-radius: 8px; }
.partner-zeile.gesperrt { opacity: .75; }
.partner-kopf { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .7rem; }
.partner-kopf strong { margin-right: auto; }
.link-zeile { display: flex; gap: .5rem; }
.link-zeile input { flex: 1; font-size: .85rem; }

.suche { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.suche input[type=search] { flex: 1 1 14rem; }
.scroll { overflow-x: auto; }
.tabelle { width: 100%; border-collapse: collapse; font-size: .9rem; }
.tabelle th, .tabelle td { padding: .45rem .6rem; border-bottom: 1px solid var(--rand); text-align: left; vertical-align: top; }
.tabelle th { color: var(--gedaempft); font-size: .75rem; letter-spacing: .05em; text-transform: uppercase; white-space: nowrap; }
.tabelle td.zeit { white-space: nowrap; color: var(--gedaempft); font-variant-numeric: tabular-nums; }
.tabelle td.detail { overflow-wrap: anywhere; color: var(--gedaempft); }
.verlauf { display: grid; gap: .4rem; margin: 0; padding: 0; list-style: none; }
.verlauf li { display: grid; gap: .1rem; padding-bottom: .4rem; border-bottom: 1px solid var(--rand); }

/* Seiten ohne Seitenleiste (Partner, Protokoll, Archiv) bleiben gut lesbar schmal. */
.seite:not(.mit-leiste) { max-width: 60rem; margin-inline: auto; width: 100%; }

.erledigt-box > summary { cursor: pointer; font-weight: 700; padding: .3rem 0; }
.erledigt-box[open] > summary { margin-bottom: .55rem; }

.tag-kopf { margin: 1rem 0 .3rem; font-size: .8rem; letter-spacing: .05em; text-transform: uppercase; color: var(--gedaempft); }
.tage > .tag:first-child .tag-kopf { margin-top: 0; }
.ereignisse { display: grid; margin: 0; padding: 0; list-style: none; }
.ereignis { display: grid; grid-template-columns: 3.2rem minmax(0, 1fr); gap: .6rem; padding: .5rem 0; border-bottom: 1px solid var(--rand); }
.ereignis .zeit { color: var(--gedaempft); font-size: .85rem; font-variant-numeric: tabular-nums; }
.ereignis .was { display: grid; gap: .1rem; overflow-wrap: anywhere; }
button.textlink {
  justify-self: start;
  padding: 0;
  border: 0;
  background: none;
  color: var(--akzent);
  font-weight: 600;
  text-align: left;
  text-decoration: underline;
  overflow-wrap: anywhere;
}
button.textlink:hover { filter: none; text-decoration-thickness: 2px; }

.partner-form { display: grid; gap: .8rem; }

@media (max-width: 760px) {
  main { padding: .9rem .8rem 5rem; }
  .aktionen .rechts { margin-left: 0; }
  .aktionen .haken { flex: 1 1 100%; }
}
