/* Anlagenjournal – Ersatzteile | ausgelagertes Fachmodul */
.aj-sp-body {
    --aj-bg: #f3f7f6;
    --aj-primary: #285953;
    --aj-primary-hover: #204b46;
    --aj-border: #d9e4e1;
    --aj-shadow: 0 8px 30px rgba(31, 75, 70, .08);
    --aj-focus-rgb: 40, 89, 83;
}

/* ===== ERSATZTEILE ===== */
.aj-sp-page { max-width: 1180px; }
.aj-sp-page .aj-management-intro {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}
.aj-sp-page .aj-management-intro > div { min-width: 0; }

.aj-sp-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin: 0 0 24px;
}
.aj-sp-card {
    position: relative;
    display: flex;
    min-height: 142px;
    padding: 20px 52px 20px 20px;
    flex-direction: column;
    gap: 5px;
    background: var(--aj-card);
    border: 1px solid var(--aj-border);
    border-radius: 14px;
    box-shadow: 0 2px 10px rgba(24,32,38,.025);
    color: inherit;
    text-decoration: none;
    transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.aj-sp-card:hover { transform: translateY(-1px); box-shadow: var(--aj-shadow); border-color: #c9d1d7; }
.aj-sp-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 3px; }
.aj-sp-card-head strong { font-size: 19px; line-height: 1.25; }
.aj-sp-card .aj-arrow { right: 18px; }
.aj-sp-card-meta { margin-top: auto; padding-top: 10px; display: grid; gap: 2px; color: var(--aj-muted); font-size: 12.5px; }
.aj-sp-card-meta-overview {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 14px;
    padding-top: 13px;
}
.aj-sp-card-field {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 1px;
    padding-top: 7px;
    border-top: 1px solid var(--aj-border);
}
.aj-sp-card-field small {
    color: var(--aj-muted);
    font-size: 10.5px;
    font-weight: 700;
    line-height: 1.25;
}
.aj-sp-card-field strong {
    color: var(--aj-text);
    font-size: 13px;
    font-weight: 750;
    line-height: 1.35;
    overflow-wrap: anywhere;
}
.aj-sp-card-field.is-wide { grid-column: 1 / -1; }
.aj-sp-stock {
    flex: 0 0 auto;
    padding: 4px 8px;
    border: 1px solid var(--aj-success-border);
    border-radius: 999px;
    background: var(--aj-success-bg);
    font-size: 12px;
    font-weight: 800;
}
.aj-sp-stock.is-empty { border-color: var(--aj-error-border); background: var(--aj-error-bg); }

.aj-sp-search { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.aj-sp-search input[type="search"],
.aj-sp-restock-actions input[type="date"],
.aj-sp-restock-actions input[type="number"],
.aj-sp-restock-actions select,
.aj-sp-settings-rename input,
.aj-sp-form textarea {
    min-height: 44px;
    border: 1px solid #cbd3d9;
    border-radius: 10px;
    padding: 10px 12px;
    background: #fff;
    color: var(--aj-text);
    font: inherit;
    font-size: 15px;
    outline: none;
}
.aj-sp-search input[type="search"] { flex: 1 1 280px; min-width: 0; }
.aj-sp-form textarea { width: 100%; resize: vertical; min-height: 110px; }
.aj-sp-search input:focus,
.aj-sp-restock-actions input:focus,
.aj-sp-settings-rename input:focus,
.aj-sp-form textarea:focus { border-color: var(--aj-primary); box-shadow: 0 0 0 3px rgba(var(--aj-focus-rgb),.12); }

.aj-sp-form { padding: 20px; }
.aj-sp-wide { grid-column: 1 / -1; }
.aj-sp-detail-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.aj-sp-detail-grid > div { display: flex; flex-direction: column; gap: 3px; }
.aj-sp-detail-grid small { color: var(--aj-muted); font-weight: 700; }
.aj-sp-detail-grid p { margin: 0; }

.aj-sp-history { margin-bottom: 18px; }
.aj-sp-history .aj-entry-text { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.aj-sp-history-delta { flex: 0 0 auto; font-weight: 800; color: var(--aj-muted); }

.aj-sp-restock-list { display: grid; gap: 14px; }
.aj-sp-restock-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; }
.aj-sp-restock-actions form { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; margin: 0; }
.aj-sp-restock-actions label { display: flex; flex-direction: column; gap: 5px; }
.aj-sp-restock-actions label span { font-size: 12px; font-weight: 750; color: var(--aj-muted); }
.aj-sp-restock-actions [hidden],
.aj-sp-order-form[hidden],
.aj-sp-delivery-form[hidden] { display: none !important; }
.aj-sp-restock-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px 20px; }
.aj-sp-restock-summary > div { display: flex; flex-direction: column; gap: 3px; }
.aj-sp-restock-summary small { color: var(--aj-muted); font-size: 12px; font-weight: 750; }
.aj-sp-restock-summary strong { font-size: 15px; }
.aj-sp-delivery-form { width: 100%; display: grid !important; gap: 14px; padding-top: 2px; }
.aj-sp-delivery-form[hidden] { display: none !important; }
.aj-sp-delivery-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; }
.aj-sp-delivery-head > div { display: flex; flex-direction: column; gap: 2px; }
.aj-sp-delivery-head span { color: var(--aj-muted); font-size: 12px; font-weight: 700; }
.aj-sp-delivery-head > span { white-space: nowrap; font-size: 13px; }
.aj-sp-delivery-form.is-over .aj-sp-delivery-head > span { color: var(--aj-error); }
.aj-sp-delivery-lines { display: grid; gap: 10px; width: 100%; }
.aj-sp-delivery-row { display: grid; grid-template-columns: minmax(100px, 140px) minmax(220px, 1fr) 42px; gap: 10px; align-items: end; width: 100%; }
.aj-sp-delivery-row label { min-width: 0; }
.aj-sp-delivery-row input,
.aj-sp-delivery-row select { width: 100%; min-width: 0; }
.aj-sp-delivery-remove { width: 42px; height: 42px; font-size: 24px; line-height: 1; }
.aj-sp-delivery-toolbar { display: flex; justify-content: flex-start; }

.aj-sp-settings-row { padding: 14px 20px; }
.aj-sp-settings-rename { width: 100%; display: flex; align-items: center; gap: 10px; margin: 0; }
.aj-sp-settings-rename input { flex: 1 1 auto; min-width: 0; }
.aj-sp-add-warehouse { border-top: 1px solid var(--aj-border); }
.aj-sp-add-warehouse .aj-management-inline-create { padding: 0; width: 100%; }
.aj-status-spare { background: #f4f6f8; border-color: var(--aj-border); color: var(--aj-text); }

@media (max-width: 720px) {
    .aj-sp-grid { grid-template-columns: 1fr; }
    .aj-sp-detail-grid { grid-template-columns: 1fr 1fr; }
    .aj-sp-page .aj-management-intro { align-items: flex-start; flex-direction: column; }
    .aj-sp-page .aj-management-intro .aj-button { width: 100%; }
    .aj-sp-page .aj-management-panel-heading { align-items: flex-start; }
}

@media (max-width: 480px) {
    .aj-sp-detail-grid { grid-template-columns: 1fr; }
    .aj-sp-card-meta-overview { grid-template-columns: 1fr; }
    .aj-sp-card-field.is-wide { grid-column: auto; }
    .aj-sp-search .aj-button { width: 100%; }
    .aj-sp-restock-actions, .aj-sp-restock-actions form { width: 100%; }
    .aj-sp-restock-actions .aj-button { width: 100%; }
    .aj-sp-order-form label { width: 100%; }
    .aj-sp-order-form input[type="date"],
    .aj-sp-order-form input[type="number"] { width: 100%; }
    .aj-sp-restock-summary { grid-template-columns: 1fr 1fr; }
    .aj-sp-delivery-head { align-items: flex-start; }
    .aj-sp-delivery-row { grid-template-columns: 92px minmax(0, 1fr) 42px; }
    .aj-sp-delivery-toolbar .aj-button { width: 100%; }
    .aj-sp-settings-row { padding: 14px 16px; }
    .aj-sp-settings-rename { flex-direction: column; align-items: stretch; }
    .aj-sp-settings-rename .aj-button { width: 100%; }
    .aj-sp-history .aj-entry-text { gap: 10px; }
}


/* Ersatzteile – vierstufige Gruppenrechte */
.aj-sp-segmented-four { grid-template-columns: repeat(4, auto); }
@media (max-width: 860px) {
    .aj-segmented.aj-sp-segmented-four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
    .aj-sp-restock-summary { grid-template-columns: 1fr; }
    .aj-sp-delivery-head { flex-direction: column; gap: 6px; }
    .aj-sp-delivery-row { grid-template-columns: 1fr 42px; }
    .aj-sp-delivery-row label:first-child { grid-column: 1 / -1; }
}


/* Ersatzteile – same UI language, deliberately subtle module tint. */
.aj-sp-body .aj-page { color: var(--aj-text); }
.aj-sp-body .aj-eyebrow { color: #5f7773; }
.aj-sp-body .aj-management-nav { background: rgba(255,255,255,.78); border-color: #d7e3e0; }
.aj-sp-body .aj-management-nav-link:hover { background: #edf4f2; }
.aj-sp-body .aj-management-panel,
.aj-sp-body .aj-history,
.aj-sp-body .aj-sp-card { border-color: #d8e4e1; }
.aj-sp-body .aj-sp-card:hover { border-color: #b9cfca; }
.aj-sp-body .aj-button-secondary:hover { background: #f2f7f6; border-color: #bfd2ce; }
.aj-sp-body .aj-management-status.is-active { background: #eaf5f2; border-color: #b9d8d0; color: #285953; }

.aj-sp-search-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.aj-sp-article-card { gap: 2px; }
.aj-sp-stock-group {
    margin-top: 13px;
    padding-top: 11px;
    border-top: 1px solid #e1e9e7;
    display: grid;
    gap: 6px;
}
.aj-sp-stock-group > small {
    color: #466a65;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .055em;
    text-transform: uppercase;
}
.aj-sp-stock-group > span {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: baseline;
    font-size: 13.5px;
}
.aj-sp-stock-group > span strong { min-width: 0; overflow-wrap: anywhere; }
.aj-sp-stock-group > span b { flex: 0 0 auto; font-size: 13px; color: var(--aj-text); }
.aj-sp-stock-group.is-other > small { color: var(--aj-muted); }
.aj-sp-stock-group.is-other > span { color: var(--aj-muted); }

.aj-sp-stock-panel .aj-management-list { border-top: 0; }
.aj-sp-stock-row {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto auto;
    align-items: center;
    gap: 14px;
}
.aj-sp-row-action { white-space: nowrap; }
.aj-sp-stock-edit { border-top: 1px solid var(--aj-border); background: #f8fbfa; }
.aj-sp-add-stock { border-top: 1px solid var(--aj-border); }
.aj-sp-add-stock h3 { margin: 0 0 14px; font-size: 16px; }
.aj-sp-inline-stock-form {
    display: grid;
    grid-template-columns: minmax(180px,1fr) minmax(110px,160px) minmax(140px,180px) auto;
    gap: 10px;
    align-items: end;
}
.aj-sp-inline-stock-form label { display: grid; gap: 5px; min-width: 0; }
.aj-sp-inline-stock-form label > span { color: var(--aj-muted); font-size: 12px; font-weight: 750; }
.aj-sp-inline-stock-form input,
.aj-sp-inline-stock-form select {
    width: 100%; min-width: 0; min-height: 42px; border: 1px solid #cbd3d9; border-radius: 10px;
    padding: 9px 11px; background: #fff; color: var(--aj-text); font: inherit; font-size: 16px;
}
.aj-sp-inline-stock-form input:focus,
.aj-sp-inline-stock-form select:focus { border-color: var(--aj-primary); box-shadow: 0 0 0 3px rgba(var(--aj-focus-rgb),.12); outline: none; }
.aj-sp-install-location-buttons { display: flex; flex-wrap: wrap; gap: 10px; }
.aj-sp-master-panel { margin-bottom: 18px; }

@media (max-width: 760px) {
    .aj-sp-search-grid { grid-template-columns: 1fr; }
    .aj-sp-stock-row { grid-template-columns: minmax(0,1fr) auto; }
    .aj-sp-stock-row .aj-sp-row-action { grid-column: 1 / -1; width: 100%; }
    .aj-sp-inline-stock-form { grid-template-columns: 1fr 1fr; }
    .aj-sp-inline-stock-form label:first-of-type { grid-column: 1 / -1; }
    .aj-sp-inline-stock-form .aj-button { width: 100%; }
}
@media (max-width: 520px) {
    .aj-sp-inline-stock-form { grid-template-columns: 1fr; }
    .aj-sp-inline-stock-form label:first-of-type { grid-column: auto; }
    .aj-sp-stock-row { grid-template-columns: 1fr auto; gap: 10px; }
}

/* Ersatzteile – compact search filters and master-data list. */
.aj-sp-search-filters {
    display: grid;
    grid-template-columns: minmax(220px, .8fr) minmax(280px, 1.35fr) auto;
    gap: 14px;
    align-items: end;
}
.aj-sp-search-field {
    display: grid;
    gap: 6px;
    min-width: 0;
}
.aj-sp-search-field > span {
    color: var(--aj-muted);
    font-size: 12px;
    font-weight: 750;
}
.aj-sp-search-filters input[type="search"],
.aj-sp-search-filters select {
    width: 100%;
    min-width: 0;
    min-height: 42px;
    padding: 9px 11px;
    border: 1px solid var(--aj-border);
    border-radius: 10px;
    background: #fff;
    color: var(--aj-text);
    font: inherit;
}
.aj-sp-search-filters input[type="search"]:focus,
.aj-sp-search-filters select:focus {
    border-color: var(--aj-primary);
    box-shadow: 0 0 0 3px rgba(var(--aj-focus-rgb),.12);
    outline: none;
}
.aj-sp-search-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}
.aj-sp-master-list .aj-management-row-copy small {
    overflow-wrap: anywhere;
}

@media (max-width: 820px) {
    .aj-sp-search-filters {
        grid-template-columns: 1fr 1fr;
    }
    .aj-sp-search-actions {
        grid-column: 1 / -1;
    }
}

@media (max-width: 560px) {
    .aj-sp-search-filters {
        grid-template-columns: 1fr;
    }
    .aj-sp-search-actions {
        grid-column: auto;
    }
    .aj-sp-search-actions .aj-button {
        width: 100%;
    }
    .aj-sp-master-list .aj-management-row-open {
        align-items: flex-start;
    }
}

/* Ersatzteile – operational search/detail, dedicated restock tab. */
.aj-sp-operational-detail .aj-management-panel-heading {
    padding-bottom: 16px;
}
.aj-sp-operational-detail .aj-eyebrow {
    margin: 0 0 4px;
    font-size: 10px;
    letter-spacing: .08em;
}
.aj-sp-location-groups {
    display: grid;
    gap: 18px;
    padding: 0 20px 20px;
}
.aj-sp-location-group {
    min-width: 0;
}
.aj-sp-location-group-title {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    padding: 0 0 8px;
}
.aj-sp-location-group-title strong {
    font-size: 14px;
}
.aj-sp-location-group-title small {
    color: var(--aj-muted);
    font-size: 11px;
    font-weight: 700;
}
.aj-sp-location-list {
    overflow: hidden;
    border: 1px solid var(--aj-border);
    border-radius: 12px;
    background: #fff;
}
.aj-sp-location-row {
    min-height: 64px;
    padding: 11px 14px 11px 16px;
    display: grid;
    grid-template-columns: minmax(0,1fr) auto 18px;
    align-items: center;
    gap: 12px;
    color: inherit;
    text-decoration: none;
    border-bottom: 1px solid var(--aj-border);
    transition: background .15s ease, border-color .15s ease;
}
.aj-sp-location-row:last-child {
    border-bottom: 0;
}
.aj-sp-location-row > span:first-child {
    min-width: 0;
    display: grid;
    gap: 2px;
}
.aj-sp-location-row strong {
    overflow-wrap: anywhere;
    font-size: 15px;
}
.aj-sp-location-row small {
    color: var(--aj-muted);
    font-size: 11px;
}
.aj-sp-location-row b {
    white-space: nowrap;
    font-size: 13px;
    padding: 4px 8px;
    border-radius: 999px;
    background: #eaf5f2;
    border: 1px solid #b9d8d0;
    color: #285953;
}
.aj-sp-location-row[href]:hover,
.aj-sp-location-row.is-selected {
    background: #f0f7f5;
}
.aj-sp-location-row.is-selected {
    box-shadow: inset 3px 0 0 var(--aj-primary);
}
.aj-sp-location-row.is-readonly,
.aj-sp-location-row.is-disabled {
    grid-template-columns: minmax(0,1fr) auto;
}
.aj-sp-location-row.is-readonly {
    background: #fafcfc;
    color: #5f6d72;
}
.aj-sp-location-row.is-readonly b {
    background: #f3f5f6;
    border-color: #d9dee2;
    color: #657178;
}
.aj-sp-location-row.is-disabled {
    background: #fafbfb;
    color: var(--aj-muted);
}
.aj-sp-location-row.is-disabled b {
    background: #f3f5f6;
    border-color: #d9dee2;
    color: var(--aj-muted);
}
.aj-sp-install-compact .aj-sp-form {
    padding-top: 18px;
}
.aj-sp-install-grid {
    grid-template-columns: minmax(0,1fr) minmax(120px,180px);
}

/* Master-data stock rows keep the same padded rhythm as the rest of Verwaltung. */
.aj-sp-stock-row {
    padding: 13px 18px 13px 20px;
}

@media (max-width: 560px) {
    .aj-sp-location-groups {
        padding: 0 14px 14px;
        gap: 15px;
    }
    .aj-sp-location-group-title {
        align-items: flex-start;
        flex-direction: column;
        gap: 2px;
    }
    .aj-sp-location-row {
        padding: 11px 12px 11px 14px;
        gap: 9px;
    }
    .aj-sp-install-grid {
        grid-template-columns: 1fr;
    }
}

/* Ersatzteile – Live-Suche im Artikelstamm */
.aj-sp-master-filter {
    margin: 0 0 18px;
}
.aj-sp-master-filter input[type="search"] {
    width: 100%;
    min-height: 48px;
    padding: 11px 14px;
    border: 1px solid #c9d9d5;
    border-radius: 12px;
    background: #fff;
    color: var(--aj-text);
    font: inherit;
    font-size: 15px;
    outline: none;
    box-shadow: 0 2px 10px rgba(24,32,38,.018);
}
.aj-sp-master-filter input[type="search"]:focus {
    border-color: #6f9e96;
    box-shadow: 0 0 0 3px rgba(var(--aj-focus-rgb),.11);
}
.aj-sp-master-empty {
    border-top: 0;
}

/* Live-Suche browserfest – display-Regeln dürfen hidden nicht übersteuern */
.aj-sp-master-list [data-aj-master-row][hidden] {
    display: none !important;
}
.aj-sp-master-empty[hidden] {
    display: none !important;
}

/* Ersatzteile – Lagerplatz, Umbuchen und PC-Listerfassung. */
.aj-sp-row-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.aj-sp-transfer-form{border-top:1px solid var(--aj-border);background:#f8fbfa}.aj-sp-transfer-form .aj-sp-inline-stock-form{grid-template-columns:minmax(170px,1fr) minmax(200px,1.1fr) minmax(180px,1fr) 110px auto}.aj-sp-bulk-scroll{overflow-x:auto;padding-bottom:18px}.aj-sp-bulk-table{width:100%;min-width:2450px;border-collapse:separate;border-spacing:0;font-size:13px}.aj-sp-bulk-table th{padding:8px 6px;text-align:left;color:var(--aj-muted);font-size:11px;font-weight:800;background:#f8fbfa;border-bottom:1px solid var(--aj-border);white-space:nowrap}.aj-sp-bulk-table td{padding:5px 4px;border-bottom:1px solid #edf1f0}.aj-sp-bulk-table input,.aj-sp-bulk-table select{width:100%;min-width:125px;height:38px;border:1px solid #cbd3d9;border-radius:8px;background:#fff;padding:7px 8px;color:var(--aj-text);font:inherit}.aj-sp-bulk-table select{min-width:190px}.aj-sp-bulk-table input[name*="ersatzteilart"]{min-width:170px}.aj-sp-bulk-table input:focus,.aj-sp-bulk-table select:focus{border-color:var(--aj-primary);box-shadow:0 0 0 2px rgba(var(--aj-focus-rgb),.12);outline:none}
@media(max-width:900px){.aj-sp-desktop-only{display:none!important}.aj-sp-transfer-form .aj-sp-inline-stock-form{grid-template-columns:1fr 1fr}.aj-sp-transfer-form .aj-button{width:100%}}@media(max-width:520px){.aj-sp-row-actions{grid-column:1/-1;justify-content:stretch}.aj-sp-row-actions .aj-button{flex:1 1 auto}.aj-sp-transfer-form .aj-sp-inline-stock-form{grid-template-columns:1fr}}


.aj-sp-list-subnav{display:flex;gap:8px;margin:0 0 16px}.aj-sp-import-actions{margin-bottom:18px}.aj-sp-import-form{display:grid;gap:14px;max-width:720px}.aj-sp-import-form label{display:grid;gap:7px;font-weight:700}.aj-sp-import-form input[type=file]{width:100%;padding:12px;border:1px solid #cbd3d9;border-radius:10px;background:#fff}

/* Pikettbericht-Integration gehört fachlich zum Ersatzteilmodul. */
.aj-on-call-stat.aj-et-on-call {
    border-color: #bdd6d3;
    background: linear-gradient(180deg, #fff 0%, #f2f8f7 100%);
}
.aj-on-call-stat.aj-et-on-call strong { color: #2f6f6b; }
.aj-on-call-event.aj-et-on-call { background: linear-gradient(90deg, #f3f9f8 0, #fff 120px); }
.aj-on-call-section.aj-et-on-call .aj-status-spare,
.aj-on-call-event.aj-et-on-call .aj-status-spare {
    color: #2f6f6b;
    border-color: #bdd6d3;
    background: #f0f7f6;
}

/* Ersatzteile 1.1 – hybride Lagerorte, Nachschub, Inventur und QR */
.aj-et-location-toggle-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;margin:12px 0 18px}.aj-et-location-toggle{padding:12px 14px;border:1px solid var(--aj-border,#d8dee6);border-radius:12px;align-items:flex-start}.aj-et-location-toggle span{display:flex;flex-direction:column;gap:3px}.aj-et-location-toggle small{font-weight:400;opacity:.68}.aj-et-own-stores{border-top:1px solid var(--aj-border,#e2e7ed)}
.aj-et-stock-form{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.aj-et-stock-form .aj-button{align-self:end}.aj-et-placement-note{grid-column:span 2}.aj-et-stock-form label small{font-weight:400;opacity:.6}
.aj-et-transfer-suggestions{border-top:1px solid var(--aj-border,#e2e7ed);background:color-mix(in srgb,var(--aj-surface,#fff) 96%,#1d766e 4%)}.aj-et-transfer-suggestions>p{margin:4px 0 12px;opacity:.72}.aj-et-transfer-suggestions form{display:grid;grid-template-columns:minmax(180px,1fr) 90px auto;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--aj-border,#e2e7ed)}.aj-et-transfer-suggestions form span{display:flex;flex-direction:column}.aj-et-transfer-suggestions form small{opacity:.68}
.aj-et-inventory-list{display:flex;flex-direction:column}.aj-et-inventory-row{display:grid;grid-template-columns:minmax(180px,1fr) 90px 110px;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--aj-border,#e2e7ed)}.aj-et-inventory-row>span:first-child{display:flex;flex-direction:column;gap:2px}.aj-et-inventory-row small{opacity:.68}.aj-et-inventory-stock{font-weight:700;text-align:right}.aj-et-inventory-row input{width:100%}
.aj-et-scan{display:grid;gap:22px}.aj-et-scan-panel .aj-management-panel-body{padding-top:18px}.aj-et-scan-camera{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.aj-et-scan-video-wrap{position:relative;width:min(100%,560px);aspect-ratio:4/3;border-radius:18px;overflow:hidden;background:#111;border:1px solid var(--aj-border,#cbd3dc)}.aj-et-scan-camera video{width:100%;height:100%;display:block;object-fit:cover;background:#111}.aj-et-scan-frame{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}.aj-et-scan-frame span{display:block;width:min(58%,260px);aspect-ratio:1;border:3px solid rgba(255,255,255,.96);border-radius:18px;box-shadow:0 0 0 999px rgba(0,0,0,.18),0 0 0 1px rgba(0,0,0,.12) inset}.aj-et-scan-camera:not(.is-running) .aj-et-scan-frame{display:none}.aj-et-scan-status{min-height:1.5em;font-weight:600}.aj-et-scan-manual{border-top:1px solid var(--aj-border,#dde3ea);padding-top:18px;display:grid;gap:12px}.aj-et-scan-manual>div{display:grid;gap:3px}.aj-et-scan-manual small{opacity:.7}.aj-et-scan-manual .aj-sp-inline-stock-form{margin:0}.aj-et-scan-manual input{text-transform:uppercase}
.aj-et-qr-body{display:flex;gap:22px;align-items:center}.aj-et-qr{width:176px;min-width:176px;background:#fff;border:1px solid #d8dde3;border-radius:12px;padding:10px}.aj-et-qr-svg{display:block;width:100%;height:auto}.aj-et-qr-body p{margin:5px 0 14px}.aj-et-qr-panel{break-inside:avoid}
.aj-et-criticality{display:inline-flex;align-items:center;width:max-content;padding:4px 8px;border-radius:999px;font-size:.78rem;font-weight:750;background:#eef1f4}.aj-et-criticality.is-betriebsrelevant{background:#fff3cd;color:#725500}.aj-et-criticality.is-versorgungskritisch{background:#fde2e2;color:#8a2424}
@media(max-width:720px){.aj-et-placement-note{grid-column:auto}.aj-et-transfer-suggestions form{grid-template-columns:1fr 90px}.aj-et-transfer-suggestions form .aj-button{grid-column:1/-1}.aj-et-inventory-row{grid-template-columns:1fr 80px}.aj-et-inventory-row input{grid-column:1/-1}.aj-et-qr-body{align-items:flex-start;flex-direction:column}.aj-et-qr{width:160px;min-width:160px}}
@media print{body.aj-sp-body .aj-topbar,body.aj-sp-body .aj-sp-nav,body.aj-sp-body .aj-back,body.aj-sp-body .aj-et-qr-panel~*{display:none!important}.aj-et-qr-panel{border:0!important;box-shadow:none!important}.aj-et-qr-panel .aj-management-panel-heading{display:none!important}.aj-et-qr-body .aj-button{display:none!important}}

/* 1.1 storage settings + printable per-location QR labels */
.aj-et-own-store-row .aj-sp-row-actions{display:flex;gap:.5rem;align-items:flex-start;flex-wrap:wrap}
.aj-et-inline-edit{position:relative}
.aj-et-inline-edit>summary{list-style:none;cursor:pointer}
.aj-et-inline-edit>summary::-webkit-details-marker{display:none}
.aj-et-inline-edit[open] form{display:flex;gap:.5rem;align-items:end;flex-wrap:wrap;margin-top:.65rem;padding:.75rem;border:1px solid var(--aj-border,#d9dee7);border-radius:10px}
.aj-et-inline-edit form label{min-width:220px;flex:1}
.aj-et-qr-labels{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}
.aj-et-qr-labels .aj-et-qr-body{margin:0;border:1px solid var(--aj-border,#d9dee7);border-radius:12px;padding:1rem;break-inside:avoid}
@media print{
  .aj-et-qr-panel .aj-management-panel-heading button,.aj-management-nav,.aj-header,.aj-footer{display:none!important}
  .aj-et-qr-labels{display:grid;grid-template-columns:repeat(2,1fr);gap:8mm}
  .aj-et-qr-labels .aj-et-qr-body{border:1px solid #999;page-break-inside:avoid}
}

/* 1.1.1 – gerätebezogene Scanner-Aktivierung */

/* Feldhilfe – identisches Bedienmuster wie im Kontrollrundgang-Modul. */
.aj-et-field-heading{display:inline-flex;align-items:center;gap:6px;min-width:0;font:inherit;color:inherit}
.aj-et-help-trigger{display:inline-grid;place-items:center;width:24px;height:24px;flex:0 0 24px;border-radius:50%;color:var(--aj-sp,#2f6f62);cursor:pointer;outline:none;vertical-align:middle}
.aj-et-help-trigger .aj-et-mdi{width:20px;height:20px;display:block}
.aj-et-help-trigger:hover{background:rgba(47,111,98,.09)}
.aj-et-help-trigger:focus-visible{box-shadow:0 0 0 3px rgba(47,111,98,.18);background:rgba(47,111,98,.09)}
.aj-et-help-dialog{width:min(520px,calc(100vw - 28px));max-width:520px;border:0;border-radius:18px;padding:0;color:var(--aj-text,#182328);background:#fff;box-shadow:0 24px 70px rgba(24,35,40,.26)}
.aj-et-help-dialog::backdrop{background:rgba(18,27,32,.34);backdrop-filter:blur(2px)}
.aj-et-help-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px 22px 12px;border-bottom:1px solid rgba(24,35,40,.08)}
.aj-et-help-dialog-head h2{margin:3px 0 0;font-size:1.25rem;line-height:1.2}
.aj-et-help-kicker{display:block;font-size:.72rem;line-height:1.2;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--aj-muted,#66757c)}
.aj-et-help-close{display:grid;place-items:center;width:36px;height:36px;flex:0 0 36px;border:0;border-radius:50%;background:transparent;color:var(--aj-text,#182328);cursor:pointer}
.aj-et-help-close:hover,.aj-et-help-close:focus-visible{background:rgba(24,35,40,.07);outline:none}
.aj-et-help-close .aj-et-mdi{width:22px;height:22px}
.aj-et-help-dialog-body{padding:18px 22px 22px;font-size:.96rem;line-height:1.55;color:var(--aj-text,#182328);white-space:pre-line}

/* Anlagen als Lagerorte bleibt bei grossen Installationen standardmässig eingeklappt. */
.aj-et-storage-assets-details{border:1px solid rgba(24,35,40,.10);border-radius:14px;background:#fff;overflow:hidden}
.aj-et-storage-assets-details>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;cursor:pointer;list-style:none;user-select:none}
.aj-et-storage-assets-details>summary::-webkit-details-marker{display:none}
.aj-et-storage-assets-details>summary>span:first-child{display:flex;flex-direction:column;gap:3px;min-width:0}
.aj-et-storage-assets-details>summary small{color:var(--aj-muted,#66757c);font-weight:500}
.aj-et-details-chevron{font-size:27px;line-height:1;transform:rotate(90deg);transition:transform .16s ease;color:var(--aj-muted,#66757c)}
.aj-et-storage-assets-details[open] .aj-et-details-chevron{transform:rotate(-90deg)}
.aj-et-storage-assets-content{padding:0 18px 18px;border-top:1px solid rgba(24,35,40,.08)}
.aj-et-storage-assets-content .aj-et-location-toggle-list{margin-top:16px}

/* Native Lageretiketten. */
.aj-et-label-actions{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-left:auto}
.aj-et-print-status{min-height:1em;font-size:.78rem;color:var(--aj-muted,#66757c)}
.aj-et-print-status.is-error{color:#a32b24}
.aj-et-print-status.is-success{color:#247052}
.aj-et-qr-body{gap:16px}
.aj-et-label-copy{min-width:0;flex:1 1 auto}

@media (max-width:720px){
  .aj-et-help-trigger{width:28px;height:28px;flex-basis:28px}
  .aj-et-help-dialog{width:calc(100vw - 22px)}
  .aj-et-help-dialog-head{padding:18px 18px 11px}
  .aj-et-help-dialog-body{padding:16px 18px 20px}
  .aj-et-storage-assets-details>summary{padding:14px 15px}
  .aj-et-storage-assets-content{padding:0 15px 15px}
  .aj-et-qr-body{align-items:flex-start}
  .aj-et-label-actions{width:100%;margin-left:0}
  .aj-et-label-actions .aj-button{width:100%}
}

.aj-et-transfer-suggestions .aj-et-field-heading{display:inline-flex;flex-direction:row;align-items:center;gap:6px}
.aj-et-transfer-suggestions .aj-et-help-trigger{display:inline-grid;flex-direction:initial}


/* 1.1.4 – QR-Codes/Lageretiketten in Artikeldetails nur noch bewusst aufklappbar. */
.aj-et-qr-details{overflow:hidden}
.aj-et-qr-details>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;cursor:pointer;list-style:none;user-select:none}
.aj-et-qr-details>summary::-webkit-details-marker{display:none}
.aj-et-qr-details>summary>span:first-child{display:flex;flex-direction:column;gap:3px;min-width:0}
.aj-et-qr-details>summary small{color:var(--aj-muted,#66757c);font-weight:500}
.aj-et-qr-details[open] .aj-et-details-chevron{transform:rotate(-90deg)}
.aj-et-qr-content{border-top:1px solid rgba(24,35,40,.08)}
@media(max-width:720px){.aj-et-qr-details>summary{padding:14px 15px}}
@media print{.aj-et-qr-details>summary{display:none!important}.aj-et-qr-details .aj-et-qr-content{display:block!important;border-top:0}}

/* 1.1.7 – Lageretikett nur am konkret ausgewählten Lagerort im operativen Ablauf. */
.aj-et-location-label{margin:0 18px 18px;padding:18px;border-top:1px solid rgba(24,35,40,.10);background:var(--aj-surface,#fff)}
.aj-et-location-label-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}
.aj-et-location-label-heading>div{display:flex;flex-direction:column;gap:3px}
.aj-et-location-label-heading strong{font-size:1rem}
.aj-et-location-label-heading small{color:var(--aj-muted,#66757c)}
.aj-et-location-label-body{display:flex;align-items:center;gap:18px}
.aj-et-location-label .aj-et-qr{width:132px;min-width:132px;padding:8px}
.aj-et-location-label .aj-et-label-copy{min-width:0;flex:1}
.aj-et-location-label .aj-et-label-copy>strong{font-size:1.05rem}
.aj-et-location-label .aj-et-label-copy p{margin:5px 0 0}
.aj-et-location-label .aj-et-label-actions{margin-top:14px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
@media(max-width:720px){.aj-et-location-label{margin:0 14px 14px;padding:14px}.aj-et-location-label-body{align-items:flex-start}.aj-et-location-label .aj-et-qr{width:112px;min-width:112px}}


/* 1.1.10 – Seitenhilfe für Einrichtung/Einstellungen */
.aj-et-settings-intro{margin-bottom:14px}
.aj-et-page-help-trigger{width:38px;height:38px;flex:0 0 38px;padding:0;border:0;background:transparent}
.aj-et-page-help-trigger .aj-et-mdi{width:22px;height:22px}
.aj-et-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
@media(max-width:720px){.aj-et-settings-intro{align-items:flex-start!important;flex-direction:row!important}.aj-et-page-help-trigger{width:40px;height:40px;flex-basis:40px}.aj-et-heading-actions{width:100%;justify-content:flex-start}}
