



































.as-karte {
  
  position: relative;
  display: flex; flex-direction: column;
  


  background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-md);
  cursor: pointer; transition: border-color var(--duration-fast), box-shadow var(--duration-fast), transform var(--duration-fast);
}
.as-karte:hover { border-color: var(--lod-darkblue-300); box-shadow: var(--shadow-4); transform: translateY(-1px); }
.as-karte:focus-visible { outline: 2px solid var(--color-brand); outline-offset: 2px; }
.as-karte--kachel { --card-h: 118px; min-height: var(--card-h-boden, var(--card-h)); }




#ge-grid .sk-cards .sk-card { --card-h: 118px; }
.as-karte--hero { align-self: start; overflow: hidden; }




.as-karte-body { display: flex; flex-direction: column; flex: 1 1 auto; min-width: 0; gap: var(--space-1); padding: var(--space-2) var(--space-3) var(--space-3); }
.as-karte--hero .as-karte-body { padding-top: var(--space-2-5); }
.as-karte-title { font-weight: var(--fw-semibold); color: var(--color-text); line-height: 1.3;
  overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }




.as-karte-sub { font-size: var(--font-size-sm); color: var(--color-text-muted); }
.as-karte-sub--mono { font-family: var(--font-mono); letter-spacing: .02em; }
.as-karte-spec { font-size: var(--font-size-sm); color: var(--color-text-secondary); }
.as-karte-meta { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.ge-meta-item { font-size: var(--font-size-xs); color: var(--color-text-muted); }

.ge-meta-serial { font-family: var(--font-mono); }


.as-karte-foot { display: flex; align-items: center; margin-top: auto; padding-top: var(--space-2); border-top: 1px solid var(--color-border-subtle); }




.ge-holder { display: flex; min-width: 0; flex: 1 1 auto; align-items: center; gap: var(--space-1);
  font-size: var(--font-size-sm); color: var(--color-text); font-weight: var(--fw-medium); }
.ge-holder .ui-ico .ui-ico-svg { width: 14px; height: 14px; opacity: .7; }








.ge-holder .ge-holder-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }



.ge-holder--frei,
.ge-holder--einsatz { color: var(--color-text-muted); font-weight: var(--fw-medium); }
.ge-holder-hint { color: var(--color-warn-text); }




.ge-card-top { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-2); padding: var(--space-3) var(--space-3) 0; }
.ge-card-ico { position: relative; display: inline-flex; width: 48px; height: 48px; align-items: center; justify-content: center;
  border-radius: var(--radius-md); background: var(--color-bg-subtle); flex: 0 0 auto; overflow: hidden; }
.ge-card-ico .ui-ico .ui-ico-svg { width: 20px; height: 20px; opacity: .8; }


.ge-card-foto { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }




.fu-vcard .ge-card-foto { object-fit: contain; }
.ge-card-badges { display: flex; flex-wrap: wrap; gap: var(--space-1); justify-content: flex-end; }





.fu-vcard-hero {
  position: relative; height: 152px; padding: var(--space-3) var(--space-3) var(--space-2-5);
  display: flex; align-items: flex-end; justify-content: center;
  background: linear-gradient(180deg, var(--color-surface) 0%, var(--color-bg-subtle) 100%);
  border-bottom: 1px solid var(--color-border-subtle);
}


.fu-vcard-hero .fu-vcard-img {
  position: static; inset: auto; width: auto; height: auto; max-width: 100%; max-height: 100%;
  object-fit: contain; object-position: bottom; filter: drop-shadow(0 7px 9px rgba(0, 0, 0, .18));
}
.fu-vcard-hero--empty { align-items: center; }
.fu-vcard-hero--empty .fu-vcard-ph { opacity: .2; }
.fu-vcard-ph .ui-ico-svg { width: 46px; height: 46px; }
.fu-vcard-badges { position: absolute; top: var(--space-2); right: var(--space-2);
  display: flex; flex-wrap: wrap; gap: var(--space-1); justify-content: flex-end; max-width: 82%; }
.fu-vcard-badges .pill { box-shadow: var(--shadow-2); }
@media (max-width: 1399px) { .fu-vcard-hero { height: 146px; } }
@media (max-width: 999px)  { .fu-vcard-hero { height: 138px; } }
@media (max-width: 599px)  { .fu-vcard-hero { height: 158px; } }


.ge-drawer { display: flex; flex-direction: column; gap: var(--space-4); }









.ge-muted { color: var(--color-text-muted); }
.ge-empty-inline { font-size: var(--font-size-xs); padding: var(--space-1) 0; }
.ge-hint { font-size: var(--font-size-xs); color: var(--color-warn-text); }










.as-fussnote { font-size: var(--font-size-xs); color: var(--color-text-muted); font-style: italic; margin: var(--space-1) 0 0; }

.app-scope .pill.fu-tk-inactive { color: var(--color-warn-text); }








.as-faell {
  position: relative;
  display: flex; flex-wrap: wrap; align-items: flex-start; gap: var(--space-3) var(--space-6);
  margin-bottom: var(--space-3); padding: var(--space-2-5) var(--space-3);
  border: 1px solid var(--color-border); border-radius: var(--radius-lg);
  background: var(--color-surface);
}






.as-faell-gruppe { display: flex; flex-direction: column; gap: var(--space-1-5); min-width: 0; }









.as-faell-rail { display: flex; flex-wrap: wrap; gap: var(--space-1-5); }



.as-faell .as-chip, .as-inv .as-chip {
  display: inline-flex; align-items: center; gap: var(--space-1-5);
  padding: var(--space-1) var(--space-2-5); min-height: 34px;
  border: 1px solid var(--color-border); border-radius: var(--radius-pill);
  background: var(--color-surface); color: var(--color-text);
  font: inherit; font-size: var(--font-size-sm); cursor: pointer; white-space: nowrap;
  transition: background-color var(--duration-quick) ease, border-color var(--duration-quick) ease,
              color var(--duration-quick) ease;
}
.as-faell .as-chip:hover, .as-inv .as-chip:hover { background: var(--color-surface-hover); border-color: var(--lod-darkblue-300); }
.as-faell .as-chip:focus-visible, .as-inv .as-chip:focus-visible { outline: 2px solid var(--color-brand); outline-offset: 2px; }



.as-chip-zahl { font-weight: var(--fw-semibold); font-variant-numeric: tabular-nums; }






.as-chip-text { display: inline-flex; flex-direction: column; color: var(--color-text-muted); }
.as-chip-text::after {
  content: attr(data-text); height: 0; overflow: hidden; visibility: hidden;
  font-weight: var(--fw-semibold); pointer-events: none;
}
.as-faell .as-chip.is-aktiv .as-chip-text, .as-inv .as-chip.is-aktiv .as-chip-text { color: inherit; }



.as-chip-punkt { width: 8px; height: 8px; border-radius: 50%; flex: 0 0 auto; background: var(--color-text-muted); }
.as-chip--overdue .as-chip-punkt { background: var(--color-danger-strong); }
.as-chip--soon .as-chip-punkt { background: var(--color-warning-strong); }
.as-chip--later .as-chip-punkt { background: var(--color-border-strong); }
.as-faell .as-chip--overdue.is-aktiv, .as-inv .as-chip--overdue.is-aktiv {
  background: var(--status-danger-bg); color: var(--status-danger-fg);
  border-color: var(--color-danger-strong); font-weight: var(--fw-semibold);
}
.as-faell .as-chip--soon.is-aktiv, .as-inv .as-chip--soon.is-aktiv {
  background: var(--status-warning-bg); color: var(--status-warning-fg);
  border-color: var(--color-warning-strong); font-weight: var(--fw-semibold);
}
.as-faell .as-chip--later.is-aktiv, .as-inv .as-chip--later.is-aktiv,
.as-faell .as-chip--art.is-aktiv, .as-inv .as-chip--art.is-aktiv {
  background: var(--color-bg-selected); border-color: var(--brand-default); font-weight: var(--fw-semibold);
}
.as-chip .ui-ico .ui-ico-svg { width: 16px; height: 16px; opacity: .7; }


.as-faell-marke {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 18px; height: 18px; padding: 0 5px; border-radius: var(--radius-pill);
  background: var(--status-warning-bg); color: var(--status-warning-fg);
  font-size: var(--font-size-xs); font-weight: var(--fw-semibold); font-variant-numeric: tabular-nums;
}















.as-faell .as-faell-reset {
  position: absolute; top: var(--space-2); right: var(--space-2);
  padding: var(--space-1) var(--space-2); border: none; border-radius: var(--radius-md);
  background: var(--color-surface); color: var(--color-brand); font: inherit;
  font-size: var(--font-size-sm); font-weight: var(--fw-medium); cursor: pointer; white-space: nowrap;
  transition: background-color var(--duration-quick) ease;
}
.as-faell .as-faell-reset:hover { background: var(--color-bg-subtle); }
.as-faell .as-faell-reset:focus-visible { outline: 2px solid var(--color-brand); outline-offset: 2px; }






.as-faell-kontext { display: flex; flex-direction: column; gap: var(--space-xxs); margin-top: var(--space-1); }




.as-faell-kontext-zeile {
  display: flex; align-items: baseline; justify-content: space-between;
  gap: var(--space-1-5); min-width: 0; font-size: var(--font-size-xs);
}
.as-faell-kontext-art { color: var(--color-text-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }



.as-faell-kontext-datum { flex: 0 0 auto; color: var(--color-text-muted); font-variant-numeric: tabular-nums; }
.as-faell-kontext-wert { flex: 0 0 auto; font-weight: var(--fw-semibold); }
.as-faell-kontext-wert--overdue { color: var(--color-danger-fg); }
.as-faell-kontext-wert--soon { color: var(--color-warn-text); }
.as-faell-kontext-wert--upcoming, .as-faell-kontext-wert--later { color: var(--color-text-muted); }



.as-faell-kontext-wert--missing { color: var(--color-warn-text); font-style: italic; }







@media (max-width: 999px) {
  .as-faell .as-chip, .as-inv .as-chip { min-height: var(--touch-ziel); }
  


  .as-faell .as-faell-reset { min-height: var(--touch-ziel); }
}
@media (max-width: 599px) {
  


  




  .as-faell { flex-direction: column; flex-wrap: nowrap; align-items: stretch; gap: var(--space-2-5); padding: var(--space-2); }
  





  .as-faell-rail {
    flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none;
    


    padding: 0 var(--space-5) var(--space-xxs) 0;
    -webkit-mask-image: linear-gradient(to right, #000 calc(100% - var(--space-5)), transparent);
    mask-image: linear-gradient(to right, #000 calc(100% - var(--space-5)), transparent);
  }
  .as-faell-rail::-webkit-scrollbar { display: none; }
  
  .as-faell .as-faell-reset { position: static; align-self: flex-start; padding-left: 0; }
}







.app-scope .fu-kat-neu {
  margin-left: var(--space-1-5);
  font-size: var(--font-size-md); line-height: 1; color: var(--color-text-muted);
}
.app-scope .fu-kat-neu:disabled { opacity: .45; cursor: not-allowed; }






.as-link-card { display: flex; flex-direction: column; gap: var(--space-2-5); padding: var(--space-3) var(--space-3-5); }
.as-link-head { display: flex; align-items: flex-start; gap: var(--space-2-5); }
.as-link-ico { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px;
  border-radius: var(--radius-md); background: var(--lod-darkblue-50); }
.as-link-ico .ui-ico-svg { width: 20px; height: 20px; opacity: .8; }
.as-link-titles { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.as-link-title { font-size: var(--font-size-sm); font-weight: var(--fw-semibold); color: var(--color-text); overflow-wrap: anywhere; }
.as-link-sub { font-size: var(--font-size-xs); color: var(--color-text-muted); }
.as-link-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2) var(--space-4); margin: 0; }
.as-link-fact dt { font-size: var(--font-size-xs); color: var(--color-text-muted); }
.as-link-fact dd { margin: 2px 0 0; font-size: var(--font-size-sm); color: var(--color-text); font-weight: var(--fw-medium); font-variant-numeric: tabular-nums; }
.as-link-fact--em dd { font-size: var(--font-size-base); font-weight: var(--fw-bold); color: var(--lod-darkblue-700); }
.as-link-permonat { font-size: var(--font-size-xs); font-weight: var(--fw-medium); color: var(--color-text-muted); }
.as-link-foot { display: flex; flex-wrap: wrap; gap: var(--space-1) var(--space-3); padding-top: var(--space-1-5); border-top: 1px solid var(--color-border-light); }
.app-scope .as-link-danger { color: var(--color-danger-fg); }







.as-link-card--empty { flex-flow: row wrap; align-items: center; gap: var(--space-2-5); border-style: dashed; }


.as-link-card--empty .as-link-titles { flex: 1 1 240px; min-width: 200px; }
@media (max-width: 1399px) { .as-link-card--empty .as-link-titles { min-width: 160px; } }
@media (max-width: 999px) { .as-link-card--empty .as-link-titles { min-width: 0; } }


.as-link-card--empty .as-link-foot { border-top: 0; padding-top: 0; }




.fu-kosten-block { display: flex; flex-direction: column; gap: var(--space-1-5); margin-top: var(--space-3); }


.as-termine { list-style: none; margin: var(--space-1) 0 var(--space-3); padding: 0; display: flex; flex-direction: column; gap: var(--space-1); }
.as-termin { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-1) var(--space-2); padding: var(--space-1-5) var(--space-2-5);
  border: 1px solid var(--color-border-light); border-radius: var(--radius-md); background: var(--color-surface); }
.as-termin-ico { flex: 0 0 auto; display: inline-flex; }
.as-termin-ico .ui-ico-svg { width: 16px; height: 16px; opacity: .7; }
.as-termin-label { flex: 1 1 auto; font-size: var(--font-size-sm); font-weight: var(--fw-medium); color: var(--color-text); min-width: 0; }
.as-termin-datum { flex: 0 0 auto; font-size: var(--font-size-xs); color: var(--color-text); font-variant-numeric: tabular-nums; }
.as-termin-delta { flex: 0 0 auto; font-size: var(--font-size-xs); font-weight: var(--fw-semibold); color: var(--color-text-muted); }
.as-termin-delta--soon { color: var(--color-warn-text); }
.as-termin-delta--overdue { color: var(--color-danger-fg); }








.as-termin-akte { flex: 0 0 auto; display: inline-flex; align-items: center; gap: var(--space-1); }
.app-scope .as-termin-akt {
  display: inline-flex; align-items: center; justify-content: center;
  width: 26px; height: 26px; padding: 0;
  border: 1px solid transparent; border-radius: var(--radius-md);
  background: transparent; cursor: pointer; opacity: 0;
  transition: opacity var(--duration-quick), background var(--duration-quick), border-color var(--duration-quick);
}
.as-termin:hover .as-termin-akt,
.as-termin:focus-within .as-termin-akt { opacity: 1; }
.app-scope .as-termin-akt:hover { background: var(--color-bg-subtle); border-color: var(--color-border); }
.app-scope .as-termin-akt:focus-visible { opacity: 1; outline: 2px solid var(--color-brand); outline-offset: 1px; }
.as-termin-akt .ui-ico-svg { width: 15px; height: 15px; opacity: .7; }
.as-termin-akt.is-danger:hover .ui-ico-svg { opacity: 1; }
.app-scope .as-termin-akt.is-danger:hover { background: var(--color-danger-bg); border-color: var(--color-danger-border); }
@media (hover: none) {
  .app-scope .as-termin-akt { opacity: 1; }
}

@media (max-width: 999px) {
  .app-scope .as-termin-akt { min-width: var(--touch-ziel); min-height: var(--touch-ziel); width: auto; height: auto; }
}














.shared-drawer .as-hero {
  align-items: center;
  margin-bottom: var(--space-2);
}
.as-hero-foto { flex: 0 0 auto; }
.as-hero-foto .asset-foto { width: 72px; height: 72px; border-radius: var(--radius-lg); }
.as-hero-foto .asset-foto-ph .ui-ico .ui-ico-svg { width: 22px; height: 22px; }
.as-hero-foto .asset-foto-ph-txt { display: none; }

.as-hero-meta { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-1-5); margin-top: var(--space-1-5); }

.as-hero-modell { font-size: var(--font-size-sm); font-weight: var(--fw-semibold); color: var(--color-text-secondary); }
.as-hero-chips { display: flex; flex-wrap: wrap; gap: var(--space-1-5); }
.as-hero-metaline { font-size: var(--fs-caption); color: var(--color-text-tertiary); display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-1); }
.as-hero-metaline .id { font-family: var(--font-mono); color: var(--lod-gray-500); }


@media (max-width: 599px) {
  .shared-drawer .as-hero { flex-wrap: wrap; }
}






.ge-akte-gruppe { margin-bottom: var(--space-3); }
.ge-akte-gruppe--dim { opacity: .72; }







.ge-akte-gruppe-head {
  display: flex; align-items: center; gap: var(--space-2);
  font-size: var(--font-size-sm);
  font-weight: var(--fw-semibold);
  color: var(--color-text-secondary);
  margin-bottom: var(--space-1-5);
}


.ge-akte-row { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-1-5) 0; border-bottom: 1px solid var(--color-border-subtle); }
.ge-akte-ico { display: inline-flex; width: 28px; height: 28px; align-items: center; justify-content: center; border-radius: var(--radius-sm); background: var(--color-bg-subtle); flex: 0 0 auto; }
.ge-akte-ico .ui-ico .ui-ico-svg { width: 16px; height: 16px; opacity: .8; }
.ge-akte-main { flex: 1; min-width: 0; }
.ge-akte-name { font-weight: var(--fw-medium); color: var(--color-text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ge-akte-meta { font-size: var(--font-size-xs); color: var(--color-text-muted); }



.fus-hero-title { font-size: var(--font-size-lg); font-weight: var(--fw-semibold); color: var(--color-text); line-height: 1.25; }



.fz-km-melde { display: flex; align-items: center; gap: var(--space-2); flex-wrap: wrap; margin-top: var(--space-2); }
.fz-km-input {
  width: 8rem; max-width: 40vw;
  padding: var(--space-1) var(--space-2);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  font-size: var(--font-size-base);
  background: var(--color-surface);
  color: var(--color-text);
}
.fz-km-input:focus-visible { outline: 2px solid var(--brand-default); outline-offset: -1px; border-color: var(--brand-default); }

.fz-kosten { font-size: var(--font-size-xs); color: var(--color-text-muted); margin-top: var(--space-1); line-height: 1.5; }
.fz-kosten strong { color: var(--color-text); font-weight: var(--fw-semibold); }




.km-card { border: var(--surface-border); border-radius: var(--surface-radius); background: var(--surface-bg); padding: var(--space-3) var(--space-3) var(--space-2-5); }
.km-hero { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-2); flex-wrap: wrap; }
.km-hero-label { font-size: var(--font-size-sm); color: var(--lod-gray-600); font-weight: var(--fw-medium); }
.km-hero-val { font-family: var(--lod-font-display); font-size: var(--font-size-xxl); font-weight: var(--fw-bold); line-height: 1.05; color: var(--lod-darkblue-700); font-variant-numeric: tabular-nums; white-space: nowrap; }
.km-hero-unit { font-size: var(--font-size-sm); font-weight: 600; color: var(--lod-gray-500); margin-left: 4px; }
.km-bar { display: flex; height: 10px; border-radius: var(--radius-circular); overflow: hidden; background: var(--lod-gray-100); margin: var(--space-2-5) 0 var(--space-2); }
.km-seg { height: 100%; min-width: 2px; }
.km-seg--leasing { background: var(--lod-darkblue-700); }
.km-seg--versicherung { background: var(--lod-turquoise); }
.km-seg--tank { background: var(--lod-amber-600); }
.km-legend { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--space-1); }
.km-leg { display: flex; align-items: center; gap: var(--space-1-5); font-size: var(--font-size-xs); }
.km-dot { flex: 0 0 auto; width: 10px; height: 10px; border-radius: var(--radius-circular); }
.km-dot--leasing { background: var(--lod-darkblue-700); }
.km-dot--versicherung { background: var(--lod-turquoise); }
.km-dot--tank { background: var(--lod-amber-600); }
.km-leg-label { flex: 1 1 auto; color: var(--color-text-muted); min-width: 0; }
.km-leg-sub { color: var(--lod-gray-400); }
.km-leg-val { flex: 0 0 auto; color: var(--color-text); font-weight: var(--fw-semibold); font-variant-numeric: tabular-nums; }



.km-stand { margin: 2px 0 0; font-size: var(--font-size-xs); color: var(--lod-gray-500); line-height: 1.4; }
.km-stand.is-veraltet { color: var(--color-warning-fg); font-weight: var(--fw-medium); }
.km-note { margin: var(--space-2) 0 0; font-size: var(--font-size-xs); color: var(--lod-gray-500); line-height: 1.4; }







.as-leer-sprung { margin-top: var(--space-2); }












.ge-holder-card { display: flex; align-items: center; gap: var(--space-2-5); padding: var(--space-2-5);
  background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-md);
  margin: var(--space-1) 0 var(--space-2); }


.ge-holder-card--frei { background: var(--lod-turquoise-100); border-color: var(--lod-turquoise-300); }

.ge-holder-card--pending { background: var(--color-warn-bg); border-color: var(--color-warn-border); }
.ge-holder-card--pending .ge-holder-av .ui-ico .ui-ico-svg { width: 22px; height: 22px; opacity: .8; }
.ge-holder-av { flex: 0 0 auto; display: inline-flex; }
.ge-holder-av .ui-ico .ui-ico-svg { width: 36px; height: 36px; opacity: .7; }
.ge-holder-info { min-width: 0; }
.ge-holder-card .ge-holder-name { font-weight: var(--fw-semibold); color: var(--color-text); }
.ge-holder-sub { font-size: var(--font-size-xs); color: var(--color-text-muted); }







.app-scope .ge-field-add, .app-scope .fu-kat-neu { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center;
  width: 28px; height: 28px; padding: 0; border: 1px solid var(--color-border); border-radius: var(--radius-md);
  background: var(--color-surface); cursor: pointer; transition: background var(--duration-fast), border-color var(--duration-fast); }
.app-scope .ge-field-add:hover, .app-scope .fu-kat-neu:hover { background: var(--color-bg-subtle); border-color: var(--lod-darkblue-300); }
.app-scope .ge-field-add:focus-visible, .app-scope .fu-kat-neu:focus-visible { outline: 2px solid var(--color-brand); outline-offset: 2px; }
.app-scope .ge-field-add .ui-ico .ui-ico-svg { width: 15px; height: 15px; opacity: .8; }

.app-scope .as-row-main { display: flex; flex-direction: column; gap: var(--space-px); flex: 1 1 auto; min-width: 0; }
.app-scope .as-row-titleline { display: flex; align-items: center; gap: var(--space-1-5); min-width: 0; }
.app-scope .as-row-title { font-size: 12.5px; font-weight: var(--fw-medium); color: var(--lod-darkblue-700); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.app-scope .as-row-sub { font-size: var(--fs-badge); color: var(--lod-gray-600); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.app-scope .as-row-chev { flex-shrink: 0; opacity: .4; }
.app-scope .subgrid-row:hover .as-row-chev { opacity: .8; }





.app-scope .as-static { font-size: 12.5px; color: var(--color-text); padding: var(--space-1) 0; }
.app-scope .as-newdef-row { display: flex; gap: var(--space-2); align-items: center; margin-top: var(--space-1-5); }
.app-scope .as-newdef-row .app-drawer-input { flex: 1 1 auto; }
.app-scope .as-linkbtn { align-self: flex-start; background: none; border: none; color: var(--color-brand); font: inherit; font-size: var(--fs-badge); font-weight: var(--fw-semibold); cursor: pointer; padding: 2px var(--space-1); border-radius: var(--radius-sm); }
.app-scope .as-linkbtn:hover { background: var(--color-bg-subtle); }














@media (max-width: 999px) {
  .app-scope .as-linkbtn { min-height: var(--touch-ziel); display: inline-flex; align-items: center; }
}


.pvw-asset-picker { margin-bottom: var(--space-2); }
.pvw-asset-panel { margin-top: var(--space-2); border: 1px solid var(--color-border-subtle); border-radius: var(--radius-md); padding: var(--space-2); }



.pvw-asset-list { max-height: 240px; overflow-y: auto; overflow-x: hidden; display: flex; flex-direction: column; gap: 2px; margin-bottom: var(--space-2); }
.pvw-asset-row { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-1) var(--space-1-5); border-radius: var(--radius-sm); cursor: pointer; min-width: 0; }
.pvw-asset-row:hover { background: var(--color-bg-subtle); }




.pvw-asset-list .pvw-asset-row input[type="checkbox"] { width: 16px; height: 16px; flex: 0 0 auto; margin: 0; }

@media (hover: none) { .pvw-asset-list .pvw-asset-row input[type="checkbox"] { width: 22px; height: 22px; } }



.pvw-asset-text { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.pvw-asset-name { font-size: var(--font-size-sm); font-weight: var(--fw-medium); color: var(--color-text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pvw-asset-meta { font-size: var(--font-size-xs); color: var(--color-text-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }





.pvw-asset-searchbar { display: flex; align-items: center; gap: var(--space-2); margin-bottom: var(--space-2); }
.pvw-asset-search {
  flex: 1 1 auto; min-width: 0;
  width: 100%; box-sizing: border-box; height: 30px; padding: 0 var(--space-2);
  border: 1px solid var(--color-border); border-radius: var(--radius-sm);
  background: var(--color-surface); color: var(--color-text);
  font-size: var(--font-size-sm);
}
.pvw-asset-count { flex: 0 0 auto; font-size: var(--font-size-xs); color: var(--color-text-muted); white-space: nowrap; }
.pvw-asset-search:focus-visible { border-color: var(--brand-default); outline: none; }

.pvw-asset-tags { flex: 0 0 auto; margin-left: auto; display: flex; align-items: center; gap: var(--space-1); }
.pvw-asset-status, .pvw-asset-zustand { flex: 0 0 auto; }




.pvw-asset-riegel {
  margin-top: var(--space-2); padding: var(--space-2);
  border: 1px solid var(--color-border-subtle); border-radius: var(--radius-sm);
  background: var(--color-bg-muted);
}
.pvw-asset-riegel-kopf {
  font-size: var(--font-size-xs); color: var(--color-text-secondary);
  margin-bottom: var(--space-1-5);
}
.pvw-asset-riegel-zeile {
  display: flex; align-items: center; gap: var(--space-2);
  padding: 2px 0; min-width: 0;
}


.pvw-asset-riegel-name {
  flex: 1 1 auto; min-width: 0; font-size: var(--font-size-sm); color: var(--color-text);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.pvw-asset-riegel-zeile .btn { flex: 0 0 auto; }

.pvw-asset-selected:not(:empty) {
  margin-top: var(--space-2); padding-top: var(--space-2);
  border-top: 1px solid var(--color-border-subtle);
}
.pvw-asset-selected-head {
  font-size: var(--font-size-xs); font-weight: var(--fw-semibold);
  color: var(--color-text-secondary); margin-bottom: var(--space-1-5);
}
.pvw-asset-selected-row { display: flex; align-items: center; gap: var(--space-2); padding: 2px 0; }


.pvw-asset-selected-name { flex: 0 0 40%; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.pvw-asset-selected-title {
  font-size: var(--font-size-sm); color: var(--color-text);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.pvw-asset-note {
  flex: 1 1 auto; min-width: 0; box-sizing: border-box; height: 28px; padding: 0 var(--space-2);
  border: 1px solid var(--color-border); border-radius: var(--radius-sm);
  background: var(--color-surface); color: var(--color-text); font-size: var(--font-size-sm);
}
.pvw-asset-note:focus-visible { border-color: var(--brand-default); outline: none; }



.pvw-asset-selected-row--standort { flex-wrap: wrap; }
.pvw-asset-standort { display: inline-flex; flex: 0 0 auto; margin-left: auto; border: 1px solid var(--color-border); border-radius: var(--radius-md); overflow: hidden; }
.app-scope .pvw-standort-opt {
  appearance: none; border: 0; background: transparent; cursor: pointer; margin: 0;
  padding: 3px var(--space-2); height: 26px; line-height: 20px; font-size: var(--font-size-xs);
  color: var(--color-text-secondary); white-space: nowrap;
}
.app-scope .pvw-standort-opt + .pvw-standort-opt { border-left: 1px solid var(--color-border); }
.app-scope .pvw-standort-opt:hover { background: var(--color-bg-subtle); }
.app-scope .pvw-standort-opt.is-active { background: var(--brand-default); color: var(--brand-text-on); }





@media (max-width: 999px) {
  




  .pvw-asset-search, .pvw-asset-note { height: auto; min-height: var(--touch-ziel); }
  .app-scope .pvw-standort-opt { height: auto; min-height: var(--touch-ziel); }
  .app-scope .fu-kat-neu, .app-scope .ge-field-add {
    width: auto; height: auto;
    min-width: var(--touch-ziel); min-height: var(--touch-ziel);
  }
}













.as-ueb,
.as-inv { --as-lesebreite: 920px; }

.as-ueb {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3);
  align-items: start;
}
.as-ueb-kette {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background: var(--color-surface);
  padding: var(--space-3);
  min-width: 0;
}
.as-ueb-kette-kopf { display: flex; align-items: center; gap: var(--space-2); margin-bottom: var(--space-3); }
.as-ueb-kette-kopf .ui-ico .ui-ico-svg { width: 18px; height: 18px; opacity: .75; }
.as-ueb-kette-titel { font-weight: var(--fw-semibold); color: var(--color-text); font-size: var(--font-size-sm); }
.as-ueb-kpi { margin-bottom: var(--space-3); }




.as-ueb-bloecke { display: flex; flex-direction: column; gap: var(--space-3); max-width: var(--as-lesebreite); }
.as-ueb-block { min-width: 0; }


.as-ueb-block > .gl-group-header { margin-bottom: var(--space-1-5); }





















.as-ueb-zeilen {
  display: grid;
  grid-template-columns: minmax(0, auto) minmax(72px, 1fr) max-content;
  align-items: center;
  column-gap: var(--space-2);
  row-gap: var(--space-1-5);
}
.as-ueb-zeile { display: contents; }



.as-ueb-zeile-label {
  min-width: 0; font-size: var(--font-size-sm); color: var(--color-text);
  overflow-wrap: anywhere;
}
.as-ueb-zeile-wert {
  font-size: var(--font-size-xs); font-weight: var(--fw-medium);
  color: var(--color-text-muted); font-variant-numeric: tabular-nums; white-space: nowrap;
  justify-self: end;
}
.as-ueb-zeile-wert--ok { color: var(--color-text-muted); }
.as-ueb-zeile-wert--warn { color: var(--color-warning-fg); }
.as-ueb-zeile-wert--alarm { color: var(--color-danger-fg); font-weight: var(--fw-semibold); }



.as-ueb-bar {
  min-width: 0; height: 6px; border-radius: var(--radius-pill);
  background: var(--lod-gray-200); overflow: hidden; position: relative;
}
.as-ueb-bar-fill {
  display: block; height: 100%; width: var(--as-ueb-anteil, 0%);
  border-radius: var(--radius-pill); background: var(--brand-default);
}
.as-ueb-bar--ok .as-ueb-bar-fill { background: var(--color-success-strong); }
.as-ueb-bar--warn .as-ueb-bar-fill { background: var(--color-warning-strong); }



.as-ueb-bar--alarm { background: var(--color-danger-bg); }
.as-ueb-bar--alarm .as-ueb-bar-fill { background: var(--color-danger-strong); }
.as-ueb-bar--neutral .as-ueb-bar-fill { background: var(--brand-default); }




.as-ueb-chips {
  grid-column: 2 / -1; justify-self: end;
  display: flex; flex-wrap: wrap; justify-content: flex-end; gap: var(--space-1);
}
.as-ueb-chip {
  display: inline-flex; align-items: center; height: 20px; padding: 0 var(--space-2);
  border-radius: var(--radius-pill); font-size: var(--font-size-xs); font-weight: var(--fw-medium);
  white-space: nowrap;
}
.as-ueb-chip--alarm { background: var(--color-danger-bg); color: var(--color-danger-fg); }
.as-ueb-chip--warn { background: var(--color-warning-bg); color: var(--color-warning-fg); }
.as-ueb-hinweis { font-size: var(--font-size-xs); color: var(--color-text-muted); line-height: 1.5; }




.as-ueb-sprung { margin-top: var(--space-2); }


.as-ueb-summe { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-2);
  flex-wrap: wrap; margin-bottom: var(--space-2); }
.as-ueb-summe-label { font-size: var(--font-size-sm); color: var(--color-text-muted); font-weight: var(--fw-medium); }
.as-ueb-summe-wert { font-size: var(--kpi-value-md); font-weight: var(--fw-semibold); color: var(--color-text);
  font-variant-numeric: tabular-nums; white-space: nowrap; }

.as-ueb-fuss { margin: var(--space-1-5) 0 0; font-size: var(--font-size-xs); color: var(--color-text-muted); line-height: 1.4; }
.as-ueb-fuss.is-veraltet { color: var(--color-warning-fg); font-weight: var(--fw-medium); }

@media (max-width: 1399px) {
  .as-ueb { gap: var(--space-2-5); }
  

}



















@media (max-width: 1199px) {
  .as-ueb { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 599px) {
  .as-ueb { gap: var(--space-2); }
  .as-ueb-summe-wert { font-size: var(--font-size-lg); }
  .as-ueb-kette { padding: var(--space-2-5); border-radius: var(--radius-md); }
  






  





  .as-ueb-zeilen { display: flex; flex-direction: column; align-items: stretch; gap: var(--space-1-5); }
  .as-ueb-zeile { display: flex; align-items: center; gap: var(--space-2); min-width: 0; }
  .as-ueb-zeile-label { flex: 1 1 auto; }
  .as-ueb-zeile-wert { flex: 0 0 auto; }
  .as-ueb-bar { display: none; }
  

  .as-ueb-zeile--chips { flex-wrap: wrap; }
  .as-ueb-chips { flex: 0 0 auto; flex-wrap: wrap; }
}









.as-dt-titel-zelle {
  display: flex;
  align-items: center;
  gap: var(--space-1-5);
  min-width: 0;
}
.as-dt-titel-zelle .lod-dt-titel {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
}



.as-dt-person {
  display: flex;
  align-items: center;
  gap: var(--space-1-5);
  min-width: 0;
}
.as-dt-person-nm {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
}




.as-dt-hint {
  color: var(--color-text-muted);
  font-size: var(--fs-caption);
  flex: 0 0 auto;
}



.as-dt-faellig {
  color: var(--color-warn-text);
  font-weight: var(--fw-semibold);
}





@container drawer (max-width: 478px) {
  .km-hero-val { font-size: var(--font-size-xl); }
  

  .as-link-facts { grid-template-columns: 1fr; }
}











.as-inv {
  display: grid; grid-template-columns: 340px minmax(0, 1fr);
  gap: var(--space-4); align-items: start;
}
.as-inv-master { display: flex; flex-direction: column; gap: var(--space-3); min-width: 0; }
.as-inv-neu-cta { width: 100%; }


.as-inv-neu-hinweis { font-size: var(--font-size-xs); color: var(--color-text-muted); line-height: 1.5; margin: var(--space-2) 0 0; }
.as-inv-neu-felder { display: flex; flex-wrap: wrap; align-items: flex-end; gap: var(--space-3); margin-top: var(--space-3); }
.as-inv-neu-feld { display: flex; flex-direction: column; gap: var(--space-1); min-width: 0; flex: 1 1 200px; }
.as-inv-neu-label { font-size: var(--font-size-xs); color: var(--color-text-muted); }

.as-inv-liste { display: flex; flex-direction: column; gap: var(--space-2); }








.as-inv .as-inv-zeile {
  display: flex; align-items: center; gap: var(--space-3); width: 100%;
  padding: var(--space-3); text-align: left;
  border: 1px solid var(--color-border-subtle); border-radius: var(--radius-md);
  background: var(--color-surface); cursor: pointer; min-width: 0;
}
.as-inv .as-inv-zeile:hover { background: var(--color-surface-hover); }
.as-inv .as-inv-zeile.is-offen { border-color: var(--brand-default); background: var(--color-bg-selected); }



.as-inv-zeile-haupt { display: flex; flex-direction: column; gap: 3px; min-width: 0; flex: 1 1 auto; }
.as-inv-zeile-kopf { display: flex; align-items: center; justify-content: space-between; gap: var(--space-2); min-width: 0; }
.as-inv-zeile-name { min-width: 0; overflow-wrap: anywhere; font-weight: var(--fw-medium); }
.as-inv-zeile-meta { font-size: var(--font-size-xs); color: var(--color-text-muted); overflow-wrap: anywhere; }


.as-inv-zeile-progress {
  display: block; height: 4px; border-radius: var(--radius-pill);
  background: var(--color-bg-muted); overflow: hidden; margin-top: var(--space-1);
}
.as-inv-zeile-progress-wert { display: block; height: 100%; width: var(--as-inv-anteil, 0%); background: var(--brand-default); border-radius: var(--radius-pill); }



.as-inv-doc:empty { display: none; }




.as-inv-doc {
  border: 1px solid var(--color-border-subtle); border-radius: var(--radius-lg);
  background: var(--color-surface); padding: var(--space-4); min-width: 0;
  max-width: calc(var(--as-lesebreite) + 2 * var(--space-4));
}
.as-inv-doc-kopf { display: flex; align-items: baseline; gap: var(--space-2); flex-wrap: wrap; }
.as-inv-detail-titel { font-weight: var(--fw-semibold); font-size: var(--font-size-md); }
.as-inv-detail-ort { font-size: var(--font-size-xs); color: var(--color-text-muted); }
.as-inv-doc-meta { flex: 1 1 100%; }


.as-inv-progress { display: flex; align-items: center; gap: var(--space-2); max-width: var(--as-lesebreite); margin-bottom: var(--space-3); }
.as-inv-progress-spur {
  flex: 1 1 auto; height: 6px; border-radius: var(--radius-pill);
  background: var(--color-bg-muted); overflow: hidden; min-width: 0;
}
.as-inv-progress-wert { display: block; height: 100%; width: var(--as-inv-anteil, 0%); background: var(--brand-default); border-radius: var(--radius-pill); }
.as-inv-progress-text { flex: 0 0 auto; font-size: var(--font-size-xs); color: var(--color-text-muted); }


.as-inv-tools { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); max-width: var(--as-lesebreite); margin-bottom: var(--space-3); }
.as-inv-suche { flex: 1 1 260px; min-width: 0; }
.as-inv-filter { display: flex; flex-wrap: wrap; gap: var(--space-1); }










@media (max-width: 999px) {
  

  .as-inv-suche { min-height: var(--touch-ziel); }
}








.as-inv-bilanz { margin: var(--space-3) 0; max-width: var(--as-lesebreite); }





.as-inv-positionen { display: flex; flex-direction: column; gap: var(--space-3); max-width: var(--as-lesebreite); }
.as-inv-gruppe { display: flex; flex-direction: column; gap: var(--space-1); }



.as-inv-pos {
  display: flex; align-items: center; gap: var(--space-3); min-width: 0;
  padding: var(--space-1-5) var(--space-2); border-radius: var(--radius-md);
}



.as-inv-pos.is-offen { box-shadow: inset 2px 0 0 var(--color-border-strong); }
.as-inv-pos-haupt { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.as-inv-pos-name { min-width: 0; overflow-wrap: anywhere; }


.as-inv-pos-meta { font-size: var(--font-size-xs); color: var(--color-text-muted); overflow-wrap: anywhere; }
.as-inv-pos-aktionen { flex: 0 0 auto; display: flex; gap: var(--space-1); flex-wrap: wrap; align-items: center; }
.as-inv-pos-befund { font-size: var(--font-size-xs); color: var(--color-text-muted); }



.as-inv-befunde { display: inline-flex; }
.as-inv .as-inv-befund {
  padding: var(--space-1) var(--space-2); border: 1px solid var(--color-border);
  background: var(--color-surface); color: var(--color-text-muted);
  font-size: var(--font-size-xs); cursor: pointer; min-height: 28px;
  margin-left: -1px;
}
.as-inv .as-inv-befunde .as-inv-befund:first-child { border-radius: var(--radius-md) 0 0 var(--radius-md); margin-left: 0; }
.as-inv .as-inv-befunde .as-inv-befund:last-child { border-radius: 0 var(--radius-md) var(--radius-md) 0; }
.as-inv .as-inv-befund:hover { background: var(--color-surface-hover); color: var(--color-text); }


.as-inv .as-inv-befund--ok.is-aktiv { background: var(--status-success-bg); color: var(--status-success-fg); border-color: var(--color-success-strong); font-weight: var(--fw-semibold); z-index: 1; }
.as-inv .as-inv-befund--warn.is-aktiv { background: var(--status-warning-bg); color: var(--status-warning-fg); border-color: var(--color-warning-strong); font-weight: var(--fw-semibold); z-index: 1; }
.as-inv .as-inv-befund--alarm.is-aktiv { background: var(--status-danger-bg); color: var(--status-danger-fg); border-color: var(--color-danger-strong); font-weight: var(--fw-semibold); z-index: 1; }










@media (max-width: 999px) {
  .as-inv .as-inv-befund { min-height: var(--touch-ziel); }
}






.as-inv-fuss {
  display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap;
  gap: var(--space-2); margin-top: var(--space-4); max-width: var(--as-lesebreite);
  padding-top: var(--space-3); border-top: 1px solid var(--color-border-subtle);
}


.as-inv-sperre { flex: 1 1 auto; font-size: var(--font-size-xs); color: var(--color-text-muted); }

@media (max-width: 1399px) {
  
  .as-inv { grid-template-columns: 300px minmax(0, 1fr); }
}
@media (max-width: 999px) {
  

  .as-inv { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 599px) {
  .as-inv-neu-felder { flex-direction: column; align-items: stretch; }
  




  .as-inv-neu-feld { flex: 0 0 auto; }
  

  .as-inv-pos { flex-direction: column; align-items: stretch; gap: var(--space-1); }
  .as-inv-pos-aktionen { justify-content: stretch; }
  .as-inv-befunde { display: flex; width: 100%; }
  .as-inv .as-inv-befund { flex: 1 1 0; }
  .as-inv-suche { flex-basis: 100%; }
}
