/* Animationen und Felder nach dem Animationen-Plan (24.10.2026, Variante F "Eigene Felder").
   Projektunterlagen: jede Unterlage ein eigenes Feld. Bauteil-Status: Chips in der Statusfarbe.
   Bewegung: weiche Feder-Kurve, nur Verschieben, Einblenden und Ausschneiden. Wird nach allen anderen Stildateien geladen. */
:root{
 --motion-spring:cubic-bezier(.32,.72,0,1);
 --motion-line:#E3E6EA;--motion-ink:#1F2933;--motion-muted:#5B6672;--motion-primary:#47627F;--motion-soft:#E8EDF3;
 --motion-measured-bg:#ECEAF5;--motion-measured-fg:#4B4478;--motion-measured-dot:#7E76B3;
 --motion-cut-bg:#E3F0EE;--motion-cut-fg:#2F5E58;--motion-cut-dot:#5E9C93;
 --motion-prepared-bg:#F6EEDC;--motion-prepared-fg:#6E5520;--motion-prepared-dot:#C7A35A;
 --motion-installed-bg:#E4F0E4;--motion-installed-fg:#2F5E33;--motion-installed-dot:#5F9C63;
}

/* Projektunterlagen als eigene Felder */
.shell[data-view="project"] .compact-project .project-overview-grid.project-documents48.doc-tiles17{gap:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible}
.shell[data-view="project"] .compact-project .project-documents48.doc-tiles17 .phone-project-overview-tabs17{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;height:auto;min-height:0;padding:0;border-radius:0;background:transparent;box-shadow:none}
.shell[data-view="project"] .compact-project .project-documents48.doc-tiles17 .phone-project-overview-tab17,
.shell[data-view="project"] .compact-project .project-documents48.doc-tiles17.has-active48 .phone-project-overview-tab17{display:grid!important;order:0!important;grid-template-columns:minmax(0,1fr);align-content:start;justify-content:stretch;justify-items:start;gap:4px;width:auto;min-width:0;height:auto;min-height:44px;padding:12px;border:1px solid var(--motion-line);border-radius:12px;background:#ffffff;box-shadow:none;color:var(--motion-ink);text-align:start;transition:transform 160ms var(--motion-spring),border-color 260ms var(--motion-spring),background-color 260ms var(--motion-spring)}
.shell[data-view="project"] .compact-project .project-documents48.doc-tiles17 .phone-project-overview-tab17.is-active{border-color:var(--motion-primary);background:var(--motion-soft);box-shadow:none;color:var(--motion-ink)}
.shell[data-view="project"] .compact-project .project-documents48.doc-tiles17 .phone-project-overview-tab17:active{transform:scale(.97)}
.shell[data-view="project"] .compact-project .project-documents48.doc-tiles17 .doc-tile-top17{display:flex;align-items:center;justify-content:space-between;width:100%;color:var(--motion-muted);transition:color 260ms var(--motion-spring)}
.shell[data-view="project"] .compact-project .project-documents48.doc-tiles17 .is-active .doc-tile-top17{color:var(--motion-primary)}
.shell[data-view="project"] .compact-project .project-documents48.doc-tiles17 .doc-tile-top17>.icon{width:18px;height:18px;flex:none}
/* Pfeil zeigt zugeklappt nach oben, aufgeklappt nach unten zum geöffneten Inhalt. */
.shell[data-view="project"] .compact-project .project-documents48.doc-tiles17 .doc-tile-chevron17{width:16px!important;height:16px!important;transform:rotate(180deg);transition:transform 320ms var(--motion-spring)}
.shell[data-view="project"] .compact-project .project-documents48.doc-tiles17 .is-active .doc-tile-chevron17{transform:none}
.shell[data-view="project"] .compact-project .project-documents48.doc-tiles17 .phone-project-extra-label17,
.shell[data-view="project"] .compact-project .project-documents48.doc-tiles17 .is-active .phone-project-extra-label17{display:block;max-width:100%;opacity:1;transition:none;font-size:14px;font-weight:600;line-height:18px}
.shell[data-view="project"] .compact-project .project-documents48.doc-tiles17 .doc-tile-count17{display:block;max-width:100%;overflow-wrap:anywhere;font-size:12px;font-weight:400;line-height:16px;color:var(--motion-muted)}
.shell[data-view="project"] .compact-project .project-documents48.doc-tiles17>.compact-overview:not([hidden]){margin:8px 0 0!important;border:1px solid var(--motion-line);border-radius:12px;background:#ffffff;overflow:hidden}
/* Projektunterlagen (29.10.2026): auf allen Ansichten eine Leiste statt Kacheln. Handy: gewählt = Symbol und Name, sonst Symbol und Anzahl;
   ab 768 px stehen alle Namen da. Die angehobene weiße Pille wandert per clip-path zum gewählten Feld und federt kurz nach (app.js compactPlaceDocPill17). */
.shell[data-view="project"] .compact-project .project-documents48.doc-tiles17.phone-project-overview17 .phone-project-overview-tabs17{position:relative;display:flex!important;gap:4px;height:auto;min-height:0;padding:4px!important;border-radius:999px!important;background:var(--color-soft)!important;box-shadow:none!important}
.shell[data-view="project"] .compact-project .project-documents48.doc-tiles17.phone-project-overview17 .doc-pill17{position:absolute;inset:0;display:block;pointer-events:none;filter:drop-shadow(0 1px 1px rgb(31 41 51 / .06)) drop-shadow(0 3px 8px rgb(31 41 51 / .10))}
.shell[data-view="project"] .compact-project .project-documents48.doc-tiles17.phone-project-overview17 .doc-pill17>i{position:absolute;inset:0;border-radius:999px;background:var(--color-surface);opacity:0;transition:opacity 200ms var(--motion-spring)}
.shell[data-view="project"] .compact-project .project-documents48.doc-tiles17.phone-project-overview17 .phone-project-overview-tabs17 .phone-project-overview-tab17{position:relative;z-index:1;display:flex!important;order:0!important;flex:1 1 0!important;align-items:center;justify-content:center;gap:6px;width:auto!important;min-width:44px!important;height:44px!important;min-height:44px!important;padding:0 12px!important;border:0!important;border-radius:999px!important;background:transparent!important;box-shadow:none!important;color:var(--color-muted)!important;transition:transform 160ms var(--motion-spring),color 260ms var(--motion-spring)!important}
.shell[data-view="project"] .compact-project .project-documents48.doc-tiles17.phone-project-overview17 .phone-project-overview-tabs17 .phone-project-overview-tab17.is-active{flex:0 0 auto!important;color:var(--color-primary-text)!important}
.shell[data-view="project"] .compact-project .project-documents48.doc-tiles17.phone-project-overview17 .phone-project-overview-tabs17 .phone-project-overview-tab17>.doc-tile-top17{display:contents}
.shell[data-view="project"] .compact-project .project-documents48.doc-tiles17.phone-project-overview17 .phone-project-overview-tabs17 .doc-tile-chevron17,.shell[data-view="project"] .compact-project .project-documents48.doc-tiles17.phone-project-overview17 .phone-project-overview-tabs17 .doc-tile-count17,.shell[data-view="project"] .compact-project .project-documents48.doc-tiles17.phone-project-overview17 .phone-project-overview-tabs17 .phone-project-overview-tab17:not(.is-active) .phone-project-extra-label17{display:none!important}
.shell[data-view="project"] .compact-project .project-documents48.doc-tiles17.phone-project-overview17 .phone-project-overview-tabs17 .phone-project-overview-tab17.is-active .phone-project-extra-label17{white-space:nowrap;font-size:14px;line-height:18px;font-weight:600;color:var(--color-ink)}
.shell[data-view="project"] .compact-project .project-documents48.doc-tiles17.phone-project-overview17 .phone-project-overview-tabs17 .phone-project-overview-tab17[data-count]::after{content:attr(data-count);font-size:12px;font-weight:600;line-height:16px;color:var(--color-muted)}
.shell[data-view="project"] .compact-project .project-documents48.doc-tiles17.phone-project-overview17 .phone-project-overview-tabs17 .phone-project-overview-tab17:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}
.shell[data-view="project"] .compact-project .project-documents48.doc-tiles17.phone-project-overview17>.compact-overview>.overview-create{margin:12px!important;width:calc(100% - 24px)!important;max-width:none!important;min-height:44px!important;padding:0 16px!important;border:1px solid var(--color-line-strong)!important;border-radius:var(--radius-md)!important;background:var(--color-surface)!important;color:var(--color-primary-text)!important;font-size:14px!important;font-weight:600;transition:transform 160ms var(--motion-spring),background-color 200ms var(--motion-spring)!important}
.shell[data-view="project"] .compact-project .project-documents48.doc-tiles17.phone-project-overview17>.compact-overview>.overview-create:hover{background:var(--color-ground)!important}
.shell[data-view="project"] .compact-project .project-documents48.doc-tiles17.phone-project-overview17>.compact-overview>.overview-create:active{transform:scale(.97)}
@media(min-width:768px){
.shell[data-view="project"] .compact-project .project-documents48.doc-tiles17.phone-project-overview17 .phone-project-overview-tabs17 .phone-project-overview-tab17,.shell[data-view="project"] .compact-project .project-documents48.doc-tiles17.phone-project-overview17 .phone-project-overview-tabs17 .phone-project-overview-tab17.is-active{flex:1 1 0!important}
.shell[data-view="project"] .compact-project .project-documents48.doc-tiles17.phone-project-overview17 .phone-project-overview-tabs17 .phone-project-overview-tab17:not(.is-active) .phone-project-extra-label17{display:block!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px;line-height:18px;font-weight:500;color:inherit}
}

/* Bauteil-Status als Chips: sie verteilen sich über die volle Breite, auf dem Handy füllt jede Zeile die Breite. */
/* Kopfzeile: links "Bauteile", rechts "Bereiche verwalten", die Chips in einer eigenen Zeile darunter. */
.shell .compact-project .project-controls-redesign17 .project-parts-layout17:has(.project-status-tabs17){grid-template-columns:minmax(0,1fr) max-content!important}
.shell .compact-project .project-controls-redesign17 .project-parts-layout17>.project-status-controls17:has(.project-status-tabs17){grid-column:1/-1!important;grid-row:2!important;justify-self:stretch;width:100%;max-width:none!important;min-width:0}
.shell .compact-project .project-controls-redesign17 .project-parts-layout17:has(.project-status-tabs17)>.project-section-heading17{grid-column:1!important;grid-row:1!important}
.shell .compact-project .project-controls-redesign17 .project-parts-layout17:has(.project-status-tabs17)>.project-add-area-header17{grid-column:2!important;grid-row:1!important}
.shell .project-status-controls17 .filter-row88.project-status-tabs17.project-status-tabs17.project-status-tabs17{flex-wrap:wrap!important;gap:8px!important;min-height:0;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;overflow:visible}
.shell .project-status-controls17 .filter-row88.project-status-tabs17.project-status-tabs17.project-status-tabs17>.filter-button88{flex:1 1 auto!important;justify-content:center!important;gap:7px!important;min-width:0!important;min-height:36px!important;height:36px!important;padding:0 12px!important;border:1px solid var(--motion-line)!important;border-radius:999px!important;background:#ffffff!important;box-shadow:none!important;color:var(--motion-muted)!important;font-size:14px!important;font-weight:500;transition:transform 160ms var(--motion-spring),background-color 300ms var(--motion-spring),color 300ms var(--motion-spring),border-color 300ms var(--motion-spring)!important}
.shell .project-status-controls17 .filter-row88.project-status-tabs17.project-status-tabs17.project-status-tabs17>.filter-button88:active{transform:scale(.97)}
.shell .project-status-controls17 .filter-row88.project-status-tabs17.project-status-tabs17.project-status-tabs17>.filter-button88>svg{display:none}
.shell .project-status-controls17 .filter-row88.project-status-tabs17.project-status-tabs17.project-status-tabs17 .filter-label88{max-width:none;opacity:1}
.shell .project-status-controls17 .filter-row88.project-status-tabs17.project-status-tabs17.project-status-tabs17 .filter-count88{display:block!important;margin:0;padding:0;background:transparent;color:inherit;font-size:12px;font-weight:600}
.shell .project-status-controls17 .filter-row88.project-status-tabs17.project-status-tabs17.project-status-tabs17 .filter-dot88{display:block;width:7px;height:7px;flex:none;border-radius:50%;background:var(--motion-primary)}
.shell .project-status-controls17 .filter-row88.project-status-tabs17.project-status-tabs17.project-status-tabs17>.filter-button88[aria-pressed=true]{border-color:transparent!important;background:var(--motion-soft)!important;color:var(--motion-primary)!important;font-weight:600}
.shell .project-status-controls17 .filter-row88.project-status-tabs17.project-status-tabs17.project-status-tabs17>[data-filter-key88=measured] .filter-dot88{background:var(--motion-measured-dot)}
.shell .project-status-controls17 .filter-row88.project-status-tabs17.project-status-tabs17.project-status-tabs17>[data-filter-key88=cut] .filter-dot88{background:var(--motion-cut-dot)}
.shell .project-status-controls17 .filter-row88.project-status-tabs17.project-status-tabs17.project-status-tabs17>[data-filter-key88=prepared] .filter-dot88{background:var(--motion-prepared-dot)}
.shell .project-status-controls17 .filter-row88.project-status-tabs17.project-status-tabs17.project-status-tabs17>[data-filter-key88=installed] .filter-dot88{background:var(--motion-installed-dot)}
.shell .project-status-controls17 .filter-row88.project-status-tabs17.project-status-tabs17.project-status-tabs17>[data-filter-key88=measured][aria-pressed=true]{background:var(--motion-measured-bg)!important;color:var(--motion-measured-fg)!important}
.shell .project-status-controls17 .filter-row88.project-status-tabs17.project-status-tabs17.project-status-tabs17>[data-filter-key88=cut][aria-pressed=true]{background:var(--motion-cut-bg)!important;color:var(--motion-cut-fg)!important}
.shell .project-status-controls17 .filter-row88.project-status-tabs17.project-status-tabs17.project-status-tabs17>[data-filter-key88=prepared][aria-pressed=true]{background:var(--motion-prepared-bg)!important;color:var(--motion-prepared-fg)!important}
.shell .project-status-controls17 .filter-row88.project-status-tabs17.project-status-tabs17.project-status-tabs17>[data-filter-key88=installed][aria-pressed=true]{background:var(--motion-installed-bg)!important;color:var(--motion-installed-fg)!important}
.shell .project-status-controls17 .filter-row88.project-status-tabs17.project-status-tabs17.project-status-tabs17 .filter-dot88{flex:none}
/* Handy: kompakte Leiste in einer Zeile, fünf gleich breite Felder mit Symbol und Anzahl.
   Der Name des gewählten Status steht darunter (project-status-caption17). */
.project-status-caption17{display:none}
@media(max-width:620px){
 .shell .project-status-controls17 .filter-row88.project-status-tabs17.project-status-tabs17.project-status-tabs17{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px!important}
 .shell .project-status-controls17 .filter-row88.project-status-tabs17.project-status-tabs17.project-status-tabs17>.filter-button88{flex-direction:column!important;gap:2px!important;height:auto!important;min-height:52px!important;padding:6px 2px!important;border-radius:12px!important}
 .shell .project-status-controls17 .filter-row88.project-status-tabs17.project-status-tabs17.project-status-tabs17>.filter-button88>svg{display:block;width:18px;height:18px}
 .shell .project-status-controls17 .filter-row88.project-status-tabs17.project-status-tabs17.project-status-tabs17 .filter-label88,.shell .project-status-controls17 .filter-row88.project-status-tabs17.project-status-tabs17.project-status-tabs17 .filter-dot88{display:none!important}
 .shell .project-status-controls17 .filter-row88.project-status-tabs17.project-status-tabs17.project-status-tabs17 .filter-count88{font-size:13px}
 .shell .project-status-controls17 .filter-row88.project-status-tabs17.project-status-tabs17.project-status-tabs17>[data-filter-key88=measured]>svg{color:var(--motion-measured-dot)}
 .shell .project-status-controls17 .filter-row88.project-status-tabs17.project-status-tabs17.project-status-tabs17>[data-filter-key88=cut]>svg{color:var(--motion-cut-dot)}
 .shell .project-status-controls17 .filter-row88.project-status-tabs17.project-status-tabs17.project-status-tabs17>[data-filter-key88=prepared]>svg{color:var(--motion-prepared-dot)}
 .shell .project-status-controls17 .filter-row88.project-status-tabs17.project-status-tabs17.project-status-tabs17>[data-filter-key88=installed]>svg{color:var(--motion-installed-dot)}
 .shell .project-status-controls17 .filter-row88.project-status-tabs17.project-status-tabs17.project-status-tabs17>[aria-pressed=true]>svg{color:inherit}
 .shell .project-status-controls17 .project-status-caption17{display:flex;align-items:baseline;gap:6px;margin:8px 2px 0;font-size:13px;line-height:18px;color:var(--motion-muted)}
 .shell .project-status-controls17 .project-status-caption17 b{font-weight:600;color:var(--motion-ink)}
}
}
.filter-dot88{display:none}

@media(prefers-reduced-motion:reduce){
 .shell[data-view="project"] .compact-project .project-documents48.doc-tiles17 .phone-project-overview-tab17,
 .shell[data-view="project"] .compact-project .project-documents48.doc-tiles17 .doc-tile-chevron17,
 .shell[data-view="project"] .compact-project .project-documents48.doc-tiles17 .doc-tile-top17,
 .shell .project-status-controls17 .filter-row88.project-status-tabs17.project-status-tabs17.project-status-tabs17>.filter-button88{transition:none!important}
 .shell[data-view="project"] .compact-project .project-documents48.doc-tiles17 .phone-project-overview-tab17:active,
 .shell .project-status-controls17 .filter-row88.project-status-tabs17.project-status-tabs17.project-status-tabs17>.filter-button88:active{transform:none}
}

/* Vorrichtmodus-Karte (Nils, 24.10.2026): links Name, Status, Material und Stärke untereinander,
   rechts die Werte in festen Spalten (Kantteil: Zuschnitt, Stückzahl, Tafeln · Fläche: Fläche, Scharen). */
.shell .prepare-item17 .prepare-row-copy{grid-template-columns:minmax(0,1fr);justify-items:start;align-content:center;gap:4px}
.shell .prepare-item17 .prepare-name{display:contents}
.shell .prepare-item17 .prepare-name>strong{max-width:100%;white-space:normal;overflow-wrap:anywhere}
.shell .prepare-item17 .prepare-name>[data-workshop-status17]{display:inline-flex!important}
.shell .prepare-item17 .prepare-name>[data-workshop-status17] .badge{display:inline-flex!important;font-size:12px;padding:2px 8px}
.shell .prepare-item17 .prepare-summary-values{display:grid;grid-template-columns:repeat(3,88px);justify-content:end;align-items:start;gap:0 16px}
.shell .prepare-item17 .prepare-summary-values>span{display:grid;gap:2px;min-width:0}
.shell .prepare-item17 .prepare-summary-values small{font-size:12px;line-height:16px;color:var(--motion-muted)}
.shell .prepare-item17 .prepare-summary-values strong{font-size:15px;line-height:20px;font-weight:600;color:var(--motion-ink);white-space:nowrap}
.shell .prepare-item17 .prepare-summary-sheets{display:grid!important;gap:2px!important}
@media(max-width:1100px){.shell .prepare-item17 .prepare-summary-values{grid-template-columns:repeat(3,76px);gap:0 12px}}
@media(max-width:760px){.shell .prepare-item17 .prepare-summary-values{grid-template-columns:repeat(3,minmax(0,1fr));justify-content:stretch;width:100%}}
/* Handy: Kantteile wie Flächen, Häkchen "Zugeschnitten" und "Vorgerichtet" unter der Karte, damit die Werte Platz haben. */
@media(max-width:620px){
 .shell .prepare-item.enhanced.prepare-item16.prepare-item17{grid-template-columns:minmax(0,1fr)}
 .shell .prepare-item17>.prepare-disclosure{grid-column:1;grid-row:1}
 .shell .prepare-item17>.workshop-steps17{grid-column:1;grid-row:2;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:44px;border-inline-start:0;border-top:1px solid var(--motion-line)}
 .shell .prepare-item17>.workshop-steps17>.workshop-step17{font-size:12px;justify-content:center;border-bottom:0}
 .shell .prepare-item17 .prepare-name>strong{font-size:14px;line-height:20px}
}

/* Querschnitt freie Fläche: Scharkarten blenden nur beim ersten Erscheinen ein. Beim Wechsel der Schar
   werden sie neu eingehängt; ohne diese Regel startete die Einblendung dann jedes Mal neu. */
.free-section-measures124 .free-section-card124.is-positioned132.is-settled132{animation:none}
.free-section-measures124 .free-section-card124{transition-timing-function:var(--motion-spring)}

/* Übrige Leisten (Projekte, Aufgaben, Vorrichtmodus): feste, gleich breite Felder mit Namen.
   Nichts ändert beim Wechsel seine Breite, nur das gewählte Feld wird an seinem Platz hell. */
.shell .filter-row88.filter-row88:not(.project-status-tabs17)>.filter-button88,
.shell .filter-row88.filter-row88:not(.project-status-tabs17)>.filter-button88[aria-pressed=true]{flex:1 1 0!important;min-width:0!important;gap:8px!important;transition:transform 160ms var(--motion-spring),color 260ms var(--motion-spring),background-color 260ms var(--motion-spring),border-color 260ms var(--motion-spring),box-shadow 260ms var(--motion-spring)!important}
.shell .filter-row88.filter-row88:not(.project-status-tabs17)>.filter-button88:active{transform:scale(.97)}
.shell .filter-row88.filter-row88:not(.project-status-tabs17) .filter-label88{max-width:none;opacity:1;transition:none}
.shell .filter-row88.filter-row88:not(.project-status-tabs17) .filter-count88{display:block!important;margin-left:0}
@media(max-width:620px){
 /* Ab vier Feldern stehen Symbol und Name auf dem Handy übereinander. */
 .shell .filter-row88.filter-row88:not(.project-status-tabs17):has(>.filter-button88:nth-child(4))>.filter-button88{flex-direction:column!important;gap:2px!important;min-height:52px!important;padding:6px 2px!important}
 .shell .filter-row88.filter-row88:not(.project-status-tabs17):has(>.filter-button88:nth-child(4)){gap:2px!important}
 .shell .filter-row88.filter-row88:not(.project-status-tabs17):has(>.filter-button88:nth-child(4)) .filter-label88{white-space:normal;text-align:center;font-size:12px;line-height:14px;overflow:visible}
 .shell .filter-row88.filter-row88:not(.project-status-tabs17) .filter-count88{display:none!important}
}
@media(prefers-reduced-motion:reduce){.shell .filter-row88.filter-row88:not(.project-status-tabs17)>.filter-button88{transition:none!important}.shell .filter-row88.filter-row88:not(.project-status-tabs17)>.filter-button88:active{transform:none}}
