﻿:root {
    --wuerth-cd-red: #CC0000;
    --wuerth-cd-green: #008448;
    --wuerth-cd-yellow: #FDC300;
    --wuerth-cd-dark-red: #90112C;
    --wuerth-cd-blue: #004774;
    --wuerth-cd-cyan: #0093DD;
    --extended-progress-ring-text-color: var(--neutral-foreground-rest);
    --extended-progress-ring-text-size: 24px;
    --extended-progress-ring-progress-foreground-color: var(--accent-base-color);
    --extended-progress-ring-progress-background-color: var(--neutral-fill-layer-rest);
    --extended-progress-ring-progress-size: 128px;
    --app-menu-tile-border-color: var(--accent-base-color);
    --app-menu-tile-icon-color: var(--accent-base-color);
    --multi-color-progress-ring-inner-circle-background-color: var(--neutral-fill-layer-rest);
    --multi-color-progress-ring-text-color: var(--neutral-foreground-rest);
    --multi-color-progress-ring-text-size: 24px;
    --multi-color-progress-ring-progress-size: 128px;
    --multi-color-progress-ring-inner-circle-size: 113px;
    --app-base-tile-border-color: transparent;
    --app-base-tile-icon-color: var(--neutral-foreground-rest);
    --app-sub-header-icon-color: var(--neutral-foreground-rest);
    --app-default-base-radius: 12px;
    --app-default-card-radius: 12px;
    --app-menu-tile-size: 280px;
    --app-menu-tile-margin: 16px;
    --app-menu-tile-padding: 16px;
    --app-menu-tile-icon-size: 128px;
    --app-menu-tile-text-size: 24px;
    --app-menu-tile-subtext-size: 14px;
    --app-menu-tile-card-rgba-color-1: rgb(from var(--accent-base-color) r g b / 0.1);
    --app-menu-tile-card-rgba-color-2: rgb(from var(--accent-base-color) r g b / 0.2);
    --app-menu-tile-card-rgba-color-3: rgb(from var(--accent-base-color) r g b / 0.3);
    --app-tile-stop-color: var(--neutral-foreground-rest);
    --text-field-large-icon-color: var(--neutral-foreground-rest);
}

* {
    touch-action: manipulation; 
}

.brand-container {
    height: 47px !important;
}

.final-meter-branding-host {
    display: inline-flex;
    min-width: 48px;
    height: 48px;
    align-items: center;
    position: relative;
}

.final-meter-branding-live {
    display: inline-flex;
    align-items: center;
}

.final-meter-branding-bootstrap-logo {
    display: none;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 48px;
    align-items: center;
    justify-content: center;
}

.final-meter-branding-bootstrap-logo::before {
    display: block;
    width: 100%;
    height: 100%;
    content: "";
    background: var(--wis-cached-brand-logo) 13px center / auto 24px no-repeat;
}

html:not([data-final-meter-branding-ready="true"]) .final-meter-branding-live {
    visibility: hidden;
}

html[data-final-meter-branding-boot="custom"]:not([data-final-meter-branding-ready="true"]) .final-meter-branding-bootstrap-logo {
    display: inline-flex;
}

html[data-final-meter-branding-ready="true"] .final-meter-branding-bootstrap-logo {
    display: none;
}

html[data-final-meter-branding-ready="true"] .final-meter-branding-live {
    visibility: visible;
}

.application-text {
    color: var(--accent-base-color) !important;
}

.app-button-large {
    font-size: 30px;
    text-align: center;
    height: 50px;
}

.app-button-large::part(control) {
    text-align: center;
}

.app-button-normal {
    font-size: 20px;
    text-align: center;
    height: 40px;
}

.app-button-normal::part(control) {
    text-align: center;
}

.app-custom-bin-type {
    max-width: 100%;
    margin-top: 4px;
    font-size: clamp(11px, 1.2vw, 16px);
    line-height: 1.25;
    white-space: nowrap;
}

.trip-progress-action-area {
    --trip-progress-width: 100px;
    --trip-next-step-button-width: 280px;
    min-width: var(--trip-next-step-button-width);
}

.trip-progress-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    flex-wrap: nowrap;
}

.trip-progress-step {
    min-width: var(--trip-progress-width);
}

.trip-action-row {
    display: flex;
    justify-content: center;
    width: 100%;
    margin-top: 8px;
}

.trip-next-step-button {
    display: block;
    width: var(--trip-next-step-button-width);
    height: 40px;
    max-width: 100%;
}

.trip-next-step-button::part(control) {
    box-sizing: border-box;
    justify-content: center;
    width: var(--trip-next-step-button-width);
    min-width: var(--trip-next-step-button-width);
    max-width: var(--trip-next-step-button-width);
    height: 40px;
    min-height: 40px;
    padding-block: 0;
    white-space: nowrap;
}

@media (max-width: 900px) {
    .trip-progress-action-area {
        --trip-progress-width: 84px;
    }

    .trip-progress-row {
        gap: 12px;
    }

    .trip-next-step-button {
        width: var(--trip-next-step-button-width);
    }
}

.app-button-square {
    font-size: 24px;
    text-align: center;
    height: 40px;
    width: 40px;
}

.app-button-square::part(control) {
    text-align: center;
}

.app-button-square::part(control):active {
    transform: none;
}

.app-route-search-button {
    position: relative;
}

.app-route-search-button.search-active::part(control) {
    box-shadow:
        0 0 0 2px var(--neutral-fill-layer-rest),
        0 0 0 4px var(--accent-base-color);
}

.app-route-search-button.search-active::after {
    content: "";
    position: absolute;
    top: -3px;
    right: -3px;
    width: 12px;
    height: 12px;
    border: 2px solid var(--neutral-fill-layer-rest);
    border-radius: 999px;
    background: var(--accent-base-color);
    pointer-events: none;
}

.app-icon-button {
    cursor: pointer;
    transition: all 0.2s ease;
}

.app-icon-button:hover {
    transform: scale(1.1);
    opacity: 0.8;
}

.app-icon-button:active {
    transform: scale(0.95); 
    opacity: 0.6;
}

.app-icon-button svg {
    display: inline-block; 
    transition: inherit; 
}

.app-fluent-text-field-large {
    width: 100%;
    font-size: 24px;
    text-align: center;
    padding: 10px;
}

.app-fluent-text-field-large::part(control) {
    height: 100%;
    text-align: center;
}

.app-fluent-text-field-large::part(control)::placeholder {

}

.app-fluent-text-field-large::part(root) {
    border: 2px solid var(--neutral-foreground-rest);
    border-radius: var(--app-default-base-radius);
    height: 80px;
    width: 100%;
    text-align: center;
}

.app-fluent-text-field-large::after {
    display: none;
}

.app-scan-search-cancel {
    -webkit-appearance: none;
    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 100%;
    padding: 0;
    border: 0 !important;
    border-radius: 0;
    outline: 0;
    box-shadow: none !important;
    background: transparent !important;
    cursor: pointer;
}

.app-scan-search-cancel:hover,
.app-scan-search-cancel:active {
    opacity: 0.75;
}

.app-scan-search-cancel:focus,
.app-scan-search-cancel:focus-visible {
    border: 0 !important;
    outline: 0;
    box-shadow: none !important;
}

.app-roller-picker {
    position: relative;
    width: 100%;
    max-width: 360px;
    margin: 0 auto;
}

.app-roller-picker-trigger {
    width: 100%;
    min-height: 80px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 16px;
    border: 2px solid var(--neutral-stroke-rest);
    border-radius: var(--app-default-base-radius);
    background: var(--neutral-fill-input-rest);
    color: var(--neutral-foreground-rest);
    box-shadow: 0 2px 10px color-mix(in srgb, var(--neutral-shadow-ambient) 18%, transparent);
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.app-roller-picker-trigger:focus-visible,
.app-roller-picker-close:focus-visible,
.app-roller-picker-item:focus-visible {
    outline: 2px solid var(--accent-base-color);
    outline-offset: 2px;
}

.app-roller-picker.open .app-roller-picker-trigger {
    border-color: var(--accent-base-color);
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--accent-base-color) 35%, transparent);
}

.app-roller-picker-trigger.printed,
.app-roller-picker-trigger.status-printed {
    border-color: var(--wuerth-cd-green) !important;
    background: color-mix(in srgb, var(--wuerth-cd-green) 16%, var(--neutral-fill-input-rest));
    box-shadow:
        inset 0 0 0 1px color-mix(in srgb, var(--wuerth-cd-green) 42%, transparent),
        0 2px 10px color-mix(in srgb, var(--neutral-shadow-ambient) 18%, transparent);
    transition: background-color 0.2s ease, box-shadow 0.2s ease;
}

.app-roller-picker-trigger.printed:hover,
.app-roller-picker-trigger.printed:focus,
.app-roller-picker-trigger.printed:active,
.app-roller-picker-trigger.status-printed:hover,
.app-roller-picker-trigger.status-printed:focus,
.app-roller-picker-trigger.status-printed:active {
    border-color: var(--wuerth-cd-green) !important;
    outline-color: var(--wuerth-cd-green);
}

.app-roller-picker-trigger.printed:focus-visible,
.app-roller-picker-trigger.status-printed:focus-visible {
    border-color: var(--wuerth-cd-green) !important;
    outline: 2px solid var(--wuerth-cd-green) !important;
    outline-offset: 2px;
}

.app-roller-picker.open .app-roller-picker-trigger.printed,
.app-roller-picker.open .app-roller-picker-trigger.status-printed {
    border-color: var(--wuerth-cd-green) !important;
    box-shadow:
        inset 0 0 0 1px color-mix(in srgb, var(--wuerth-cd-green) 42%, transparent),
        0 0 0 1px color-mix(in srgb, var(--wuerth-cd-green) 42%, transparent);
}

.app-roller-picker-trigger.status-printed .app-roller-picker-trigger-primary,
.app-roller-picker-trigger.status-printed .app-roller-picker-trigger-status,
.app-roller-picker-trigger.status-printed .app-roller-picker-trigger-chevron {
    color: var(--wuerth-cd-green);
}

.app-roller-picker-trigger.status-printed .app-roller-picker-trigger-status {
    width: auto;
    max-width: 100%;
    padding: 3px 7px;
    border: 1px solid color-mix(in srgb, var(--wuerth-cd-green) 58%, transparent);
    border-radius: 999px;
    background-color: color-mix(in srgb, var(--wuerth-cd-green) 18%, transparent);
}

.app-roller-picker-trigger:disabled {
    opacity: 0.6;
}

.app-roller-picker-trigger-content {
    display: flex;
    flex: 1 1 42%;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
}

.app-roller-picker-trigger-primary,
.app-roller-picker-trigger-secondary,
.app-roller-picker-trigger-status {
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.app-roller-picker-trigger-primary {
    font-size: 1.15rem;
    font-weight: 600;
}

.app-roller-picker-trigger-secondary {
    font-size: 0.9rem;
    color: var(--neutral-foreground-hint);
}

.app-roller-picker-trigger-meta {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    gap: 4px;
    flex: 1 1 58%;
    min-width: 0;
}

.app-roller-picker-trigger-status {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    font-size: 0.85rem;
    line-height: 1.15;
    text-align: right;
    white-space: normal;
    text-overflow: clip;
}

.app-roller-picker-trigger-status-text {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.app-roller-picker-trigger-chevron {
    font-size: 1rem;
    line-height: 1;
    transition: transform 0.2s ease;
}

.app-roller-picker.open .app-roller-picker-trigger-chevron {
    transform: rotate(180deg);
}

.app-roller-picker-overlay {
    position: fixed;
    inset: 0;
    width: 100vw;
    max-width: none;
    height: 100dvh;
    max-height: none;
    margin: 0;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: color-mix(in srgb, var(--neutral-fill-stealth-rest) 32%, transparent);
    backdrop-filter: blur(6px);
    z-index: 400;
}

.app-roller-picker-overlay::backdrop {
    background: transparent;
}

.app-route-search-overlay {
    bottom: auto;
    height: var(--app-route-search-visible-height, 100dvh);
    max-height: var(--app-route-search-visible-height, 100dvh);
    min-height: 0;
}

.app-route-search-overlay.keyboard-constrained {
    align-items: flex-start;
    padding-top: max(8px, var(--app-route-search-visual-top, 0px));
    padding-bottom: 8px;
}

.app-roller-picker-dialog {
    width: min(100%, 420px);
    max-height: min(74vh, 520px);
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 14px;
    border-radius: calc(var(--app-default-card-radius) + 4px);
    border: 2px solid color-mix(in srgb, var(--neutral-stroke-rest) 86%, transparent);
    background: var(--neutral-fill-layer-rest);
    box-shadow: 0 18px 44px color-mix(in srgb, var(--neutral-shadow-key) 28%, transparent);
}

.app-roller-picker-dialog-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.app-roller-picker-dialog-title-group {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.app-roller-picker-dialog-title {
    font-size: 1.24rem;
    font-weight: 800;
    color: var(--neutral-foreground-rest);
}

.app-roller-picker-dialog-subtitle {
    font-size: 0.92rem;
    color: var(--neutral-foreground-hint);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.app-roller-picker-close {
    width: 40px;
    height: 40px;
    border: 1px solid color-mix(in srgb, var(--neutral-stroke-rest) 80%, transparent);
    border-radius: 999px;
    background: var(--neutral-fill-input-rest);
    color: var(--neutral-foreground-rest);
    font-size: 1rem;
    flex-shrink: 0;
}

.app-roller-picker-close:hover {
    background: var(--neutral-fill-stealth-rest);
}

.app-roller-picker-popup {
    position: relative;
    padding: 0;
    border-radius: calc(var(--app-default-base-radius) + 2px);
    border: none;
    background: transparent;
    box-shadow: none;
    overflow: hidden;
}

.app-roller-picker-viewport {
    position: relative;
    height: min(36vh, 216px);
    overflow-y: auto;
    overflow-x: hidden;
    touch-action: pan-y;
    overscroll-behavior-y: contain;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: y mandatory;
    scroll-behavior: smooth;
    -ms-overflow-style: none;
    scrollbar-width: none;
    padding: 0;
}

.app-roller-picker-viewport::-webkit-scrollbar {
    display: none;
}

.app-roller-picker.single-item .app-roller-picker-viewport {
    height: 72px;
    overflow-y: hidden;
}

.app-roller-picker-spacer {
    height: 72px;
    flex: 0 0 auto;
}

.app-roller-picker.single-item .app-roller-picker-spacer {
    display: none;
}

.app-roller-picker-row {
    height: 72px;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 10px;
    scroll-snap-align: center;
    touch-action: pan-y;
}

.app-roller-picker-focus {
    display: none;
}

.app-roller-picker-fade {
    display: none;
}

.app-roller-picker-item {
    width: 100%;
    border: 2px solid transparent;
    color: var(--neutral-foreground-rest);
    min-height: 60px;
    padding: 10px 14px;
    pointer-events: auto;
    text-align: left;
    border-radius: var(--app-default-base-radius);
    background-color: transparent;
    position: relative;
    z-index: 1;
    transition: transform 0.2s ease, opacity 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}

.app-roller-picker-row {
    cursor: pointer;
}

.app-roller-picker-row:hover .app-roller-picker-item,
.app-roller-picker-row:active .app-roller-picker-item {
    border-color: color-mix(in srgb, var(--neutral-stroke-rest) 82%, transparent);
}

.app-roller-picker-item-layout {
    width: 100%;
    min-height: 38px;
}

.app-roller-picker-item-text {
    min-width: 0;
    flex: 1 1 auto;
    justify-content: center;
}

.app-roller-picker-item-primary {
    font-size: 1.06rem;
    line-height: 1.15;
    font-weight: 800;
    letter-spacing: 0;
}

.app-roller-picker-item-secondary {
    line-height: 1.2;
    font-size: 0.82rem;
    opacity: 0.92;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.app-roller-picker-item-meta {
    min-width: 72px;
    flex: 0 0 72px;
    justify-content: center;
    align-items: flex-end;
}

.app-roller-picker-item-status {
    font-size: 0.95rem;
    line-height: 1;
    font-weight: 700;
    text-align: right;
    white-space: nowrap;
    padding: 3px 7px;
    border-radius: 999px;
    border: 1px solid transparent;
}

.app-roller-picker-item.selected {
    border-color: color-mix(in srgb, var(--neutral-stroke-rest) 92%, transparent);
    box-shadow: none;
    transform: none;
    background-color: var(--neutral-fill-input-rest);
}

.app-roller-picker-item.selected .app-roller-picker-item-primary {
    font-size: 1.08rem;
}

.app-roller-picker-item.adjacent {
    width: 92%;
    margin: 0 auto;
    opacity: 0.5;
    transform: scale(0.94);
}

.app-roller-picker-item.adjacent .app-roller-picker-item-secondary,
.app-roller-picker-item.adjacent .app-roller-picker-item-status {
    opacity: 0.72;
}

.app-roller-picker-item.distant {
    width: 86%;
    margin: 0 auto;
    opacity: 0.16;
    transform: scale(0.88);
}

.app-roller-picker-item.distant .app-roller-picker-item-secondary,
.app-roller-picker-item.distant .app-roller-picker-item-status {
    opacity: 0.45;
}

.app-roller-picker-item.printed,
.app-roller-picker-item.status-printed {
    background-color: color-mix(in srgb, var(--wuerth-cd-green) 16%, var(--neutral-fill-input-rest));
    border-color: color-mix(in srgb, var(--wuerth-cd-green) 92%, transparent);
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--wuerth-cd-green) 34%, transparent);
}

.app-roller-picker-item.status-printed.adjacent {
    opacity: 0.74;
}

.app-roller-picker-item.status-printed.distant {
    opacity: 0.42;
}

.app-roller-picker-item.status-printed .app-roller-picker-item-primary,
.app-roller-picker-item.status-printed .app-roller-picker-item-status {
    color: var(--wuerth-cd-green);
}

.app-roller-picker-item.status-printed .app-roller-picker-item-status {
    background-color: color-mix(in srgb, var(--wuerth-cd-green) 18%, transparent);
    border-color: color-mix(in srgb, var(--wuerth-cd-green) 58%, transparent);
}

.app-roller-picker-item.status-open .app-roller-picker-item-status {
    background-color: color-mix(in srgb, var(--neutral-foreground-rest) 8%, transparent);
    border-color: color-mix(in srgb, var(--neutral-stroke-rest) 58%, transparent);
}

.app-roller-picker-item.status-print-failed .app-roller-picker-item-primary,
.app-roller-picker-item.status-print-failed .app-roller-picker-item-status {
    color: var(--wuerth-cd-red);
}

.app-roller-picker-item.status-print-failed .app-roller-picker-item-status {
    background-color: color-mix(in srgb, var(--wuerth-cd-red) 16%, transparent);
    border-color: color-mix(in srgb, var(--wuerth-cd-red) 56%, transparent);
}

.app-roller-picker-item.status-skipped {
    opacity: 0.82;
    border-color: color-mix(in srgb, var(--wuerth-cd-yellow) 68%, transparent);
}

.app-roller-picker-item.status-skipped .app-roller-picker-item-primary,
.app-roller-picker-item.status-skipped .app-roller-picker-item-status {
    color: var(--wuerth-cd-yellow);
}

.app-roller-picker-item.status-skipped .app-roller-picker-item-status {
    background-color: color-mix(in srgb, var(--wuerth-cd-yellow) 16%, transparent);
    border-color: color-mix(in srgb, var(--wuerth-cd-yellow) 56%, transparent);
}

.app-roller-picker-item.verified {
    border-color: color-mix(in srgb, var(--neutral-stroke-rest) 92%, transparent);
    box-shadow: none;
}

.app-roller-picker-item.verified .app-roller-picker-item-primary {
    color: var(--neutral-foreground-rest);
}

.app-roller-picker-item.status-printed.verified {
    border-color: color-mix(in srgb, var(--wuerth-cd-green) 92%, transparent);
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--wuerth-cd-green) 34%, transparent);
}

.app-roller-picker-item.status-printed.verified .app-roller-picker-item-primary,
.app-roller-picker-item.status-printed.verified .app-roller-picker-item-status {
    color: var(--wuerth-cd-green);
}

.app-roller-picker-item.completed {
    opacity: 0.72;
}

.app-roller-picker-dialog-actions {
    display: flex;
    gap: 12px;
}

.app-roller-picker-action-button {
    flex: 1 1 0;
}

.app-roller-picker-action-button::part(control) {
    border-radius: var(--app-default-base-radius);
    min-height: 48px;
    font-weight: 600;
}

.app-route-search-popup {
    padding: 0;
    background: transparent;
    box-shadow: none;
}

.app-route-search-dialog {
    max-height: min(74vh, 320px);
}

.app-route-search-input-shell {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 48px;
    padding: 0 10px;
    border: 2px solid var(--neutral-foreground-rest);
    border-radius: var(--app-default-base-radius);
    background: var(--neutral-fill-input-rest);
    color: var(--neutral-foreground-rest);
}

.app-route-search-input-shell:focus-within {
    border-color: var(--accent-base-color);
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--accent-base-color) 35%, transparent);
}

.app-route-search-input {
    flex: 1 1 auto;
    min-width: 0;
    height: 100%;
    border: 0;
    outline: 0;
    padding: 0;
    appearance: none;
    -webkit-appearance: none;
    background: transparent;
    color: inherit;
    font: inherit;
    font-size: 1rem;
}

.app-route-search-input::placeholder {
    color: var(--neutral-foreground-hint);
    opacity: 1;
}

.app-route-search-input::-webkit-search-decoration,
.app-route-search-input::-webkit-search-cancel-button,
.app-route-search-input::-webkit-search-results-button,
.app-route-search-input::-webkit-search-results-decoration {
    display: none;
    -webkit-appearance: none;
}

.app-route-search-clear {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: inherit;
}

.app-route-search-clear:hover,
.app-route-search-clear:active {
    background: var(--neutral-fill-stealth-rest);
}

.app-route-search-clear:focus-visible {
    outline: 2px solid var(--accent-base-color);
    outline-offset: 2px;
}

.app-route-search-overlay.keyboard-constrained .app-route-search-dialog {
    width: min(420px, calc(100vw - 16px));
    max-height: calc(var(--app-route-search-visible-height, 100dvh) - 16px);
    gap: 8px;
    padding: 10px;
}

.app-route-search-overlay.keyboard-constrained .app-roller-picker-dialog-title {
    font-size: 1.05rem;
    line-height: 1.1;
}

.app-route-search-overlay.keyboard-constrained .app-roller-picker-dialog-subtitle {
    display: none;
}

.app-route-search-overlay.keyboard-constrained .app-roller-picker-close {
    width: 34px;
    height: 34px;
}

.app-route-search-overlay.keyboard-constrained .app-route-search-input-shell {
    min-height: 42px;
}

.app-route-search-overlay.keyboard-constrained .app-roller-picker-dialog-actions {
    gap: 8px;
}

.app-route-search-overlay.keyboard-constrained .app-roller-picker-action-button::part(control) {
    min-height: 40px;
}

@media (orientation: landscape) and (max-height: 520px) {
    .app-route-search-overlay {
        align-items: flex-start;
        padding: 8px 12px;
    }

    .app-route-search-dialog {
        width: min(420px, calc(100vw - 24px));
        max-height: calc(100dvh - 16px);
        gap: 8px;
        padding: 10px;
    }

    .app-route-search-dialog .app-roller-picker-dialog-title {
        font-size: 1.05rem;
        line-height: 1.1;
    }

    .app-route-search-dialog .app-roller-picker-dialog-subtitle {
        display: none;
    }

    .app-route-search-dialog .app-roller-picker-close {
        width: 34px;
        height: 34px;
    }

    .app-route-search-dialog .app-route-search-input-shell {
        min-height: 42px;
    }

    .app-route-search-dialog .app-roller-picker-dialog-actions {
        gap: 8px;
    }

    .app-route-search-dialog .app-roller-picker-action-button::part(control) {
        min-height: 40px;
    }
}

@media (max-width: 600px) {
    .app-roller-picker-overlay {
        padding: 12px;
        align-items: flex-end;
    }

    .app-roller-picker-dialog {
        width: 100%;
        max-height: min(72vh, 520px);
        padding: 12px;
    }

    .app-roller-picker-viewport {
        height: min(42vh, 240px);
    }
}

.app-pick-order-print-action {
    width: 100%;
    display: flex;
    justify-content: center;
}

.app-pick-order-print-button {
    width: 100%;
    max-width: 360px;
}

@media (hover: none), (pointer: coarse) {
    .app-pick-order-print-button:not([disabled]):hover::part(control),
    .app-pick-order-print-button:not([disabled]):focus::part(control),
    .app-pick-order-print-button:not([disabled]):focus-within::part(control),
    [data-testid="pick-order-print-button"]:not([disabled]):hover::part(control),
    [data-testid="pick-order-print-button"]:not([disabled]):focus::part(control),
    [data-testid="pick-order-print-button"]:not([disabled]):focus-within::part(control) {
        background: var(--accent-fill-rest, var(--accent-base-color)) !important;
        border-color: var(--accent-fill-rest, var(--accent-base-color)) !important;
        color: var(--foreground-on-accent-rest, var(--neutral-foreground-rest)) !important;
    }

    .app-pick-order-print-button:not([disabled]):active::part(control),
    [data-testid="pick-order-print-button"]:not([disabled]):active::part(control) {
        background: var(--accent-fill-active, color-mix(in srgb, var(--accent-fill-rest, var(--accent-base-color)) 84%, black)) !important;
        border-color: var(--accent-fill-active, color-mix(in srgb, var(--accent-fill-rest, var(--accent-base-color)) 84%, black)) !important;
        color: var(--foreground-on-accent-active, var(--foreground-on-accent-rest, var(--neutral-foreground-rest))) !important;
    }
}

.app-pick-order-roller-layout {
    width: min(100%, 820px);
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 380px) auto;
    align-items: stretch;
    justify-content: center;
    column-gap: 12px;
}

.app-pick-order-roller-container {
    width: 100%;
    display: flex;
    justify-content: center;
}

.app-pick-order-roller-container .app-roller-picker {
    width: 100%;
}

.app-pick-order-navigation-button {
    width: 100%;
    min-width: 128px;
    max-width: 144px;
    align-self: stretch;
}

.app-pick-order-navigation-actions {
    display: flex;
    align-items: stretch;
    justify-content: flex-end;
    gap: 8px;
    min-width: 200px;
}

.app-pick-order-navigation-button-skip {
    min-width: 56px;
    max-width: 56px;
}

.app-pick-order-navigation-spacer {
    width: 100%;
    min-width: 0;
    max-width: none;
}

.app-pick-order-navigation-button::part(control) {
    width: 100%;
    min-height: 80px;
    height: 80px;
    padding-inline: 12px;
}

.app-pick-order-navigation-button-skip::part(control),
.app-pick-order-navigation-button-next::part(control) {
    justify-content: center;
}

@media (min-width: 701px) and (max-width: 1024px) and (orientation: portrait) {
    .app-pick-order-roller-layout {
        width: min(100%, 680px);
        grid-template-columns: minmax(0, 1fr) minmax(220px, 320px) auto;
        column-gap: 10px;
    }

    .app-pick-order-navigation-button {
        min-width: 116px;
        max-width: 128px;
    }

    .app-pick-order-navigation-actions {
        min-width: 192px;
    }

    .app-pick-order-navigation-button-skip {
        min-width: 56px;
        max-width: 56px;
    }

    .app-pick-order-navigation-spacer {
        min-width: 0;
        max-width: none;
    }
}

@media (min-width: 701px) and (max-width: 1366px) and (orientation: landscape) {
    .app-pick-order-roller-layout {
        width: min(100%, 840px);
        grid-template-columns: minmax(0, 1fr) minmax(300px, 400px) auto;
        column-gap: 14px;
    }

    .app-pick-order-navigation-button {
        min-width: 132px;
        max-width: 148px;
    }

    .app-pick-order-navigation-actions {
        min-width: 204px;
    }

    .app-pick-order-navigation-button-skip {
        min-width: 56px;
        max-width: 56px;
    }

    .app-pick-order-navigation-spacer {
        min-width: 0;
        max-width: none;
    }
}

@media (max-width: 700px) {
    .app-pick-order-roller-layout {
        width: 100%;
        display: flex;
        flex-direction: column;
        gap: 12px;
    }

    .app-pick-order-roller-container {
        width: 100%;
    }

    .app-pick-order-navigation-button {
        width: 100%;
        min-width: 0;
        max-width: 360px;
    }

    .app-pick-order-navigation-actions {
        width: 100%;
        max-width: 360px;
        align-self: center;
        min-width: 0;
    }

    .app-pick-order-navigation-button-next {
        flex: 1 1 auto;
    }

    .app-pick-order-navigation-button-skip {
        flex: 0 0 64px;
        min-width: 64px;
        max-width: 64px;
    }

    .app-pick-order-navigation-spacer {
        display: none;
    }

    .app-pick-order-navigation-button::part(control) {
        min-height: 56px;
        height: 56px;
    }
}

.app-pick-order-focus-panel {
    position: relative;
    display: flex;
    gap: 12px;
    align-items: stretch;
    padding: 12px 14px;
    border-radius: calc(var(--app-default-base-radius) + 2px);
    background: color-mix(in srgb, var(--neutral-fill-input-rest) 88%, transparent);
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--neutral-stroke-rest) 24%, transparent);
}

.app-pick-order-focus-panel-accent {
    width: 8px;
    min-width: 8px;
    border-radius: 999px;
    align-self: stretch;
}

.app-pick-order-focus-panel-content {
    min-width: 0;
    flex: 1 1 auto;
}

.app-pick-order-summary-line {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    line-height: 1.2;
    flex-wrap: nowrap;
}

.app-pick-order-current-quantity {
    width: fit-content;
    margin: 0 auto;
    padding: 6px 12px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--accent-base-color) 14%, transparent);
    color: var(--neutral-foreground-rest);
    font-size: 1rem;
    font-weight: 700;
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent-base-color) 18%, transparent);
}

@keyframes spin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

.app-fluent-text-field-spinner {
    display: inline-block;
    transition: transform 0.3s ease;
    animation: spin 1s linear infinite;
}

.app-fluent-select-large {
    width: 100%;
    text-align: center;
    /*padding: 10px;*/
}

.app-fluent-select-large::part(control) {
    width: 100%;
    height: 80px;
    line-height: unset;
    text-align: center;
    font-size: 30px;
}

.app-fluent-select-large::part(start) {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' fill='currentColor' class='bi bi-lightbulb' viewBox='0 0 16 16'%3E%3Cpath d='M2 6a6 6 0 1 1 10.174 4.31c-.203.196-.359.4-.453.619l-.762 1.769A.5.5 0 0 1 10.5 13a.5.5 0 0 1 0 1 .5.5 0 0 1 0 1l-.224.447a1 1 0 0 1-.894.553H6.618a1 1 0 0 1-.894-.553L5.5 15a.5.5 0 0 1 0-1 .5.5 0 0 1 0-1 .5.5 0 0 1-.46-.302l-.761-1.77a2 2 0 0 0-.453-.618A5.98 5.98 0 0 1 2 6m6-5a5 5 0 0 0-3.479 8.592c.263.254.514.564.676.941L5.83 12h4.342l.632-1.467c.162-.377.413-.687.676-.941A5 5 0 0 0 8 1'/%3E%3C/svg%3E");
    background: var(--accent-base-color);
    background-size: contain;
    background-repeat: no-repeat;
    width: 48px;
    height: 48px;
    margin-right: 12px;
    margin-left: 6px;
}

.app-fluent-select-large fluent-option {
    height: 80px !important;
}

.app-fluent-select-large-click-area {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
}

.app-fluent-select-large-option-content {
    position: relative;
    z-index: 2;
}

.extended-progress-ring-container {
    position: relative;
    display: inline-block;
}

.extended-progress-ring-progress::part(determinate) {
    fill: var(--extended-progress-ring-progress-background-color);
    stroke: var(--extended-progress-ring-progress-foreground-color) !important;
}

.extended-progress-ring-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: var(--extended-progress-ring-text-size);
    color: var(--extended-progress-ring-text-color);
    font-weight: bold;
}

.noselect {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.ellipsis-label {
    width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.app-menu-tile-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.app-menu-tile-card {
    cursor: pointer;
    margin: var(--app-menu-tile-margin);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    width: var(--app-menu-tile-size);
    height: var(--app-menu-tile-size);
    padding: var(--app-menu-tile-padding);
    border-radius: var(--app-default-base-radius);
    border: 2px solid var(--app-menu-tile-border-color);
    background-color: var(--neutral-fill-layer-rest);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    position: relative;
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease, background 0.3s ease, border-color 0.3s ease;
}

.app-menu-tile-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: radial-gradient(circle at top left, var(--app-menu-tile-card-rgba-color-1) 0%, transparent 50%);
    z-index: 0;
    transition: background 0.3s ease;
}

.app-menu-tile-card:not(.disabled):hover .app-menu-tile-overlay {
    background: radial-gradient(circle at top left, var(--app-menu-tile-card-rgba-color-2) 0%, transparent 50%);
}

.app-menu-tile-card:not(.disabled):active .app-menu-tile-overlay {
    background: radial-gradient(circle at top left, var(--app-menu-tile-card-rgba-color-3) 0%, transparent 50%);
}

.app-menu-tile-card.disabled .app-menu-tile-overlay {
    background: none; /* Kein Overlay für deaktivierte Karten */
}

.app-menu-tile-card.disabled {
    cursor: not-allowed;
    opacity: 0.6;
    filter: grayscale(50%);
    background: linear-gradient(135deg, #e5e5e5 0%, #d5d5d5 100%);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
    border-color: rgba(0, 0, 0, 0.05);
}

.app-menu-tile-card.loading {
    opacity: 0.4;
}

.app-menu-tile-card svg {
    z-index: 1;
    width: var(--app-menu-tile-icon-size);
    height: var(--app-menu-tile-icon-size);
    transition: transform 0.3s ease;
}

.app-menu-tile-card:not(.disabled):hover svg {
    transform: scale(1.1);
}

.app-menu-tile-card:not(.disabled):active svg {
    --app-menu-tile-icon-color: var(--neutral-fill-layer-rest);
}

.app-menu-tile-card:active {
    transform: scale(0.95);
    --menu-tile-icon-color: var(--neutral-fill-layer-rest);
    background-color: var(--app-menu-tile-border-color);
}

.app-menu-tile-card .app-menu-tile-text {
    margin-top: 8px;
    font-size: var(--app-menu-tile-text-size);
    color: var(--neutral-foreground-rest);
}

.app-menu-tile-card .app-menu-tile-subtext {
    font-size: var(--app-menu-tile-subtext-size);
    color: var(--neutral-foreground-hint);
    margin-top: 2px;
}

@media (min-width: 701px) and (max-width: 1366px) and (orientation: landscape) {
    .device-home-grid {
        --app-menu-tile-size: 258px;
        --app-menu-tile-margin: 8px;
        --app-menu-tile-padding: 12px;
        --app-menu-tile-icon-size: 116px;
        --app-menu-tile-text-size: 22px;
        --app-menu-tile-subtext-size: 13px;
    }
}

.app-menu-tile-card:active .app-menu-tile-subtext {
    color: var(--neutral-fill-layer-rest);
}

.app-menu-tile-card:active .app-menu-tile-text {
    color: var(--neutral-fill-layer-rest);
}

.app-menu-tile-spinner {
    animation: app-menu-tile-spinner-rotate 2s linear infinite;
}

@keyframes app-menu-tile-spinner-rotate {
    100% {
        transform: rotate(360deg);
    }
}

.multi-color-progress-ring {
    cursor: pointer;
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.multi-color-progress-ring-inner-circle {
    width: var(--multi-color-progress-ring-inner-circle-size);
    height: var(--multi-color-progress-ring-inner-circle-size);
    background: var(--multi-color-progress-ring-inner-circle-background-color);
    border-radius: 50%;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.multi-color-progress-ring-text {
    font-size: var(--multi-color-progress-ring-text-size);
    font-weight: bold;
    color: var(--multi-color-progress-ring-text-color);
}

.multi-color-progress-ring-tooltip {
    background-color: var(--neutral-fill-layer-rest);
    color: var(--neutral-foreground-rest);
    padding: 10px;
    border-radius: 2px;
    border: 1px solid var(--accent-base-color);
    font-size: 14px;
    z-index: 333;
    white-space: nowrap;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    min-width: 200px;
}

.multi-color-progress-ring-tooltip {
    transition: opacity 0.2s ease-in-out;
    opacity: 1;
}

.multi-color-progress-ring-tooltip[style*="display: none"] {
    opacity: 0;
}

.multi-color-progress-ring-tooltip table {
    width: 100%;
    color: var(--neutral-foreground-rest);
    border-collapse: collapse;
}

.multi-color-progress-ring-tooltip td {
    vertical-align: middle;
}

.app-base-tile-card {
    cursor: pointer;
    padding: 16px;
    border-radius: var(--app-default-base-radius);
    border: 2px solid var(--app-base-tile-border-color);
    background-color: var(--neutral-layer-2);
}

.app-base-tile-card:active {
    color: var(--neutral-fill-layer-rest);
    --app-base-tile-icon-color: var(--neutral-fill-layer-rest);
    background-color: var(--app-base-tile-border-color);
}

.app-base-tile-card:active svg {
    --app-base-tile-icon-color: var(--neutral-fill-layer-rest);
}

.scan-find-result-v2-grid-item {
    width: 100%;
    min-width: 0;
}

.scan-find-result-v2-layout {
    display: grid;
    grid-template-columns: 108px minmax(150px, 1fr) minmax(240px, 1.45fr) minmax(120px, 0.7fr);
    grid-template-areas: "visual location article formatted";
    align-items: center;
    gap: 12px;
    width: 100%;
    min-width: 0;
    color: var(--neutral-foreground-rest);
}

.scan-find-result-v2-visual {
    grid-area: visual;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 0;
    gap: 5px;
    text-align: center;
}

.scan-find-result-v2-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    color: var(--neutral-foreground-rest);
}

.scan-find-result-v2-status {
    max-width: 100%;
    color: var(--neutral-foreground-rest);
    font-size: 0.8rem;
    font-weight: 600;
    line-height: 1.15;
    text-align: center;
    white-space: normal;
}

.scan-find-result-v2-location {
    grid-area: location;
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 0;
    gap: 4px;
    text-align: center;
}

.scan-find-result-v2-context {
    color: var(--neutral-foreground-hint);
    font-size: 0.78rem;
    line-height: 1.2;
}

.scan-find-result-v2-location-name {
    display: -webkit-box;
    overflow: hidden;
    color: var(--neutral-foreground-rest);
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.25;
    overflow-wrap: anywhere;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.scan-find-result-v2-article {
    grid-area: article;
    display: grid;
    min-width: 0;
    gap: 5px;
}

.scan-find-result-v2-detail-row {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    align-items: baseline;
    min-width: 0;
    gap: 4px;
    font-size: 0.86rem;
    line-height: 1.2;
}

.scan-find-result-v2-detail-label {
    font-weight: 600;
    white-space: nowrap;
}

.scan-find-result-v2-detail-value {
    overflow: hidden;
    min-width: 0;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.scan-find-result-v2-formatted-location {
    grid-area: formatted;
    display: block;
    justify-self: end;
    min-width: 0;
    color: var(--wuerth-cd-cyan);
    font-size: 1.45rem;
    font-weight: 600;
    line-height: 1.2;
    overflow-wrap: anywhere;
    text-align: end;
    white-space: pre-wrap;
}

@media (min-width: 701px) and (max-width: 1024px) and (orientation: portrait) {
    .scan-find-result-v2-layout {
        grid-template-columns: 96px minmax(130px, 0.9fr) minmax(180px, 1.2fr) minmax(105px, 0.7fr);
        grid-template-areas: "visual location article formatted";
        column-gap: 10px;
    }

    .scan-find-result-v2-formatted-location {
        font-size: 1.3rem;
        text-align: end;
    }

    .scan-find-result-v2-detail-row {
        font-size: 0.82rem;
    }
}

@media (min-width: 701px) and (max-width: 1366px) and (orientation: landscape) {
    .scan-find-result-v2-layout {
        grid-template-columns: 108px minmax(160px, 1fr) minmax(250px, 1.4fr) minmax(130px, 0.75fr);
        column-gap: 14px;
    }
}

@media (max-width: 700px) {
    .scan-find-result-v2-layout {
        grid-template-columns: 80px minmax(0, 1fr) minmax(100px, auto);
        grid-template-areas:
            "visual location formatted"
            "article article article";
        align-items: start;
        gap: 10px;
    }

    .scan-find-result-v2-icon {
        width: 44px;
        height: 44px;
    }

    .scan-find-result-v2-status {
        font-size: 0.74rem;
    }

    .scan-find-result-v2-formatted-location {
        font-size: 1.2rem;
        text-align: end;
    }
}

.app-base-tile-low-card {
    cursor: pointer;
    padding: 0px;
    border-radius: var(--app-default-base-radius);
    border: 2px solid var(--app-base-tile-border-color);
    background-color: var(--neutral-layer-1);
}

.app-base-tile-low-card:active {
    color: var(--neutral-fill-layer-rest);
    --app-base-tile-icon-color: var(--neutral-fill-layer-rest);
    background-color: var(--app-base-tile-border-color);
}

.app-base-tile-low-card:active svg {
    --app-base-tile-icon-color: var(--neutral-fill-layer-rest);
}

.app-base-tile-list-card {
    cursor: pointer;
    padding: 16px;
    border-radius: var(--app-default-base-radius);
    border: 2px solid var(--app-base-tile-border-color);
    background-color: var(--neutral-fill-layer-rest);
}

.app-base-tile-list-card:active {
    color: var(--neutral-fill-layer-rest);
    --app-base-tile-icon-color: var(--neutral-fill-layer-rest);
    background-color: var(--app-base-tile-border-color);
}

.app-base-tile-list-card:active svg {
    --app-base-tile-icon-color: var(--neutral-fill-layer-rest);
}

.app-page-card {
    padding-top: 4px;
    padding-right: 16px;
    padding-left: 16px;
    padding-bottom: 4px;
    border-radius: var(--app-default-card-radius);
    background-color: var(--neutral-fill-layer-rest);
    border: 2px solid var(--app-base-tile-border-color);
}

.app-page-sub-card {
    text-align: center;
    padding-top: 4px;
    padding-right: 16px;
    padding-left: 16px;
    padding-bottom: 4px;
    border-radius: var(--app-default-card-radius);
    background-color: var(--neutral-fill-layer-rest);
    border: 1px solid var(--app-base-tile-border-color);
}

.app-page-sub-card-no-border {
    text-align: center;
    padding: 16px;
    background-color: var(--neutral-fill-layer-rest);
    border: none;
    box-shadow: none;
}

.layout-nomenu {
    overflow: hidden;
}

.device-dialog-button {
    font-size: 18px;
    text-align: center;
    max-width: 500px;
    height: 50px;
}

.device-dialog-button::part(control) {
    text-align: center;
    white-space: break-spaces;
}

.bin-inventory-result-dialog {
    display: flex;
    flex-direction: column;
    gap: 14px;
    max-height: 72vh;
    overflow: auto;
    padding: 2px;
}

.bin-inventory-result-header {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 14px;
    align-items: center;
}

.bin-inventory-result-icon {
    display: grid;
    place-items: center;
    width: 64px;
    height: 64px;
    border-radius: 8px;
    border: 1px solid var(--neutral-stroke-rest);
    background: var(--neutral-fill-layer-rest);
}

.bin-inventory-result-icon.saved {
    border-color: color-mix(in srgb, var(--success) 62%, var(--neutral-stroke-rest));
    background: color-mix(in srgb, var(--success) 12%, transparent);
}

.bin-inventory-result-icon.simulation {
    border-color: color-mix(in srgb, var(--accent-base-color) 62%, var(--neutral-stroke-rest));
    background: color-mix(in srgb, var(--accent-base-color) 12%, transparent);
}

.bin-inventory-result-title-group {
    min-width: 0;
}

.bin-inventory-result-title-group h2 {
    margin: 0;
    font-size: 1.35rem;
    font-weight: 800;
    color: var(--neutral-foreground-rest);
}

.bin-inventory-result-title-group p {
    margin: 4px 0 0;
    color: var(--neutral-foreground-hint);
}

.bin-inventory-result-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
}

.bin-inventory-result-summary > div {
    min-width: 0;
    padding: 10px 12px;
    border: 1px solid var(--neutral-stroke-rest);
    border-radius: 8px;
    background: var(--neutral-fill-layer-rest);
}

.bin-inventory-result-summary span,
.bin-inventory-result-section-heading span {
    display: block;
    font-size: 0.76rem;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--neutral-foreground-hint);
}

.bin-inventory-result-summary strong {
    display: block;
    margin-top: 4px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--neutral-foreground-rest);
}

.bin-inventory-result-clean {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    border: 1px solid color-mix(in srgb, var(--success) 62%, var(--neutral-stroke-rest));
    border-radius: 8px;
    background: color-mix(in srgb, var(--success) 12%, transparent);
    color: var(--neutral-foreground-rest);
    font-weight: 700;
}

.bin-inventory-result-sections {
    display: grid;
    gap: 10px;
}

.bin-inventory-result-section {
    padding: 10px 12px;
    border: 1px solid var(--neutral-stroke-rest);
    border-radius: 8px;
    background: var(--neutral-fill-layer-rest);
}

.bin-inventory-result-section-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 8px;
}

.bin-inventory-result-section-heading strong {
    color: var(--neutral-foreground-rest);
}

.bin-inventory-result-empty {
    color: var(--neutral-foreground-hint);
}

.bin-inventory-result-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.bin-inventory-result-tag {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 4px 7px;
    border: 1px solid var(--neutral-stroke-rest);
    border-radius: 6px;
    font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
    font-weight: 800;
    color: var(--neutral-foreground-rest);
    white-space: nowrap;
}

.bin-inventory-result-tag.existing {
    border-color: var(--success);
    background: color-mix(in srgb, var(--success) 12%, transparent);
}

.bin-inventory-result-tag.new {
    border-color: var(--accent-base-color);
    background: color-mix(in srgb, var(--accent-base-color) 12%, transparent);
}

.bin-inventory-result-tag.missing {
    border-color: var(--warning);
    background: color-mix(in srgb, var(--warning) 12%, transparent);
}

.bin-inventory-result-tag.expected {
    color: var(--neutral-foreground-hint);
    background: color-mix(in srgb, var(--neutral-foreground-hint) 10%, transparent);
}

.bin-inventory-result-json {
    border-top: 1px solid var(--neutral-stroke-rest);
    padding-top: 12px;
}

.bin-inventory-result-json summary {
    cursor: pointer;
    font-weight: 800;
    margin-bottom: 8px;
}

.bin-inventory-result-json pre {
    box-sizing: border-box;
    width: 100%;
    max-height: 34vh;
    margin: 0;
    padding: 14px;
    overflow: auto;
    border-radius: 8px;
    background: var(--neutral-fill-layer-rest);
    font-family: Consolas, "Courier New", monospace;
    font-size: 14px;
    line-height: 1.4;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.bin-inventory-result-actions {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    width: 100%;
}

.bin-inventory-result-action {
    min-width: 180px;
}

.bin-inventory-result-action::part(control) {
    min-height: 48px;
    border-radius: var(--app-default-base-radius);
    font-weight: 700;
}

@media (max-width: 720px) {
    .bin-inventory-result-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .bin-inventory-result-actions {
        flex-direction: column-reverse;
    }

    .bin-inventory-result-action {
        width: 100%;
    }
}

.app-base-tile-swipe-container {
    position: relative;
    overflow: hidden;
    touch-action: pan-y; /* no scroll during swipe */
    width: 100%;
    box-shadow: var(--elevation-shadow-card-rest);
    border-radius: var(--app-default-base-radius);
    border: none;
    background-color: var(--neutral-layer-2);
}

.app-base-tile-swipe-card {
    cursor: pointer;
    padding: 16px;
    background-color: var(--neutral-layer-2);
    position: relative;
    z-index: 2;
    border-top-right-radius: var(--app-default-base-radius);
    border-bottom-right-radius: var(--app-default-base-radius);
    border-top-left-radius: var(--app-default-base-radius);
    border-bottom-left-radius: var(--app-default-base-radius);
    transition: transform 0.3s ease-out;
    width: 100%;
}

.app-base-tile-swipe-actions {
    position: absolute;
    top: 1px;
    right: 1px;
    bottom: 1px;
    width: 330px; /* Fallback width; actual width is set inline per visible action (110px each) */
    display: flex;
    flex-direction: row;
    z-index: 1;
    border-top-right-radius: var(--app-default-base-radius);
    border-bottom-right-radius: var(--app-default-base-radius);
    overflow: hidden;
}

.app-base-tile-swipe-card.swiped-open {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.app-base-tile-swipe-action {
    width: 110px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    gap: 4px;
}

.app-base-tile-swipe-action span {
    white-space: normal; 
    text-align: center;
    line-height: 1.2;
    max-width: 80%; 
}

.app-base-tile-swipe-action.action1 {
    background-color: #ff9500;
}

.app-base-tile-swipe-action.action2 {
    background-color: var(--wuerth-cd-cyan);
}

.app-base-tile-swipe-action.action3 {
    background-color: var(--accent-base-color);
}

.app-base-tile-swipe-action.action4 {
    background-color: #d13438;
}

.app-base-tile-swipe-action.cancel {
    background-color: #8e8e93;
}

.device-tile-swipe-hint {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    color: var(--neutral-foreground-hint);
    animation: device-tile-swipe-nudge 1.6s ease-in-out infinite;
}

.device-tile-swipe-hint-label {
    font-size: 10px;
    line-height: 1;
    white-space: nowrap;
}

@keyframes device-tile-swipe-nudge {
    0%, 60%, 100% { transform: translateX(0); opacity: 0.7; }
    30% { transform: translateX(-6px); opacity: 1; }
}

.app-base-tile-swipe-card.swiped-open .device-tile-swipe-hint {
    animation: none;
    opacity: 0;
}

.page-container {
    height: 100vh;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch; /* Smooth scrolling on mobile */
}

.layout-pull-to-refresh {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    grid-area: content;
    min-height: 100%;
}

.layout-pull-to-refresh [part="tip"] {
    background: transparent !important;
    box-shadow: none !important;
    /* Keep the pull-to-refresh icon a fixed 5px clear of the bottom edge */
    box-sizing: border-box;
    padding-bottom: 5px;
}

.tile-wrapper:not(:first-child) {
    padding-top: 16px;
}

.error-container {
    padding: 12px 16px;
    border-left: 4px solid #f44336;
    background-color: #fdecea;
    color: #b71c1c;
    border-radius: 8px;
    font-family: system-ui, sans-serif;
    font-size: 0.95rem;
    line-height: 1.4;
    width: 100%;
}
.wrap-text {
    white-space: pre-wrap;
    word-break: break-word;
}

.grid-item-center-start {
    align-content: center;
    text-align: start;
}

.grid-item-center {
    align-content: center;
}

.grid-item-center-end {
    align-content: center;
    text-align: end;
}

/* ===== AddDevice — Radar / Bluetooth discovery UI ===== */

.radar-ring-static {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    border: 1px solid var(--accent-fill-rest);
    opacity: 0.35;
}

.radar-wave {
    position: absolute;
    top: 50%; left: 50%;
    width: 360px; height: 360px;
    border-radius: 50%;
    border: 1.5px solid var(--accent-fill-rest);
    transform: translate(-50%, -50%) scale(0.15);
    opacity: 0;
    animation: radar-wave-expand 2.1s ease-out infinite;
}

@keyframes radar-wave-expand {
    0%   { transform: translate(-50%, -50%) scale(0.15); opacity: 0.85; }
    75%  { opacity: 0.15; }
    100% { transform: translate(-50%, -50%) scale(1);    opacity: 0; }
}

.bt-button {
    width: 80px; height: 80px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 4px 14px rgba(0,0,0,0.45);
    transition: background-color 0.4s;
}

@keyframes bt-pulse {
    0%   { box-shadow: 0 4px 14px rgba(0,0,0,0.45), 0 0 0 0   rgba(0, 120, 212, 0.65); }
    65%  { box-shadow: 0 4px 14px rgba(0,0,0,0.45), 0 0 0 22px rgba(0, 120, 212, 0);   }
    100% { box-shadow: 0 4px 14px rgba(0,0,0,0.45), 0 0 0 0   rgba(0, 120, 212, 0);   }
}

.bt-button-searching {
    animation: bt-pulse 1.6s ease-in-out infinite;
}

.device-node {
    position: absolute;
    top: 50%; left: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    z-index: 1;
    cursor: pointer;
    animation: device-appear 0.4s ease-out both;
}

@keyframes device-appear {
    from { opacity: 0; transform: translate(calc(-50% + var(--dx, 0px)), calc(-50% + var(--dy, 0px))) scale(0.5); }
    to   { opacity: 1; }
}

.device-node-circle {
    width: 52px; height: 52px;
    border-radius: 50%;
    background-color: var(--accent-fill-rest);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 10px rgba(0,0,0,0.35);
    transition: transform 0.15s;
}

.device-node-circle:hover { transform: scale(1.08); }

.device-node-label {
    color: var(--neutral-foreground-rest);
    font-size: 11px;
    white-space: nowrap;
    text-align: center;
}

.app-base-tile-noselect * {
    user-select: none;
}

.scroll-tile-grid {
    touch-action: pan-y;
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-width: none;
    -ms-overflow-style: none;
    width: 100%;
}

.scroll-tile-grid > div {
    touch-action: pan-y;
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.scroll-tile-grid::-webkit-scrollbar,
.scroll-tile-grid > div::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
}

.header-item-icon:focus {
    outline: none !important; 
}

.non-default {
    font-weight: bold;
    color: #d13438 !important;
}

.workplace-accordion {
    width: 60%;
    border: none;
}

.workplace-accordion-item {
    font-size: 16px;
    font-weight: bold;
    border: none;
}

.workplace-accordion-item::part(button) {
    position: relative;
    border: none;
    padding-bottom: 4px;
    text-align: center;
}

.workplace-accordion-item::part(button)::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0.5rem;
    right: 0; 
    border-bottom: 2px dotted var(--accent-base-color);
}

.workplace-readonly-listbox {
    pointer-events: none;
    opacity: 0.85;
    user-select: none;
    border: none;
}

.app-information-box {
    background-color: var(--neutral-layer-1); 
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: var(--app-default-base-radius);
    padding: 16px 24px;
    width: fit-content;
    margin: 8px auto;
    backdrop-filter: blur(4px);
    box-sizing: border-box;
}

@media (prefers-color-scheme: light) {
    .app-information-box {
        background-color: rgba(0, 0, 0, 0.04);
        border-color: rgba(0, 0, 0, 0.12);
    }
}

/* Wrapper – schwebt über dem Content, schiebt nichts weg */
.device-connected-services-host {
    width: calc(100% + 16px);
    margin: -8px -8px 0;
    padding: 0;
    position: sticky;
    top: -8px;
    z-index: 30;
}

.connected-services-panel {
    position: relative;
    width: 100%;
    z-index: 20;
}

/* ── Header customer switcher (admin only, /device index) ───────────────── */
.header-customer-combobox {
    width: 180px;
    max-width: 180px;
    font-size: 12px;
    margin-left: 16px;
}

.header-customer-combobox::part(control) {
    height: 28px;
    min-height: 28px;
    font-size: 12px;
    padding-top: 0;
    padding-bottom: 0;
}

.header-customer-combobox::part(listbox) {
    max-height: 300px;
}

.csp-header-wrapper {
    position: relative;
}

/* ── Icon wrapper – forces Blazicon SVGs into inline layout ─────────────── */
.csp-icon-wrap {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    line-height: 0;
}

    .csp-icon-wrap svg {
        display: block;
    }

/* ── Header Bar ─────────────────────────────────────────────────────────── */
.csp-header {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 12px;
    min-height: 36px;
    cursor: pointer;
    user-select: none;
    -webkit-user-select: none;
    -webkit-tap-highlight-color: transparent;
    background-color: var(--neutral-layer-2, #1f1f1f);
    border-bottom: 1px solid var(--neutral-stroke-layer-rest, rgba(255,255,255,0.08));
}

    .csp-header:active {
        background-color: var(--neutral-fill-stealth-active, rgba(255,255,255,0.06));
    }

.csp-header-left {
    display: flex;
    align-items: center;
    gap: 6px;
    flex: 1;
    min-width: 0;
}

.csp-header-icon {
    opacity: 0.7;
}

.csp-header-title {
    font-size: 12px;
    font-weight: 500;
    color: var(--neutral-foreground-rest, #d1d1d1);
    white-space: nowrap;
}

.csp-header-status {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
}

/* ── Compact dots (collapsed) ───────────────────────────────────────────── */
.csp-status-compact {
    display: flex;
    align-items: center;
    gap: 8px;
}

.csp-status-dot {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    position: relative;
}

    .csp-status-dot::after {
        content: '';
        position: absolute;
        bottom: 0;
        right: 0;
        width: 8px;
        height: 8px;
        border-radius: 50%;
        border: 1.5px solid var(--neutral-layer-2, #1f1f1f);
    }

    .csp-status-dot.status-connected::after {
        background-color: #4ec94e;
    }

    .csp-status-dot.status-disconnected::after {
        background-color: #e74c3c;
    }

/* ── Chevron ────────────────────────────────────────────────────────────── */
.csp-chevron {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: transform 250ms ease;
}

    .csp-chevron.chevron-up {
        transform: rotate(180deg);
    }

    .csp-chevron.chevron-down {
        transform: rotate(0deg);
    }

/* ── Overlay Content ────────────────────────────────────────────────────── */
.csp-content {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 30;
    overflow: hidden;
    max-height: 0;
    opacity: 0;
    pointer-events: none;
    transition: max-height 280ms cubic-bezier(0.4, 0, 0.2, 1), opacity 200ms ease;
    background-color: var(--neutral-layer-2, #1f1f1f);
    border-bottom: 1px solid var(--neutral-stroke-layer-rest, rgba(255,255,255,0.1));
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45);
}

.connected-services-panel.expanded .csp-content {
    max-height: 500px;
    opacity: 1;
    pointer-events: auto;
    overflow-y: auto;
}

.csp-content-inner {
    padding: 10px 12px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* ── Status Row – HORIZONTAL layout ─────────────────────────────────────── */
.csp-status-row {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap: 16px;
}

.csp-device-status {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    flex-shrink: 0;
    white-space: nowrap;
}

.csp-device-icon {
    opacity: 0.65;
}

.csp-device-label {
    font-size: 12px;
    font-weight: 600;
    color: var(--neutral-foreground-rest, #d1d1d1);
    white-space: nowrap;
}

.csp-device-value {
    font-size: 12px;
    white-space: nowrap;
}

.status-text-connected {
    color: #4ec94e;
}

.status-text-disconnected {
    color: #e74c3c;
}

/* ── Pulsing indicator dot ──────────────────────────────────────────────── */
.csp-indicator {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}

.indicator-connected {
    background-color: #4ec94e;
    animation: csp-pulse 2s infinite;
}

.indicator-disconnected {
    background-color: #e74c3c;
}

@keyframes csp-pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(78, 201, 78, 0.6);
    }

    70% {
        box-shadow: 0 0 0 5px rgba(78, 201, 78, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(78, 201, 78, 0);
    }
}

/* ── Manage Button – pushed right ───────────────────────────────────────── */
.csp-manage-btn-wrapper {
    margin-left: auto;
    flex-shrink: 0;
}

.csp-manage-btn {
    font-size: 12px !important;
    height: 28px !important;
    padding: 0 10px !important;
    white-space: nowrap;
}

/* ── Pairing Code ───────────────────────────────────────────────────────── */
.csp-pairing-row {
    border-top: 1px solid var(--neutral-stroke-layer-rest, rgba(255,255,255,0.07));
    padding-top: 6px;
}

    .csp-pairing-row img {
        max-width: 100%;
        width: auto;
        height: auto;
        max-height: 220px;
        object-fit: contain;
    }

.csp-scanner-identifier {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 4px 8px;
    font-size: 13px;
    color: var(--neutral-foreground-rest);
}

.csp-scanner-identifier-label {
    font-weight: 600;
}

.csp-scanner-identifier-value {
    font-family: var(--monospace-font, monospace);
    color: var(--neutral-foreground-hint);
}

/* ── Custom child content ───────────────────────────────────────────────── */
.csp-custom-content {
    border-top: 1px solid var(--neutral-stroke-layer-rest, rgba(255,255,255,0.07));
    padding-top: 8px;
}

/* ── Small screens: stack vertically if needed ──────────────────────────── */
@media (max-width: 420px) {
    .csp-status-row {
        flex-wrap: wrap;
        gap: 8px;
    }

    .csp-manage-btn-wrapper {
        margin-left: 0;
        width: 100%;
    }

    .csp-manage-btn {
        width: 100% !important;
        justify-content: center !important;
    }
}

/* Bin inventory */
.bin-inventory-page {
    width: 100%;
}

.bin-inventory-stack,
.bin-inventory-stack > *,
.bin-inventory-message,
.bin-inventory-prompt,
.bin-inventory-container-chip,
.bin-inventory-article-strip,
.bin-inventory-mother-card,
.bin-inventory-parent-summary-card,
.bin-inventory-success-panel,
.bin-inventory-footer {
    box-sizing: border-box;
    width: 100%;
}

.bin-inventory-message {
    border-radius: 8px;
    padding: 8px 10px;
}

    .bin-inventory-message.error {
        background: color-mix(in srgb, var(--error) 12%, transparent);
        border: 1px solid var(--error);
    }

    .bin-inventory-message.success {
        background: color-mix(in srgb, var(--success) 12%, transparent);
        border: 1px solid var(--success);
    }

.bin-inventory-action-button {
    min-width: 136px;
}

    .bin-inventory-action-button::part(control) {
        justify-content: center;
        min-height: 40px;
    }

.bin-inventory-prompt-actions {
    justify-content: center;
    max-width: 520px;
    width: 100%;
}

    .bin-inventory-prompt-actions::part(positioning-region) {
        justify-content: center;
        width: 100%;
    }

.bin-inventory-prompt {
    align-items: center;
    border: 1.5px dashed var(--neutral-stroke-rest);
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 28px 16px;
    text-align: center;
}

    .bin-inventory-prompt .app-fluent-text-field-large {
        max-width: 520px;
        width: 100%;
    }

    .bin-inventory-prompt h3 {
        font-size: 18px;
        margin: 0;
    }

    .bin-inventory-prompt p {
        color: var(--neutral-foreground-hint);
        font-size: 13px;
        line-height: 1.45;
        margin: 0;
        max-width: 320px;
    }

.bin-inventory-prompt-icon,
.bin-inventory-mother-icon {
    align-items: center;
    background: color-mix(in srgb, var(--accent-base-color) 12%, transparent);
    border: 1px solid color-mix(in srgb, var(--accent-base-color) 35%, transparent);
    border-radius: 8px;
    display: inline-flex;
    flex: 0 0 auto;
    height: 48px;
    justify-content: center;
    width: 48px;
}

    .bin-inventory-mother-icon.confirmed {
        background: color-mix(in srgb, var(--success) 12%, transparent);
        border-color: var(--success);
    }

.bin-inventory-container-chip {
    align-items: center;
    background: color-mix(in srgb, var(--accent-base-color) 10%, transparent);
    border: 1px solid color-mix(in srgb, var(--accent-base-color) 40%, transparent);
    border-radius: 8px;
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    padding: 10px 12px;
}

.bin-inventory-article-strip {
    align-items: center;
    background: color-mix(in srgb, var(--neutral-fill-layer-rest) 88%, var(--accent-base-color) 12%);
    border: 1px solid color-mix(in srgb, var(--neutral-stroke-rest) 80%, var(--accent-base-color) 20%);
    border-radius: 8px;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(120px, 0.8fr) minmax(120px, 0.8fr) minmax(180px, 2fr) minmax(96px, 0.6fr);
    padding: 8px 12px;
}

.bin-inventory-article-detail {
    min-width: 0;
}

    .bin-inventory-article-detail span {
        color: var(--neutral-foreground-hint);
        display: block;
        font-size: 10px;
        font-weight: 700;
        letter-spacing: 0;
        text-transform: uppercase;
    }

    .bin-inventory-article-detail strong {
        color: var(--neutral-foreground-rest);
        display: block;
        font-size: 13px;
        font-weight: 700;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .bin-inventory-article-detail.compact {
        text-align: right;
    }

.bin-inventory-chip-copy span,
.bin-inventory-mother-copy span,
.bin-inventory-child-count span,
.bin-inventory-footer span {
    color: var(--neutral-foreground-hint);
    display: block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: uppercase;
}

.bin-inventory-chip-copy strong,
.bin-inventory-mother-copy strong,
.bin-inventory-child-count strong,
.bin-inventory-footer strong {
    color: var(--neutral-foreground-rest);
    display: block;
    font-size: 16px;
    font-weight: 700;
    overflow-wrap: anywhere;
}

.bin-inventory-mother-card {
    background: var(--neutral-fill-layer-rest);
    border: 1px solid var(--neutral-stroke-rest);
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 12px;
}

.bin-inventory-parent-summary-card {
    align-items: center;
    background: var(--neutral-fill-layer-rest);
    border: 1px solid var(--neutral-stroke-rest);
    border-radius: 8px;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    padding: 12px;
}

.bin-inventory-mother-header {
    align-items: flex-start;
    display: flex;
    gap: 12px;
}

.bin-inventory-mother-copy {
    flex: 1 1 auto;
    min-width: 0;
}

    .bin-inventory-mother-copy small {
        color: var(--neutral-foreground-hint);
        display: block;
        font-size: 12px;
        margin-top: 3px;
    }

.bin-inventory-child-count {
    flex: 0 0 auto;
    text-align: right;
}

    .bin-inventory-child-count strong {
        color: var(--accent-foreground-rest);
        font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
        font-size: 18px;
    }

.bin-inventory-progress {
    background: var(--neutral-fill-stealth-rest);
    border-radius: 3px;
    height: 5px;
    overflow: hidden;
}

    .bin-inventory-progress span {
        background: var(--accent-fill-rest);
        border-radius: inherit;
        display: block;
        height: 100%;
    }

.bin-inventory-list-heading {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: space-between;
}

    .bin-inventory-list-heading h3 {
        font-size: 16px;
        margin: 0;
    }

    .bin-inventory-list-heading span {
        color: var(--accent-foreground-rest);
        font-size: 14px;
        font-weight: 700;
    }

.bin-inventory-children-box {
    background: color-mix(in srgb, var(--neutral-fill-stealth-rest) 80%, transparent);
    border: 1px solid var(--neutral-stroke-rest);
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 10px;
}

.bin-inventory-tags,
.bin-inventory-child-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.bin-inventory-child-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(112px, 100%), 1fr));
    max-height: clamp(150px, 28vh, 320px);
    overflow-y: auto;
    padding-right: 2px;
}

.bin-inventory-tag {
    background: color-mix(in srgb, var(--accent-base-color) 12%, transparent);
    border: 1px solid var(--accent-base-color);
    border-radius: 6px;
    color: var(--neutral-foreground-rest);
    font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.35;
    min-width: 0;
    overflow-wrap: normal;
    padding: 7px 8px;
    word-break: normal;
}

    .bin-inventory-tag strong,
    .bin-inventory-tag small {
        display: block;
    }

    .bin-inventory-tag strong {
        white-space: nowrap;
    }

    .bin-inventory-tag small {
        color: var(--neutral-foreground-hint);
        font-family: inherit;
        font-size: 10px;
        font-weight: 700;
        margin-top: 4px;
        text-transform: uppercase;
    }

    .bin-inventory-tag.expected {
        background: color-mix(in srgb, var(--neutral-foreground-hint) 10%, transparent);
        border-color: var(--neutral-stroke-rest);
        color: var(--neutral-foreground-hint);
    }

    .bin-inventory-tag.existing {
        background: color-mix(in srgb, var(--success) 12%, transparent);
        border-color: var(--success);
    }

    .bin-inventory-tag.new {
        border-color: var(--accent-base-color);
    }

    .bin-inventory-tag.missing {
        background: color-mix(in srgb, var(--warning) 12%, transparent);
        border-color: var(--warning);
    }

.bin-inventory-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
}

    .bin-inventory-legend span {
        align-items: center;
        color: var(--neutral-foreground-hint);
        display: inline-flex;
        font-size: 11px;
        gap: 6px;
    }

    .bin-inventory-legend i {
        border-radius: 3px;
        display: inline-block;
        height: 9px;
        width: 9px;
    }

    .bin-inventory-legend i.expected {
        background: var(--neutral-foreground-hint);
    }

    .bin-inventory-legend i.existing {
        background: var(--success);
    }

    .bin-inventory-legend i.new {
        background: var(--accent-base-color);
    }

    .bin-inventory-legend i.missing {
        background: var(--warning);
    }

.bin-inventory-success-panel {
    background: color-mix(in srgb, var(--success) 12%, transparent);
    border: 1px solid var(--success);
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 10px 12px;
}

    .bin-inventory-success-panel span {
        color: var(--neutral-foreground-hint);
        font-size: 12px;
    }

.bin-inventory-footer {
    align-items: center;
    background: var(--neutral-fill-layer-rest);
    border: 1px solid var(--neutral-stroke-rest);
    border-radius: 8px;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    padding: 10px 12px;
}

    .bin-inventory-footer > div {
        min-width: 0;
    }

    .bin-inventory-footer > div > span {
        overflow-wrap: normal;
        white-space: nowrap;
        word-break: keep-all;
    }

.bin-inventory-footer-actions {
    align-items: center;
    justify-content: flex-end;
    margin-left: auto;
}

    .bin-inventory-footer-actions::part(positioning-region) {
        align-items: center;
        justify-content: flex-end;
    }

@media (max-width: 520px) {
    .bin-inventory-article-strip {
        grid-template-columns: 1fr;
    }

    .bin-inventory-article-detail.compact {
        text-align: left;
    }

    .bin-inventory-mother-header,
    .bin-inventory-parent-summary-card,
    .bin-inventory-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .bin-inventory-child-count {
        text-align: left;
    }

    .bin-inventory-footer-actions {
        margin-left: 0;
        width: 100%;
    }

        .bin-inventory-footer-actions::part(positioning-region) {
            align-items: stretch;
        }

        .bin-inventory-footer-actions .bin-inventory-action-button {
            width: 100%;
        }
}
