/** WHW Lagerverwaltung — © 2026 Marc Hagner. Alle Rechte vorbehalten. */
:root {
  --sap-shell: #354a5f;
  --sap-shell-dark: #223548;
  --sap-blue: #0a6ed1;
  --sap-blue-hover: #0854a0;
  --sap-blue-light: #e5f0fa;
  --sap-bg: #f5f6f7;
  --sap-surface: #fff;
  --sap-border: #d9d9d9;
  --sap-border-dark: #89919a;
  --sap-text: #32363a;
  --sap-muted: #6a6d70;
  --sap-success: #107e3e;
  --sap-success-bg: #f1fdf6;
  --sap-warning: #e9730c;
  --sap-warning-bg: #fff8e1;
  --sap-error: #bb0000;
  --sap-error-bg: #fff1f0;
  --sap-info-bg: #e5f0fa;
  font: 16px/1.4 "72", "72full", Arial, Helvetica, sans-serif;
}

html[data-size="large"] { font-size: 19px; }
html[data-size="small"] { font-size: 14px; }
* { box-sizing: border-box; }
[hidden] { display: none !important; }
body { margin: 0; background: var(--sap-bg); color: var(--sap-text); }
a { color: var(--sap-blue); }

.sap-shell { position: sticky; top: 0; z-index: 20; box-shadow: 0 2px 5px #0003; }
.shell-bar { min-height: 48px; padding: 0 22px; background: var(--sap-shell); color: #fff; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.brand { display: flex; align-items: center; gap: 11px; color: #fff; text-decoration: none; min-width: 0; }
.brand-mark { width: 34px; height: 28px; background: #fff; color: var(--sap-blue-hover); display: grid; place-items: center; font-weight: 800; font-size: .9rem; border-radius: 2px; box-shadow: inset 0 -3px 0 #91c8f6; }
.brand > span:last-child { display: flex; align-items: baseline; gap: 10px; min-width: 0; }
.brand strong { font-size: 1.05rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.brand small { opacity: .72; font-size: .72rem; white-space: nowrap; }
.shell-actions { display: flex; align-items: center; gap: 6px; }
.user-badge { display: flex; align-items: center; gap: 7px; margin-right: 8px; font-size: .875rem; }
.user-icon { width: 27px; height: 27px; border-radius: 50%; background: #d1e8ff; color: #0a4b78; display: grid; place-items: center; font-weight: 700; }
.user-menu { position: relative; margin: 0; padding: 0; border: 0; }
.user-menu > summary { list-style: none; padding: 5px 7px; color: #fff; border: 1px solid transparent; border-radius: 2px; cursor: pointer; font-weight: 400; }
.user-menu > summary::-webkit-details-marker { display: none; }
.user-menu > summary:hover, .user-menu[open] > summary { background: #ffffff1f; border-color: #ffffff66; }
.user-chevron { opacity: .75; font-size: .72rem; }
.user-menu-panel { position: absolute; right: 0; top: calc(100% + 7px); z-index: 80; width: 290px; padding: 7px 0; color: var(--sap-text); background: #fff; border: 1px solid var(--sap-border-dark); border-radius: 3px; box-shadow: 0 7px 22px #0004; }
.user-menu-panel::before { content: ""; position: absolute; right: 19px; top: -7px; width: 12px; height: 12px; background: #fff; border-left: 1px solid var(--sap-border-dark); border-top: 1px solid var(--sap-border-dark); transform: rotate(45deg); }
.user-menu-heading { position: relative; display: flex; flex-direction: column; padding: 10px 14px 12px; border-bottom: 1px solid var(--sap-border); }
.user-menu-heading small { color: var(--sap-muted); }
.user-menu-panel > a { display: flex; align-items: center; gap: 10px; padding: 10px 14px; color: var(--sap-text); text-decoration: none; }
.user-menu-panel > a:hover { background: var(--sap-blue-light); }
.user-menu-panel > a > span:last-child { display: flex; flex-direction: column; }
.user-menu-panel > a small { color: var(--sap-muted); }
.user-menu-action { width: 100%; min-height: 42px; justify-content: flex-start; gap: 10px; padding: 10px 14px; color: var(--sap-text); background: transparent; border: 0; border-radius: 0; font-weight: 400; }
.user-menu-action:hover, .user-menu-action:focus { color: var(--sap-blue); background: var(--sap-blue-light); border: 0; }
.user-menu-info { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 7px 14px; color: var(--sap-muted); font-size: .8rem; }
.user-menu-info strong { color: var(--sap-text); }
.user-menu-logout { margin-top: 6px; border-top: 1px solid var(--sap-border); color: var(--sap-blue) !important; }
.shell-button { color: #fff; background: transparent; border: 1px solid transparent; padding: 7px 10px; border-radius: 2px; text-decoration: none; font: inherit; cursor: pointer; }
.shell-button:hover, .shell-button:focus { background: #ffffff1f; border-color: #ffffff66; outline: none; }

.module-nav { min-height: 43px; padding: 0 22px; background: #fff; display: flex; align-items: stretch; gap: 2px; border-bottom: 1px solid #b8c2cc; overflow: visible; }
.module-nav > a, .nav-group > summary { position: relative; min-height: 43px; display: flex; align-items: center; gap: 7px; padding: 0 15px; color: var(--sap-text); text-decoration: none; font-weight: 600; white-space: nowrap; border: 0; border-left: 1px solid transparent; border-right: 1px solid transparent; list-style: none; cursor: pointer; }
.nav-group { position: relative; margin: 0; padding: 0; border: 0; }
.nav-group > summary::-webkit-details-marker { display: none; }
.module-nav > a:hover, .nav-group > summary:hover, .nav-group[open] > summary { background: #f0f5fa; color: var(--sap-blue-hover); }
.module-nav > a.active, .nav-group.active > summary { color: var(--sap-blue); background: #eef5fc; }
.module-nav > a.active::after, .nav-group.active > summary::after { content: ""; position: absolute; left: 8px; right: 8px; bottom: 0; height: 3px; background: var(--sap-blue); }
.nav-caret { margin-left: 2px; color: var(--sap-muted); font-size: .7rem; }
.nav-menu-panel { position: absolute; left: 0; top: 100%; z-index: 90; min-width: 245px; padding: 5px 0; background: var(--sap-surface); border: 1px solid var(--sap-border-dark); box-shadow: 0 7px 20px #0003; }
.nav-menu-panel a { display: block; padding: 9px 14px; color: var(--sap-text); text-decoration: none; font-weight: 500; white-space: nowrap; }
.nav-menu-panel a:hover, .nav-menu-panel a.active { color: var(--sap-blue-hover); background: var(--sap-blue-light); }
.nav-menu-panel a.active { border-left: 3px solid var(--sap-blue); padding-left: 11px; }
.nav-icon { font-size: 1.05rem; font-weight: 400; }

.page-title { background: #fff; border-bottom: 1px solid var(--sap-border); padding: 12px max(22px, calc((100vw - 1450px) / 2 + 20px)); }
.page-title > div { display: flex; flex-direction: column; }
.page-title .breadcrumb { color: var(--sap-muted); font-size: .72rem; }
.page-title strong { font-size: 1.25rem; font-weight: 400; }
main { max-width: 1450px; margin: 18px auto 36px; padding: 0 20px; }
.page-title + main > h1 { display: none; }
h1 { margin: 0 0 16px; font-size: 1.45rem; font-weight: 400; }
h2 { margin: 0 0 14px; font-size: 1.05rem; font-weight: 600; }
.muted { color: var(--sap-muted); }

.card, .scan-panel { background: var(--sap-surface); border: 1px solid var(--sap-border); border-radius: 2px; padding: 18px; margin-bottom: 16px; box-shadow: 0 1px 2px #00000016; }
.card > h2:first-child, .scan-panel > h1:first-child { padding-bottom: 11px; border-bottom: 1px solid #e5e5e5; }
.stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
.stats .card { display: flex; justify-content: space-between; align-items: center; border-top: 3px solid var(--sap-blue); }
.stats strong { color: var(--sap-blue-hover); font-size: 1.65rem; font-weight: 400; }
.stats .warning { border-top-color: var(--sap-warning); border-left: 1px solid var(--sap-border); }
.stat-link { color: var(--sap-text); text-decoration: none; }
.stat-link:hover { background: var(--sap-blue-light); border-color: #7caed9; }

label { display: flex; flex-direction: column; gap: 5px; margin-bottom: 13px; color: var(--sap-text); font-size: .875rem; font-weight: 600; }
input, select, textarea { width: 100%; min-height: 36px; padding: 7px 10px; border: 1px solid var(--sap-border-dark); border-radius: 2px; background: #fff; color: var(--sap-text); font: inherit; }
textarea { min-height: 78px; resize: vertical; }
input:hover, select:hover, textarea:hover { border-color: #4d6276; }
input:focus, select:focus, textarea:focus { border-color: var(--sap-blue); outline: 2px solid #0a6ed133; outline-offset: 0; }
input:disabled, select:disabled, button:disabled { opacity: .55; cursor: not-allowed; }
.searchable-select { display: grid; gap: 5px; }
.searchable-select-input { padding-left: 34px; background-image: linear-gradient(45deg,transparent 45%,var(--sap-muted) 46%,var(--sap-muted) 54%,transparent 55%),linear-gradient(-45deg,transparent 45%,var(--sap-muted) 46%,var(--sap-muted) 54%,transparent 55%); background-position: 14px 13px,19px 18px; background-size: 8px 8px; background-repeat: no-repeat; }
.searchable-select-status { min-height: 1em; color: var(--sap-muted); font-weight: 400; }
.automatic-number { min-height: 36px; display: flex; align-items: center; padding: 7px 10px; border: 1px solid var(--sap-border); background: var(--sap-bg); color: var(--sap-text); font-family: ui-monospace,Consolas,monospace; }
.grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 0 16px; }
.check { flex-direction: row; align-items: center; font-weight: 400; }
.check input { width: auto; min-height: 0; }

button, .button { display: inline-flex; min-height: 36px; align-items: center; justify-content: center; gap: 6px; padding: 7px 14px; border: 1px solid var(--sap-blue); border-radius: 2px; background: #fff; color: var(--sap-blue); font-family: inherit; font-size: .875rem; font-weight: 600; line-height: 1.2; text-decoration: none; cursor: pointer; vertical-align: middle; }
button:hover, .button:hover { background: #eaf3fc; border-color: var(--sap-blue-hover); color: var(--sap-blue-hover); }
.primary { background: var(--sap-blue); border-color: var(--sap-blue); color: #fff; text-shadow: 0 1px #0002; }
.primary:hover, .primary:focus { background: var(--sap-blue-hover); border-color: var(--sap-blue-hover); color: #fff; }
.danger { background: #fff; color: var(--sap-error); border-color: var(--sap-error); }
.danger:hover { background: var(--sap-error-bg); color: #8b0000; border-color: #8b0000; }
.success-button { background: var(--sap-success); border-color: var(--sap-success); color: #fff; }
.actions { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.actions form { margin: 0; }
.actions form[method="get"] { min-width: 260px; }
.admin-config-card { display: block; min-height: 150px; color: var(--sap-text); text-decoration: none; border-top: 4px solid var(--sap-blue); }
.admin-config-card:hover { color: var(--sap-text); background: var(--sap-blue-light); border-color: var(--sap-blue-hover); }
.admin-config-card > span { color: var(--sap-muted); font-size: .72rem; font-weight: 700; letter-spacing: .06em; }
.admin-config-card > h2 { margin: 6px 0 8px; padding: 0; border: 0 !important; }
.admin-config-card > p { margin: 0; color: var(--sap-muted); }
.role-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(260px,1fr)); gap: 10px; }
.role-grid > div { display: flex; flex-direction: column; gap: 3px; padding: 11px 13px; border: 1px solid var(--sap-border); background: var(--sap-bg); }
.role-grid small { color: var(--sap-muted); }
.card > .actions:first-child { margin: -18px -18px 14px; padding: 9px 12px; background: #f7f7f7; border-bottom: 1px solid var(--sap-border); }
td .button, td button { min-height: 29px; padding: 5px 9px; font-size: .78rem; }

.flash { position: relative; padding: 11px 14px 11px 39px; margin: 0 0 14px; border: 1px solid; border-radius: 2px; }
.flash::before { position: absolute; left: 14px; top: 10px; font-weight: 800; }
.flash.success { color: #0b5e2e; background: var(--sap-success-bg); border-color: #5dc488; }
.flash.success::before { content: "✓"; }
.flash.error { color: #8b0000; background: var(--sap-error-bg); border-color: #e37b75; }
.flash.error::before { content: "!"; }
.flash.warning { color: #7a4700; background: var(--sap-warning-bg); border-color: #f0ab3d; }
.flash.warning::before { content: "▲"; font-size: .75rem; top: 13px; }

.scan-form { display: flex; gap: 8px; }
.scan-form input { flex: 1; min-height: 44px; font-size: 1.22rem; border-width: 2px; }
.scan-form button { min-width: 145px; }
.scan-result { display: grid; grid-template-columns: 2fr 2fr 1fr; gap: 16px; margin-top: 15px; padding: 17px; border: 1px solid #7caed9; border-left: 5px solid var(--sap-blue); background: var(--sap-info-bg); }
.scan-result > div { display: flex; flex-direction: column; }
.scan-result span { color: var(--sap-muted); font-size: .78rem; text-transform: uppercase; letter-spacing: .03em; }
.scan-result strong { font-size: 1.45rem; font-weight: 400; }
.scan-result.missing { display: flex; align-items: center; justify-content: space-between; border-color: #e9a23b; border-left-color: var(--sap-warning); background: var(--sap-warning-bg); }

.table-wrap { overflow: auto; max-height: 65vh; border: 1px solid var(--sap-border); }
.card.table-wrap { padding: 0; }
table { width: 100%; border-collapse: separate; border-spacing: 0; background: #fff; font-size: .875rem; }
th, td { height: 38px; padding: 7px 10px; border-right: 1px solid #e5e5e5; border-bottom: 1px solid #e5e5e5; text-align: left; white-space: nowrap; }
th { position: sticky; top: 0; z-index: 2; background: #f2f2f2; color: #333; font-weight: 600; box-shadow: inset 0 -1px #b5b5b5; }
tbody tr:hover td { background: #eaf3fc; }
tr:nth-child(even) td { background: #fafafa; }
tr:nth-child(even):hover td { background: #eaf3fc; }

.tabs { display: flex; gap: 0; margin-bottom: 15px; border-bottom: 1px solid var(--sap-border-dark); }
.tabs a { position: relative; padding: 9px 16px; background: transparent; color: var(--sap-text); border: 0; text-decoration: none; font-weight: 600; }
.tabs a:hover { background: #eaf3fc; }
.tabs a.active { color: var(--sap-blue); }
.tabs a.active::after { content: ""; position: absolute; left: 8px; right: 8px; bottom: -1px; height: 3px; background: var(--sap-blue); }

.color-green, tr.color-green td { background: #e8f5ed; }
.color-yellow, tr.color-yellow td { background: #fff8d6; }
.color-blue, tr.color-blue td { background: #e5f0fa; }
.color-choice { display: flex; gap: 8px; margin-bottom: 14px; flex-wrap: wrap; }
.color-choice label { display: block; min-width: 92px; padding: 9px; border: 1px solid var(--sap-border); border-radius: 2px; }
.color-choice .green { background: #dff3e7; }
.color-choice .yellow { background: #fff1b8; }
.color-choice .blue { background: #d9ecff; }

.assignment-layout { display: grid; grid-template-columns: minmax(0, 2fr) minmax(300px, 1fr); gap: 16px; }
.assignment-current { padding: 12px; border-left: 4px solid var(--sap-blue); background: #edf5fc; }
.assignment-form select { font-size: 1rem; }
.checks { display: flex; gap: 8px; flex-wrap: wrap; margin: 16px 0; }
.checks span { padding: 7px 10px; border: 1px solid var(--sap-border); background: #f3f4f5; }
.checks .ok { color: #0b5e2e; background: var(--sap-success-bg); border-color: #5dc488; }
.checks .bad { color: #8b0000; background: var(--sap-error-bg); border-color: #e37b75; }
details { margin-top: 14px; border-top: 1px solid var(--sap-border); padding-top: 10px; }
summary { color: var(--sap-blue); cursor: pointer; font-weight: 600; }

.stats-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; border-left: 4px solid var(--sap-blue); }
.stats-toolbar > div { display: flex; flex-direction: column; }
.stats-toolbar span { color: var(--sap-muted); font-size: .82rem; }
.stats-toolbar form, .stats-toolbar select { margin: 0; min-width: 150px; }
.period-form { display: flex; align-items: end; gap: 8px; flex-wrap: wrap; }
.period-form label { margin: 0; min-width: 135px; }
.period-form input, .period-form select { min-width: 135px; }
.kpi-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px; margin-bottom: 16px; }
.kpi { min-height: 116px; padding: 15px; background: #fff; border: 1px solid var(--sap-border); border-top: 4px solid var(--sap-blue); box-shadow: 0 1px 2px #00000016; display: flex; flex-direction: column; }
.kpi > span { color: var(--sap-muted); font-size: .78rem; text-transform: uppercase; letter-spacing: .025em; }
.kpi > strong { margin: 5px 0 2px; color: var(--sap-blue-hover); font-size: 2rem; font-weight: 400; line-height: 1; }
.kpi > small { margin-top: auto; color: var(--sap-muted); }
.kpi.good { border-top-color: var(--sap-success); }
.kpi.good > strong { color: var(--sap-success); }
.kpi.warn { border-top-color: var(--sap-warning); }
.kpi.warn > strong { color: #b85a00; }
.inventory-kpis .kpi { min-height: 95px; }
.dashboard-grid { display: grid; grid-template-columns: minmax(0, 3fr) minmax(320px, 2fr); gap: 16px; }
.dashboard-grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.dashboard-grid .table-wrap { max-height: 430px; }
.dashboard-grid .table-wrap h2, .card.table-wrap > h2 { position: sticky; left: 0; margin: 0; padding: 14px 16px; background: #fff; border-bottom: 1px solid var(--sap-border); }
.trend-legend { display: flex; justify-content: flex-end; gap: 16px; margin: -8px 0 8px; color: var(--sap-muted); font-size: .78rem; }
.trend-legend span::before { content: ""; display: inline-block; width: 9px; height: 9px; margin-right: 5px; }
.trend-legend .scan-dot::before { background: var(--sap-blue); }
.trend-legend .move-dot::before { background: var(--sap-success); }
.trend-chart { height: 230px; display: flex; align-items: stretch; gap: 5px; padding: 10px 4px 0; border-left: 1px solid var(--sap-border); border-bottom: 1px solid var(--sap-border-dark); background: repeating-linear-gradient(to top,#fff 0,#fff 54px,#e9ecef 55px); }
.trend-day { flex: 1; min-width: 26px; display: flex; flex-direction: column; align-items: center; }
.trend-bars { width: 100%; flex: 1; display: flex; align-items: flex-end; justify-content: center; gap: 2px; }
.trend-bars i { width: min(12px,42%); min-height: 2px; display: block; border-radius: 1px 1px 0 0; }
.scan-bar { background: var(--sap-blue); }
.move-bar { background: var(--sap-success); }
.trend-day > span { padding: 5px 0; color: var(--sap-muted); font-size: .65rem; transform: rotate(-35deg); white-space: nowrap; }
.bar-list { display: flex; flex-direction: column; gap: 14px; }
.bar-row > div:first-child { display: flex; justify-content: space-between; }
.bar-row small { color: var(--sap-muted); }
.bar-track { height: 9px; margin: 5px 0 3px; background: #e8ebed; overflow: hidden; }
.bar-track i { display: block; height: 100%; min-width: 2px; background: var(--sap-blue); }
.privacy-note { position: sticky; left: 0; margin: 0; padding: 12px 15px; color: var(--sap-muted); background: #f7f7f7; border-top: 1px solid var(--sap-border); font-size: .78rem; }
.pick-header { display: flex; align-items: center; gap: 25px; padding: 17px 20px; margin-bottom: 15px; background: #fff; border: 1px solid var(--sap-border); border-left: 5px solid var(--sap-blue); }
.pick-header > div:first-child { display: flex; flex-direction: column; flex: 1; }
.pick-header > div:first-child > span { color: var(--sap-muted); font-size: .75rem; text-transform: uppercase; }
.pick-header > div:first-child > strong { color: var(--sap-shell-dark); font-size: 1.65rem; font-weight: 400; }
.pick-header > div:first-child > small { color: var(--sap-muted); }
.pick-summary { display: flex; gap: 20px; }
.pick-summary span { display: flex; flex-direction: column; align-items: center; color: var(--sap-muted); font-size: .75rem; }
.pick-summary strong { color: var(--sap-blue-hover); font-size: 1.45rem; font-weight: 400; }
.warning-text strong { color: var(--sap-warning); }
.pick-list { padding: 0; overflow: auto; }
.pick-list td small { display: block; color: var(--sap-muted); }
.pick-missing td { background: var(--sap-warning-bg) !important; }
.check-column { width: 65px; text-align: center; }
.print-checkbox { display: inline-block; width: 18px; height: 18px; border: 2px solid #5b6670; background: #fff; }

.installer, .login-wrap { max-width: 900px; margin: 55px auto; padding: 0 18px; }
.login-wrap { max-width: 470px; }
.login-card { border-top: 5px solid var(--sap-blue); padding: 26px; }
.login-card h1, .installer h1 { color: var(--sap-shell); font-weight: 400; }
.login-card button { width: 100%; margin-top: 5px; }
footer { padding: 22px; color: var(--sap-muted); text-align: center; font-size: .78rem; }

.pair-layout { display: grid; grid-template-columns: minmax(0, 3fr) minmax(330px, 2fr); gap: 16px; }
.pair-card, .qr-card { border-top: 4px solid var(--sap-blue); }
.pair-card h1 { margin-bottom: 8px; color: var(--sap-shell-dark); }
.step-label { margin-bottom: 5px; color: var(--sap-blue); font-size: .72rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.pair-card code, .security-note code { padding: 2px 4px; background: #edf1f4; border: 1px solid #d5dadd; border-radius: 2px; }
.qr-card { text-align: center; }
.qr-frame { display: inline-grid; place-items: center; min-width: 324px; min-height: 324px; padding: 11px; background: #fff; border: 1px solid var(--sap-border-dark); box-shadow: 0 2px 8px #0002; }
.qr-frame canvas { width: 300px; height: 300px; max-width: 100%; }
.pair-expiry { margin: 12px 0; color: var(--sap-shell-dark); }
.qr-placeholder { min-height: 315px; display: grid; place-content: center; color: var(--sap-muted); background: repeating-linear-gradient(45deg,#f7f8f9,#f7f8f9 12px,#f1f3f5 12px,#f1f3f5 24px); border: 1px dashed var(--sap-border-dark); }
.qr-placeholder span { color: var(--sap-blue); font-size: 5rem; line-height: 1; }
.security-note { border-left: 4px solid var(--sap-success); }
.security-note ul { margin: 0; padding-left: 20px; }
.security-note li + li { margin-top: 5px; }

.mobile-body { min-height: 100vh; background: #e9edf1; }
.mobile-shell { position: sticky; top: 0; z-index: 30; min-height: 58px; padding: 7px max(12px,env(safe-area-inset-right)) 7px max(12px,env(safe-area-inset-left)); display: flex; align-items: center; justify-content: space-between; gap: 10px; color: #fff; background: var(--sap-shell); box-shadow: 0 2px 6px #0004; }
.mobile-brand { min-width: 0; display: flex; align-items: center; gap: 9px; color: #fff; text-decoration: none; }
.mobile-brand > span:last-child { min-width: 0; display: flex; flex-direction: column; }
.mobile-brand strong { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mobile-brand small { opacity: .75; font-size: .68rem; white-space: nowrap; }
.mobile-shell nav { display: flex; gap: 5px; }
.mobile-shell nav a { padding: 8px; color: #fff; border: 1px solid #ffffff55; border-radius: 2px; text-decoration: none; font-size: .78rem; font-weight: 600; }
main.mobile-main { max-width: 720px; margin: 14px auto 30px; padding: 0 12px; }
.mobile-scanner-card { padding: 0 0 15px; overflow: hidden; border-top: 4px solid var(--sap-blue); }
.mobile-section-title { padding: 13px 15px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--sap-border); }
.mobile-section-title > div { display: flex; flex-direction: column; }
.mobile-section-title span:first-child { color: var(--sap-muted); font-size: .68rem; text-transform: uppercase; }
.mobile-section-title h1 { margin: 0; font-size: 1.2rem; }
.status-pill { padding: 4px 9px; color: #3c4854; background: #edf0f2; border: 1px solid #bdc4ca; border-radius: 12px; font-size: .72rem; font-weight: 700; white-space: nowrap; }
.status-pill.active { color: #064f83; background: var(--sap-blue-light); border-color: #78adda; }
.status-pill.success { color: #0b5e2e; background: var(--sap-success-bg); border-color: #5dc488; }
.status-pill.error { color: #8b0000; background: var(--sap-error-bg); border-color: #e37b75; }
.mobile-reader { min-height: 245px; margin: 0; display: grid; place-items: center; background: #152535; color: #fff; overflow: hidden; }
.mobile-reader:empty::before { content: "Kamera noch nicht gestartet"; color: #c8d6e3; font-size: .9rem; }
html[lang="en"] .mobile-reader:empty::before { content: "Camera not started"; }
.mobile-reader video, .mobile-reader img { max-width: 100% !important; object-fit: cover; }
.mobile-reader > div { border: 0 !important; }
.scanner-actions { padding: 12px 14px 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.scanner-actions .primary { grid-column: 1 / -1; min-height: 46px; font-size: 1rem; }
.file-button { margin: 0; }
.file-button input { position: absolute; width: 1px; height: 1px; min-height: 0; opacity: 0; pointer-events: none; }
.mobile-scanner-card > .muted { margin: 10px 14px 0; font-size: .78rem; }
.mobile-search form { margin: 0; display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 8px; }
.mobile-search label { margin: 0; }
.mobile-search input { min-height: 48px; font-size: 1.05rem; }
.mobile-search button { min-height: 48px; }
.mobile-result { margin-bottom: 16px; padding: 18px; background: #fff; border: 1px solid #78adda; border-left: 5px solid var(--sap-blue); box-shadow: 0 1px 2px #0002; }
.mobile-result.missing { background: var(--sap-warning-bg); border-color: #e9a23b; border-left-color: var(--sap-warning); }
.mobile-result.commission-result { border-left-color: #925ace; }
.result-heading { display: flex; flex-direction: column; margin-bottom: 14px; }
.result-heading > span, .mobile-result-grid span { color: var(--sap-muted); font-size: .7rem; letter-spacing: .03em; text-transform: uppercase; }
.result-heading > strong { color: var(--sap-shell-dark); font-size: 1.65rem; font-weight: 400; overflow-wrap: anywhere; }
.result-heading > small { color: var(--sap-muted); font-size: .95rem; }
.mobile-result-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(135px,1fr)); gap: 8px; }
.mobile-result-grid > div { min-height: 82px; padding: 11px; display: flex; flex-direction: column; justify-content: center; background: #f5f7f8; border: 1px solid var(--sap-border); }
.mobile-result-grid strong { color: var(--sap-blue-hover); font-size: 1.25rem; font-weight: 500; overflow-wrap: anywhere; }
.mobile-result-actions { margin-top: 12px; display: flex; gap: 7px; flex-wrap: wrap; }
.mobile-quicklinks { display: grid; grid-template-columns: repeat(auto-fit,minmax(120px,1fr)); gap: 8px; }
.mobile-quicklinks a { min-height: 48px; padding: 9px; display: grid; place-items: center; color: var(--sap-blue-hover); background: #fff; border: 1px solid var(--sap-border); text-align: center; text-decoration: none; font-weight: 600; }
.damage-action { color: #8b0000; border-color: var(--sap-error); background: var(--sap-error-bg); }
.damage-action:hover { color: #700; border-color: #700; background: #ffe4e1; }

.damage-toolbar, .location-detail-head, .damage-detail-head { display: flex; align-items: center; justify-content: space-between; gap: 18px; border-left: 5px solid var(--sap-blue); }
.damage-toolbar h1, .location-detail-head h1, .damage-detail-head h1 { margin: 0; color: var(--sap-shell-dark); font-size: 1.65rem; }
.damage-toolbar p { margin: 3px 0 0; }
.location-detail-head, .damage-detail-head { margin-bottom: 16px; padding: 17px 20px; background: #fff; border-top: 1px solid var(--sap-border); border-right: 1px solid var(--sap-border); border-bottom: 1px solid var(--sap-border); box-shadow: 0 1px 2px #0002; }
.location-detail-head > div:first-child, .damage-detail-head > div:first-child { display: flex; flex-direction: column; }
.location-detail-head span, .damage-detail-head span { color: var(--sap-muted); font-size: .72rem; text-transform: uppercase; }
.location-detail-head small, .damage-detail-head small { color: var(--sap-muted); }
.damage-filter { display: grid; grid-template-columns: minmax(180px,1fr) minmax(280px,3fr) auto; align-items: end; gap: 10px; }
.damage-filter label { margin: 0; }
.damage-form-layout { display: grid; grid-template-columns: minmax(0,3fr) minmax(280px,1fr); gap: 16px; align-items: start; }
.damage-form h1 { padding-bottom: 11px; border-bottom: 1px solid var(--sap-border); }
.damage-photo-inputs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin: 16px 0; padding: 14px; border: 1px solid var(--sap-border); border-radius: 3px; }
.damage-photo-inputs legend { padding: 0 6px; color: var(--sap-shell-dark); font-weight: 700; }
.damage-photo-inputs label { margin: 0; }
.damage-form-layout aside ul { margin: 0; padding-left: 20px; }
.damage-form-layout aside li + li { margin-top: 7px; }
.damage-detail-grid { display: grid; grid-template-columns: minmax(0,3fr) minmax(300px,2fr); gap: 16px; }
.damage-badges { margin-bottom: 13px; display: flex; gap: 7px; flex-wrap: wrap; }
.damage-status, .damage-severity { display: inline-flex; width: fit-content; padding: 4px 8px; border: 1px solid; border-radius: 12px; font-size: .72rem; font-weight: 700; white-space: nowrap; }
.status-open { color: #8b0000; background: var(--sap-error-bg); border-color: #e37b75; }
.status-in_review { color: #7a4700; background: var(--sap-warning-bg); border-color: #f0ab3d; }
.status-resolved { color: #0b5e2e; background: var(--sap-success-bg); border-color: #5dc488; }
.status-rejected { color: #4b5055; background: #eef0f2; border-color: #aab2b9; }
.severity-low { color: #31566f; background: #edf5fc; border-color: #83afd2; }
.severity-medium { color: #7a4700; background: var(--sap-warning-bg); border-color: #f0ab3d; }
.severity-high, .severity-critical { color: #8b0000; background: var(--sap-error-bg); border-color: #e37b75; }
.severity-critical { border-width: 2px; text-transform: uppercase; }
.detail-list { margin: 0 0 20px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid var(--sap-border); border-left: 1px solid var(--sap-border); }
.detail-list > div { min-height: 64px; padding: 9px 11px; border-right: 1px solid var(--sap-border); border-bottom: 1px solid var(--sap-border); }
.detail-list dt { color: var(--sap-muted); font-size: .72rem; text-transform: uppercase; }
.detail-list dd { margin: 3px 0 0; overflow-wrap: anywhere; }
.pre-wrap { white-space: pre-wrap; overflow-wrap: anywhere; }
.damage-photo-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.damage-photo-grid.large { grid-template-columns: repeat(2,minmax(0,1fr)); }
.damage-photo-grid a { display: flex; min-width: 0; flex-direction: column; gap: 3px; color: var(--sap-text); text-decoration: none; }
.damage-photo-grid img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; background: #e8eaec; border: 1px solid var(--sap-border-dark); }
.damage-photo-grid small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.table-subline { display: block; color: var(--sap-muted); }
.settings-layout { display: grid; grid-template-columns: minmax(0,3fr) minmax(280px,1fr); gap: 16px; align-items: start; }
.settings-intro { display: flex; align-items: center; gap: 14px; padding-bottom: 16px; margin-bottom: 8px; border-bottom: 1px solid var(--sap-border); }
.settings-intro h1, .settings-intro p { margin: 0; }
.settings-avatar { width: 54px; height: 54px; flex: 0 0 54px; display: grid; place-items: center; color: #064f83; background: #d1e8ff; border-radius: 50%; font-size: 1.35rem; font-weight: 700; }
.setting-row { display: grid; grid-template-columns: minmax(180px,1fr) minmax(300px,2fr); gap: 24px; padding: 18px 0; }
.setting-row h2, .setting-row p { margin-top: 0; }
.language-choice { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.language-option { margin: 0; }
.language-option input { position: absolute; width: 1px; height: 1px; min-height: 0; opacity: 0; }
.language-option > span { min-height: 76px; padding: 13px; display: flex; flex-direction: column; justify-content: center; border: 1px solid var(--sap-border-dark); border-radius: 3px; cursor: pointer; }
.language-option input:checked + span { color: var(--sap-blue-hover); background: var(--sap-blue-light); border: 2px solid var(--sap-blue); padding: 12px; }
.language-option input:focus-visible + span { outline: 3px solid #0a6ed144; }
.language-option small { color: var(--sap-muted); font-weight: 400; }
.settings-actions { padding-top: 14px; border-top: 1px solid var(--sap-border); }
.account-card dl { margin: 0; }
.account-card dl > div { padding: 8px 0; border-bottom: 1px solid var(--sap-border); }
.account-card dt { color: var(--sap-muted); font-size: .75rem; text-transform: uppercase; }
.account-card dd { margin: 2px 0 0; }
.settings-section-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding-bottom: 12px; margin-bottom: 16px; border-bottom: 1px solid var(--sap-border); }
.settings-section-heading h2, .settings-section-heading p { margin-top: 0; }
.settings-section-heading p { margin-bottom: 0; }
.status-badge { display: inline-flex; width: fit-content; flex: 0 0 auto; padding: 3px 8px; border: 1px solid; border-radius: 12px; font-size: .7rem; font-weight: 700; }
.status-badge.active { color: #0b5e2e; background: var(--sap-success-bg); border-color: #5dc488; }
.status-badge.inactive { color: #4b5055; background: #eef0f2; border-color: #aab2b9; }
.screensaver-switch { min-height: 70px; padding: 13px; flex-direction: row; align-items: center; gap: 12px; background: #f5f9fc; border: 1px solid #9db9d2; border-radius: 3px; }
.screensaver-switch input { width: 20px; min-height: 20px; margin: 0; }
.screensaver-switch span { display: flex; flex-direction: column; }
.screensaver-switch small { color: var(--sap-muted); font-weight: 400; }
.screensaver-settings-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 16px; }
.screensaver-colors { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0 16px; }
.screensaver-colors input[type="color"] { min-height: 42px; padding: 4px; cursor: pointer; }
.screensaver-ranges { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 16px; padding-top: 8px; }
.screensaver-ranges label { position: relative; padding-right: 54px; }
.screensaver-ranges output { position: absolute; right: 0; top: 0; color: var(--sap-blue-hover); font-weight: 700; }
.screensaver-ranges input { grid-column: 1 / -1; padding: 0; }
.screensaver-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.screensaver-card .status-badge { float: right; }
.screensaver-card .button { width: 100%; }

.settings-hub { max-width: 1180px; margin: 0 auto; }
.settings-tabs { display: flex; gap: 2px; margin-bottom: 16px; padding: 5px; overflow-x: auto; background: var(--sap-surface); border: 1px solid var(--sap-border); box-shadow: 0 1px 2px #00000012; }
.settings-tabs a { min-height: 40px; padding: 9px 13px; display: inline-flex; align-items: center; color: var(--sap-text); border-bottom: 3px solid transparent; text-decoration: none; font-weight: 600; white-space: nowrap; }
.settings-tabs a:hover { color: var(--sap-blue); background: var(--sap-blue-light); }
.settings-tabs a.active { color: var(--sap-blue); background: var(--sap-blue-light); border-bottom-color: var(--sap-blue); }
.settings-grid { display: grid; grid-template-columns: minmax(0,3fr) minmax(260px,1fr); gap: 16px; align-items: start; }
.option-grid, .password-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap: 0 16px; }
.password-grid .settings-actions { grid-column: 1 / -1; }
.settings-switches { display: grid; grid-template-columns: repeat(auto-fit,minmax(270px,1fr)); gap: 10px; margin: 12px 0 18px; }
.setting-switch { min-height: 76px; margin: 0; padding: 12px; flex-direction: row; align-items: flex-start; gap: 11px; background: color-mix(in srgb,var(--sap-surface) 88%,var(--sap-blue-light)); border: 1px solid var(--sap-border-dark); border-radius: 3px; cursor: pointer; }
.setting-switch input { width: 20px; min-height: 20px; margin: 2px 0 0; flex: 0 0 auto; }
.setting-switch span { display: flex; flex-direction: column; }
.setting-switch small { margin-top: 3px; color: var(--sap-muted); font-weight: 400; }
.settings-fieldset { margin: 14px 0; padding: 14px; border: 1px solid var(--sap-border); }
.settings-fieldset legend { padding: 0 6px; font-weight: 700; }
.check-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(165px,1fr)); gap: 8px; }
.check-grid .check { margin: 0; padding: 7px 9px; background: var(--sap-bg); border: 1px solid var(--sap-border); }

/* Lagerwerkzeuge */
.tool-tabs { display: flex; gap: 2px; margin-bottom: 16px; padding: 5px; overflow-x: auto; background: var(--sap-surface); border: 1px solid var(--sap-border); box-shadow: 0 1px 2px #00000012; }
.tool-tabs a { min-height: 40px; padding: 9px 13px; display: inline-flex; align-items: center; color: var(--sap-text); border-bottom: 3px solid transparent; text-decoration: none; font-weight: 600; white-space: nowrap; }
.tool-tabs a:hover { color: var(--sap-blue); background: var(--sap-blue-light); }
.tool-tabs a.active { color: var(--sap-blue); background: var(--sap-blue-light); border-bottom-color: var(--sap-blue); }
.tool-grid { display: grid; grid-template-columns: minmax(0,2fr) minmax(300px,1fr); gap: 16px; align-items: start; }
.tool-grid.equal { grid-template-columns: repeat(2,minmax(0,1fr)); }
.tool-grid > *, .tool-grid > aside { min-width: 0; }
.tool-success td { box-shadow: inset 0 2px 0 var(--sap-success); background: var(--sap-success-bg) !important; }
.comparison-pill { display: inline-flex; align-items: center; min-height: 24px; padding: 2px 8px; border-radius: 12px; font-size: .78rem; font-weight: 800; white-space: nowrap; }
.comparison-pill.exact { color: var(--sap-success); background: var(--sap-success-bg); border: 1px solid var(--sap-success); }
.comparison-pill.short { color: #7a4b00; background: var(--sap-warning-bg); border: 1px solid var(--sap-warning); }
.comparison-pill.over { color: var(--sap-error); background: var(--sap-error-bg); border: 1px solid var(--sap-error); }
.receipt-short td { background: color-mix(in srgb,var(--sap-warning-bg) 68%,var(--sap-surface)); }
.receipt-over td { background: color-mix(in srgb,var(--sap-error-bg) 68%,var(--sap-surface)); }
.process-list { margin: 0; padding-left: 1.35rem; }
.process-list li { margin: 0 0 8px; }
.inventory-count .count-input { width: 120px; min-width: 90px; text-align: right; font-weight: 700; }
.inline-form { display: inline-flex; margin-top: 10px; }
.tool-warning td { background: var(--sap-warning-bg) !important; }
.tool-disabled { opacity: .62; }
.tool-disabled td { background: #eef0f2 !important; }
.tool-hint { padding: 10px 12px; color: #4a5966; background: var(--sap-info-bg); border-left: 4px solid var(--sap-blue); }
.tool-summary { display: grid; grid-template-columns: repeat(auto-fit,minmax(150px,1fr)); gap: 8px; margin: 0 0 14px; }
.tool-summary > div { padding: 10px; background: var(--sap-bg); border: 1px solid var(--sap-border); }
.tool-summary strong { display: block; color: var(--sap-blue-hover); font-size: 1.2rem; }
.batch-print-form .table-wrap { max-height: 520px; }
.batch-actions { position: sticky; bottom: 0; padding-top: 10px; background: var(--sap-surface); }
.status-form { display: flex; gap: 6px; align-items: center; min-width: 190px; }
.status-form select { min-width: 110px; }
.warehouse-rights { display: grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap: 8px; margin: 8px 0 14px; }
.warehouse-rights .check { margin: 0; padding: 9px 11px; background: var(--sap-bg); border: 1px solid var(--sap-border); }
.warehouse-steps { margin: 8px 0 16px; padding: 0; list-style: none; counter-reset: warehouse-step; }
.warehouse-steps li { counter-increment: warehouse-step; display: grid; grid-template-columns: 34px 1fr; gap: 0 10px; margin-bottom: 12px; align-items: start; }
.warehouse-steps li::before { content: counter(warehouse-step); grid-row: 1 / span 2; display: grid; place-items: center; width: 30px; height: 30px; color: #fff; background: var(--sap-blue); border-radius: 50%; font-weight: 800; }
.warehouse-steps li strong, .warehouse-steps li span { grid-column: 2; }
.warehouse-steps li span { color: var(--sap-muted); font-size: .88rem; }
.transfer-detail { border-top: 4px solid var(--sap-blue); }
.transfer-line-form { padding: 14px 0; margin-top: 12px; border-top: 1px solid var(--sap-border); }
.nested-card { margin: 16px 0 0; background: color-mix(in srgb,var(--sap-surface) 90%,var(--sap-blue-light)); box-shadow: none; }

html[data-density="compact"] th, html[data-density="compact"] td { height: 31px; padding: 4px 7px; }
html[data-density="compact"] .card, html[data-density="compact"] .scan-panel { padding: 13px; margin-bottom: 11px; }
html[data-density="compact"] .card > .actions:first-child { margin: -13px -13px 11px; }
html[data-contrast="high"] { --sap-border: #66717b; --sap-border-dark: #303840; }
html[data-contrast="high"] :focus-visible { outline: 3px solid #ffbf00 !important; outline-offset: 2px !important; }
html[data-contrast="high"] button, html[data-contrast="high"] .button, html[data-contrast="high"] input, html[data-contrast="high"] select, html[data-contrast="high"] textarea { border-width: 2px; }

html[data-theme="whw_blue"] { --sap-shell:#0b3f65; --sap-shell-dark:#082d49; --sap-blue:#1476b8; --sap-blue-hover:#0a578c; --sap-blue-light:#e2f2fc; --sap-info-bg:#e8f5fc; }
html[data-theme="whw_green"] { --sap-shell:#245447; --sap-shell-dark:#173a30; --sap-blue:#17855c; --sap-blue-hover:#0f6545; --sap-blue-light:#e5f5ee; --sap-info-bg:#ebf8f2; }
html[data-theme="whw_sand"] { --sap-shell:#67573f; --sap-shell-dark:#473a29; --sap-blue:#9a641f; --sap-blue-hover:#704511; --sap-blue-light:#f7ecdb; --sap-bg:#f5f1e9; --sap-info-bg:#fbf2e3; }
html[data-theme="whw_purple"] { --sap-shell:#514066; --sap-shell-dark:#352943; --sap-blue:#7a4da3; --sap-blue-hover:#5c357f; --sap-blue-light:#f0e8f7; --sap-info-bg:#f5eefb; }

html[data-theme="whw_dark"] {
  --sap-shell: #1d2d3e; --sap-shell-dark: #d5e8f7; --sap-blue: #4db1ff; --sap-blue-hover: #8acbff; --sap-blue-light: #183a55;
  --sap-bg: #121a21; --sap-surface: #1f2a33; --sap-border: #465563; --sap-border-dark: #71808d; --sap-text: #ecf1f4; --sap-muted: #b6c0c8;
  --sap-success-bg: #163b28; --sap-warning-bg: #493716; --sap-error-bg: #4b2020; --sap-info-bg: #173a55;
}
html[data-theme="whw_dark"] .module-nav, html[data-theme="whw_dark"] .nav-menu-panel, html[data-theme="whw_dark"] .page-title, html[data-theme="whw_dark"] .card, html[data-theme="whw_dark"] .scan-panel, html[data-theme="whw_dark"] table, html[data-theme="whw_dark"] .settings-tabs, html[data-theme="whw_dark"] .user-menu-panel, html[data-theme="whw_dark"] .user-menu-panel::before { background: var(--sap-surface); color: var(--sap-text); }
html[data-theme="whw_dark"] .module-nav a, html[data-theme="whw_dark"] .nav-group > summary, html[data-theme="whw_dark"] .tabs a, html[data-theme="whw_dark"] .user-menu-panel > a, html[data-theme="whw_dark"] .user-menu-action { color: var(--sap-text); }
html[data-theme="whw_dark"] .module-nav a:hover, html[data-theme="whw_dark"] .nav-group > summary:hover, html[data-theme="whw_dark"] .nav-group[open] > summary, html[data-theme="whw_dark"] .tabs a:hover, html[data-theme="whw_dark"] .user-menu-panel > a:hover, html[data-theme="whw_dark"] .user-menu-action:hover { color: var(--sap-blue); background: var(--sap-blue-light); }
html[data-theme="whw_dark"] input, html[data-theme="whw_dark"] select, html[data-theme="whw_dark"] textarea, html[data-theme="whw_dark"] button, html[data-theme="whw_dark"] .button { background: #18232c; color: var(--sap-text); }
html[data-theme="whw_dark"] th { background: #283640; color: var(--sap-text); }
html[data-theme="whw_dark"] tr:nth-child(even) td { background: #1b252e; }
html[data-theme="whw_dark"] tbody tr:hover td, html[data-theme="whw_dark"] tr:nth-child(even):hover td { background: #21425c; }
html[data-theme="whw_dark"] .card > .actions:first-child, html[data-theme="whw_dark"] .privacy-note, html[data-theme="whw_dark"] .mobile-result-grid > div, html[data-theme="whw_dark"] .check-grid .check { background: #18232c; }
html[data-theme="whw_dark"] .color-green, html[data-theme="whw_dark"] tr.color-green td { background: #173829; }
html[data-theme="whw_dark"] .color-yellow, html[data-theme="whw_dark"] tr.color-yellow td { background: #453913; }
html[data-theme="whw_dark"] .color-blue, html[data-theme="whw_dark"] tr.color-blue td { background: #163a55; }
html[data-theme="whw_dark"] .mobile-body { background: var(--sap-bg); }

@media (max-width: 980px) {
  .user-name, .user-chevron { display: none; }
  .assignment-layout { grid-template-columns: 1fr; }
  .dashboard-grid, .dashboard-grid.three { grid-template-columns: 1fr; }
  .pair-layout { grid-template-columns: 1fr; }
  .damage-form-layout, .damage-detail-grid, .damage-photo-inputs, .settings-layout, .settings-grid, .tool-grid, .tool-grid.equal { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .shell-bar { padding: 7px 12px; }
  .brand small, .shell-button#sizeButton, .phone-connect { display: none; }
  .module-nav { padding: 0 6px; overflow-x: auto; overflow-y: visible; }
  .module-nav > a, .nav-group > summary { padding: 0 11px; }
  .nav-menu-panel { position: fixed; left: 8px; right: 8px; top: 98px; min-width: 0; max-height: calc(100vh - 110px); overflow-y: auto; }
  .page-title { padding-left: 14px; }
  main { padding: 0 10px; }
  .stats { grid-template-columns: 1fr; }
  .scan-result { grid-template-columns: 1fr; }
  .scan-form { flex-direction: column; }
  .scan-form button { width: 100%; }
  .grid { grid-template-columns: 1fr; }
  .pick-header { align-items: flex-start; flex-direction: column; }
  .qr-frame { min-width: 0; min-height: 0; width: 100%; }
  .mobile-search form { grid-template-columns: 1fr; }
  .mobile-search button { width: 100%; }
  .damage-toolbar, .location-detail-head, .damage-detail-head { align-items: flex-start; flex-direction: column; }
  .damage-filter { grid-template-columns: 1fr; }
  .damage-filter button { width: 100%; }
  .detail-list { grid-template-columns: 1fr; }
  .setting-row, .language-choice, .screensaver-settings-grid, .screensaver-colors, .screensaver-ranges { grid-template-columns: 1fr; }
}

@media (max-width: 430px) {
  .mobile-shell nav a:first-child { display: none; }
  .scanner-actions { grid-template-columns: 1fr; }
  .scanner-actions .primary { grid-column: auto; }
  .mobile-result-actions .button { width: 100%; }
}

@media print {
  .sap-shell, .page-title, .no-print, footer { display: none !important; }
  body, main { background: #fff; margin: 0; padding: 0; max-width: none; }
  .pick-header { border: 0; border-bottom: 2px solid #000; box-shadow: none; padding: 0 0 12px; }
  .pick-list { border: 0; box-shadow: none; overflow: visible; }
  .pick-list table { font-size: 10pt; }
  .pick-list th { position: static; color: #000; background: #eee; }
  .pick-list tr { break-inside: avoid; }
  .pick-list td, .pick-list th { border-color: #777; }
  body:has(.transfer-detail) main > *:not(.transfer-detail) { display: none !important; }
  .transfer-detail { display: block !important; border: 0; box-shadow: none; padding: 0; }
  .transfer-detail .actions, .transfer-detail form, .transfer-detail td:last-child, .transfer-detail th:last-child { display: none !important; }
  .transfer-detail table { font-size: 10pt; }
}

.inbound-line { align-items: end; padding: 10px; margin-bottom: 8px; border: 1px solid var(--sap-border); background: var(--sap-bg); }
.error-text { color: var(--sap-error) !important; font-weight: 700; }
