/* Paket 1: Projektarten, Projektstaende und Filter */
.workflow-filter-btn {
  position: relative;
  width: 38px; height: 38px; display: inline-grid; place-items: center;
  border: 1px solid var(--karte-rand); border-radius: 50%;
  background: var(--karte-bg); color: var(--text-leise); cursor: pointer;
  font: 600 15px/1 var(--font); box-shadow: var(--schatten-ruhe);
}
.workflow-filter-btn:hover,
.workflow-filter-btn.aktiv { color: var(--akzent); border-color: color-mix(in srgb, var(--akzent) 40%, transparent); }
.workflow-filter-count {
  position: absolute; top: -4px; right: -4px; min-width: 17px; height: 17px;
  display: inline-grid; place-items: center; padding: 0 4px; border-radius: 999px;
  background: var(--akzent); color: #fff; font-size: 9px; line-height: 1;
}
.workflow-filter-pop {
  position: fixed; z-index: 12100; width: min(320px, calc(100vw - 20px));
  display: grid; gap: 11px; padding: 16px;
  border: 1px solid var(--karte-rand); border-radius: 16px;
  background: var(--karte-bg-fest); box-shadow: var(--schatten-drag);
}
.workflow-filter-title { font-size: 15px; font-weight: 700; color: var(--text-stark); }
.workflow-filter-pop label { display: grid; gap: 5px; font-size: 11px; font-weight: 700; letter-spacing: .3px; text-transform: uppercase; color: var(--text-leise); }
.workflow-filter-actions { display: flex; justify-content: space-between; gap: 8px; padding-top: 3px; }

.pm-wf-body { margin-top: 8px; }
.wf-type-list { display: grid; gap: 7px; }
.wf-type {
  overflow: hidden; border: 1px solid var(--karte-rand); border-radius: 12px;
  background: rgba(255,255,255,.68);
}
.wf-type.archiviert, .wf-status.archiviert { opacity: .58; }
.wf-type-head {
  width: 100%; min-height: 50px; display: grid;
  grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: 8px;
  padding: 9px 11px; border: 0; background: transparent; color: var(--text-stark);
  font-family: inherit; text-align: left; cursor: pointer;
}
.wf-type-head:hover { background: rgba(40,39,37,.045); }
.wf-type-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13.5px; font-weight: 700; }
.wf-type-meta { font-size: 10.5px; color: var(--text-leise); white-space: nowrap; }
.wf-type-chevron { color: var(--text-leise); transition: transform .15s ease; }
.wf-type-head[aria-expanded="true"] .wf-type-chevron { transform: rotate(180deg); }
.wf-type-body { padding: 10px; border-top: 1px solid var(--karte-rand); }
.wf-type-edit { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; align-items: end; margin-bottom: 10px; }
.wf-type-edit label { display: grid; gap: 4px; font-size: 10px; color: var(--text-leise); text-transform: uppercase; font-weight: 700; }
.wf-order-actions { display: flex; gap: 3px; }
.wf-order-actions button {
  min-width: 28px; height: 30px; padding: 0 7px; border: 1px solid var(--karte-rand);
  border-radius: 8px; background: #fff; color: var(--text-mittel); cursor: pointer; font-family: inherit;
}
.wf-order-actions button:hover { color: var(--text-stark); background: rgba(40,39,37,.05); }
.wf-order-actions .wf-archive { font-size: 10px; }
.wf-status-list { display: grid; gap: 6px; }
.wf-sequence-note { margin: -2px 0 7px; font-size: 10px; color: var(--text-leise); }
.wf-status {
  display: grid; grid-template-columns: 30px minmax(90px,1fr) auto;
  gap: 6px; align-items: center;
}
.wf-status-color { width: 28px; height: 30px; padding: 2px; border: 1px solid var(--karte-rand); border-radius: 8px; background: #fff; cursor: pointer; }
.wf-status-name { min-width: 0; padding: 7px 8px; font-size: 12px; }
.wf-status-actions {
  display: inline-grid; grid-template-columns: repeat(3, 28px); gap: 2px;
  padding: 2px; border: 1px solid var(--karte-rand); border-radius: 10px;
  background: rgba(40,39,37,.025);
}
.wf-status-actions button {
  width: 28px; min-width: 28px; height: 28px; padding: 0;
  border: 0; border-radius: 7px; background: transparent;
  color: var(--text-mittel); cursor: pointer; font: 600 15px/1 var(--font);
}
.wf-status-actions button:hover:not(:disabled) { color: var(--text-stark); background: rgba(40,39,37,.07); }
.wf-status-actions button:disabled { opacity: .24; cursor: default; }
.wf-status-actions .wf-status-remove:hover:not(:disabled) { color: #a33c32; background: rgba(216,81,63,.11); }
.wf-add-status, .wf-add-type {
  border: 0; background: none; color: var(--akzent); cursor: pointer; font-family: inherit;
}
.wf-add-status { padding: 9px 3px 2px; font-size: 11.5px; font-weight: 700; }
.wf-add-type { margin-top: 8px; }
.wf-status-warn {
  margin-top: 8px; padding: 7px 9px; border-radius: 8px;
  background: rgba(194,140,53,.12); color: #856223; font-size: 10.5px; line-height: 1.35;
}

.panel-workflow {
  display: grid; grid-template-columns: 1fr 1fr; gap: 10px;
  margin: -7px 0 18px;
}
.panel-workflow label { display: grid; gap: 4px; min-width: 0; }
.panel-workflow label > span {
  font-size: 10.5px; font-weight: 700; letter-spacing: .35px;
  text-transform: uppercase; color: var(--text-leise);
}
.panel-workflow-select {
  width: 100%; min-width: 0; border: 1px solid var(--karte-rand); border-radius: 9px;
  background: #fff; color: var(--text-stark); font: 500 12.5px/1.2 var(--font);
  padding: 8px 30px 8px 10px; outline: none;
}
.panel-workflow-select:focus { border-color: color-mix(in srgb, var(--akzent) 55%, transparent); }
.panel-workflow-select:disabled { opacity: .66; cursor: default; }
.karte-fuss { gap: 6px; }
.karte-projektstatus {
  --wf-color: #8d857a;
  min-width: 0; max-width: 62%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  display: inline-flex; align-items: center; gap: 5px;
  padding: 3px 7px; border-radius: 999px;
  background: color-mix(in srgb, var(--wf-color) 13%, transparent);
  color: color-mix(in srgb, var(--wf-color) 78%, var(--text-stark));
  font-size: 9.5px; font-weight: 700; line-height: 1.2;
}
.karte-projektstatus::before {
  content: ""; width: 6px; height: 6px; flex: 0 0 6px; border-radius: 50%; background: var(--wf-color);
}
.karte-hinweis {
  margin-left: auto; min-width: 0; max-width: 58%;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.karte-hinweis:empty { display: none; }
.karte-hinweis[data-zustand="ueberfaellig"] { color: var(--lamp-rot); font-weight: 700; }
.karte-hinweis[data-zustand="offene-aufgaben"] { color: #a55a3f; font-weight: 700; }
.band.dunkel .karte-projektstatus { background: rgba(255,255,255,.13); color: rgba(255,255,255,.88); }
.band.dunkel .karte-hinweis[data-zustand="ueberfaellig"],
.band.dunkel .karte-hinweis[data-zustand="offene-aufgaben"] { color: #ff9a8a; }

.workflow-abschluss-backdrop {
  position: fixed; inset: 0; z-index: 12000;
  display: grid; place-items: center; padding: 20px;
  background: rgba(43, 38, 32, .26); backdrop-filter: blur(3px);
  animation: overlay-ein .16s ease;
}
.workflow-abschluss-dialog {
  position: relative; width: min(460px, calc(100vw - 40px));
  padding: 28px; border: 1px solid var(--karte-rand); border-radius: 22px;
  background: var(--karte-bg-fest); box-shadow: var(--schatten-drag);
  color: var(--text-stark); text-align: left;
  animation: panel-ein .18s cubic-bezier(.2,.7,.3,1);
}
.workflow-abschluss-symbol {
  display: grid; place-items: center; width: 38px; height: 38px; margin-bottom: 16px;
  border-radius: 50%; background: rgba(102,140,93,.14); color: #668c5d;
  font-size: 20px; font-weight: 800;
}
.workflow-abschluss-dialog h3 { margin: 0 34px 8px 0; font-size: 21px; line-height: 1.25; }
.workflow-abschluss-dialog p { margin: 0; color: var(--text-mittel); font-size: 14px; line-height: 1.5; }
.workflow-abschluss-schliessen {
  position: absolute; top: 16px; right: 16px; width: 34px; height: 34px;
  border: 0; border-radius: 50%; background: transparent; color: var(--text-leise);
  font: 500 22px/1 var(--font); cursor: pointer;
}
.workflow-abschluss-schliessen:hover { background: rgba(40,39,37,.07); color: var(--text-stark); }
.workflow-abschluss-aktionen {
  display: flex; justify-content: flex-end; gap: 10px; margin-top: 24px;
}

@media (max-width: 620px) {
  .workflow-filter-btn { width: 36px; height: 36px; }
  .wf-type-head { grid-template-columns: minmax(0,1fr) auto; }
  .wf-type-meta { display: none; }
  .wf-status { grid-template-columns: 30px minmax(0,1fr) auto; }
  .wf-status-actions { grid-column: 3; grid-row: 1; }
  .panel-workflow { grid-template-columns: 1fr; gap: 8px; }
  .workflow-abschluss-dialog { padding: 24px 20px 20px; }
  .workflow-abschluss-aktionen { flex-direction: column-reverse; }
  .workflow-abschluss-aktionen .setup-btn { width: 100%; }
}
