:root {
    --red: #a90000;
    --red-dark: #7f0000;
    --ink: #111318;
    --ink-soft: #3e4653;
    --muted: #717987;
    --line: #e5e7eb;
    --surface: #ffffff;
    --surface-soft: #f5f6f8;
    --dark: #101318;
    --dark-2: #171b22;
    --success: #166534;
    --success-bg: #dcfce7;
    --danger: #991b1b;
    --danger-bg: #fee2e2;
    --radius: 18px;
    --shadow: 0 20px 60px rgba(17, 19, 24, .08);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    color: var(--ink);
    background: #fff;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; }
button { cursor: pointer; }
img { max-width: 100%; display: block; }

.button {
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 1px solid transparent;
    border-radius: 11px;
    padding: 0 20px;
    font-weight: 750;
    transition: .18s ease;
}
.button:hover { transform: translateY(-1px); }
.button-primary { background: var(--red); color: #fff; box-shadow: 0 10px 24px rgba(169, 0, 0, .18); }
.button-primary:hover { background: var(--red-dark); }
.button-dark { background: var(--ink); color: #fff; }
.button-ghost { background: #fff; border-color: var(--line); color: var(--ink); }
.button-danger { background: #fff; border-color: #fecaca; color: var(--danger); }
.button-small { min-height: 38px; padding: 0 15px; border-radius: 9px; font-size: 14px; }
.button-full { width: 100%; }
.text-link { color: var(--red); font-weight: 750; }

.eyebrow {
    display: flex;
    align-items: center;
    gap: 9px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 850;
    letter-spacing: .15em;
    text-transform: uppercase;
}
.eyebrow > span { width: 28px; height: 2px; background: var(--red); display: inline-block; }

/* Landing */
.landing-header {
    max-width: 1440px;
    margin: 0 auto;
    padding: 24px 44px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}
.landing-header .brand img { width: 240px; height: auto; }
.landing-header nav { display: flex; align-items: center; gap: 28px; font-size: 14px; font-weight: 700; }

.hero {
    max-width: 1440px;
    margin: 0 auto;
    padding: 70px 44px 92px;
    display: grid;
    grid-template-columns: 1.08fr .92fr;
    gap: 78px;
    align-items: center;
    min-height: 690px;
}
.hero h1 {
    margin: 18px 0 24px;
    font-size: clamp(48px, 5.4vw, 82px);
    line-height: .98;
    letter-spacing: -.055em;
    max-width: 810px;
}
.hero h1 em { color: var(--red); font-style: normal; }
.hero-text { max-width: 720px; font-size: 19px; line-height: 1.75; color: var(--ink-soft); }
.hero-actions { margin-top: 34px; display: flex; align-items: center; gap: 24px; }
.hero-proof { margin-top: 34px; display: flex; flex-wrap: wrap; gap: 20px; color: var(--muted); font-size: 13px; font-weight: 700; }

.hero-system {
    position: relative;
    background: linear-gradient(145deg, #151920, #0c0f13);
    color: #fff;
    border-radius: 26px;
    padding: 24px;
    box-shadow: 0 40px 90px rgba(0,0,0,.25);
    overflow: hidden;
}
.hero-system:before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
    background-size: 28px 28px;
    pointer-events: none;
}
.system-topline { position: relative; display: flex; justify-content: space-between; font-size: 12px; letter-spacing: .12em; color: #aeb5c0; margin-bottom: 18px; }
.status-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: #22c55e; margin-right: 8px; box-shadow: 0 0 0 5px rgba(34,197,94,.12); }
.system-topline strong { color: #22c55e; }
.system-grid { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.system-card { min-height: 150px; background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.08); border-radius: 16px; padding: 20px; display: flex; flex-direction: column; }
.system-card-wide { grid-column: 1 / -1; }
.system-card small { color: #9da6b4; letter-spacing: .13em; font-size: 10px; font-weight: 800; }
.inventory-total { font-size: 48px; font-weight: 850; margin: 4px 0 12px; letter-spacing: -.05em; }
.inventory-total span { font-size: 14px; color: #929ba8; letter-spacing: 0; }
.inventory-bars { display: grid; gap: 9px; }
.inventory-bars > div { display: grid; grid-template-columns: 70px 1fr 30px; gap: 10px; align-items: center; font-size: 12px; color: #c3c9d2; }
.inventory-bars i { height: 6px; background: var(--red); border-radius: 10px; display: block; }
.inventory-bars b { text-align: right; }
.metric { font-size: 45px; line-height: 1; margin-top: 22px; }
.metric-note { margin-top: auto; color: #9da6b4; font-size: 12px; }
.route-card { min-height: 128px; flex-direction: row; align-items: center; justify-content: space-between; gap: 22px; }
.route-card strong { display: block; margin-top: 8px; font-size: 18px; }
.route-card span { display: block; color: #aab2bf; font-size: 12px; margin-top: 3px; }
.route-line { width: 34%; display: flex; align-items: center; position: relative; }
.route-line:before { content:""; position:absolute; left:8px; right:8px; height:2px; background:#4b5563; }
.route-line i { position:relative; z-index:1; width:13px; height:13px; border-radius:50%; background:#fff; border:4px solid #626c79; margin-right:auto; }
.route-line i:last-child { margin-right:0; border-color:var(--red); }

.meaning-strip {
    background: var(--red);
    color: #fff;
    min-height: 132px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 32px;
    padding: 28px 40px;
}
.meaning-strip > div:not(.strip-plus):not(.strip-equals):not(.strip-brand) { display:flex; align-items: baseline; gap:8px; }
.meaning-strip strong { font-size: 34px; letter-spacing: -.04em; }
.meaning-strip span { opacity:.8; font-size:14px; }
.strip-plus, .strip-equals { opacity: .45; font-size: 28px; font-weight: 300; }
.strip-brand { font-weight: 900; letter-spacing: .05em; font-size: 30px; }

.section { padding: 105px 44px; }
.section-light { background: #fff; }
.section-dark { background: var(--dark); color: #fff; }
.section-heading { max-width: 1350px; margin: 0 auto 52px; display:flex; gap:26px; align-items:flex-start; }
.section-heading h2 { margin:9px 0 0; font-size: clamp(34px, 4vw, 58px); letter-spacing: -.045em; line-height:1.04; }
.section-number { color: var(--red); font-size: 13px; font-weight:900; padding-top:2px; }
.dark-heading .eyebrow { color:#8e98a6; }
.process-grid, .service-grid { max-width:1350px; margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.process-grid article { border:1px solid var(--line); border-radius:18px; padding:28px; min-height:245px; background:#fff; }
.process-grid b { color:var(--red); font-size:12px; letter-spacing:.1em; }
.process-grid h3, .service-grid h3 { margin:42px 0 10px; font-size:20px; }
.process-grid p, .service-grid p { color:var(--muted); font-size:14px; line-height:1.75; }
.service-grid { grid-template-columns: repeat(3,1fr); }
.service-grid article { border:1px solid rgba(255,255,255,.09); background:var(--dark-2); padding:30px; border-radius:18px; min-height:285px; }
.service-grid p { color:#aab2bd; }
.service-icon { width:52px; height:52px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.13); border-radius:13px; color:#fff; font-weight:900; font-size:12px; letter-spacing:.08em; }

.portal-callout { max-width:1350px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:40px; }
.portal-callout h2 { margin:12px 0; max-width:870px; font-size:clamp(34px,4vw,58px); line-height:1.05; letter-spacing:-.045em; }
.portal-callout p { color:var(--muted); font-size:17px; max-width:800px; }
.landing-footer { border-top:1px solid var(--line); padding:44px; display:grid; grid-template-columns:1fr auto auto; gap:32px; align-items:center; color:var(--muted); }
.landing-footer img { width:180px; }
.landing-footer div { font-weight:700; color:var(--ink); }

/* Auth */
.auth-page { min-height:100vh; background:var(--surface-soft); padding:42px 22px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:34px; }
.auth-brand img { width:250px; }
.auth-card { width:min(100%, 490px); background:#fff; border:1px solid var(--line); border-radius:22px; box-shadow:var(--shadow); padding:38px; }
.auth-card h1 { margin:12px 0 8px; font-size:32px; letter-spacing:-.035em; }
.auth-card > p { color:var(--muted); margin:0 0 28px; }
.form-stack { display:grid; gap:17px; }
.form-stack label, .form-grid label { display:flex; flex-direction:column; gap:7px; font-size:13px; font-weight:750; }
input, select { width:100%; min-height:46px; border:1px solid #d9dde3; border-radius:10px; padding:0 13px; color:var(--ink); background:#fff; outline:none; }
input:focus, select:focus { border-color:var(--red); box-shadow:0 0 0 3px rgba(169,0,0,.08); }
.check-row { flex-direction:row !important; align-items:center; font-weight:600 !important; color:var(--ink-soft); }
.check-row input, .switch-list input { width:auto; min-height:auto; }
.back-link { display:block; margin-top:22px; text-align:center; color:var(--muted); font-size:13px; font-weight:700; }

/* Dashboard */
.dashboard-body { background:#f3f4f6; }
.dashboard-shell { min-height:100vh; display:grid; grid-template-columns:260px minmax(0,1fr); }
.sidebar { position:sticky; top:0; height:100vh; background:#fff; border-right:1px solid var(--line); padding:24px 18px; display:flex; flex-direction:column; overflow-y:auto; }
.sidebar-logo { padding:0 8px; }
.sidebar-logo img { width:195px; }
.sidebar-meaning { padding:7px 9px 22px; font-size:10px; letter-spacing:.13em; text-transform:uppercase; color:#8a929f; }
.sidebar-nav { display:grid; gap:4px; }
.sidebar-nav a, .nav-disabled { min-height:42px; border-radius:9px; padding:0 12px; display:flex; align-items:center; justify-content:space-between; font-size:13px; font-weight:700; }
.sidebar-nav a:hover { background:#f7f7f8; }
.sidebar-nav a.active { background:#111318; color:#fff; }
.nav-section { margin:18px 12px 5px; color:#a0a7b2; text-transform:uppercase; letter-spacing:.14em; font-size:9px; font-weight:900; }
.nav-disabled { color:#a7adb6; cursor:default; }
.nav-disabled small { font-size:9px; font-weight:800; }
.sidebar-footer { margin-top:auto; padding-top:25px; }
.release-badge { border:1px solid var(--line); background:#fafafa; color:#777f8b; border-radius:9px; padding:9px 11px; font-size:10px; font-weight:850; letter-spacing:.08em; }
.dashboard-main { min-width:0; }
.topbar { min-height:82px; background:#fff; border-bottom:1px solid var(--line); padding:0 34px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.topbar-kicker { font-size:9px; letter-spacing:.16em; color:var(--red); font-weight:900; }
.topbar strong { font-size:15px; }
.topbar-user { display:flex; align-items:center; gap:18px; }
.topbar-user > div { text-align:right; display:flex; flex-direction:column; }
.topbar-user small { color:var(--muted); font-size:11px; }
.content-wrap { padding:34px; max-width:1600px; margin:0 auto; }
.page-head { display:flex; align-items:flex-end; justify-content:space-between; gap:32px; margin-bottom:28px; }
.page-head.compact { align-items:center; }
.page-head h1 { margin:7px 0 4px; font-size:36px; line-height:1.05; letter-spacing:-.04em; }
.page-head p { color:var(--muted); margin:0; max-width:830px; }
.metric-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:20px; }
.metric-card { min-height:154px; padding:22px; background:#fff; border:1px solid var(--line); border-radius:var(--radius); display:flex; flex-direction:column; box-shadow:0 7px 20px rgba(0,0,0,.025); }
.metric-card small { color:var(--muted); font-size:10px; font-weight:900; letter-spacing:.12em; }
.metric-card strong { font-size:43px; line-height:1; margin-top:20px; letter-spacing:-.045em; }
.metric-card span { color:var(--muted); font-size:12px; margin-top:auto; }
.metric-card.accent { background:var(--red); border-color:var(--red); color:#fff; }
.metric-card.accent small, .metric-card.accent span { color:rgba(255,255,255,.72); }
.panel-grid { display:grid; gap:16px; }
.two-cols { grid-template-columns:repeat(2,minmax(0,1fr)); }
.panel { background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:24px; box-shadow:0 7px 20px rgba(0,0,0,.025); }
.panel-head { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; margin-bottom:20px; }
.panel-head small, .panel > small { color:var(--muted); font-size:9px; font-weight:900; letter-spacing:.13em; }
.panel-head h2, .panel h2 { margin:4px 0 0; font-size:20px; letter-spacing:-.02em; }
.panel p { color:var(--muted); }
.status-pill { display:inline-flex; align-items:center; justify-content:center; min-height:27px; padding:0 9px; border-radius:999px; background:#eef0f3; color:#59616d; font-size:10px; font-weight:900; text-transform:uppercase; letter-spacing:.06em; white-space:nowrap; }
.status-pill.good { background:var(--success-bg); color:var(--success); }
.status-pill.bad { background:var(--danger-bg); color:var(--danger); }
.status-list { display:grid; }
.status-list > div { padding:13px 0; border-top:1px solid #edf0f2; display:flex; align-items:center; justify-content:space-between; gap:20px; font-size:13px; }
.status-list > div:first-child { border-top:0; }
.status-list span { display:flex; flex-direction:column; }
.status-list span small { color:var(--muted); font-weight:500; }
.status-list b { font-size:12px; color:var(--success); }
.status-list b.muted { color:var(--muted); }
.mini-flow { margin-top:25px; display:flex; align-items:center; gap:9px; flex-wrap:wrap; }
.mini-flow span { border:1px solid var(--line); border-radius:8px; padding:8px 10px; font-size:11px; font-weight:800; }
.mini-flow i { color:var(--red); font-style:normal; }

.alert { border-radius:12px; padding:14px 16px; margin-bottom:18px; font-size:13px; }
.alert-success { background:var(--success-bg); color:var(--success); border:1px solid #bbf7d0; }
.alert-error { background:var(--danger-bg); color:var(--danger); border:1px solid #fecaca; }
.alert ul { margin:6px 0 0 18px; padding:0; }

.search-row { display:grid; grid-template-columns:minmax(240px,1fr) auto auto; gap:10px; align-items:center; margin-bottom:18px; }
.table-wrap { overflow-x:auto; }
.data-table { width:100%; border-collapse:collapse; font-size:13px; }
.data-table th { text-align:left; color:var(--muted); font-size:9px; text-transform:uppercase; letter-spacing:.12em; padding:12px 10px; border-bottom:1px solid var(--line); }
.data-table td { padding:15px 10px; border-bottom:1px solid #edf0f2; vertical-align:middle; }
.data-table tr:last-child td { border-bottom:0; }
.align-right { text-align:right; }
.empty-cell { text-align:center; padding:40px !important; color:var(--muted); }
.pagination-wrap { margin-top:18px; }
.pagination-wrap nav { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.pagination-wrap svg { width:18px; }

.form-panel { padding:0; overflow:hidden; }
.form-section { padding:28px; border-bottom:1px solid var(--line); }
.form-section-title { display:grid; grid-template-columns:42px 1fr; gap:15px; margin-bottom:24px; }
.form-section-title > span { width:36px; height:36px; display:grid; place-items:center; border-radius:9px; background:#f2f3f5; color:var(--red); font-size:11px; font-weight:900; }
.form-section-title h2 { margin:0; }
.form-section-title p { margin:4px 0 0; font-size:13px; }
.form-grid { display:grid; gap:16px; }
.form-grid.two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.form-grid label small { color:var(--muted); font-weight:500; }
.form-actions { padding:22px 28px; display:flex; justify-content:flex-end; }
.detail-list { margin:0; display:grid; }
.detail-list > div { display:grid; grid-template-columns:150px 1fr; gap:20px; padding:12px 0; border-top:1px solid #edf0f2; }
.detail-list > div:first-child { border-top:0; }
.detail-list dt { color:var(--muted); font-size:12px; }
.detail-list dd { margin:0; font-size:13px; font-weight:700; }
.placeholder-panel { margin-top:16px; min-height:180px; display:flex; flex-direction:column; justify-content:center; }
.sequence-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.sequence-card { display:flex; flex-direction:column; }
.sequence-preview { background:#111318; color:#fff; border-radius:8px; padding:7px 9px; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:11px; }
.sequence-fields { grid-template-columns:1fr 90px 90px; }
.switch-list { display:flex; flex-wrap:wrap; gap:16px; margin:15px 0; }
.switch-list label { display:flex; align-items:center; gap:7px; font-size:11px; font-weight:700; color:var(--ink-soft); }
.sequence-meta { color:var(--muted); font-size:11px; margin:0 0 15px; }
.sequence-card .button { align-self:flex-start; }
.customer-welcome { display:flex; align-items:center; justify-content:space-between; gap:35px; min-height:270px; }
.warehouse-schematic { width:min(100%,420px); display:grid; grid-template-columns:repeat(3,1fr); gap:8px; padding:16px; border:1px solid var(--line); border-radius:16px; background:#fafafa; }
.warehouse-schematic i { height:54px; border-radius:8px; background:linear-gradient(135deg,#eceff2,#dfe3e8); border:1px solid #d7dce2; }
.warehouse-schematic i:nth-child(2), .warehouse-schematic i:nth-child(6), .warehouse-schematic i:nth-child(7) { background:rgba(169,0,0,.1); border-color:rgba(169,0,0,.22); }

@media (max-width: 1100px) {
    .hero { grid-template-columns:1fr; gap:45px; }
    .hero-system { max-width:760px; }
    .process-grid { grid-template-columns:repeat(2,1fr); }
    .metric-grid { grid-template-columns:repeat(2,1fr); }
    .sequence-grid { grid-template-columns:1fr; }
}

@media (max-width: 850px) {
    .landing-header { padding:18px 20px; }
    .landing-header .brand img { width:190px; }
    .landing-header nav > a:not(.button) { display:none; }
    .hero { padding:45px 20px 65px; min-height:auto; }
    .hero h1 { font-size:52px; }
    .meaning-strip { gap:12px; flex-wrap:wrap; }
    .meaning-strip strong { font-size:24px; }
    .section { padding:72px 20px; }
    .service-grid { grid-template-columns:1fr; }
    .portal-callout { flex-direction:column; align-items:flex-start; }
    .landing-footer { grid-template-columns:1fr; padding:35px 20px; }
    .dashboard-shell { grid-template-columns:1fr; }
    .sidebar { position:relative; height:auto; border-right:0; border-bottom:1px solid var(--line); }
    .sidebar-nav { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .nav-section, .nav-disabled { display:none; }
    .sidebar-footer { display:none; }
    .topbar { padding:0 20px; }
    .content-wrap { padding:24px 20px; }
    .two-cols { grid-template-columns:1fr; }
    .page-head { align-items:flex-start; flex-direction:column; }
}

@media (max-width: 620px) {
    .hero h1 { font-size:42px; }
    .hero-text { font-size:16px; }
    .hero-actions, .hero-proof { align-items:flex-start; flex-direction:column; }
    .system-grid { grid-template-columns:1fr; }
    .system-card-wide { grid-column:auto; }
    .route-card { flex-direction:column; align-items:flex-start; }
    .route-line { width:100%; }
    .process-grid { grid-template-columns:1fr; }
    .meaning-strip { justify-content:flex-start; }
    .strip-brand { width:100%; }
    .metric-grid { grid-template-columns:1fr 1fr; }
    .metric-card { min-height:130px; }
    .metric-card strong { font-size:35px; }
    .topbar-user > div { display:none; }
    .sidebar-nav { grid-template-columns:1fr; }
    .form-grid.two, .sequence-fields { grid-template-columns:1fr; }
    .form-grid.two > div:empty { display:none; }
    .search-row { grid-template-columns:1fr; }
    .detail-list > div { grid-template-columns:1fr; gap:2px; }
    .customer-welcome { align-items:flex-start; flex-direction:column; }
    .auth-card { padding:27px 22px; }
}

.custom-pagination { display:flex; align-items:center; justify-content:space-between; gap:12px; color:var(--muted); font-size:12px; }
.custom-pagination > div { display:flex; gap:8px; }
.button.disabled { opacity:.45; pointer-events:none; }

/* PALALOG 0.1.1 – Registrierung, Freigabe und 2FA */
.alert-warning { background:#fff7ed; color:#9a3412; border:1px solid #fed7aa; }
.status-pill.warn { background:#fff7ed; color:#9a3412; }
.status-list b.attention { color:#9a3412; }

.registration-page { min-height:100vh; background:linear-gradient(135deg,#f7f8fa 0%,#ffffff 54%,#f7f8fa 100%); }
.registration-topbar { max-width:1440px; margin:0 auto; padding:22px 44px; display:flex; align-items:center; justify-content:space-between; gap:25px; }
.registration-topbar > a img { width:225px; }
.registration-topbar > div { display:flex; align-items:center; gap:14px; color:var(--muted); font-size:13px; }
.registration-shell { max-width:1320px; margin:0 auto; padding:50px 44px 90px; display:grid; grid-template-columns:.72fr 1.28fr; gap:58px; align-items:start; }
.registration-intro { position:sticky; top:30px; padding-top:16px; }
.registration-intro h1 { margin:16px 0 20px; max-width:500px; font-size:clamp(42px,4.4vw,66px); line-height:1; letter-spacing:-.05em; }
.registration-intro > p { max-width:520px; color:var(--ink-soft); font-size:17px; line-height:1.75; }
.registration-flow { margin-top:34px; display:grid; gap:8px; }
.registration-flow > div, .generated-flow > div { display:flex; gap:13px; align-items:center; padding:14px 0; border-top:1px solid var(--line); }
.registration-flow > div:first-child { border-top:0; }
.registration-flow b, .generated-flow b { flex:0 0 32px; width:32px; height:32px; display:grid; place-items:center; border-radius:50%; background:#111318; color:#fff; font-size:11px; }
.registration-flow span, .generated-flow span { display:flex; flex-direction:column; }
.registration-flow strong, .generated-flow strong { font-size:13px; }
.registration-flow small, .generated-flow small { color:var(--muted); font-size:11px; margin-top:2px; }
.registration-form { padding:30px; box-shadow:var(--shadow); }
.registration-section { padding-top:27px; margin-top:27px; border-top:1px solid var(--line); }
.choice-cards { display:grid; gap:12px; }
.two-choice { grid-template-columns:repeat(2,minmax(0,1fr)); }
.choice-cards label, .twofactor-choice label { cursor:pointer; }
.choice-cards label input, .twofactor-choice label input { position:absolute; opacity:0; pointer-events:none; }
.choice-cards label > span, .twofactor-choice label > span { display:flex; flex-direction:column; min-height:82px; padding:16px; border:1px solid var(--line); border-radius:12px; background:#fff; transition:.18s ease; }
.choice-cards label input:checked + span, .twofactor-choice label input:checked + span { border-color:rgba(169,0,0,.65); box-shadow:0 0 0 3px rgba(169,0,0,.08); background:#fffafa; }
.choice-cards strong, .twofactor-choice b { font-size:14px; }
.choice-cards small, .twofactor-choice small { margin-top:4px; color:var(--muted); font-size:11px; line-height:1.5; }
.address-grid { grid-template-columns:1.5fr .65fr .65fr 1.2fr .8fr; }
.address-grid .street-field { grid-column:span 1; }
.address-grid .city-field { grid-column:span 1; }
.twofactor-choice { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:20px; }
.twofactor-choice label > span { min-height:115px; }
.consent-section { display:grid; gap:13px; }
.consent-section .check-row { align-items:flex-start; line-height:1.55; }
.registration-submit { margin-top:25px; min-height:52px; }
.form-footnote { text-align:center; color:var(--muted); font-size:11px; line-height:1.6; margin:13px auto 0; max-width:650px; }
.auth-divider { display:flex; align-items:center; gap:12px; margin:20px 0; color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.08em; }
.auth-divider:before, .auth-divider:after { content:""; height:1px; background:var(--line); flex:1; }
.auth-card-wide { max-width:570px; }
.status-symbol { width:54px; height:54px; display:grid; place-items:center; border-radius:14px; background:#eef0f3; color:#4b5563; font-size:22px; font-weight:900; margin-bottom:17px; }
.status-symbol.success { background:var(--success-bg); color:var(--success); }
.status-symbol.error { background:var(--danger-bg); color:var(--danger); }
.security-note { display:flex; gap:8px; flex-direction:column; background:#f7f8fa; border:1px solid var(--line); border-radius:11px; padding:14px; margin:18px 0; font-size:12px; color:var(--ink-soft); }
.security-note strong { color:var(--ink); }
.approval-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin:24px 0; }
.approval-steps > div { min-height:82px; border:1px solid var(--line); border-radius:11px; padding:12px; display:flex; flex-direction:column; gap:7px; font-size:11px; color:var(--muted); }
.approval-steps b { width:25px; height:25px; display:grid; place-items:center; border-radius:50%; background:#eceff2; color:#626a76; }
.approval-steps .done { border-color:#bbf7d0; background:#f0fdf4; color:var(--success); }
.approval-steps .done b { background:var(--success); color:#fff; }
.approval-steps .current { border-color:#fed7aa; background:#fff7ed; color:#9a3412; }
.approval-steps .current b { background:#9a3412; color:#fff; }
.muted-center { text-align:center; }
.security-shield { width:58px; height:58px; display:grid; place-items:center; background:#111318; color:#fff; border-radius:17px; font-weight:900; font-size:14px; margin-bottom:18px; }
.otp-input { text-align:center; letter-spacing:.28em; font-weight:850; font-size:22px !important; font-family:ui-monospace,SFMono-Regular,Menlo,monospace !important; }
.resend-form { text-align:center; margin-top:14px; }
.text-button { border:0; background:none; color:var(--red); font-weight:750; font-size:12px; padding:4px; }
.narrow-panel { max-width:720px; }
.security-panel { position:relative; }
.security-step-badge { display:inline-flex; align-items:center; justify-content:center; padding:5px 9px; border-radius:999px; background:#111318; color:#fff; font-size:10px; font-weight:900; letter-spacing:.05em; margin-bottom:12px; }
.security-method-grid { margin-bottom:16px; }
.security-method { position:relative; overflow:hidden; }
.security-method.selected { border-color:rgba(169,0,0,.35); box-shadow:0 7px 24px rgba(169,0,0,.06); }
.security-method.selected:before { content:""; position:absolute; top:0; left:0; right:0; height:3px; background:var(--red); }
.method-icon { width:46px; height:46px; display:grid; place-items:center; background:#111318; color:#fff; border-radius:12px; font-size:11px; font-weight:900; margin-bottom:17px; }
.clean-list { margin:18px 0 22px; padding:0; list-style:none; display:grid; gap:8px; color:var(--ink-soft); font-size:12px; }
.clean-list li:before { content:"✓"; color:var(--success); font-weight:900; margin-right:8px; }
.app-setup-panel { display:grid; grid-template-columns:1fr 330px; gap:35px; align-items:center; margin-top:16px; }
.app-setup-copy ol { color:var(--ink-soft); font-size:13px; line-height:1.8; padding-left:20px; }
.app-setup-copy details { margin:18px 0; background:#f7f8fa; border:1px solid var(--line); border-radius:10px; padding:12px 14px; }
.app-setup-copy summary { cursor:pointer; font-weight:750; font-size:12px; }
.secret-code { display:block; margin-top:10px; padding:10px; background:#111318; color:#fff; border-radius:7px; overflow-wrap:anywhere; letter-spacing:.08em; }
.app-code-form { max-width:360px; margin-top:20px; }
.qr-setup-box { border:1px solid var(--line); border-radius:16px; background:#fafafa; padding:20px; text-align:center; display:flex; flex-direction:column; align-items:center; }
.qr-setup-box img { width:250px; height:250px; background:#fff; border-radius:10px; padding:8px; }
.qr-setup-box strong { margin-top:12px; }
.qr-setup-box span { font-size:11px; color:var(--muted); margin-top:2px; }
.security-summary { margin-top:16px; display:flex; justify-content:space-between; gap:20px; align-items:center; }
.generated-flow { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.generated-flow > div { border:1px solid var(--line); border-radius:11px; padding:14px; align-items:flex-start; }
.generated-flow b { flex-basis:28px; width:28px; height:28px; }
.generated-access-box { background:#fcfcfd; }
.customer-filter-row { grid-template-columns:minmax(250px,1fr) 190px auto auto; }
.customer-actions { display:flex; gap:9px; align-items:center; flex-wrap:wrap; }
.approval-banner { margin-bottom:16px; display:flex; justify-content:space-between; align-items:center; gap:30px; border-color:#fed7aa; background:#fffaf5; }
.approval-banner h2 { margin:5px 0; }
.approval-banner p { margin:0; }
.pending-action-card { margin-bottom:16px; display:flex; align-items:center; justify-content:space-between; gap:24px; border-color:#fed7aa; background:#fffaf5; }
.pending-action-card small { color:#9a3412; font-size:9px; letter-spacing:.13em; font-weight:900; }
.pending-action-card h2 { margin:4px 0; }
.pending-action-card p { margin:0; }
.portal-callout-actions { display:flex; gap:10px; flex-wrap:wrap; }

@media (max-width: 1050px) {
    .registration-shell { grid-template-columns:1fr; }
    .registration-intro { position:static; }
    .registration-flow { grid-template-columns:repeat(2,1fr); }
    .registration-flow > div { border:1px solid var(--line); border-radius:10px; padding:12px; }
    .address-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .app-setup-panel { grid-template-columns:1fr; }
    .qr-setup-box { max-width:330px; }
    .generated-flow { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 700px) {
    .registration-topbar { padding:18px 20px; }
    .registration-topbar > a img { width:180px; }
    .registration-topbar > div > span { display:none; }
    .registration-shell { padding:30px 20px 65px; }
    .registration-form { padding:20px; }
    .registration-intro h1 { font-size:42px; }
    .registration-flow, .two-choice, .twofactor-choice, .approval-steps { grid-template-columns:1fr; }
    .address-grid { grid-template-columns:1fr; }
    .generated-flow { grid-template-columns:1fr; }
    .customer-filter-row { grid-template-columns:1fr; }
    .approval-banner, .pending-action-card, .security-summary { align-items:flex-start; flex-direction:column; }
}

/* PALALOG 0.2.0 – Standorte & Lagerplätze */
.page-actions { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.panel-gap-top { margin-top:16px; }
.form-gap-top { margin-top:16px; }
.table-subline { display:block; margin-top:3px; color:var(--muted); font-size:10px; font-weight:600; }
.text-danger { color:var(--danger) !important; }
.mono-code { font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; letter-spacing:.02em; }
.field-label { display:flex; flex-direction:column; gap:7px; font-size:13px; font-weight:750; }
textarea { width:100%; border:1px solid #d9dde3; border-radius:10px; padding:12px 13px; color:var(--ink); background:#fff; outline:none; resize:vertical; font:inherit; line-height:1.5; }
textarea:focus { border-color:var(--red); box-shadow:0 0 0 3px rgba(169,0,0,.08); }
.form-grid.three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.warehouse-address-grid { grid-template-columns:1.5fr .55fr .65fr 1.15fr .8fr; }
.checkbox-field { justify-content:flex-end; }
.check-inline { min-height:46px; display:flex; align-items:center; gap:8px; border:1px solid var(--line); border-radius:10px; padding:0 13px; font-weight:650; color:var(--ink-soft); }
.check-inline input { width:auto; min-height:auto; }
.template-help { margin-top:13px; padding:15px; border:1px solid var(--line); border-radius:11px; background:#f8f9fa; display:flex; flex-wrap:wrap; align-items:center; gap:7px; }
.template-help strong { width:100%; font-size:11px; }
.template-help code { padding:5px 7px; background:#111318; color:#fff; border-radius:6px; font-size:10px; }
.template-help small { width:100%; color:var(--muted); margin-top:3px; line-height:1.55; }
.area-actions { display:flex; gap:7px; justify-content:flex-end; }
.storage-type-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.storage-type-card { position:relative; }
.storage-type-code { width:54px; height:54px; display:grid; place-items:center; border-radius:13px; background:#111318; color:#fff; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-weight:900; margin-bottom:15px; }
.compact-details > div { grid-template-columns:130px 1fr; }
.dimension-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.dimension-grid label, .position-grid label, .storage-filter-grid label, .range-grid label { display:flex; flex-direction:column; gap:7px; font-size:12px; font-weight:750; }
.storage-filter-grid { display:grid; grid-template-columns:1.25fr repeat(4,minmax(130px,.8fr)) auto; gap:10px; align-items:end; }
.filter-actions { display:flex; gap:7px; align-items:center; padding-bottom:1px; }
.type-tag { display:inline-flex; min-width:36px; justify-content:center; padding:5px 7px; border-radius:7px; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:10px; font-weight:900; background:#eef0f3; color:#303742; }
.type-tag.pallet { background:#fff1f2; color:#9f1239; }
.type-tag.package { background:#eff6ff; color:#1d4ed8; }
.position-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.location-readonly-strip { margin-top:18px; display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.location-readonly-strip span { border:1px solid var(--line); border-radius:10px; padding:12px; display:flex; flex-direction:column; gap:3px; }
.location-readonly-strip small { color:var(--muted); font-size:9px; text-transform:uppercase; letter-spacing:.1em; font-weight:850; }
.location-readonly-strip strong { font-size:12px; }
.generator-preview { margin-top:16px; min-height:86px; display:grid; grid-template-columns:auto 1fr; gap:6px 16px; align-items:center; padding:15px 17px; background:#111318; color:#fff; border-radius:12px; }
.generator-preview small { grid-column:1 / -1; color:#aab2bf; font-size:9px; font-weight:900; letter-spacing:.12em; }
.generator-preview code { color:#aab2bf; font-size:10px; overflow-wrap:anywhere; }
.generator-preview strong { justify-self:end; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:16px; }
.range-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.range-grid > div { padding:16px; border:1px solid var(--line); border-radius:12px; background:#fafafa; display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.range-grid > div > strong { grid-column:1 / -1; font-size:13px; }
.generator-count { margin-top:16px; min-height:62px; display:flex; align-items:baseline; justify-content:center; gap:10px; border:1px dashed #cdd2d9; border-radius:12px; background:#fff; }
.generator-count span { color:var(--muted); font-size:12px; }
.generator-count strong { font-size:31px; color:var(--red); letter-spacing:-.04em; }
.safety-note { margin-top:15px; padding:14px 16px; display:flex; gap:12px; align-items:flex-start; border:1px solid #dbeafe; background:#eff6ff; border-radius:11px; color:#1e3a8a; font-size:12px; line-height:1.55; }
.safety-note strong { white-space:nowrap; }
.generator-actions { justify-content:space-between; align-items:center; }
.generator-actions small { color:var(--muted); }

@media (max-width: 1200px) {
    .storage-filter-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .filter-actions { align-self:end; }
    .range-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 900px) {
    .storage-type-grid { grid-template-columns:1fr; }
    .form-grid.three, .dimension-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .warehouse-address-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .position-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .location-readonly-strip { grid-template-columns:1fr; }
}

@media (max-width: 650px) {
    .form-grid.three, .dimension-grid, .position-grid, .storage-filter-grid, .warehouse-address-grid, .range-grid { grid-template-columns:1fr; }
    .range-grid > div { grid-template-columns:repeat(3,1fr); }
    .generator-preview { grid-template-columns:1fr; }
    .generator-preview strong { justify-self:start; }
    .generator-actions { align-items:flex-start; flex-direction:column; }
    .page-actions { width:100%; }
}

/* PALALOG 0.3.0 – Wareneingang & Etiketten */
.warehouse-row-actions, .inbound-actions { display:flex; gap:7px; justify-content:flex-end; flex-wrap:wrap; }
.section-hint { color:var(--muted); font-size:12px; line-height:1.65; margin:0 0 18px; }
.storage-order-items { display:grid; gap:14px; }
.storage-order-item { border:1px solid var(--line); border-radius:14px; padding:18px; background:#fbfbfc; }
.storage-item-head { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:14px; }
.storage-item-head strong { font-size:14px; }
.item-remove { width:31px; height:31px; border:1px solid #e2e4e8; border-radius:9px; background:#fff; color:#991b1b; font-size:20px; line-height:1; cursor:pointer; }
.item-remove:disabled { opacity:.25; cursor:not-allowed; }
.danger-goods-panel { border-color:#f2d7d7; }
.prohibited-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 14px; margin:18px 0 20px; }
.prohibited-grid > div { display:flex; align-items:flex-start; gap:8px; padding:9px 11px; border:1px solid #f0e1e1; border-radius:9px; background:#fffafa; color:#5b3434; font-size:11px; line-height:1.45; }
.prohibited-grid > div span { flex:0 0 19px; width:19px; height:19px; display:grid; place-items:center; border-radius:50%; background:#991b1b; color:#fff; font-size:11px; font-weight:900; }
.consent-box { display:flex !important; flex-direction:row !important; align-items:flex-start; gap:12px !important; padding:16px; border:1px solid #d9dde3; border-radius:12px; background:#fff; cursor:pointer; }
.consent-box input { width:auto; min-height:auto; margin-top:3px; }
.consent-box span { display:flex; flex-direction:column; gap:4px; }
.consent-box strong { font-size:13px; }
.consent-box small { color:var(--muted); font-size:11px; line-height:1.55; }
.storage-order-submit { margin-top:18px; }
.declaration-proof { display:flex; justify-content:space-between; align-items:center; gap:20px; }
.declaration-proof > div { display:flex; flex-direction:column; gap:4px; }
.declaration-proof small { color:var(--muted); font-size:9px; font-weight:850; letter-spacing:.12em; }
.declaration-proof span:not(.status-pill) { color:var(--muted); font-size:11px; }
.inbound-filter-row { grid-template-columns:minmax(290px,1fr) 230px auto auto; }
.inbound-process-card { background:linear-gradient(145deg,#111318,#20242a); color:#fff; }
.inbound-process-card .panel-head small { color:#9ca3af; }
.process-mini { display:grid; gap:10px; }
.process-mini > div { display:flex; gap:11px; align-items:center; padding:11px 0; border-top:1px solid rgba(255,255,255,.09); opacity:.62; }
.process-mini > div:first-child { border-top:0; }
.process-mini > div.active { opacity:1; }
.process-mini b { width:31px; height:31px; display:grid; place-items:center; border-radius:9px; background:rgba(255,255,255,.12); font-size:11px; }
.process-mini .active b { background:var(--red); }
.process-mini span { display:flex; flex-direction:column; }
.process-mini strong { font-size:12px; }
.process-mini small { color:#9ca3af; font-size:10px; margin-top:2px; }
.placement-suggestion, .stored-location-card { display:flex; flex-direction:column; align-items:flex-start; padding:22px; border:1px solid #dbeafe; border-radius:14px; background:#eff6ff; }
.placement-suggestion small, .stored-location-card small { color:#1d4ed8; font-size:9px; letter-spacing:.13em; font-weight:900; }
.placement-suggestion strong, .stored-location-card strong { margin-top:7px; font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:27px; letter-spacing:-.04em; }
.placement-suggestion span, .stored-location-card span { margin-top:4px; color:#475569; font-size:11px; }
.stored-location-card { border-color:#bbf7d0; background:#f0fdf4; }
.stored-location-card small { color:#15803d; }
.stored-location-card .status-pill { margin-top:14px; }
.inbound-dashboard-card { border-color:#dbeafe; background:#f8fbff; }

@media (max-width: 900px) {
    .prohibited-grid { grid-template-columns:1fr; }
    .inbound-filter-row { grid-template-columns:1fr 1fr; }
}
@media (max-width: 650px) {
    .inbound-filter-row { grid-template-columns:1fr; }
    .declaration-proof { align-items:flex-start; flex-direction:column; }
    .warehouse-row-actions, .inbound-actions { justify-content:flex-start; }
}


/* PALALOG 0.4.0 – Lagerbestand & Auslagerung */
.table-sub { display:block; margin-top:4px; color:var(--muted); font-size:10px; line-height:1.35; }
.retrieval-filter { grid-template-columns:minmax(280px,1.5fr) 240px auto; }
.retrieval-item-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.retrieval-select-card { display:block; cursor:pointer; }
.retrieval-select-card > input { position:absolute; opacity:0; pointer-events:none; }
.retrieval-select-body { min-height:126px; display:flex; flex-direction:column; gap:7px; padding:16px; border:1px solid var(--line); border-radius:13px; background:#fff; transition:.15s ease; }
.retrieval-select-card > input:checked + .retrieval-select-body { border-color:var(--red); box-shadow:0 0 0 3px rgba(169,0,0,.07); background:#fffafa; }
.retrieval-select-top { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.retrieval-select-body b { font-size:13px; }
.retrieval-select-body small { color:var(--muted); font-size:10px; line-height:1.4; }
.selection-summary { margin-top:14px; min-height:54px; display:flex; align-items:baseline; justify-content:center; gap:8px; border:1px dashed #cdd2d9; border-radius:12px; }
.selection-summary strong { font-size:26px; color:var(--red); }
.selection-summary span { color:var(--muted); font-size:12px; }
.transport-choice-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.transport-choice { cursor:pointer; }
.transport-choice > input { position:absolute; opacity:0; pointer-events:none; }
.transport-choice > span { min-height:128px; display:flex; flex-direction:column; gap:7px; padding:17px; border:1px solid var(--line); border-radius:13px; background:#fff; transition:.15s ease; }
.transport-choice > span strong { font-size:13px; }
.transport-choice > span small { color:var(--muted); font-size:10.5px; line-height:1.55; }
.transport-choice > input:checked + span { border-color:var(--red); background:#fffafa; box-shadow:0 0 0 3px rgba(169,0,0,.07); }
.transport-choice.disabled { opacity:.42; cursor:not-allowed; }
.retrieval-submit { margin-top:18px; }
.address-block { margin:0; font-size:13px; line-height:1.7; font-weight:650; }
.details-list { display:grid; gap:0; }
.details-list > div { display:grid; grid-template-columns:180px 1fr; gap:20px; padding:11px 0; border-top:1px solid var(--line); }
.details-list > div:first-child { border-top:0; }
.details-list span { color:var(--muted); font-size:11px; }
.details-list strong { font-size:12px; }
.danger-zone { display:flex; align-items:center; justify-content:space-between; gap:20px; border-color:#f0dada; background:#fffafa; }
.danger-zone small { color:#991b1b; font-size:9px; font-weight:900; letter-spacing:.13em; }
.danger-zone h2 { margin:5px 0; }
.danger-zone p { margin:0; color:#6b4a4a; font-size:11px; }
.retrieval-ready-card { display:flex; align-items:center; justify-content:space-between; gap:20px; border-color:#bbf7d0; background:#f0fdf4; }
.retrieval-ready-card small { color:#15803d; font-size:9px; letter-spacing:.13em; font-weight:900; }
.retrieval-ready-card h2 { margin:5px 0; }
.retrieval-ready-card p { margin:0; color:#456150; font-size:11px; }
.retrieval-dashboard-card { border-color:#fde68a; background:#fffbeb; }
.picking-progress { height:7px; margin-bottom:16px; border-radius:999px; background:#e5e7eb; overflow:hidden; }
.picking-progress > div { height:100%; background:var(--red); border-radius:999px; transition:.2s ease; }
.picking-layout { grid-template-columns:1.15fr .85fr; }
.picking-target-card { background:linear-gradient(145deg,#111318,#20242a); color:#fff; }
.picking-target-card .panel-head { border-color:rgba(255,255,255,.1); }
.picking-target-card .panel-head small { color:#9ca3af; }
.picking-location { font-size:31px !important; letter-spacing:-.04em; color:#fff; }
.picking-location-meta { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.picking-location-meta > div { min-height:82px; padding:14px; border:1px solid rgba(255,255,255,.1); border-radius:11px; background:rgba(255,255,255,.04); display:flex; flex-direction:column; gap:6px; }
.picking-location-meta small { color:#9ca3af; font-size:9px; font-weight:850; letter-spacing:.1em; }
.picking-location-meta strong { color:#fff; font-size:12px; line-height:1.4; }
.picking-scan-card form { display:grid; gap:14px; }
.scan-field { display:flex; flex-direction:column; gap:7px; }
.scan-field > span { display:flex; align-items:center; gap:9px; font-size:12px; font-weight:800; }
.scan-field > span b { width:25px; height:25px; display:grid; place-items:center; border-radius:8px; background:#111318; color:#fff; font-size:10px; }
.scan-field input { font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-weight:800; font-size:14px; }
.scan-field input:focus { border-color:var(--red); box-shadow:0 0 0 4px rgba(169,0,0,.08); }
.scan-field small { color:var(--muted); font-size:10px; }
.scan-safety { padding:13px 14px; border:1px solid #dbeafe; border-radius:11px; background:#eff6ff; color:#1e3a8a; font-size:10.5px; line-height:1.55; }
.button-wide { width:100%; justify-content:center; }

@media (max-width: 1000px) {
    .retrieval-item-grid, .transport-choice-grid, .picking-layout { grid-template-columns:1fr; }
}

@media (max-width: 700px) {
    .retrieval-filter { grid-template-columns:1fr; }
    .danger-zone, .retrieval-ready-card { align-items:flex-start; flex-direction:column; }
    .details-list > div { grid-template-columns:1fr; gap:4px; }
    .picking-location-meta { grid-template-columns:1fr; }
}


/* PALALOG 0.5.0 – Disposition & eigene Logistik */
.dispo-date-form { display:flex; align-items:center; gap:8px; }
.dispo-date-form input { width:auto; min-width:160px; }
.dispo-tour-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.dispo-tour-card { display:block; padding:17px; border:1px solid var(--line); border-radius:14px; background:#fff; color:inherit; text-decoration:none; transition:.15s ease; }
.dispo-tour-card:hover { border-color:#c6cbd2; transform:translateY(-1px); box-shadow:0 8px 22px rgba(17,19,24,.06); }
.dispo-tour-card-top { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.dispo-tour-card h3 { margin:13px 0 10px; font-size:16px; }
.dispo-tour-meta { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px 12px; }
.dispo-tour-meta span { font-size:10.5px; color:var(--muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

.tour-assign-form { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; }
.tour-stop-list { display:grid; gap:10px; }
.tour-stop-card { display:grid; grid-template-columns:48px minmax(0,1fr) auto; gap:14px; align-items:center; padding:15px; border:1px solid var(--line); border-radius:13px; background:#fff; }
.tour-stop-sequence { width:42px; height:42px; display:grid; place-items:center; border-radius:12px; background:#111318; color:#fff; font-weight:900; font-size:16px; }
.tour-stop-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.tour-stop-main h3 { margin:5px 0 3px; font-size:14px; }
.tour-stop-main p { margin:0; color:var(--muted); font-size:11px; }
.tour-stop-meta { display:flex; flex-wrap:wrap; gap:7px 14px; margin-top:8px; }
.tour-stop-meta span { font-size:9.5px; color:var(--muted); }
.tour-stop-actions { display:flex; align-items:center; gap:7px; }
.tour-move-buttons { display:flex; gap:4px; }
.tour-move-buttons form { margin:0; }
.tour-move-buttons button { width:31px; height:31px; border:1px solid var(--line); border-radius:8px; background:#fff; cursor:pointer; font-weight:900; }
.tour-move-buttons button:hover { border-color:var(--red); color:var(--red); }

.driver-tour-grid { display:grid; gap:13px; }
.driver-tour-card { display:grid; grid-template-columns:76px minmax(0,1fr); gap:18px; padding:18px; border:1px solid var(--line); border-radius:15px; background:#fff; text-decoration:none; color:inherit; }
.driver-tour-date { min-height:72px; display:flex; flex-direction:column; align-items:center; justify-content:center; border-radius:13px; background:#111318; color:#fff; }
.driver-tour-date strong { font-size:28px; line-height:1; }
.driver-tour-date span { margin-top:5px; color:#c9cbd0; font-size:10px; font-weight:800; letter-spacing:.1em; }
.driver-tour-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.driver-tour-main h2 { margin:6px 0 9px; font-size:18px; }
.driver-tour-meta { display:flex; flex-wrap:wrap; gap:8px 16px; }
.driver-tour-meta span { font-size:10.5px; color:var(--muted); }

.driver-start-card { background:linear-gradient(145deg,#111318,#20242a); color:#fff; }
.driver-start-card small { color:#9ca3af; font-size:9px; letter-spacing:.12em; font-weight:900; }
.driver-start-card h2 { margin:5px 0; color:#fff; }
.driver-start-card p { margin:0; color:#d1d5db; }
.driver-stop-list { display:grid; gap:10px; }
.driver-stop-card { display:grid; grid-template-columns:48px minmax(0,1fr); gap:14px; padding:15px; border:1px solid var(--line); border-radius:13px; }
.driver-stop-card h3 { margin:5px 0 3px; font-size:14px; }
.driver-stop-card p { margin:0; color:var(--muted); font-size:11px; }

@media (max-width: 1100px) {
    .dispo-tour-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .tour-stop-card { grid-template-columns:48px minmax(0,1fr); }
    .tour-stop-actions { grid-column:2; justify-content:flex-start; flex-wrap:wrap; }
}
@media (max-width: 760px) {
    .dispo-tour-grid { grid-template-columns:1fr; }
    .tour-assign-form { grid-template-columns:1fr; }
    .dispo-date-form { align-items:stretch; flex-direction:column; }
    .driver-tour-card { grid-template-columns:60px minmax(0,1fr); padding:13px; gap:12px; }
    .tour-stop-card { grid-template-columns:40px minmax(0,1fr); padding:12px; gap:10px; }
}


/* PALALOG 0.6.0 – Empfänger-QR, Zustellnachweis & Live-Tracking */
.public-tracking-body { margin:0; min-height:100vh; background:#f4f5f7; color:#17191d; font-family:Arial,sans-serif; }
.public-tracking-shell { width:min(720px,calc(100% - 28px)); margin:28px auto; }
.public-tracking-shell.tracking-wide { width:min(1050px,calc(100% - 28px)); }
.public-tracking-header { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:18px; padding:0 4px; }
.public-tracking-header img { width:190px; max-width:52%; height:auto; }
.public-tracking-header span { color:#667085; font-size:11px; font-weight:700; }
.recipient-code-card { padding:28px; border:1px solid #dfe3e8; border-radius:18px; background:#fff; box-shadow:0 16px 45px rgba(17,19,24,.06); }
.recipient-code-card h1 { margin:8px 0 8px; font-size:34px; }
.recipient-lead { color:#475467; font-size:14px; line-height:1.65; }
.recipient-qr-wrap { display:grid; place-items:center; margin:24px 0; padding:18px; border:1px solid #e3e6ea; border-radius:15px; background:#fafafa; }
.recipient-qr-wrap img { width:min(360px,90%); height:auto; }
.recipient-state { margin:18px 0; padding:16px 18px; border:1px solid #e3e6ea; border-radius:12px; background:#f8fafc; }
.recipient-state.good { border-color:#bbf7d0; background:#f0fdf4; }
.recipient-state.bad { border-color:#fecaca; background:#fef2f2; }
.recipient-state strong { display:block; margin-bottom:5px; font-size:15px; }
.recipient-state p { margin:0; color:#667085; font-size:12px; }
.recipient-security-note { margin:18px 0 0; color:#667085; font-size:10.5px; line-height:1.55; }

.live-tracking-panel { overflow:hidden; }
.tracking-map { height:430px; margin-top:18px; border:1px solid #dfe3e8; border-radius:14px; overflow:hidden; background:#e9edf1; }
.tracking-no-map { height:100%; display:grid; place-items:center; padding:20px; color:#667085; text-align:center; }
.tracking-summary-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.tracking-summary-grid > div { padding:13px 14px; border:1px solid #e2e5e9; border-radius:11px; background:#fafbfc; }
.tracking-summary-grid small { display:block; margin-bottom:5px; color:#667085; font-size:8.5px; font-weight:900; letter-spacing:.1em; }
.tracking-summary-grid strong { font-size:11.5px; }
.tracking-privacy-hint { margin-top:12px; padding:11px 13px; border-radius:10px; background:#f8fafc; color:#667085; font-size:10.5px; line-height:1.5; }

.driver-tracking-strip { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:16px; padding:14px 16px; border:1px solid #fde68a; border-radius:13px; background:#fffbeb; }
.driver-tracking-strip > div { display:flex; flex-direction:column; gap:3px; }
.driver-tracking-strip small { color:#92400e; font-size:8px; font-weight:900; letter-spacing:.12em; }
.driver-tracking-strip strong { font-size:12px; }
.driver-tracking-strip span { color:#667085; font-size:10px; line-height:1.4; }
.driver-tracking-strip.tracking-good { border-color:#bbf7d0; background:#f0fdf4; }
.driver-tracking-strip.tracking-bad { border-color:#fecaca; background:#fef2f2; }

.driver-stop-card.current-stop { border-color:#a90000; box-shadow:0 0 0 3px rgba(169,0,0,.06); }
.driver-stop-content { min-width:0; flex:1; }
.driver-stop-title-row { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.driver-delivery-button { margin-top:14px; }
.driver-next-stop-note { margin-top:12px; padding:10px 12px; border-radius:9px; background:#f8fafc; color:#667085; font-size:10px; }

.recipient-verified-box { padding:18px; border:1px solid #bbf7d0; border-radius:12px; background:#f0fdf4; }
.recipient-verified-box strong { display:block; color:#166534; font-size:13px; }
.recipient-verified-box span { display:block; margin-top:5px; color:#4b6551; font-size:10px; }
.qr-camera-actions { display:flex; align-items:center; gap:10px; margin:12px 0; }
.qr-camera-actions span { color:#667085; font-size:10px; }
.qr-camera-box { margin:12px 0 16px; border:1px solid #dfe3e8; border-radius:12px; overflow:hidden; background:#111; }
.qr-camera-box video { display:block; width:100%; max-height:360px; object-fit:cover; }

.signature-panel { overflow:hidden; }
.signature-wrap { position:relative; margin:18px 0 10px; height:250px; border:2px dashed #cfd4da; border-radius:14px; overflow:hidden; background:#fff; touch-action:none; }
.signature-wrap canvas { width:100%; height:100%; display:block; touch-action:none; cursor:crosshair; }
.signature-placeholder { position:absolute; inset:0; display:grid; place-items:center; pointer-events:none; color:#a0a7b1; font-size:22px; font-weight:700; }
.signature-actions { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:16px; }
.signature-actions span { color:#667085; font-size:10px; }
.proof-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.proof-signature-box { min-height:170px; padding:14px; border:1px solid #e2e5e9; border-radius:12px; background:#fff; }
.proof-signature-box small { display:block; margin-bottom:8px; color:#667085; font-size:8px; font-weight:900; letter-spacing:.12em; }
.proof-signature-box img { display:block; width:100%; max-height:160px; object-fit:contain; background:#fff; }
.proof-signature-box.operator-proof { margin-top:14px; min-height:120px; }
.driver-failure-panel form { min-width:360px; display:grid; grid-template-columns:1fr 1fr auto; gap:8px; align-items:center; }

@media (max-width: 850px) {
    .tracking-summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .tracking-map { height:360px; }
    .proof-grid { grid-template-columns:1fr; }
    .driver-failure-panel form { min-width:0; width:100%; grid-template-columns:1fr; }
}
@media (max-width: 600px) {
    .public-tracking-header { align-items:flex-start; }
    .public-tracking-header span { text-align:right; }
    .recipient-code-card { padding:20px; }
    .recipient-code-card h1 { font-size:28px; }
    .tracking-summary-grid { grid-template-columns:1fr 1fr; }
    .tracking-map { height:320px; }
    .driver-tracking-strip { align-items:flex-start; flex-direction:column; }
    .driver-stop-title-row { flex-direction:column; }
    .signature-wrap { height:220px; }
    .qr-camera-actions { align-items:flex-start; flex-direction:column; }
}


/* PALALOG 0.7.0 – Preise, Lagerperioden & Rechnungen */
.billing-lock-note { margin-top:14px; padding:12px 14px; border:1px solid #dbeafe; border-radius:10px; background:#eff6ff; color:#1e3a8a; font-size:10.5px; line-height:1.55; }
.billing-rule-card { display:flex; align-items:center; justify-content:space-between; gap:24px; border-color:#e7d9d9; background:linear-gradient(145deg,#fff,#fff8f8); }
.billing-rule-card small { color:#a90000; font-size:8px; font-weight:900; letter-spacing:.12em; }
.billing-rule-card h2 { margin:5px 0; }
.billing-rule-card p { margin:0; color:#667085; font-size:11px; line-height:1.6; max-width:820px; }
.billing-rule-card code { padding:10px 12px; border-radius:9px; background:#17191d; color:#fff; white-space:nowrap; font-size:10px; }
.pricing-override-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.pricing-override-card { margin:0; }
.inline-toggle { display:flex; align-items:center; gap:7px; font-size:10px; font-weight:800; }
.standard-price-line { margin-bottom:14px; padding:10px 12px; border-radius:9px; background:#f8fafc; color:#667085; font-size:10px; line-height:1.5; }
.invoice-total-card { min-height:180px; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; background:linear-gradient(145deg,#17191d,#262a31); color:#fff; }
.invoice-total-card small { color:#b8bec8; font-size:8px; font-weight:900; letter-spacing:.12em; }
.invoice-total-card strong { margin:8px 0 3px; font-size:40px; letter-spacing:-.04em; }
.invoice-total-card span { color:#c8cdd4; font-size:10.5px; }
.invoice-customer-total { display:grid; grid-template-columns:2fr 1fr 1fr; gap:12px; }
.invoice-customer-total > div { padding:14px; border:1px solid #e2e5e9; border-radius:11px; background:#fafbfc; }
.invoice-customer-total small { display:block; color:#667085; font-size:8px; font-weight:900; letter-spacing:.1em; margin-bottom:6px; }
.invoice-customer-total strong { font-size:16px; }

@media (max-width: 900px) {
    .pricing-override-grid { grid-template-columns:1fr; }
    .billing-rule-card { align-items:flex-start; flex-direction:column; }
}
@media (max-width: 650px) {
    .invoice-customer-total { grid-template-columns:1fr; }
}


/* PALALOG 0.8.0 – Fremdversand */
.external-ready-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.external-ready-card { padding:16px; border:1px solid #e1e5e9; border-radius:13px; background:#fff; }
.external-ready-top { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.external-ready-top h3 { margin:5px 0 0; font-size:13px; }
.external-ready-card p { margin:10px 0; color:#667085; font-size:11px; }
.external-margin-card { min-height:180px; background:linear-gradient(145deg,#17191d,#292d34); color:#fff; }
.external-margin-card > small { color:#b8bec8; font-size:8px; font-weight:900; letter-spacing:.12em; }
.external-margin-values { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:18px; }
.external-margin-values > div { padding:13px; border:1px solid rgba(255,255,255,.1); border-radius:10px; background:rgba(255,255,255,.04); }
.external-margin-values span { display:block; color:#b8bec8; font-size:8px; margin-bottom:5px; }
.external-margin-values strong { font-size:17px; }
.margin-negative { color:#fecaca; }
.tracking-piece-list { display:grid; gap:12px; }
.tracking-piece-card { padding:14px; border:1px solid #e1e5e9; border-radius:12px; background:#fafbfc; }
.tracking-piece-id { display:flex; align-items:center; gap:11px; margin-bottom:12px; }
.tracking-piece-id > span { width:32px; height:32px; display:grid; place-items:center; border-radius:9px; background:#17191d; color:#fff; font-size:11px; font-weight:900; }
.tracking-piece-id strong { display:block; }
.tracking-piece-id small { display:block; margin-top:3px; color:#667085; font-size:9px; }
.external-handover-card { display:flex; align-items:center; justify-content:space-between; gap:24px; border-color:#bbf7d0; background:#f0fdf4; }
.external-handover-card small { color:#15803d; font-size:8px; font-weight:900; letter-spacing:.12em; }
.external-handover-card h2 { margin:5px 0; }
.external-handover-card p { margin:0; color:#4b6551; font-size:10.5px; line-height:1.55; max-width:780px; }
.tracking-customer-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.tracking-customer-card { padding:16px; border:1px solid #e1e5e9; border-radius:12px; background:#fafbfc; }
.tracking-customer-card small { display:block; color:#667085; font-size:8px; font-weight:900; letter-spacing:.1em; }
.tracking-customer-card strong { display:block; margin-top:7px; font-size:15px; }
.tracking-customer-card span { display:block; margin:7px 0 12px; color:#475467; font-size:11px; word-break:break-all; }

@media (max-width: 850px) {
    .external-ready-grid, .tracking-customer-grid { grid-template-columns:1fr; }
    .external-margin-values { grid-template-columns:1fr; }
    .external-handover-card { align-items:flex-start; flex-direction:column; }
}


/* PALALOG 0.8.1 – Kunden-#Code & Anlieferetiketten */
.piece-code-intro { display:flex; align-items:center; justify-content:space-between; gap:24px; border-color:#e8d7d7; background:linear-gradient(145deg,#fff,#fff8f8); }
.piece-code-intro small { color:#a90000; font-size:8px; font-weight:900; letter-spacing:.12em; }
.piece-code-intro h2 { margin:5px 0 6px; }
.piece-code-intro p { max-width:850px; margin:0; color:#667085; font-size:11px; line-height:1.6; }
.piece-code-example { padding:14px 18px; border-radius:12px; background:#17191d; color:#fff; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:20px; font-weight:900; white-space:nowrap; letter-spacing:.04em; }

.customer-piece-code-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:14px; }
.customer-piece-code-card { min-width:0; padding:16px; border:1px solid #dfe3e8; border-radius:14px; background:#fff; box-shadow:0 5px 18px rgba(17,19,24,.035); }
.customer-piece-code-top { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.customer-piece-code { display:block; margin:18px 0 13px; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:25px; font-weight:950; letter-spacing:.04em; color:#17191d; white-space:nowrap; }
.customer-piece-code-details { min-height:48px; margin-bottom:14px; }
.customer-piece-code-details span { display:block; color:#353b45; font-size:11px; line-height:1.45; }
.customer-piece-code-details small { display:block; margin-top:5px; color:#8a919d; font-size:9px; }
.piece-code-table { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-weight:950; letter-spacing:.035em; white-space:nowrap; }

.inbound-code-lookup { position:relative; display:grid; grid-template-columns:minmax(0,1fr) minmax(360px,580px); gap:24px; align-items:end; border:1px solid #e7d5d5; background:linear-gradient(145deg,#fff,#fff9f9); }
.inbound-code-lookup-copy small { color:#a90000; font-size:8px; font-weight:900; letter-spacing:.12em; }
.inbound-code-lookup-copy h2 { margin:5px 0; }
.inbound-code-lookup-copy p { margin:0; color:#667085; font-size:11px; line-height:1.55; }
.inbound-code-form { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:9px; align-items:end; }
.inbound-code-form label span { display:block; margin-bottom:5px; font-size:9px; font-weight:900; color:#5f6672; }
.inbound-code-form input { width:100%; min-height:48px; padding:10px 13px; border:2px solid #17191d; border-radius:10px; background:#fff; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:19px; font-weight:900; letter-spacing:.04em; text-transform:uppercase; }
.inbound-code-form .button { min-height:48px; }
.inbound-code-error { grid-column:1/-1; margin-top:-10px; padding:10px 12px; border:1px solid #fecaca; border-radius:9px; background:#fef2f2; color:#991b1b; font-size:10.5px; }

@media (max-width: 1050px) {
    .customer-piece-code-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .inbound-code-lookup { grid-template-columns:1fr; align-items:stretch; }
}
@media (max-width: 680px) {
    .piece-code-intro { align-items:flex-start; flex-direction:column; }
    .customer-piece-code-grid { grid-template-columns:1fr; }
    .customer-piece-code { font-size:23px; }
    .inbound-code-form { grid-template-columns:1fr; }
}


/* PALALOG 0.8.2 – Scanner-first Wareneingang */
.inbound-scanner-panel {
    border:1px solid #d9dde3;
    background:linear-gradient(145deg,#ffffff,#fafbfc);
    box-shadow:0 10px 32px rgba(17,19,24,.05);
}
.inbound-scanner-head {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
    margin-bottom:18px;
}
.inbound-scanner-head small,
.inbound-identification-status small,
.identity-code-hero small,
.identity-customer-panel small,
.identity-detail-grid small,
.identity-history-grid small,
.inbound-confirm-banner small {
    display:block;
    color:#667085;
    font-size:8px;
    line-height:1.2;
    font-weight:900;
    letter-spacing:.12em;
}
.inbound-scanner-head h2 { margin:5px 0 4px; }
.inbound-scanner-head p { margin:0; color:#667085; font-size:11px; line-height:1.55; }
.scanner-ready-badge {
    display:flex;
    align-items:center;
    gap:7px;
    flex:0 0 auto;
    padding:8px 11px;
    border:1px solid #bbf7d0;
    border-radius:999px;
    background:#f0fdf4;
    color:#166534;
    font-size:9px;
    font-weight:900;
}
.scanner-ready-dot {
    width:8px;
    height:8px;
    border-radius:50%;
    background:#16a34a;
    box-shadow:0 0 0 4px rgba(22,163,74,.1);
}
.inbound-code-form-large {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:12px;
    align-items:end;
}
.inbound-code-input-wrap { margin:0; }
.inbound-code-input-wrap > span {
    display:block;
    margin-bottom:6px;
    font-size:9px;
    font-weight:900;
    letter-spacing:.08em;
}
.inbound-code-input-wrap input {
    width:100%;
    min-height:68px;
    padding:10px 18px;
    border:2px solid #cfd4da;
    border-radius:13px;
    background:#fff;
    color:#17191d;
    font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
    font-size:30px;
    line-height:1;
    font-weight:900;
    letter-spacing:.04em;
    text-transform:uppercase;
    outline:none;
}
.inbound-code-input-wrap input:focus {
    border-color:#a90000;
    box-shadow:0 0 0 4px rgba(169,0,0,.08);
}
.inbound-code-input-wrap small {
    display:block;
    margin-top:7px;
    color:#667085;
    font-size:9.5px;
}
.inbound-code-submit { min-height:68px; padding-left:24px; padding-right:24px; }
.inbound-scan-tools {
    display:flex;
    align-items:center;
    gap:9px;
    margin-top:12px;
    flex-wrap:wrap;
}
.inbound-scan-tools span { color:#667085; font-size:9.5px; }
.inbound-camera-box {
    position:relative;
    margin-top:14px;
    max-width:700px;
    border:1px solid #dfe3e8;
    border-radius:14px;
    overflow:hidden;
    background:#111;
}
.inbound-camera-box video {
    display:block;
    width:100%;
    max-height:430px;
    object-fit:cover;
}
.inbound-camera-guide {
    position:absolute;
    inset:0;
    display:grid;
    place-items:center;
    pointer-events:none;
}
.inbound-camera-guide span {
    width:62%;
    max-width:360px;
    aspect-ratio:1;
    border:3px solid rgba(255,255,255,.9);
    border-radius:18px;
    box-shadow:0 0 0 9999px rgba(0,0,0,.18);
}
.inbound-code-error-large {
    display:flex;
    flex-direction:column;
    gap:4px;
    margin-top:14px;
    padding:14px 16px;
    border:1px solid #fecaca;
    border-radius:11px;
    background:#fef2f2;
    color:#991b1b;
}
.inbound-code-error-large strong { font-size:11px; }
.inbound-code-error-large span { font-size:10px; }

.inbound-identification-card { overflow:hidden; }
.inbound-identification-card.is-ready { border-top:4px solid #16a34a; }
.inbound-identification-card.is-processed { border-top:4px solid #d97706; }
.inbound-identification-status {
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:14px;
    margin-bottom:18px;
    padding-bottom:18px;
    border-bottom:1px solid #e3e6ea;
}
.inbound-identification-status h2 { margin:4px 0 2px; }
.inbound-identification-status p { margin:0; color:#667085; font-size:10.5px; }
.identity-status-icon {
    display:grid;
    place-items:center;
    width:44px;
    height:44px;
    border-radius:50%;
    font-size:22px;
    font-weight:900;
}
.identity-status-good { background:#dcfce7; color:#166534; }
.identity-status-warn { background:#fef3c7; color:#92400e; }
.identity-code-hero {
    margin-bottom:15px;
    padding:22px;
    border-radius:14px;
    background:#17191d;
    color:#fff;
}
.identity-code-hero small { color:#aeb5bf; }
.identity-code-hero strong {
    display:block;
    margin:7px 0 5px;
    font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
    font-size:38px;
    line-height:1;
    letter-spacing:.04em;
}
.identity-code-hero span { color:#c9cdd3; font-size:10.5px; }
.identity-customer-panel {
    display:grid;
    grid-template-columns:2fr 1fr;
    gap:12px;
    margin-bottom:12px;
}
.identity-customer-panel > div,
.identity-detail-grid > div,
.identity-history-grid > div {
    padding:14px 15px;
    border:1px solid #e2e5e9;
    border-radius:11px;
    background:#fafbfc;
}
.identity-customer-panel h2 { margin:5px 0 2px; font-size:20px; }
.identity-customer-panel strong { font-size:12px; }
.identity-order-box strong { display:block; margin:7px 0 3px; }
.identity-order-box span { color:#667085; font-size:9px; }
.identity-detail-grid,
.identity-history-grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
}
.identity-detail-grid strong,
.identity-history-grid strong {
    display:block;
    margin-top:6px;
    font-size:11px;
    overflow-wrap:anywhere;
}
.identity-detail-grid span { display:block; margin-top:3px; color:#667085; font-size:9px; }
.identity-confirmation-note {
    display:flex;
    flex-direction:column;
    gap:4px;
    margin-top:14px;
    padding:13px 15px;
    border:1px solid #bbf7d0;
    border-radius:10px;
    background:#f0fdf4;
}
.identity-confirmation-note strong { color:#166534; font-size:11px; }
.identity-confirmation-note span { color:#36543d; font-size:10px; line-height:1.5; }
.identity-primary-action {
    display:flex;
    align-items:center;
    gap:10px;
    margin-top:16px;
    flex-wrap:wrap;
}
.button-large { min-height:48px; padding:12px 22px; font-size:12px; }
.identity-duplicate-warning { margin-top:14px; }
.identity-history-grid { margin-top:12px; }

.inbound-confirm-banner {
    display:grid;
    grid-template-columns:1fr 2fr 1fr;
    gap:10px;
    margin-bottom:14px;
}
.inbound-confirm-banner > div {
    padding:12px 14px;
    border:1px solid #dfe3e8;
    border-radius:10px;
    background:#fff;
}
.inbound-confirm-banner > div:first-child {
    border-color:#bbf7d0;
    background:#f0fdf4;
}
.inbound-confirm-banner strong {
    display:block;
    margin-top:5px;
    font-size:12px;
    overflow-wrap:anywhere;
}
.inbound-confirm-banner > div:first-child strong {
    color:#166534;
    font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
    font-size:18px;
}
.inbound-confirm-banner span {
    display:block;
    margin-top:2px;
    color:#667085;
    font-size:9px;
}

@media (max-width: 900px) {
    .identity-detail-grid,
    .identity-history-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .inbound-confirm-banner { grid-template-columns:1fr 1fr; }
    .inbound-confirm-banner > div:nth-child(2) { grid-column:span 1; }
}
@media (max-width: 700px) {
    .inbound-code-form-large { grid-template-columns:1fr; }
    .inbound-code-submit { min-height:50px; }
    .inbound-scanner-head { flex-direction:column; }
    .inbound-identification-status {
        grid-template-columns:auto minmax(0,1fr);
        align-items:start;
    }
    .inbound-identification-status > .status-pill { grid-column:1 / -1; justify-self:start; }
    .identity-customer-panel { grid-template-columns:1fr; }
    .identity-code-hero strong { font-size:29px; }
}
@media (max-width: 520px) {
    .inbound-code-input-wrap input { min-height:60px; font-size:23px; }
    .identity-detail-grid,
    .identity-history-grid,
    .inbound-confirm-banner { grid-template-columns:1fr; }
}


/* PALALOG 0.9.0 – Lagerkontrolle & Inventur */
.inventory-alert-panel { border-top:3px solid #b42318; }
.inventory-incident-list { display:grid; gap:8px; }
.inventory-incident-row {
    display:grid;
    grid-template-columns:auto minmax(110px,.8fr) minmax(90px,.6fr) minmax(220px,2fr) auto;
    gap:12px;
    align-items:center;
    padding:10px 12px;
    border:1px solid #e5e7eb;
    border-radius:10px;
    color:inherit;
    text-decoration:none;
    background:#fff;
}
.inventory-incident-row:hover { border-color:#c7ccd3; background:#fafbfc; }
.inventory-incident-row span,
.inventory-incident-row small { font-size:9px; color:#667085; }
.inventory-progress-mini {
    width:110px;
    height:5px;
    margin-top:5px;
    border-radius:999px;
    overflow:hidden;
    background:#e5e7eb;
}
.inventory-progress-mini span,
.inventory-progress-bar span {
    display:block;
    height:100%;
    background:#17191d;
    border-radius:inherit;
}
.inventory-scope-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    margin-top:16px;
}
.inventory-scope-card {
    display:flex;
    gap:11px;
    align-items:flex-start;
    padding:15px;
    border:1px solid #dfe3e8;
    border-radius:12px;
    background:#fff;
    cursor:pointer;
}
.inventory-scope-card:has(input:checked) { border-color:#17191d; box-shadow:0 0 0 2px rgba(23,25,29,.06); }
.inventory-scope-card input { margin-top:3px; }
.inventory-scope-card strong,
.inventory-scope-card small { display:block; }
.inventory-scope-card strong { margin-bottom:4px; font-size:11px; }
.inventory-scope-card small { color:#667085; font-size:9.5px; line-height:1.5; }
.inventory-sample-field { display:block; max-width:340px; margin-top:14px; }
.inventory-progress-panel { border-top:3px solid #17191d; }
.inventory-progress-head {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:20px;
}
.inventory-progress-head small { display:block; color:#667085; font-size:8px; font-weight:900; letter-spacing:.1em; }
.inventory-progress-head strong { display:block; margin-top:4px; font-size:28px; }
.inventory-progress-head span { color:#667085; font-size:10px; }
.inventory-progress-bar {
    height:9px;
    margin:12px 0 18px;
    border-radius:999px;
    background:#e5e7eb;
    overflow:hidden;
}
.inventory-summary-grid { margin-top:0; }
.inventory-complete-action {
    display:flex;
    align-items:center;
    gap:12px;
    margin-top:16px;
}
.inventory-complete-action small { color:#667085; font-size:9px; }
.inventory-incident-cards { display:grid; gap:10px; }
.inventory-incident-card {
    padding:14px;
    border:1px solid #e0e4e8;
    border-radius:11px;
    background:#fff;
}
.inventory-incident-card.is-open { border-left:4px solid #b42318; }
.inventory-incident-card.is-resolved { border-left:4px solid #16a34a; }
.inventory-incident-card-head {
    display:grid;
    grid-template-columns:auto minmax(110px,.8fr) minmax(90px,.6fr) auto;
    gap:10px;
    align-items:center;
}
.inventory-incident-card-head > span:not(.status-pill),
.inventory-incident-card-head small { color:#667085; font-size:9px; }
.inventory-incident-card p { margin:10px 0; font-size:10px; line-height:1.55; }
.inventory-item-inline { display:flex; gap:8px; align-items:center; flex-wrap:wrap; font-size:9px; color:#667085; }
.inventory-resolution-form {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:9px;
    align-items:end;
    margin-top:11px;
    padding-top:11px;
    border-top:1px solid #edf0f2;
}
.inventory-resolution-form textarea { min-height:58px; }
.inventory-resolution-form .check-line { grid-column:1 / -1; }
.check-line { display:flex; gap:7px; align-items:center; font-size:9px; color:#49505a; }
.inventory-resolution-done {
    margin-top:10px;
    padding:9px 11px;
    border-radius:8px;
    background:#f0fdf4;
    color:#36543d;
    font-size:9.5px;
}
.inventory-resolution-done small { display:block; margin-top:4px; color:#667085; }
.inventory-scan-station,
.inventory-item-scan-panel { border-top:4px solid #17191d; }
.inventory-scan-step {
    display:flex;
    align-items:flex-start;
    gap:13px;
    margin-bottom:18px;
}
.inventory-scan-step > b {
    display:grid;
    place-items:center;
    flex:0 0 42px;
    width:42px;
    height:42px;
    border-radius:50%;
    background:#17191d;
    color:#fff;
    font-size:16px;
}
.inventory-scan-step small { display:block; color:#667085; font-size:8px; font-weight:900; letter-spacing:.1em; }
.inventory-scan-step h2 { margin:4px 0 2px; }
.inventory-scan-step p { margin:0; color:#667085; font-size:10px; }
.inventory-big-scan-form {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:12px;
    align-items:end;
}
.inventory-big-scan-form input {
    min-height:66px;
    font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
    font-size:25px;
    font-weight:900;
    letter-spacing:.03em;
}
.inventory-big-scan-form button { min-height:66px; }
.inventory-next-info {
    margin-top:12px;
    padding:13px 15px;
    border:1px solid #dbe1e7;
    border-radius:10px;
    background:#f8fafc;
    font-size:10px;
}
.inventory-double-check {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    margin-bottom:12px;
}
.inventory-expected-card { border-top:4px solid #17191d; }
.inventory-result-card { border-top:4px solid #64748b; }
.inventory-expected-card > small,
.inventory-result-card > small {
    display:block;
    color:#667085;
    font-size:8px;
    font-weight:900;
    letter-spacing:.1em;
}
.inventory-expected-card h2,
.inventory-result-card h2 { margin:7px 0 4px; }
.inventory-expected-card p,
.inventory-result-card p { margin:5px 0 0; color:#667085; font-size:10px; }
.inventory-expected-card > strong {
    font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
    font-size:16px;
}
.inventory-good-text { color:#166534; }
.inventory-bad-text { color:#991b1b; }
.inventory-empty-actions {
    display:flex;
    gap:9px;
    align-items:center;
    flex-wrap:wrap;
    margin-top:12px;
}
.inventory-empty-actions span { color:#667085; font-size:9px; }
.inventory-action-form {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin-top:14px;
    padding:13px 15px;
    border:1px solid #fde68a;
    border-radius:10px;
    background:#fffbeb;
}
.inventory-action-form strong,
.inventory-action-form span { display:block; }
.inventory-action-form strong { font-size:10px; color:#92400e; }
.inventory-action-form span { margin-top:3px; color:#786642; font-size:9px; line-height:1.5; }
.inventory-item-actions {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    margin-top:14px;
}
.inventory-item-actions form {
    padding:12px;
    border:1px solid #e2e5e9;
    border-radius:10px;
    background:#fafbfc;
}
.inventory-item-actions label { margin-bottom:8px; }
.inventory-location-incident {
    display:flex;
    gap:10px;
    align-items:flex-start;
    padding:10px 0;
    border-bottom:1px solid #edf0f2;
}
.inventory-location-incident:last-child { border-bottom:0; }
.inventory-location-incident p { margin:1px 0 0; font-size:10px; line-height:1.5; }
.inventory-next-button { margin-top:12px; text-align:right; }
.button-danger {
    background:#b42318;
    border-color:#b42318;
    color:#fff;
}
.button-danger:hover { background:#8f1c14; border-color:#8f1c14; }

@media (max-width: 900px) {
    .inventory-incident-row { grid-template-columns:auto 1fr 1fr; }
    .inventory-incident-row > span:nth-of-type(2) { grid-column:auto; }
    .inventory-incident-row > span:nth-of-type(3) { grid-column:1 / -1; }
    .inventory-incident-card-head { grid-template-columns:auto 1fr; }
    .inventory-resolution-form { grid-template-columns:1fr; }
    .inventory-scope-grid,
    .inventory-double-check,
    .inventory-item-actions { grid-template-columns:1fr; }
}
@media (max-width: 700px) {
    .inventory-big-scan-form { grid-template-columns:1fr; }
    .inventory-big-scan-form button { min-height:50px; }
    .inventory-progress-head,
    .inventory-action-form { align-items:flex-start; flex-direction:column; }
    .inventory-incident-row { grid-template-columns:1fr; }
}


/* PALALOG 0.9.2 – Sammelbestätigung leerer Inventurplätze */
.inventory-complete-action-wrap {
    flex-wrap:wrap;
}

.palalog-confirm-backdrop {
    position:fixed;
    inset:0;
    z-index:9999;
    display:grid;
    place-items:center;
    padding:20px;
    background:rgba(17,19,24,.58);
    backdrop-filter:blur(3px);
}

.palalog-confirm-backdrop[hidden] {
    display:none;
}

.palalog-confirm-dialog {
    width:min(100%,560px);
    padding:24px;
    border-radius:16px;
    background:#fff;
    box-shadow:0 24px 70px rgba(0,0,0,.28);
}

.palalog-confirm-icon {
    display:grid;
    place-items:center;
    width:46px;
    height:46px;
    margin-bottom:14px;
    border-radius:50%;
    background:#fef3c7;
    color:#92400e;
    font-size:22px;
    font-weight:900;
}

.palalog-confirm-dialog h2 {
    margin:0 0 8px;
}

.palalog-confirm-dialog > p {
    margin:0 0 14px;
    color:#667085;
    line-height:1.55;
}

.palalog-confirm-actions {
    display:flex;
    justify-content:flex-end;
    gap:10px;
    margin-top:18px;
}

@media (max-width:520px) {
    .palalog-confirm-actions {
        flex-direction:column-reverse;
    }

    .palalog-confirm-actions .button {
        width:100%;
    }
}


/* PALALOG 0.9.3 – Inventur gesammelt abschließen */
.inventory-finish-breakdown {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin:14px 0;
}
.inventory-finish-breakdown > div {
    padding:14px;
    border:1px solid #e2e5e9;
    border-radius:11px;
    background:#fafbfc;
}
.inventory-finish-breakdown small,
.inventory-finish-breakdown strong,
.inventory-finish-breakdown span { display:block; }
.inventory-finish-breakdown small {
    color:#667085;
    font-size:8px;
    font-weight:900;
    letter-spacing:.08em;
}
.inventory-finish-breakdown strong {
    margin:6px 0 3px;
    font-size:26px;
}
.inventory-finish-breakdown span {
    color:#667085;
    font-size:9px;
    line-height:1.45;
}
@media (max-width:520px) {
    .inventory-finish-breakdown { grid-template-columns:1fr; }
}


/* PALALOG 0.9.4 – zentrale Preise & automatische Preisklassen */
.pricing-rule-info {
    border-top:4px solid #17191d;
}
.pricing-rule-info > p {
    max-width:980px;
    margin:0;
    color:#667085;
    font-size:10.5px;
    line-height:1.65;
}
.pricing-example {
    display:flex;
    gap:10px;
    align-items:center;
    margin-top:13px;
    padding:12px 14px;
    border:1px solid #dfe3e8;
    border-radius:10px;
    background:#f8fafc;
}
.pricing-example strong { font-size:10px; }
.pricing-example span { color:#667085; font-size:9.5px; }

.pricing-table input[type="checkbox"] {
    width:18px;
    height:18px;
}
.pricing-input {
    width:105px;
    min-height:36px;
    padding:7px 9px;
}
.pricing-input-small { width:76px; }

.pricing-calculator-form {
    display:grid;
    grid-template-columns:1.4fr repeat(4,minmax(110px,1fr)) auto;
    gap:10px;
    align-items:end;
}
.pricing-calculator-form label {
    margin:0;
}
.pricing-calculator-form button {
    min-height:42px;
}

.transport-price-result {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    margin-top:18px;
}
.transport-price-result > div {
    padding:15px;
    border:1px solid #e2e5e9;
    border-radius:11px;
    background:#fafbfc;
}
.transport-price-result small,
.transport-price-result strong {
    display:block;
}
.transport-price-result small {
    color:#667085;
    font-size:8px;
    font-weight:900;
    letter-spacing:.09em;
}
.transport-price-result strong {
    margin-top:5px;
    font-size:22px;
}

.pricing-breakdown {
    display:grid;
    gap:7px;
    margin-top:10px;
}
.pricing-breakdown > div {
    display:flex;
    justify-content:space-between;
    gap:14px;
    align-items:center;
    padding:10px 12px;
    border-bottom:1px solid #edf0f2;
}
.pricing-breakdown span > strong,
.pricing-breakdown span > small {
    display:block;
}
.pricing-breakdown span > strong { font-size:10px; }
.pricing-breakdown span > small { margin-top:2px; color:#667085; font-size:9px; }

.pricing-sticky-save {
    position:sticky;
    bottom:12px;
    z-index:30;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    margin-top:14px;
    padding:12px 14px;
    border:1px solid #dfe3e8;
    border-radius:12px;
    background:rgba(255,255,255,.96);
    box-shadow:0 12px 32px rgba(17,19,24,.12);
    backdrop-filter:blur(8px);
}
.pricing-sticky-save span {
    color:#667085;
    font-size:9.5px;
}
.pricing-preview-panel {
    border-top:4px solid #16a34a;
}

@media (max-width:1100px) {
    .pricing-calculator-form {
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}
@media (max-width:700px) {
    .pricing-calculator-form,
    .transport-price-result {
        grid-template-columns:1fr;
    }
    .pricing-example,
    .pricing-sticky-save {
        align-items:flex-start;
        flex-direction:column;
    }
    .pricing-sticky-save .button {
        width:100%;
    }
}


/* PALALOG 0.9.5 – Übersicht zuletzt eingelagerter Packstücke */
.stored-inventory-search-panel {
    border-top:3px solid #17191d;
}
.stored-inventory-filter {
    display:grid;
    grid-template-columns:minmax(260px,2.2fr) repeat(4,minmax(140px,1fr));
    gap:10px;
    align-items:end;
}
.stored-inventory-filter label {
    margin:0;
}
.stored-inventory-filter label > span {
    display:block;
    margin-bottom:5px;
    color:#667085;
    font-size:8px;
    font-weight:900;
    letter-spacing:.08em;
}
.stored-inventory-search input {
    min-width:0;
}
.stored-inventory-filter-actions {
    grid-column:1 / -1;
    display:flex;
    justify-content:flex-end;
    gap:9px;
    margin-top:2px;
}
.stored-inventory-table .stored-at-cell strong,
.stored-inventory-table .stored-at-cell small {
    display:block;
}
.stored-inventory-table .stored-at-cell small {
    margin-top:2px;
    color:#667085;
    font-size:9px;
}
.stored-inventory-warning {
    color:#991b1b !important;
    font-weight:800;
}
.stored-inventory-actions {
    display:flex;
    justify-content:flex-end;
    gap:5px;
    white-space:nowrap;
}

@media (max-width:1200px) {
    .stored-inventory-filter {
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
    .stored-inventory-search {
        grid-column:span 2;
    }
}
@media (max-width:760px) {
    .stored-inventory-filter {
        grid-template-columns:1fr;
    }
    .stored-inventory-search {
        grid-column:auto;
    }
    .stored-inventory-filter-actions {
        flex-direction:column;
    }
    .stored-inventory-filter-actions .button {
        width:100%;
    }
}


/* PALALOG 0.9.6 – Wareneingangsfoto */
.inbound-photo-panel {
    margin-top:14px;
    border-top:4px solid #17191d;
}
.inbound-photo-layout {
    display:grid;
    grid-template-columns:minmax(260px,.9fr) minmax(320px,1.2fr);
    gap:18px;
    align-items:start;
}
.inbound-photo-preview {
    display:grid;
    place-items:center;
    min-height:260px;
    overflow:hidden;
    border:1px solid #dfe3e8;
    border-radius:13px;
    background:#f6f7f9;
}
.inbound-photo-preview img {
    display:block;
    width:100%;
    max-height:520px;
    object-fit:contain;
    background:#f6f7f9;
}
.inbound-photo-placeholder {
    max-width:320px;
    padding:28px;
    text-align:center;
}
.inbound-photo-placeholder strong,
.inbound-photo-placeholder span {
    display:block;
}
.inbound-photo-placeholder strong {
    font-size:13px;
}
.inbound-photo-placeholder span {
    margin-top:7px;
    color:#667085;
    font-size:9.5px;
    line-height:1.55;
}
.inbound-photo-controls {
    display:grid;
    gap:12px;
}
.inbound-photo-meta {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
}
.inbound-photo-meta > div {
    padding:11px;
    border:1px solid #e3e6ea;
    border-radius:10px;
    background:#fafbfc;
}
.inbound-photo-meta small,
.inbound-photo-meta strong {
    display:block;
}
.inbound-photo-meta small {
    color:#667085;
    font-size:8px;
    font-weight:900;
    letter-spacing:.08em;
}
.inbound-photo-meta strong {
    margin-top:4px;
    font-size:10px;
}
.inbound-photo-form {
    display:grid;
    gap:9px;
}
.inbound-photo-file-button {
    display:block;
    margin:0;
}
.inbound-photo-file-button input {
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    opacity:0;
    pointer-events:none;
}
.inbound-photo-file-button .button {
    display:flex;
    width:100%;
    justify-content:center;
}
.inbound-photo-selected {
    padding:10px 12px;
    border:1px solid #dfe3e8;
    border-radius:9px;
    background:#f8fafc;
}
.inbound-photo-selected strong,
.inbound-photo-selected span {
    display:block;
}
.inbound-photo-selected strong {
    font-size:10px;
}
.inbound-photo-selected span {
    margin-top:3px;
    color:#667085;
    font-size:9px;
    line-height:1.45;
}
.inbound-photo-actions {
    display:flex;
    gap:8px;
    flex-wrap:wrap;
}
.stored-inventory-photo-thumb {
    display:block;
    width:58px;
    height:58px;
    overflow:hidden;
    border:1px solid #dfe3e8;
    border-radius:8px;
    background:#f6f7f9;
}
.stored-inventory-photo-thumb img {
    width:100%;
    height:100%;
    object-fit:cover;
}
.stored-inventory-no-photo {
    color:#98a2b3;
}
@media (max-width:900px) {
    .inbound-photo-layout {
        grid-template-columns:1fr;
    }
}
@media (max-width:560px) {
    .inbound-photo-meta {
        grid-template-columns:1fr;
    }
    .inbound-photo-preview {
        min-height:210px;
    }
}


/* PALALOG 0.9.7 – Live-Dashboard & Fehlzustellungs-Neuverplanung */
.dashboard-live-state {
    display:flex;
    align-items:center;
    gap:6px;
    min-height:38px;
    padding:7px 10px;
    border:1px solid #dfe3e8;
    border-radius:9px;
    background:#fff;
}
.dashboard-live-state strong {
    font-size:9px;
    letter-spacing:.08em;
    color:#166534;
}
.dashboard-live-state small {
    color:#667085;
    font-size:8.5px;
}
.dashboard-live-state.is-loading {
    opacity:.72;
}
.dashboard-live-state.is-error strong,
.dashboard-live-state.is-error small {
    color:#991b1b;
}
.dashboard-live-dot {
    display:inline-block;
    flex:0 0 8px;
    width:8px;
    height:8px;
    border-radius:50%;
    background:#16a34a;
    box-shadow:0 0 0 4px rgba(22,163,74,.12);
}
.dashboard-live-dot.is-muted {
    background:#98a2b3;
    box-shadow:none;
}
.dashboard-danger-metric {
    border-color:#fecaca;
    background:#fff7f7;
}
.dashboard-danger-metric strong,
.dashboard-live-bad {
    color:#b42318;
}

.dashboard-failure-panel {
    border-top:4px solid #b42318;
}
.dashboard-failure-list {
    display:grid;
    gap:12px;
}
.dashboard-failure-card {
    padding:15px;
    border:1px solid #f2c7c4;
    border-radius:12px;
    background:#fffafa;
}
.dashboard-failure-head {
    display:grid;
    grid-template-columns:minmax(180px,.8fr) minmax(260px,1.4fr);
    gap:16px;
    align-items:start;
}
.dashboard-failure-head > div:first-child strong,
.dashboard-failure-head > div:first-child small,
.dashboard-failure-address strong,
.dashboard-failure-address span {
    display:block;
}
.dashboard-failure-head > div:first-child > strong {
    margin-top:7px;
    font-size:14px;
}
.dashboard-failure-head > div:first-child > small,
.dashboard-failure-address span {
    margin-top:3px;
    color:#667085;
    font-size:9px;
}
.dashboard-failure-address strong {
    font-size:11px;
}
.dashboard-failure-details {
    display:grid;
    grid-template-columns:.8fr 1.6fr .8fr;
    gap:9px;
    margin-top:13px;
}
.dashboard-failure-details > div {
    padding:10px 11px;
    border:1px solid #f0dddd;
    border-radius:9px;
    background:#fff;
}
.dashboard-failure-details small,
.dashboard-failure-details strong,
.dashboard-failure-details span {
    display:block;
}
.dashboard-failure-details small {
    color:#667085;
    font-size:7.5px;
    font-weight:900;
    letter-spacing:.08em;
}
.dashboard-failure-details strong {
    margin-top:4px;
    font-size:9.5px;
}
.dashboard-failure-details span {
    margin-top:3px;
    color:#667085;
    font-size:8.5px;
}

.dashboard-replan-zone {
    display:grid;
    gap:9px;
    margin-top:13px;
    padding-top:13px;
    border-top:1px solid #f0dddd;
}
.dashboard-tomorrow-candidate {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:11px 12px;
    border:1px solid #bbd7c2;
    border-radius:10px;
    background:#f3fbf5;
}
.dashboard-tomorrow-candidate small,
.dashboard-tomorrow-candidate strong,
.dashboard-tomorrow-candidate em {
    display:block;
}
.dashboard-tomorrow-candidate small {
    color:#57705e;
    font-size:7.5px;
    font-style:normal;
    font-weight:900;
    letter-spacing:.08em;
}
.dashboard-tomorrow-candidate strong {
    margin-top:3px;
    font-size:10px;
}
.dashboard-tomorrow-candidate em {
    margin-top:2px;
    color:#57705e;
    font-size:8.5px;
    font-style:normal;
}
.dashboard-no-tomorrow {
    padding:10px 12px;
    border:1px solid #e4e7eb;
    border-radius:9px;
    background:#fafbfc;
}
.dashboard-no-tomorrow strong,
.dashboard-no-tomorrow span {
    display:block;
}
.dashboard-no-tomorrow strong {
    font-size:9.5px;
}
.dashboard-no-tomorrow span {
    margin-top:3px;
    color:#667085;
    font-size:8.5px;
}
.dashboard-replan-form {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:9px;
    align-items:end;
}
.dashboard-replan-form label {
    margin:0;
}
.dashboard-replan-form select {
    margin-top:4px;
}
.dashboard-all-good {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    border-top:4px solid #16a34a;
}
.dashboard-all-good small {
    color:#667085;
    font-size:8px;
    font-weight:900;
    letter-spacing:.08em;
}
.dashboard-all-good h2 {
    margin:4px 0;
}
.dashboard-all-good p {
    margin:0;
    color:#667085;
    font-size:9.5px;
}

.dashboard-tour-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}
.dashboard-tour-card {
    padding:14px;
    border:1px solid #e2e5e9;
    border-radius:11px;
    background:#fff;
}
.dashboard-tour-head {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
}
.dashboard-tour-head > div strong,
.dashboard-tour-head > div span {
    display:block;
}
.dashboard-tour-head > div strong {
    font-size:12px;
}
.dashboard-tour-head > div span {
    margin-top:2px;
    color:#667085;
    font-size:9px;
}
.dashboard-tour-meta {
    display:flex;
    flex-wrap:wrap;
    gap:7px 12px;
    margin-top:10px;
    color:#667085;
    font-size:8.5px;
}
.dashboard-tour-progress {
    margin-top:11px;
}
.dashboard-tour-progress > div:first-child {
    display:flex;
    justify-content:space-between;
    gap:10px;
    font-size:8.5px;
}
.dashboard-tour-progress > small {
    display:block;
    margin-top:4px;
    color:#667085;
    font-size:8.5px;
}
.dashboard-current-stop {
    margin-top:11px;
    padding:10px 11px;
    border-left:3px solid #17191d;
    border-radius:8px;
    background:#f8fafc;
}
.dashboard-current-stop small,
.dashboard-current-stop strong,
.dashboard-current-stop span {
    display:block;
}
.dashboard-current-stop small {
    color:#667085;
    font-size:7.5px;
    font-weight:900;
    letter-spacing:.08em;
}
.dashboard-current-stop strong {
    margin-top:4px;
    font-size:9.5px;
}
.dashboard-current-stop span {
    margin-top:3px;
    color:#667085;
    font-size:8.5px;
}
.dashboard-gps-state {
    display:flex;
    align-items:center;
    gap:7px;
    margin:11px 0;
    color:#667085;
    font-size:8.5px;
}

@media (max-width:1000px) {
    .dashboard-tour-grid {
        grid-template-columns:1fr;
    }
    .dashboard-failure-details {
        grid-template-columns:1fr;
    }
}
@media (max-width:720px) {
    .dashboard-failure-head {
        grid-template-columns:1fr;
    }
    .dashboard-tomorrow-candidate,
    .dashboard-all-good {
        align-items:flex-start;
        flex-direction:column;
    }
    .dashboard-replan-form {
        grid-template-columns:1fr;
    }
    .dashboard-tomorrow-candidate .button,
    .dashboard-replan-form .button {
        width:100%;
    }
}


/* PALALOG 0.9.8 – aktive Zustellungen & Zustellprobleme */
.driver-live-problem-panel {
    margin-top:14px;
    border-top:4px solid #d97706;
}
.driver-problem-form {
    display:grid;
    grid-template-columns:minmax(180px,.7fr) minmax(260px,1.5fr) auto;
    gap:10px;
    align-items:end;
}
.driver-problem-form label {
    margin:0;
}
.dashboard-live-delivery-panel {
    border-top:4px solid #d97706;
}
.dashboard-live-delivery-badges {
    display:flex;
    gap:7px;
    flex-wrap:wrap;
}
.dashboard-reported-issues {
    display:grid;
    gap:9px;
    margin-bottom:14px;
}
.dashboard-reported-issue {
    display:flex;
    justify-content:space-between;
    gap:16px;
    align-items:center;
    padding:13px 14px;
    border:1px solid #fecaca;
    border-radius:10px;
    background:#fff7f7;
}
.dashboard-reported-issue > div:first-child > strong,
.dashboard-reported-issue > div:first-child > small {
    display:block;
}
.dashboard-reported-issue > div:first-child > strong {
    margin-top:6px;
    font-size:10.5px;
}
.dashboard-reported-issue p {
    margin:5px 0;
    color:#7f1d1d;
    font-size:9.5px;
    line-height:1.5;
}
.dashboard-reported-issue > div:first-child > small {
    color:#667085;
    font-size:8.5px;
}
.dashboard-issue-actions {
    display:flex;
    gap:7px;
    flex-wrap:wrap;
    justify-content:flex-end;
}
.dashboard-issue-actions form {
    margin:0;
}
.dashboard-live-delivery-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}
.dashboard-live-delivery-card {
    padding:13px;
    border:1px solid #e2e5e9;
    border-radius:10px;
    background:#fff;
}
.dashboard-live-delivery-card.is-delayed {
    border-color:#fed7aa;
    background:#fffaf3;
}
.dashboard-live-delivery-card.has-issue {
    border-color:#fecaca;
    background:#fff7f7;
}
.dashboard-live-delivery-head {
    display:flex;
    justify-content:space-between;
    gap:10px;
    align-items:flex-start;
}
.dashboard-live-delivery-head > div strong,
.dashboard-live-delivery-head > div span {
    display:block;
}
.dashboard-live-delivery-head > div strong {
    font-size:11px;
}
.dashboard-live-delivery-head > div span {
    margin-top:2px;
    color:#667085;
    font-size:9px;
}
.dashboard-live-delivery-card > p {
    margin:9px 0;
    color:#475467;
    font-size:9px;
}
.dashboard-live-delivery-meta {
    display:flex;
    flex-wrap:wrap;
    gap:6px 12px;
    margin-bottom:10px;
    color:#667085;
    font-size:8.5px;
}
.dashboard-live-issue-text,
.dashboard-live-warning {
    margin:10px 0;
    padding:9px 10px;
    border-radius:8px;
    font-size:8.8px;
    line-height:1.5;
}
.dashboard-live-issue-text {
    border:1px solid #fecaca;
    background:#fff;
    color:#7f1d1d;
}
.dashboard-live-issue-text strong,
.dashboard-live-issue-text span {
    display:block;
}
.dashboard-live-issue-text span {
    margin-top:3px;
}
.dashboard-live-warning {
    border:1px solid #fed7aa;
    background:#fff;
    color:#9a3412;
}
@media (max-width:900px) {
    .dashboard-live-delivery-grid {
        grid-template-columns:1fr;
    }
    .driver-problem-form {
        grid-template-columns:1fr;
    }
}
@media (max-width:650px) {
    .dashboard-reported-issue {
        align-items:flex-start;
        flex-direction:column;
    }
    .dashboard-issue-actions,
    .dashboard-issue-actions .button,
    .dashboard-issue-actions form {
        width:100%;
    }
}


/* PALALOG 0.9.9 – Branding & Landing V2 */
.landing-v2-header {
    position:relative;
    z-index:20;
    border-bottom:1px solid rgba(17,19,24,.06);
    background:rgba(255,255,255,.94);
    backdrop-filter:blur(12px);
}
.landing-v2-header nav {
    gap:20px;
}
.landing-v2 {
    overflow:hidden;
}
.landing-v2-hero {
    max-width:1440px;
    min-height:720px;
    margin:0 auto;
    padding:74px 44px 96px;
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(460px,.95fr);
    gap:74px;
    align-items:center;
}
.landing-v2-hero h1 {
    margin:18px 0 26px;
    max-width:820px;
    font-size:clamp(52px,5.4vw,84px);
    line-height:.97;
    letter-spacing:-.058em;
}
.landing-v2-hero h1 em {
    color:var(--red);
    font-style:normal;
}
.landing-v2-lead {
    max-width:760px;
    margin:0;
    color:var(--ink-soft);
    font-size:18px;
    line-height:1.78;
}
.landing-v2-trustline {
    margin-top:30px;
    display:flex;
    flex-wrap:wrap;
    gap:10px 18px;
    color:#5f6773;
    font-size:12px;
    font-weight:750;
}
.landing-v2-live-card {
    position:relative;
    padding:24px;
    border-radius:26px;
    color:#fff;
    background:
        radial-gradient(circle at 85% 15%, rgba(169,0,0,.32), transparent 28%),
        linear-gradient(145deg,#171b22,#0b0e12);
    box-shadow:0 40px 90px rgba(17,19,24,.24);
}
.landing-v2-live-card:before {
    content:"";
    position:absolute;
    inset:0;
    border-radius:26px;
    pointer-events:none;
    background-image:
        linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.025) 1px, transparent 1px);
    background-size:28px 28px;
}
.landing-v2-live-card > * {
    position:relative;
    z-index:1;
}
.landing-v2-live-head {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding-bottom:18px;
    border-bottom:1px solid rgba(255,255,255,.09);
}
.landing-v2-live-head > div {
    display:flex;
    align-items:center;
    gap:12px;
}
.landing-v2-live-head img {
    width:150px;
    padding:6px 9px;
    border-radius:7px;
    background:#fff;
}
.landing-v2-live-head > div span {
    color:#b7bec9;
    font-size:11px;
}
.landing-v2-live-head > strong {
    display:flex;
    align-items:center;
    gap:7px;
    color:#dff9e6;
    font-size:10px;
    letter-spacing:.12em;
}
.landing-v2-live-head > strong i {
    width:8px;
    height:8px;
    border-radius:50%;
    background:#22c55e;
    box-shadow:0 0 0 4px rgba(34,197,94,.12);
}
.landing-v2-live-summary {
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:14px;
    padding:24px 0 17px;
}
.landing-v2-live-summary small {
    display:block;
    color:#8f98a6;
    font-size:9px;
    font-weight:850;
    letter-spacing:.12em;
}
.landing-v2-live-summary > div:first-child > strong {
    display:inline-block;
    margin-top:5px;
    font-size:48px;
    line-height:1;
}
.landing-v2-live-summary > div:first-child > span {
    margin-left:7px;
    color:#9ca5b2;
    font-size:11px;
}
.landing-v2-live-status {
    display:grid;
    gap:8px;
    align-content:center;
}
.landing-v2-live-status span {
    display:flex;
    justify-content:space-between;
    gap:10px;
    padding:9px 10px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:9px;
    color:#adb5c0;
    font-size:10px;
}
.landing-v2-live-status b {
    color:#fff;
}
.landing-v2-live-list {
    display:grid;
    gap:8px;
}
.landing-v2-live-list article {
    display:grid;
    grid-template-columns:42px minmax(0,1fr) auto;
    gap:11px;
    align-items:center;
    padding:11px;
    border:1px solid rgba(255,255,255,.07);
    border-radius:11px;
    background:rgba(255,255,255,.035);
}
.landing-v2-live-list article > div:nth-child(2) strong,
.landing-v2-live-list article > div:nth-child(2) span {
    display:block;
}
.landing-v2-live-list article > div:nth-child(2) strong {
    font-size:10px;
}
.landing-v2-live-list article > div:nth-child(2) span {
    margin-top:2px;
    color:#8f98a6;
    font-size:8.5px;
}
.landing-v2-live-list article > b {
    font-size:10px;
}
.landing-v2-item-icon {
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius:9px;
    background:rgba(169,0,0,.25);
    color:#ffb5b5;
    font-size:9px;
    font-weight:900;
}
.landing-v2-item-icon.pallet {
    background:rgba(255,255,255,.08);
    color:#fff;
}
.landing-v2-item-icon.route {
    background:rgba(34,197,94,.12);
    color:#86efac;
}
.landing-v2-live-text {
    color:#86efac;
}
.landing-v2-live-foot {
    margin-top:16px;
    padding-top:15px;
    border-top:1px solid rgba(255,255,255,.08);
    display:flex;
    justify-content:space-between;
    gap:10px;
    color:#8f98a6;
    font-size:8px;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.landing-v2-definition {
    min-height:112px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:22px;
    padding:26px 44px;
    color:#fff;
    background:#111318;
}
.landing-v2-definition > div:not(.landing-v2-definition-brand) {
    display:flex;
    align-items:baseline;
    gap:7px;
}
.landing-v2-definition strong {
    color:#fff;
    font-size:26px;
    letter-spacing:-.04em;
}
.landing-v2-definition span {
    color:#8f98a6;
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.1em;
}
.landing-v2-definition i {
    color:#59616d;
    font-style:normal;
    font-size:17px;
}
.landing-v2-definition-brand {
    color:#d72626;
    font-size:28px;
    font-weight:900;
    letter-spacing:-.04em;
}

.landing-v2-section {
    max-width:1440px;
    margin:0 auto;
    padding:104px 44px;
}
.landing-v2-section-intro {
    max-width:860px;
    margin-bottom:45px;
}
.landing-v2-section-intro h2 {
    margin:15px 0 17px;
    font-size:clamp(34px,4vw,58px);
    line-height:1.03;
    letter-spacing:-.045em;
}
.landing-v2-section-intro > p {
    max-width:780px;
    margin:0;
    color:var(--ink-soft);
    font-size:16px;
    line-height:1.8;
}
.landing-v2-three {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:15px;
}
.landing-v2-feature-card {
    min-height:390px;
    padding:28px;
    border:1px solid var(--line);
    border-radius:18px;
    background:#fff;
    box-shadow:0 14px 42px rgba(17,19,24,.045);
}
.landing-v2-step {
    display:inline-flex;
    width:38px;
    height:38px;
    align-items:center;
    justify-content:center;
    border-radius:10px;
    color:#fff;
    background:#111318;
    font-size:10px;
    font-weight:900;
}
.landing-v2-feature-card h3 {
    margin:25px 0 12px;
    font-size:23px;
    letter-spacing:-.025em;
}
.landing-v2-feature-card p {
    margin:0;
    color:#5d6571;
    font-size:14px;
    line-height:1.75;
}
.landing-v2-feature-card ul,
.landing-v2-transport-grid ul {
    margin:22px 0 0;
    padding:0;
    list-style:none;
    display:grid;
    gap:8px;
}
.landing-v2-feature-card li,
.landing-v2-transport-grid li {
    position:relative;
    padding-left:19px;
    color:#3e4653;
    font-size:12px;
    font-weight:650;
}
.landing-v2-feature-card li:before,
.landing-v2-transport-grid li:before {
    content:"✓";
    position:absolute;
    left:0;
    color:var(--red);
    font-weight:900;
}

.landing-v2-benefits-section {
    max-width:none;
    padding-left:max(44px,calc((100vw - 1352px)/2));
    padding-right:max(44px,calc((100vw - 1352px)/2));
    color:#fff;
    background:#111318;
}
.landing-v2-section-intro-light .eyebrow,
.landing-v2-section-intro-light > p {
    color:#aeb6c1;
}
.landing-v2-section-intro-light h2 {
    color:#fff;
}
.landing-v2-benefit-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:1px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.1);
    border-radius:18px;
    background:rgba(255,255,255,.1);
}
.landing-v2-benefit-grid article {
    min-height:250px;
    padding:26px;
    background:#15181e;
}
.landing-v2-benefit-grid article > strong {
    color:#d72626;
    font-size:10px;
    letter-spacing:.12em;
}
.landing-v2-benefit-grid h3 {
    margin:18px 0 11px;
    font-size:20px;
}
.landing-v2-benefit-grid p {
    margin:0;
    color:#a6aeba;
    font-size:13px;
    line-height:1.7;
}

.landing-v2-process {
    display:grid;
    gap:0;
    border-top:1px solid var(--line);
}
.landing-v2-process article {
    display:grid;
    grid-template-columns:72px minmax(0,1fr);
    gap:22px;
    padding:25px 0;
    border-bottom:1px solid var(--line);
}
.landing-v2-process article > b {
    width:46px;
    height:46px;
    display:grid;
    place-items:center;
    border-radius:50%;
    color:#fff;
    background:#111318;
    font-size:11px;
}
.landing-v2-process h3 {
    margin:0 0 5px;
    font-size:19px;
}
.landing-v2-process p {
    max-width:820px;
    margin:0;
    color:#667085;
    font-size:13px;
    line-height:1.7;
}

.landing-v2-digital-section {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(420px,.82fr);
    gap:70px;
    align-items:center;
    border-top:1px solid #f0f1f3;
}
.landing-v2-digital-copy h2 {
    margin:15px 0 18px;
    font-size:clamp(36px,4vw,58px);
    line-height:1.03;
    letter-spacing:-.045em;
}
.landing-v2-digital-copy > p {
    color:#525b68;
    font-size:15px;
    line-height:1.8;
}
.landing-v2-checks {
    margin-top:26px;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}
.landing-v2-checks span {
    padding:12px 13px;
    border:1px solid var(--line);
    border-radius:9px;
    background:#fafbfc;
    font-size:11px;
    font-weight:700;
}
.landing-v2-checks span:before {
    content:"✓";
    margin-right:8px;
    color:var(--red);
}
.landing-v2-digital-panel {
    padding:22px;
    border:1px solid #e2e5e9;
    border-radius:20px;
    background:#f8fafc;
    box-shadow:0 24px 64px rgba(17,19,24,.08);
}
.landing-v2-digital-top {
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:center;
    padding-bottom:16px;
    border-bottom:1px solid #e2e5e9;
    font-size:11px;
    font-weight:800;
}
.landing-v2-digital-top b {
    color:#166534;
    font-size:9px;
}
.landing-v2-digital-kpis {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
    margin:16px 0;
}
.landing-v2-digital-kpis > div {
    padding:13px;
    border:1px solid #e2e5e9;
    border-radius:10px;
    background:#fff;
}
.landing-v2-digital-kpis small,
.landing-v2-digital-kpis strong {
    display:block;
}
.landing-v2-digital-kpis small {
    color:#7b8490;
    font-size:7px;
    font-weight:900;
    letter-spacing:.08em;
}
.landing-v2-digital-kpis strong {
    margin-top:6px;
    font-size:25px;
}
.landing-v2-digital-row {
    display:flex;
    justify-content:space-between;
    gap:12px;
    padding:11px 3px;
    border-top:1px solid #e5e7eb;
    font-size:9px;
}
.landing-v2-digital-row b {
    color:#166534;
}
.landing-v2-digital-row b.warn {
    color:#9a3412;
}

.landing-v2-transport-section {
    border-top:1px solid #f0f1f3;
}
.landing-v2-transport-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
}
.landing-v2-transport-grid article {
    padding:30px;
    border:1px solid var(--line);
    border-radius:18px;
    background:#fff;
}
.landing-v2-transport-grid article > span {
    color:var(--red);
    font-size:9px;
    font-weight:900;
    letter-spacing:.12em;
}
.landing-v2-transport-grid h3 {
    margin:12px 0 10px;
    font-size:24px;
}
.landing-v2-transport-grid p {
    margin:0;
    color:#5c6572;
    font-size:14px;
    line-height:1.7;
}

.landing-v2-experience {
    max-width:1440px;
    margin:0 auto 104px;
    padding:58px 44px;
    display:grid;
    grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);
    gap:60px;
    align-items:center;
    border-radius:24px;
    color:#fff;
    background:#111318;
}
.landing-v2-experience-copy h2 {
    margin:15px 0 16px;
    max-width:900px;
    font-size:clamp(30px,3.4vw,48px);
    line-height:1.05;
    letter-spacing:-.04em;
}
.landing-v2-experience-copy p {
    max-width:760px;
    margin:0;
    color:#aeb6c1;
    font-size:14px;
    line-height:1.75;
}
.landing-v2-experience .eyebrow {
    color:#9ca5b2;
}
.landing-v2-experience blockquote {
    margin:0;
    padding:30px;
    border-left:4px solid var(--red);
    color:#fff;
    font-size:clamp(28px,3vw,44px);
    font-weight:850;
    line-height:1.1;
    letter-spacing:-.04em;
}

.landing-v2-cta {
    max-width:1352px;
    margin:0 auto 100px;
    padding:34px;
    display:grid;
    grid-template-columns:190px minmax(0,1fr) auto;
    gap:30px;
    align-items:center;
    border:1px solid var(--line);
    border-radius:20px;
    background:#f8fafc;
}
.landing-v2-cta > img {
    width:180px;
}
.landing-v2-cta h2 {
    margin:10px 0 7px;
    font-size:28px;
    line-height:1.15;
    letter-spacing:-.035em;
}
.landing-v2-cta p {
    margin:0;
    color:#667085;
    font-size:12px;
}
.landing-v2-cta-actions {
    display:flex;
    gap:8px;
    flex-direction:column;
}
.landing-v2-footer {
    align-items:center;
}
.landing-v2-footer > div img {
    width:190px;
}
.landing-v2-footer > div span {
    display:block;
    margin-top:5px;
    color:#667085;
    font-size:9px;
    letter-spacing:.08em;
}
.landing-v2-footer p {
    max-width:520px;
    margin:0;
    color:#667085;
    font-size:11px;
}

.palalog-error-page {
    min-height:100vh;
    display:grid;
    place-content:center;
    padding:30px 20px;
    background:#f5f6f8;
}
.palalog-error-logo {
    display:block;
    width:230px;
    margin:0 auto 22px;
}
.palalog-error-card {
    width:min(620px,calc(100vw - 40px));
    padding:34px;
    border:1px solid var(--line);
    border-radius:18px;
    background:#fff;
    box-shadow:var(--shadow);
}
.palalog-error-card h1 {
    margin:13px 0 11px;
    font-size:32px;
    letter-spacing:-.035em;
}
.palalog-error-card p {
    margin:0 0 24px;
    color:#667085;
    line-height:1.7;
}

@media (max-width:1120px) {
    .landing-v2-header nav > a:not(.button) {
        display:none;
    }
    .landing-v2-hero {
        grid-template-columns:1fr;
        min-height:auto;
        gap:50px;
    }
    .landing-v2-live-card {
        max-width:760px;
    }
    .landing-v2-three,
    .landing-v2-benefit-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .landing-v2-digital-section {
        grid-template-columns:1fr;
    }
    .landing-v2-digital-panel {
        max-width:720px;
    }
    .landing-v2-cta {
        grid-template-columns:150px minmax(0,1fr);
    }
    .landing-v2-cta-actions {
        grid-column:2;
        flex-direction:row;
    }
}
@media (max-width:760px) {
    .landing-v2-header {
        padding:16px 20px;
    }
    .landing-v2-header .brand img {
        width:176px;
    }
    .landing-v2-header nav {
        gap:7px;
    }
    .landing-v2-header nav .button-ghost {
        display:none;
    }
    .landing-v2-hero,
    .landing-v2-section {
        padding-left:20px;
        padding-right:20px;
    }
    .landing-v2-hero {
        padding-top:50px;
        padding-bottom:65px;
    }
    .landing-v2-hero h1 {
        font-size:46px;
    }
    .landing-v2-lead {
        font-size:16px;
    }
    .landing-v2-definition {
        justify-content:flex-start;
        gap:10px;
        padding:22px 20px;
        flex-wrap:wrap;
    }
    .landing-v2-definition > div:not(.landing-v2-definition-brand) {
        width:auto;
    }
    .landing-v2-definition-brand {
        width:100%;
    }
    .landing-v2-three,
    .landing-v2-benefit-grid,
    .landing-v2-transport-grid {
        grid-template-columns:1fr;
    }
    .landing-v2-benefits-section {
        padding-left:20px;
        padding-right:20px;
    }
    .landing-v2-process article {
        grid-template-columns:52px minmax(0,1fr);
        gap:14px;
    }
    .landing-v2-checks {
        grid-template-columns:1fr;
    }
    .landing-v2-experience {
        margin:0 20px 72px;
        padding:34px 24px;
        grid-template-columns:1fr;
        gap:32px;
        border-radius:18px;
    }
    .landing-v2-cta {
        margin:0 20px 70px;
        padding:24px;
        grid-template-columns:1fr;
    }
    .landing-v2-cta > img {
        width:165px;
    }
    .landing-v2-cta-actions {
        grid-column:auto;
        flex-direction:column;
    }
}
@media (max-width:520px) {
    .landing-v2-hero h1 {
        font-size:39px;
    }
    .landing-v2-live-head > div span {
        display:none;
    }
    .landing-v2-live-head img {
        width:128px;
    }
    .landing-v2-live-summary {
        grid-template-columns:1fr;
    }
    .landing-v2-live-foot {
        flex-direction:column;
    }
    .landing-v2-digital-kpis {
        grid-template-columns:1fr;
    }
}


/* PALALOG 0.10.0 – Kundenportal & Packstück-Detail */
.customer-portal-head {
    align-items:flex-start;
}
.customer-live-state {
    display:flex;
    align-items:center;
    gap:6px;
    min-height:40px;
    padding:7px 10px;
    border:1px solid var(--line);
    border-radius:9px;
    background:#fff;
}
.customer-live-state strong {
    color:#166534;
    font-size:9px;
    letter-spacing:.08em;
}
.customer-live-state small {
    color:var(--muted);
    font-size:8.5px;
}
.customer-live-state.is-loading {
    opacity:.7;
}
.customer-live-state.is-error strong,
.customer-live-state.is-error small {
    color:var(--danger);
}
.customer-dashboard-search {
    margin-bottom:16px;
    border-top:4px solid #111318;
}
.customer-dashboard-search form {
    display:grid;
    grid-template-columns:minmax(210px,.7fr) minmax(300px,1.6fr) auto;
    gap:12px;
    align-items:end;
}
.customer-dashboard-search form > div small,
.customer-dashboard-search form > div strong {
    display:block;
}
.customer-dashboard-search form > div small {
    color:var(--muted);
    font-size:8px;
    font-weight:900;
    letter-spacing:.1em;
}
.customer-dashboard-search form > div strong {
    margin-top:4px;
    font-size:12px;
}
.customer-live-metrics {
    grid-template-columns:repeat(6,minmax(0,1fr));
}
.customer-metric-attention {
    border-color:#fed7aa;
    background:#fffaf5;
}
.customer-dashboard-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
    align-items:start;
    margin-top:16px;
}
.customer-dashboard-panel {
    margin:0;
}
.customer-recent-inventory,
.customer-logistics-list,
.customer-compact-list {
    display:grid;
    gap:7px;
}
.customer-recent-item {
    display:grid;
    grid-template-columns:60px minmax(0,1fr) auto;
    gap:11px;
    align-items:center;
    padding:9px;
    border:1px solid #edf0f2;
    border-radius:10px;
    transition:.15s ease;
}
.customer-recent-item:hover,
.customer-logistics-row:hover,
.customer-compact-list > a:hover {
    border-color:#d5d9df;
    background:#fafbfc;
}
.customer-recent-photo {
    width:60px;
    height:60px;
    display:grid;
    place-items:center;
    overflow:hidden;
    border-radius:8px;
    background:#f0f2f5;
}
.customer-recent-photo img {
    width:100%;
    height:100%;
    object-fit:cover;
}
.customer-recent-photo span {
    color:#727b87;
    font-size:10px;
    font-weight:900;
}
.customer-recent-copy strong,
.customer-recent-copy b,
.customer-recent-copy small {
    display:block;
}
.customer-recent-copy strong {
    font-size:9px;
}
.customer-recent-copy b {
    margin-top:4px;
    color:var(--ink);
    font-size:10.5px;
}
.customer-recent-copy small {
    margin-top:4px;
    color:var(--muted);
    font-size:8.5px;
}
.customer-recent-side {
    display:grid;
    justify-items:end;
    gap:5px;
}
.customer-recent-side small {
    color:var(--muted);
    font-size:8px;
}
.customer-logistics-row,
.customer-compact-list > a {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:11px 10px;
    border:1px solid #edf0f2;
    border-radius:9px;
}
.customer-logistics-row > div:first-child strong,
.customer-logistics-row > div:first-child small,
.customer-compact-list > a span:first-child strong,
.customer-compact-list > a span:first-child small {
    display:block;
}
.customer-logistics-row > div:first-child strong,
.customer-compact-list > a span:first-child strong {
    font-size:9.5px;
}
.customer-logistics-row > div:first-child small,
.customer-compact-list > a span:first-child small {
    margin-top:3px;
    color:var(--muted);
    font-size:8.5px;
}
.customer-logistics-state {
    display:grid;
    justify-items:end;
    gap:4px;
}
.customer-logistics-state > small {
    color:var(--muted);
    font-size:8px;
}
.customer-live-label {
    color:#166534 !important;
    font-weight:800;
}
.customer-live-callout {
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    gap:10px;
    align-items:center;
    margin-top:12px;
    padding:11px 12px;
    border:1px solid #bbf7d0;
    border-radius:9px;
    background:#f0fdf4;
}
.customer-live-callout strong,
.customer-live-callout small {
    display:block;
}
.customer-live-callout strong {
    color:#166534;
    font-size:9.5px;
}
.customer-live-callout small {
    margin-top:2px;
    color:#51745b;
    font-size:8px;
}
.customer-live-callout > a {
    color:#166534;
    font-size:8.5px;
    font-weight:800;
}
.customer-invoice-value {
    display:grid;
    justify-items:end;
}
.customer-invoice-value strong {
    font-size:11px;
}
.customer-invoice-value small {
    margin-top:2px;
    color:var(--muted);
    font-size:8px;
}
.customer-billing-ok {
    display:flex;
    gap:11px;
    align-items:center;
    padding:16px;
    border:1px solid #bbf7d0;
    border-radius:10px;
    background:#f0fdf4;
}
.customer-billing-ok > span {
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    border-radius:50%;
    color:#fff;
    background:#16a34a;
    font-weight:900;
}
.customer-billing-ok strong,
.customer-billing-ok small {
    display:block;
}
.customer-billing-ok strong {
    color:#166534;
    font-size:10px;
}
.customer-billing-ok small {
    margin-top:3px;
    color:#51745b;
    font-size:8.5px;
}

/* Inventory index */
.customer-inventory-metrics {
    grid-template-columns:repeat(3,minmax(0,1fr));
}
.customer-inventory-filter-panel {
    border-top:3px solid #111318;
}
.customer-inventory-filter {
    display:grid;
    grid-template-columns:minmax(300px,1.8fr) minmax(170px,.8fr) minmax(160px,.7fr) auto;
    gap:10px;
    align-items:end;
}
.customer-inventory-filter label {
    margin:0;
}
.customer-inventory-filter label > span {
    display:block;
    margin-bottom:5px;
    color:var(--muted);
    font-size:8px;
    font-weight:900;
    letter-spacing:.08em;
}
.customer-inventory-filter-actions {
    display:flex;
    gap:7px;
}
.customer-inventory-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:13px;
}
.customer-inventory-card {
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:14px;
    background:#fff;
    box-shadow:0 8px 26px rgba(17,19,24,.035);
}
.customer-inventory-photo {
    display:block;
    height:210px;
    overflow:hidden;
    background:#f2f4f7;
}
.customer-inventory-photo img {
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .25s ease;
}
.customer-inventory-card:hover .customer-inventory-photo img {
    transform:scale(1.025);
}
.customer-inventory-placeholder {
    height:100%;
    display:grid;
    place-content:center;
    justify-items:center;
    gap:6px;
    color:#7b8490;
}
.customer-inventory-placeholder strong {
    font-size:30px;
    letter-spacing:-.04em;
}
.customer-inventory-placeholder span {
    font-size:9px;
}
.customer-inventory-card-body {
    padding:15px;
}
.customer-inventory-card-head {
    display:flex;
    justify-content:space-between;
    gap:9px;
    align-items:flex-start;
}
.customer-inventory-card-head > div strong,
.customer-inventory-card-head > div span {
    display:block;
}
.customer-inventory-card-head > div strong {
    font-size:9.5px;
}
.customer-inventory-card-head > div span {
    margin-top:4px;
}
.customer-inventory-card h3 {
    min-height:42px;
    margin:13px 0;
    font-size:15px;
    line-height:1.35;
}
.customer-inventory-facts,
.customer-inventory-price-row {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
}
.customer-inventory-facts > span,
.customer-inventory-price-row > span {
    padding:9px;
    border:1px solid #edf0f2;
    border-radius:8px;
    background:#fafbfc;
}
.customer-inventory-facts small,
.customer-inventory-facts strong,
.customer-inventory-price-row small,
.customer-inventory-price-row strong {
    display:block;
}
.customer-inventory-facts small,
.customer-inventory-price-row small {
    color:var(--muted);
    font-size:7px;
    font-weight:900;
    letter-spacing:.08em;
}
.customer-inventory-facts strong,
.customer-inventory-price-row strong {
    margin-top:4px;
    font-size:8.8px;
    line-height:1.35;
}
.customer-inventory-price-row {
    margin-top:7px;
}
.customer-inventory-card-actions {
    display:flex;
    gap:7px;
    margin-top:13px;
}
.customer-inventory-card-actions .button {
    flex:1;
}
.customer-inventory-empty {
    grid-column:1/-1;
    min-height:160px;
    display:grid;
    place-content:center;
    text-align:center;
}
.customer-inventory-empty strong,
.customer-inventory-empty span {
    display:block;
}
.customer-inventory-empty span {
    margin-top:5px;
}

/* Inventory detail */
.customer-item-hero {
    display:grid;
    grid-template-columns:minmax(360px,.95fr) minmax(420px,1.05fr);
    gap:16px;
    align-items:start;
}
.customer-item-photo-panel {
    margin:0;
}
.customer-item-photo-large {
    display:grid;
    place-items:center;
    min-height:430px;
    overflow:hidden;
    border:1px solid #e3e6ea;
    border-radius:12px;
    background:#f5f6f8;
}
.customer-item-photo-large img {
    width:100%;
    max-height:620px;
    object-fit:contain;
}
.customer-item-photo-meta {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:7px;
    margin-top:10px;
}
.customer-item-photo-meta > span {
    padding:9px;
    border:1px solid #edf0f2;
    border-radius:8px;
    background:#fafbfc;
}
.customer-item-photo-meta small,
.customer-item-photo-meta strong {
    display:block;
}
.customer-item-photo-meta small {
    color:var(--muted);
    font-size:7px;
    font-weight:900;
    letter-spacing:.08em;
}
.customer-item-photo-meta strong {
    margin-top:4px;
    font-size:8.8px;
}
.customer-item-no-photo {
    min-height:390px;
    display:grid;
    place-content:center;
    justify-items:center;
    text-align:center;
    border:1px dashed #d5dae1;
    border-radius:12px;
    background:#f8fafc;
}
.customer-item-no-photo strong,
.customer-item-no-photo span {
    display:block;
}
.customer-item-no-photo strong {
    font-size:13px;
}
.customer-item-no-photo span {
    max-width:320px;
    margin-top:6px;
    color:var(--muted);
    font-size:9.5px;
    line-height:1.5;
}
.customer-item-details > div {
    grid-template-columns:150px minmax(0,1fr);
}
.customer-item-billing-panel {
    margin-top:16px;
    border-top:4px solid #111318;
}
.customer-billing-summary-grid {
    display:grid;
    grid-template-columns:1.4fr repeat(3,minmax(145px,.75fr)) 1fr;
    gap:9px;
}
.customer-billing-summary-grid > div {
    padding:14px;
    border:1px solid var(--line);
    border-radius:10px;
    background:#fafbfc;
}
.customer-billing-summary-grid small,
.customer-billing-summary-grid strong,
.customer-billing-summary-grid span {
    display:block;
}
.customer-billing-summary-grid small {
    color:var(--muted);
    font-size:7.5px;
    font-weight:900;
    letter-spacing:.08em;
}
.customer-billing-summary-grid strong {
    margin-top:5px;
    font-size:15px;
}
.customer-billing-summary-grid span {
    margin-top:4px;
    color:var(--muted);
    font-size:8.5px;
    line-height:1.4;
}
.customer-billing-period strong {
    font-size:13px;
}
.customer-billing-total {
    color:#fff;
    background:#111318 !important;
    border-color:#111318 !important;
}
.customer-billing-total small,
.customer-billing-total span {
    color:#aeb6c1;
}
.customer-billing-total strong {
    color:#fff;
    font-size:20px;
}
.customer-item-timeline {
    position:relative;
    display:grid;
    gap:0;
}
.customer-item-timeline article {
    position:relative;
    display:grid;
    grid-template-columns:22px minmax(0,1fr);
    gap:10px;
    padding:0 0 22px;
}
.customer-item-timeline article:not(:last-child):before {
    content:"";
    position:absolute;
    left:6px;
    top:12px;
    bottom:-2px;
    width:1px;
    background:#dfe3e8;
}
.customer-timeline-dot {
    position:relative;
    z-index:1;
    width:13px;
    height:13px;
    margin-top:3px;
    border:3px solid #fff;
    border-radius:50%;
    background:#8a93a0;
    box-shadow:0 0 0 1px #ccd2da;
}
.customer-item-timeline article.good .customer-timeline-dot { background:#16a34a; }
.customer-item-timeline article.info .customer-timeline-dot { background:#2563eb; }
.customer-item-timeline article.warn .customer-timeline-dot { background:#d97706; }
.customer-item-timeline small,
.customer-item-timeline strong,
.customer-item-timeline span {
    display:block;
}
.customer-item-timeline small {
    color:var(--muted);
    font-size:8px;
}
.customer-item-timeline strong {
    margin-top:3px;
    font-size:10.5px;
}
.customer-item-timeline span {
    margin-top:3px;
    color:#5e6774;
    font-size:9px;
}
.customer-item-active-retrieval {
    display:flex;
    justify-content:space-between;
    gap:20px;
    align-items:center;
    border-color:#fed7aa;
    background:#fffaf5;
}
.customer-item-active-retrieval small {
    color:#9a3412;
    font-size:8px;
    font-weight:900;
    letter-spacing:.1em;
}
.customer-item-active-retrieval h2 {
    margin:4px 0;
}
.customer-item-active-retrieval p {
    margin:0;
    color:#6b5a4d;
    font-size:10px;
}

/* Retrieval selection photos */
.retrieval-select-card {
    display:grid !important;
    grid-template-columns:auto 86px minmax(0,1fr);
    align-items:stretch !important;
}
.retrieval-select-card > input {
    align-self:center;
}
.retrieval-select-photo {
    width:86px;
    min-height:86px;
    display:grid;
    place-items:center;
    overflow:hidden;
    border-radius:8px;
    background:#f0f2f5;
    font-size:11px;
    font-weight:900;
    color:#707986;
}
.retrieval-select-photo img {
    width:100%;
    height:100%;
    object-fit:cover;
}
.retrieval-select-photo-empty {
    border:1px dashed #d7dce2;
}

@media (max-width:1250px) {
    .customer-live-metrics {
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
    .customer-inventory-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .customer-billing-summary-grid {
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
    .customer-billing-period,
    .customer-billing-total {
        grid-column:span 3;
    }
}
@media (max-width:1000px) {
    .customer-dashboard-grid,
    .customer-item-hero {
        grid-template-columns:1fr;
    }
    .customer-dashboard-search form {
        grid-template-columns:1fr;
    }
    .customer-inventory-filter {
        grid-template-columns:1fr 1fr;
    }
    .customer-inventory-search {
        grid-column:1/-1;
    }
    .customer-inventory-filter-actions {
        grid-column:1/-1;
    }
}
@media (max-width:720px) {
    .customer-live-metrics,
    .customer-inventory-metrics,
    .customer-inventory-grid {
        grid-template-columns:1fr;
    }
    .customer-recent-item {
        grid-template-columns:54px minmax(0,1fr);
    }
    .customer-recent-photo {
        width:54px;
        height:54px;
    }
    .customer-recent-side {
        grid-column:1/-1;
        grid-template-columns:auto auto;
        justify-content:space-between;
        justify-items:start;
    }
    .customer-logistics-row,
    .customer-compact-list > a,
    .customer-item-active-retrieval {
        align-items:flex-start;
        flex-direction:column;
    }
    .customer-logistics-state {
        justify-items:start;
    }
    .customer-live-callout {
        grid-template-columns:auto 1fr;
    }
    .customer-live-callout > a {
        grid-column:2;
    }
    .customer-inventory-filter {
        grid-template-columns:1fr;
    }
    .customer-inventory-search,
    .customer-inventory-filter-actions {
        grid-column:auto;
    }
    .customer-inventory-filter-actions {
        flex-direction:column;
    }
    .customer-inventory-filter-actions .button {
        width:100%;
    }
    .customer-inventory-photo {
        height:240px;
    }
    .customer-item-photo-large {
        min-height:280px;
    }
    .customer-item-photo-meta,
    .customer-billing-summary-grid {
        grid-template-columns:1fr;
    }
    .customer-billing-period,
    .customer-billing-total {
        grid-column:auto;
    }
    .customer-item-details > div {
        grid-template-columns:1fr;
        gap:3px;
    }
    .retrieval-select-card {
        grid-template-columns:auto 72px minmax(0,1fr);
    }
    .retrieval-select-photo {
        width:72px;
        min-height:72px;
    }
}


/* PALALOG 0.10.1 – Live-Auslagerungsaufträge im Operator-Dashboard */
.operator-retrieval-alert-panel {
    margin-bottom:16px;
    border-top:5px solid #a90000;
    box-shadow:0 14px 34px rgba(169,0,0,.08);
}
.operator-live-order-badge {
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:7px 10px;
    border-radius:999px;
    color:#991b1b;
    background:#fff1f1;
    border:1px solid #fecaca;
    font-size:9px;
    font-weight:900;
    letter-spacing:.06em;
}
.operator-live-order-badge i {
    width:8px;
    height:8px;
    border-radius:50%;
    background:#dc2626;
    box-shadow:0 0 0 4px rgba(220,38,38,.12);
    animation:palalogLivePulse 1.35s ease-in-out infinite;
}
@keyframes palalogLivePulse {
    0%,100% { transform:scale(1); opacity:1; }
    50% { transform:scale(.72); opacity:.58; }
}
.operator-retrieval-alert-intro {
    display:flex;
    justify-content:space-between;
    gap:16px;
    align-items:center;
    margin-bottom:11px;
    padding:10px 12px;
    border:1px solid #f3d4d4;
    border-radius:9px;
    background:#fffafa;
}
.operator-retrieval-alert-intro strong {
    color:#7f1d1d;
    font-size:9.5px;
}
.operator-retrieval-alert-intro span {
    color:#7e5d5d;
    font-size:8.5px;
}
.operator-retrieval-live-list {
    display:grid;
    gap:8px;
}
.operator-retrieval-live-row {
    display:grid;
    grid-template-columns:minmax(260px,1.7fr) minmax(150px,.7fr) auto;
    gap:14px;
    align-items:center;
    padding:12px;
    border:1px solid #e5e7eb;
    border-radius:10px;
    background:#fff;
}
.operator-retrieval-live-main {
    display:grid;
    grid-template-columns:130px minmax(0,1fr);
    gap:12px;
    align-items:center;
}
.operator-retrieval-live-number {
    display:flex;
    align-items:center;
    gap:8px;
}
.operator-retrieval-live-main > div:last-child strong,
.operator-retrieval-live-main > div:last-child small,
.operator-retrieval-live-time small,
.operator-retrieval-live-time strong,
.operator-retrieval-live-time span {
    display:block;
}
.operator-retrieval-live-main > div:last-child strong {
    font-size:10px;
}
.operator-retrieval-live-main > div:last-child small {
    margin-top:3px;
    color:#667085;
    font-size:8.5px;
}
.operator-retrieval-live-time small {
    color:#667085;
    font-size:7px;
    font-weight:900;
    letter-spacing:.08em;
}
.operator-retrieval-live-time strong {
    margin-top:3px;
    font-size:9px;
}
.operator-retrieval-live-time span {
    margin-top:3px;
    color:#667085;
    font-size:8px;
}
.operator-retrieval-live-time span.is-urgent {
    color:#b42318;
    font-weight:900;
}
.operator-retrieval-live-actions {
    display:flex;
    gap:8px;
    align-items:center;
    justify-content:flex-end;
}
.operator-retrieval-empty-panel {
    margin-bottom:16px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    border-top:4px solid #16a34a;
}
.operator-retrieval-empty-panel small {
    color:#667085;
    font-size:8px;
    font-weight:900;
    letter-spacing:.08em;
}
.operator-retrieval-empty-panel h2 {
    margin:4px 0;
}
.operator-retrieval-empty-panel p {
    margin:0;
    color:#667085;
    font-size:9px;
}
@media (max-width:950px) {
    .operator-retrieval-live-row {
        grid-template-columns:1fr;
    }
    .operator-retrieval-live-actions {
        justify-content:flex-start;
    }
}
@media (max-width:650px) {
    .operator-retrieval-alert-intro,
    .operator-retrieval-empty-panel {
        align-items:flex-start;
        flex-direction:column;
    }
    .operator-retrieval-live-main {
        grid-template-columns:1fr;
    }
    .operator-retrieval-live-actions {
        align-items:stretch;
        flex-direction:column;
    }
    .operator-retrieval-live-actions .button {
        width:100%;
    }
}


/* PALALOG 0.10.2 – Kamera QR-/Barcode-Scanner in der Kommissionierung */
.picking-scan-methods {
    display:flex;
    flex-wrap:wrap;
    gap:7px 14px;
    margin:-2px 0 14px;
    padding:9px 10px;
    border:1px solid #e3e6ea;
    border-radius:8px;
    background:#fafbfc;
    color:#667085;
    font-size:8.5px;
}
.picking-scan-methods b {
    color:#111318;
}
.picking-input-with-action {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:7px;
    align-items:stretch;
}
.picking-input-with-action .picking-camera-button {
    min-width:92px;
    min-height:46px;
}
.scan-complete-mark {
    display:none;
    width:19px;
    height:19px;
    margin-left:6px;
    place-items:center;
    border-radius:50%;
    color:#fff;
    background:#16a34a;
    font-size:10px;
    font-style:normal;
    vertical-align:middle;
}
.scan-field.scan-is-valid input {
    border-color:#16a34a !important;
    box-shadow:0 0 0 3px rgba(22,163,74,.1);
}
.scan-field.scan-is-invalid input {
    border-color:#dc2626 !important;
    box-shadow:0 0 0 3px rgba(220,38,38,.1);
}

.palalog-scanner-backdrop {
    position:fixed;
    inset:0;
    z-index:9999;
    display:grid;
    place-items:center;
    padding:18px;
    background:rgba(8,10,13,.82);
    backdrop-filter:blur(7px);
}
.palalog-scanner-backdrop[hidden] {
    display:none !important;
}
.palalog-scanner-dialog {
    width:min(720px,100%);
    max-height:calc(100vh - 36px);
    overflow:auto;
    border:1px solid rgba(255,255,255,.12);
    border-radius:18px;
    background:#fff;
    box-shadow:0 32px 90px rgba(0,0,0,.38);
}
.palalog-scanner-head {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    padding:18px 20px 15px;
}
.palalog-scanner-head small {
    color:#a90000;
    font-size:8px;
    font-weight:900;
    letter-spacing:.1em;
}
.palalog-scanner-head h2 {
    margin:4px 0 3px;
    font-size:21px;
}
.palalog-scanner-head p {
    margin:0;
    color:#667085;
    font-size:9px;
}
.palalog-scanner-close {
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    flex:0 0 38px;
    border:1px solid #e3e6ea;
    border-radius:9px;
    background:#fff;
    color:#111318;
    font-size:24px;
    line-height:1;
    cursor:pointer;
}
.palalog-scanner-stage {
    position:relative;
    min-height:330px;
    overflow:hidden;
    background:#080a0d;
}
#pickingScannerReader {
    min-height:330px;
    background:#080a0d;
}
#pickingScannerReader video {
    width:100% !important;
    max-height:520px;
    object-fit:cover;
}
#pickingScannerReader img {
    max-width:100%;
}
#pickingScannerReader > div {
    border:0 !important;
}
.palalog-scanner-reticle {
    position:absolute;
    inset:50% auto auto 50%;
    width:min(76%,430px);
    height:150px;
    transform:translate(-50%,-50%);
    pointer-events:none;
    border:2px solid rgba(255,255,255,.9);
    border-radius:13px;
    box-shadow:0 0 0 2000px rgba(0,0,0,.12);
}
.palalog-scanner-reticle:before,
.palalog-scanner-reticle:after,
.palalog-scanner-reticle span:before,
.palalog-scanner-reticle span:after {
    content:"";
    position:absolute;
    width:28px;
    height:28px;
    border-color:#ef4444;
}
.palalog-scanner-reticle:before {
    top:-3px;
    left:-3px;
    border-top:4px solid #ef4444;
    border-left:4px solid #ef4444;
    border-radius:11px 0 0 0;
}
.palalog-scanner-reticle:after {
    top:-3px;
    right:-3px;
    border-top:4px solid #ef4444;
    border-right:4px solid #ef4444;
    border-radius:0 11px 0 0;
}
.palalog-scanner-reticle span:before {
    bottom:-3px;
    left:-3px;
    border-bottom:4px solid #ef4444;
    border-left:4px solid #ef4444;
    border-radius:0 0 0 11px;
}
.palalog-scanner-reticle span:after {
    right:-3px;
    bottom:-3px;
    border-right:4px solid #ef4444;
    border-bottom:4px solid #ef4444;
    border-radius:0 0 11px 0;
}
.palalog-scanner-status {
    margin:14px 18px 0;
    padding:10px 12px;
    border:1px solid #dbe4f0;
    border-radius:9px;
    color:#25446d;
    background:#f3f7fc;
    font-size:9px;
    line-height:1.5;
}
.palalog-scanner-status.is-success {
    border-color:#bbf7d0;
    color:#166534;
    background:#f0fdf4;
}
.palalog-scanner-status.is-error {
    border-color:#fecaca;
    color:#991b1b;
    background:#fff7f7;
}
.palalog-scanner-progress {
    display:grid;
    grid-template-columns:1fr 50px 1fr;
    gap:8px;
    align-items:center;
    padding:16px 18px 6px;
}
.palalog-scanner-progress > div {
    display:flex;
    align-items:center;
    gap:8px;
    padding:9px 10px;
    border:1px solid #e3e6ea;
    border-radius:9px;
    color:#667085;
    background:#fafbfc;
}
.palalog-scanner-progress > div b {
    width:24px;
    height:24px;
    display:grid;
    place-items:center;
    border-radius:50%;
    color:#fff;
    background:#8a93a0;
    font-size:9px;
}
.palalog-scanner-progress > div span {
    font-size:9px;
    font-weight:800;
}
.palalog-scanner-progress > div.active {
    border-color:#111318;
    color:#111318;
}
.palalog-scanner-progress > div.active b {
    background:#111318;
}
.palalog-scanner-progress > div.done {
    border-color:#bbf7d0;
    color:#166534;
    background:#f0fdf4;
}
.palalog-scanner-progress > div.done b {
    background:#16a34a;
}
.palalog-scanner-progress > i {
    height:1px;
    background:#d6dae0;
}
.palalog-scanner-fallback {
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:center;
    margin:10px 18px 0;
    padding:10px 12px;
    border:1px solid #e3e6ea;
    border-radius:9px;
    background:#fafbfc;
}
.palalog-scanner-fallback > span {
    color:#667085;
    font-size:8.5px;
}
.palalog-scanner-fallback label {
    margin:0;
    cursor:pointer;
}
.palalog-scanner-actions {
    display:flex;
    justify-content:flex-end;
    padding:14px 18px 18px;
}
@media (max-width:650px) {
    .picking-scan-card .panel-head {
        align-items:flex-start;
        flex-direction:column;
    }
    #startPickingScanner {
        width:100%;
    }
    .picking-input-with-action {
        grid-template-columns:1fr;
    }
    .picking-input-with-action .picking-camera-button {
        width:100%;
    }
    .palalog-scanner-backdrop {
        padding:0;
        align-items:end;
    }
    .palalog-scanner-dialog {
        width:100%;
        max-height:96vh;
        border-radius:18px 18px 0 0;
    }
    .palalog-scanner-stage,
    #pickingScannerReader {
        min-height:300px;
    }
    .palalog-scanner-reticle {
        width:84%;
        height:135px;
    }
    .palalog-scanner-progress {
        grid-template-columns:1fr 28px 1fr;
    }
    .palalog-scanner-fallback {
        align-items:stretch;
        flex-direction:column;
    }
    .palalog-scanner-fallback .button {
        width:100%;
    }
}


/* PALALOG 0.10.3 – Sammel-Wareneingang */
.inbound-batch-hint {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    margin-bottom:14px;
    border-left:4px solid #111318;
}
.inbound-batch-hint small,
.inbound-batch-hint strong,
.inbound-batch-hint span {
    display:block;
}
.inbound-batch-hint small {
    color:#a90000;
    font-size:8px;
    font-weight:900;
    letter-spacing:.09em;
}
.inbound-batch-hint strong {
    margin-top:4px;
    font-size:11px;
}
.inbound-batch-hint span {
    max-width:900px;
    margin-top:4px;
    color:#667085;
    font-size:9px;
    line-height:1.5;
}

.batch-scan-panel {
    border-top:4px solid #111318;
}
.batch-scanner-grid {
    display:grid;
    grid-template-columns:minmax(0,1.55fr) minmax(260px,.65fr);
    gap:14px;
    align-items:stretch;
}
.batch-scanner-main label {
    margin:0;
}
.batch-scanner-main label > span {
    display:block;
    margin-bottom:5px;
    color:#667085;
    font-size:8px;
    font-weight:900;
    letter-spacing:.08em;
}
.batch-scanner-main label > small {
    display:block;
    margin-top:5px;
    color:#667085;
    font-size:8px;
}
.batch-scan-input-row {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px;
}
.batch-scan-input-row input {
    min-height:54px;
    font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
    font-size:17px;
    font-weight:800;
    letter-spacing:.02em;
}
.batch-scan-tools {
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    align-items:center;
    margin-top:10px;
}
.batch-scan-tools > span {
    color:#667085;
    font-size:8px;
}
.batch-scan-status {
    display:grid;
    align-content:center;
    min-height:104px;
    padding:16px;
    border:1px solid #dfe3e8;
    border-radius:11px;
    background:#fafbfc;
}
.batch-scan-status strong,
.batch-scan-status span {
    display:block;
}
.batch-scan-status strong {
    font-size:10px;
}
.batch-scan-status span {
    margin-top:4px;
    color:#667085;
    font-size:8.5px;
    line-height:1.5;
}
.batch-scan-status.is-success {
    border-color:#bbf7d0;
    background:#f0fdf4;
}
.batch-scan-status.is-success strong {
    color:#166534;
}
.batch-scan-status.is-warning {
    border-color:#fed7aa;
    background:#fffaf5;
}
.batch-scan-status.is-warning strong {
    color:#9a3412;
}
.batch-scan-status.is-error {
    border-color:#fecaca;
    background:#fff7f7;
}
.batch-scan-status.is-error strong {
    color:#991b1b;
}

.batch-order-summary-card {
    display:grid;
    grid-template-columns:minmax(240px,1.1fr) 150px minmax(320px,1fr);
    gap:14px;
    align-items:center;
    margin:14px 0;
    padding:16px;
    border:1px solid #dfe3e8;
    border-radius:12px;
    background:#fff;
}
.batch-order-summary-main small,
.batch-order-summary-main strong,
.batch-order-summary-main span,
.batch-order-progress-number strong,
.batch-order-progress-number span {
    display:block;
}
.batch-order-summary-main small {
    color:#a90000;
    font-size:7.5px;
    font-weight:900;
    letter-spacing:.09em;
}
.batch-order-summary-main strong {
    margin-top:4px;
    font-size:14px;
}
.batch-order-summary-main span {
    margin-top:3px;
    color:#667085;
    font-size:9px;
}
.batch-order-progress-number {
    padding:10px 12px;
    border-left:1px solid #e3e6ea;
    border-right:1px solid #e3e6ea;
    text-align:center;
}
.batch-order-progress-number strong {
    font-size:24px;
}
.batch-order-progress-number span {
    margin-top:3px;
    color:#667085;
    font-size:7.5px;
}
.batch-order-summary-kpis {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:7px;
}
.batch-order-summary-kpis > span {
    padding:9px 10px;
    border:1px solid #edf0f2;
    border-radius:8px;
    background:#fafbfc;
}
.batch-order-summary-kpis small,
.batch-order-summary-kpis strong {
    display:block;
}
.batch-order-summary-kpis small {
    color:#667085;
    font-size:6.8px;
    font-weight:900;
    letter-spacing:.07em;
}
.batch-order-summary-kpis strong {
    margin-top:4px;
    font-size:15px;
}

.batch-items-panel {
    margin-top:14px;
}
.batch-empty-state {
    min-height:150px;
    display:grid;
    place-content:center;
    justify-items:center;
    text-align:center;
    padding:20px;
    border:1px dashed #d7dce2;
    border-radius:10px;
    background:#fafbfc;
}
.batch-empty-state strong,
.batch-empty-state span {
    display:block;
}
.batch-empty-state strong {
    font-size:11px;
}
.batch-empty-state span {
    max-width:560px;
    margin-top:5px;
    color:#667085;
    font-size:9px;
    line-height:1.5;
}
.batch-items-list {
    display:grid;
    gap:10px;
}
.batch-receipt-item {
    padding:13px;
    border:1px solid #e3e6ea;
    border-radius:11px;
    background:#fff;
}
.batch-receipt-item-head {
    display:flex;
    justify-content:space-between;
    gap:14px;
    align-items:center;
    margin-bottom:11px;
}
.batch-receipt-identity {
    display:flex;
    gap:10px;
    align-items:center;
}
.batch-sequence-number {
    width:32px;
    height:32px;
    display:grid;
    place-items:center;
    flex:0 0 32px;
    border-radius:8px;
    color:#fff;
    background:#111318;
    font-size:10px;
    font-weight:900;
}
.batch-receipt-identity > div strong,
.batch-receipt-identity > div span,
.batch-receipt-identity > div small {
    display:block;
}
.batch-receipt-identity > div strong {
    font-size:10px;
}
.batch-receipt-identity > div span {
    margin-top:2px;
}
.batch-receipt-identity > div small {
    margin-top:3px;
    color:#667085;
    font-size:8.5px;
}
.batch-receipt-item-actions {
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:6px;
    align-items:center;
}
.batch-photo-upload.is-loading {
    opacity:.55;
    pointer-events:none;
}
.batch-measure-grid {
    display:grid;
    grid-template-columns:repeat(5,minmax(115px,1fr));
    gap:8px;
}
.batch-notes-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    margin-top:8px;
}
.batch-measure-grid label,
.batch-notes-grid label {
    margin:0;
}
.batch-measure-grid label,
.batch-notes-grid label {
    color:#667085;
    font-size:7.5px;
    font-weight:850;
}
.batch-measure-grid input,
.batch-measure-grid select,
.batch-notes-grid input {
    margin-top:4px;
}
.batch-placement-control {
    margin-top:14px;
    border-top:4px solid #111318;
}
.batch-placement-control-grid {
    display:grid;
    grid-template-columns:minmax(260px,.65fr) minmax(0,1.35fr);
    gap:12px;
    align-items:start;
}
.batch-placement-control-grid label {
    margin:0;
}
.batch-proposal-panel {
    margin-top:14px;
    border-top:4px solid #16a34a;
}
.batch-proposal-table .batch-proposal-missing {
    background:#fff7f7;
}
.batch-proposal-success {
    display:flex;
    justify-content:space-between;
    gap:18px;
    align-items:center;
    margin-top:14px;
    padding:14px;
    border:1px solid #bbf7d0;
    border-radius:10px;
    background:#f0fdf4;
}
.batch-proposal-success strong,
.batch-proposal-success span {
    display:block;
}
.batch-proposal-success strong {
    color:#166534;
    font-size:10px;
}
.batch-proposal-success span {
    max-width:820px;
    margin-top:3px;
    color:#51745b;
    font-size:8.5px;
    line-height:1.5;
}
.batch-result-panel {
    margin-top:14px;
    border-top:4px solid #16a34a;
}
.batch-camera-counter {
    display:grid;
    justify-items:center;
    padding:12px 18px 0;
}
.batch-camera-counter strong,
.batch-camera-counter span {
    display:block;
}
.batch-camera-counter strong {
    font-size:28px;
}
.batch-camera-counter span {
    margin-top:2px;
    color:#667085;
    font-size:8px;
}

@media (max-width:1100px) {
    .batch-order-summary-card {
        grid-template-columns:1fr 140px;
    }
    .batch-order-summary-kpis {
        grid-column:1/-1;
    }
    .batch-measure-grid {
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}
@media (max-width:800px) {
    .inbound-batch-hint,
    .batch-proposal-success {
        align-items:flex-start;
        flex-direction:column;
    }
    .batch-scanner-grid,
    .batch-placement-control-grid {
        grid-template-columns:1fr;
    }
    .batch-order-summary-card {
        grid-template-columns:1fr;
    }
    .batch-order-progress-number {
        border:0;
        border-top:1px solid #e3e6ea;
        border-bottom:1px solid #e3e6ea;
        padding:12px 0;
    }
    .batch-measure-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media (max-width:600px) {
    .batch-scan-input-row {
        grid-template-columns:1fr;
    }
    .batch-scan-input-row .button {
        width:100%;
    }
    .batch-order-summary-kpis,
    .batch-measure-grid,
    .batch-notes-grid {
        grid-template-columns:1fr;
    }
    .batch-receipt-item-head {
        align-items:flex-start;
        flex-direction:column;
    }
    .batch-receipt-item-actions {
        justify-content:flex-start;
    }
    .batch-proposal-success .button {
        width:100%;
    }
}


/* PALALOG 0.10.3.1 – Hotfix Sammel-Wareneingang */
#batchPlacementControl:not([hidden]) {
    display:block;
}
#batchPlacementControl .form-actions {
    position:sticky;
    bottom:12px;
    z-index:5;
    margin-top:14px;
    padding:12px;
    border:1px solid #fecaca;
    border-radius:10px;
    background:#fff7f7;
    box-shadow:0 10px 28px rgba(169,0,0,.10);
}
#batchPlacementControl #batchFindLocations {
    width:100%;
    min-height:50px;
    font-size:12px;
}


/* PALALOG 0.10.4 – Lagerplatz-Infosystem */
.storage-info-entry-grid {
    display:grid;
    grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);
    gap:16px;
}
.storage-info-scan-panel {
    border-top:4px solid #111318;
}
.storage-info-scan-label {
    margin:0;
}
.storage-info-scan-label > small {
    display:block;
    margin-top:6px;
    color:#667085;
    font-size:8.5px;
}
.storage-info-scan-row {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px;
    margin-top:5px;
}
.storage-info-scan-row input {
    min-height:56px;
    font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
    font-size:16px;
    font-weight:800;
    letter-spacing:.02em;
}
.storage-info-camera-actions {
    display:flex;
    align-items:center;
    gap:10px;
    margin-top:12px;
}
.storage-info-camera-actions > span {
    color:#667085;
    font-size:8.5px;
}
.storage-info-feature-list {
    display:grid;
    gap:8px;
}
.storage-info-feature-list > span {
    display:grid;
    grid-template-columns:30px minmax(0,1fr);
    gap:9px;
    align-items:center;
    padding:10px;
    border:1px solid #edf0f2;
    border-radius:9px;
    background:#fafbfc;
    color:#475467;
    font-size:9px;
}
.storage-info-feature-list b {
    width:30px;
    height:30px;
    display:grid;
    place-items:center;
    border-radius:8px;
    color:#fff;
    background:#111318;
    font-size:8px;
}
.storage-info-kpis {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
    margin-bottom:16px;
}
.storage-info-kpis article {
    min-height:120px;
    display:flex;
    flex-direction:column;
    padding:16px;
    border:1px solid #e3e6ea;
    border-radius:11px;
    background:#fff;
}
.storage-info-kpis small {
    color:#667085;
    font-size:7.5px;
    font-weight:900;
    letter-spacing:.09em;
}
.storage-info-kpis strong {
    margin-top:11px;
    font-size:18px;
    line-height:1.1;
}
.storage-info-kpis span {
    margin-top:auto;
    padding-top:8px;
    color:#667085;
    font-size:8.5px;
}
.storage-info-details > div {
    grid-template-columns:150px minmax(0,1fr);
}
.storage-info-occupancy-panel {
    margin-top:16px;
    border-top:4px solid #111318;
}
.storage-info-item-grid {
    display:grid;
    grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);
    gap:18px;
    align-items:start;
}
.storage-info-item-photo {
    min-height:330px;
    display:grid;
    place-items:center;
    overflow:hidden;
    border:1px solid #e3e6ea;
    border-radius:12px;
    background:#f5f6f8;
}
.storage-info-item-photo > a {
    width:100%;
    height:100%;
    display:grid;
    place-items:center;
}
.storage-info-item-photo img {
    width:100%;
    max-height:520px;
    object-fit:contain;
}
.storage-info-item-photo > div {
    display:grid;
    justify-items:center;
    gap:5px;
    color:#7a8491;
}
.storage-info-item-photo > div strong {
    font-size:42px;
    letter-spacing:-.05em;
}
.storage-info-item-photo > div span {
    font-size:9px;
}
.storage-info-item-head {
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:flex-start;
}
.storage-info-item-head > div small,
.storage-info-item-head > div strong,
.storage-info-item-head > div span {
    display:block;
}
.storage-info-item-head > div small {
    color:#667085;
    font-size:8px;
    font-weight:900;
    letter-spacing:.09em;
}
.storage-info-item-head > div strong {
    margin-top:5px;
    font-size:23px;
}
.storage-info-item-head > div span {
    margin-top:5px;
}
.storage-info-empty-location {
    min-height:170px;
    display:grid;
    place-content:center;
    justify-items:center;
    text-align:center;
    padding:24px;
    border:1px dashed #cfd5dd;
    border-radius:11px;
    background:#fafbfc;
}
.storage-info-empty-location strong {
    font-size:13px;
}
.storage-info-empty-location span {
    max-width:650px;
    margin-top:6px;
    color:#667085;
    font-size:9.5px;
    line-height:1.6;
}
.storage-info-movement-list {
    display:grid;
    gap:7px;
}
.storage-info-movement-list article {
    display:grid;
    grid-template-columns:48px minmax(0,1fr) minmax(180px,.6fr);
    gap:12px;
    align-items:center;
    padding:10px;
    border:1px solid #edf0f2;
    border-radius:9px;
}
.storage-info-movement-icon {
    width:44px;
    height:44px;
    display:grid;
    place-items:center;
    border-radius:9px;
    color:#fff;
    background:#687280;
    font-size:8px;
    font-weight:900;
}
.storage-info-movement-icon.inbound { background:#166534; }
.storage-info-movement-icon.relocation { background:#1d4ed8; }
.storage-info-movement-icon.outbound { background:#9a3412; }
.storage-info-movement-copy strong,
.storage-info-movement-copy span,
.storage-info-movement-copy small,
.storage-info-movement-meta strong,
.storage-info-movement-meta span,
.storage-info-movement-meta small {
    display:block;
}
.storage-info-movement-copy strong {
    font-size:9.5px;
}
.storage-info-movement-copy span {
    margin-top:3px;
    color:#475467;
    font-size:9px;
}
.storage-info-movement-copy small {
    margin-top:2px;
    color:#667085;
    font-size:8px;
}
.storage-info-movement-meta {
    text-align:right;
}
.storage-info-movement-meta strong {
    font-size:8.5px;
}
.storage-info-movement-meta span,
.storage-info-movement-meta small {
    margin-top:2px;
    color:#667085;
    font-size:7.8px;
}
.storage-info-next-scan {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
    margin-top:16px;
    border-left:4px solid #a90000;
}
.storage-info-next-scan small {
    color:#a90000;
    font-size:8px;
    font-weight:900;
    letter-spacing:.09em;
}
.storage-info-next-scan h2 {
    margin:4px 0;
}
.storage-info-next-scan p {
    margin:0;
    font-size:9px;
}

/* PALALOG 0.10.4 – echtes mobiles Hamburger-Menü */
.topbar-left {
    display:flex;
    align-items:center;
    gap:12px;
    min-width:0;
}
.mobile-menu-button,
.sidebar-mobile-close {
    display:none;
    border:0;
    background:transparent;
    color:#111318;
    cursor:pointer;
}
.mobile-menu-button {
    width:42px;
    height:42px;
    flex:0 0 42px;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:5px;
    border:1px solid #e3e6ea;
    border-radius:9px;
    background:#fff;
}
.mobile-menu-button span {
    width:19px;
    height:2px;
    border-radius:2px;
    background:#111318;
}
.sidebar-mobile-close {
    position:absolute;
    top:14px;
    right:14px;
    z-index:3;
    width:38px;
    height:38px;
    place-items:center;
    border:1px solid #e3e6ea;
    border-radius:9px;
    background:#fff;
    font-size:25px;
    line-height:1;
}
.mobile-menu-backdrop {
    display:none;
}

@media (max-width:1000px) {
    .storage-info-entry-grid,
    .storage-info-item-grid {
        grid-template-columns:1fr;
    }
    .storage-info-kpis {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media (max-width:850px) {
    body.mobile-menu-open {
        overflow:hidden;
    }

    .dashboard-shell {
        display:block;
        min-height:100vh;
    }

    .sidebar {
        position:fixed !important;
        z-index:1200;
        top:0;
        left:0;
        width:min(86vw,320px);
        height:100dvh !important;
        padding:22px 18px;
        overflow-y:auto;
        border-right:1px solid #dfe3e8 !important;
        border-bottom:0 !important;
        background:#fff;
        box-shadow:18px 0 48px rgba(17,19,24,.18);
        transform:translateX(-105%);
        transition:transform .22s ease;
    }

    .sidebar.is-mobile-open {
        transform:translateX(0);
    }

    .sidebar-mobile-close {
        display:grid;
    }

    .sidebar-logo {
        display:block;
        padding-right:46px;
    }

    .sidebar-logo img {
        width:185px;
        max-width:100%;
    }

    .sidebar-meaning {
        padding-right:45px;
    }

    .sidebar-nav {
        grid-template-columns:1fr !important;
        display:grid !important;
    }

    .sidebar-nav a,
    .nav-disabled {
        min-height:44px;
    }

    .nav-section {
        display:block !important;
        margin-top:17px;
    }

    .nav-disabled {
        display:flex !important;
    }

    .sidebar-footer {
        display:block !important;
    }

    .mobile-menu-button {
        display:flex;
    }

    .mobile-menu-backdrop {
        position:fixed;
        z-index:1190;
        inset:0;
        display:block;
        border:0;
        padding:0;
        background:rgba(8,10,13,.54);
        backdrop-filter:blur(2px);
    }

    .mobile-menu-backdrop[hidden] {
        display:none !important;
    }

    .topbar {
        position:sticky;
        z-index:900;
        top:0;
        min-height:68px;
        padding:0 16px !important;
        background:rgba(255,255,255,.96);
        backdrop-filter:blur(10px);
    }

    .topbar-left {
        min-width:0;
    }

    .topbar-left > div {
        min-width:0;
    }

    .topbar-left > div > strong {
        display:block;
        overflow:hidden;
        max-width:42vw;
        text-overflow:ellipsis;
        white-space:nowrap;
    }

    .content-wrap {
        padding:20px 16px !important;
    }
}

@media (max-width:650px) {
    .storage-info-scan-row {
        grid-template-columns:1fr;
    }
    .storage-info-scan-row .button {
        width:100%;
    }
    .storage-info-camera-actions,
    .storage-info-next-scan {
        align-items:flex-start;
        flex-direction:column;
    }
    .storage-info-camera-actions .button,
    .storage-info-next-scan .button {
        width:100%;
    }
    .storage-info-kpis {
        grid-template-columns:1fr;
    }
    .storage-info-details > div {
        grid-template-columns:1fr;
        gap:3px;
    }
    .storage-info-item-photo {
        min-height:240px;
    }
    .storage-info-item-head {
        flex-direction:column;
    }
    .storage-info-item-actions {
        flex-direction:column;
    }
    .storage-info-item-actions .button {
        width:100%;
    }
    .storage-info-movement-list article {
        grid-template-columns:44px minmax(0,1fr);
    }
    .storage-info-movement-meta {
        grid-column:2;
        text-align:left;
    }
    .topbar-user form .button {
        padding-left:9px;
        padding-right:9px;
    }
}


/* PALALOG 0.10.4.1 – robuster MultiFormat QR-/Barcode-Scanner */
.palalog-zxing-stage {
    position:relative;
    min-height:360px;
    overflow:hidden;
    background:#080a0d;
}
.palalog-zxing-stage video {
    display:block;
    width:100%;
    min-height:360px;
    max-height:560px;
    object-fit:cover;
    background:#080a0d;
}
.palalog-barcode-reticle {
    position:absolute;
    z-index:2;
    left:50%;
    top:50%;
    width:min(86%,540px);
    height:180px;
    transform:translate(-50%,-50%);
    pointer-events:none;
    border:2px solid rgba(255,255,255,.88);
    border-radius:12px;
    box-shadow:0 0 0 2000px rgba(0,0,0,.14);
}
.palalog-barcode-reticle:before,
.palalog-barcode-reticle:after,
.palalog-barcode-reticle span:before,
.palalog-barcode-reticle span:after {
    content:"";
    position:absolute;
    width:34px;
    height:34px;
    border-color:#ef4444;
}
.palalog-barcode-reticle:before {
    top:-3px;
    left:-3px;
    border-top:4px solid #ef4444;
    border-left:4px solid #ef4444;
    border-radius:10px 0 0 0;
}
.palalog-barcode-reticle:after {
    top:-3px;
    right:-3px;
    border-top:4px solid #ef4444;
    border-right:4px solid #ef4444;
    border-radius:0 10px 0 0;
}
.palalog-barcode-reticle span:before {
    left:-3px;
    bottom:-3px;
    border-left:4px solid #ef4444;
    border-bottom:4px solid #ef4444;
    border-radius:0 0 0 10px;
}
.palalog-barcode-reticle span:after {
    right:-3px;
    bottom:-3px;
    border-right:4px solid #ef4444;
    border-bottom:4px solid #ef4444;
    border-radius:0 0 10px 0;
}
.palalog-scanner-format-hint {
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    padding:12px 18px 0;
}
.palalog-scanner-format-hint span {
    display:inline-flex;
    align-items:center;
    gap:5px;
    padding:6px 8px;
    border:1px solid #e3e6ea;
    border-radius:999px;
    color:#667085;
    background:#fafbfc;
    font-size:7.8px;
}
.palalog-scanner-format-hint b {
    color:#111318;
}
.palalog-scanner-tip {
    display:flex;
    gap:6px;
    margin:12px 18px 0;
    padding:10px 12px;
    border:1px solid #fed7aa;
    border-radius:9px;
    color:#7c4a15;
    background:#fffaf5;
    font-size:8.5px;
    line-height:1.5;
}
.palalog-scanner-tip strong {
    flex:0 0 auto;
}
@media (max-width:650px) {
    .palalog-zxing-stage,
    .palalog-zxing-stage video {
        min-height:320px;
    }
    .palalog-barcode-reticle {
        width:90%;
        height:150px;
    }
    .palalog-scanner-tip {
        flex-direction:column;
    }
}


/* PALALOG 0.11.0 – Mobile Lager-App / Scan-Zentrale */
.sidebar-scan-link {
    gap:10px;
    justify-content:flex-start !important;
    border:1px solid #e3e6ea;
}
.sidebar-scan-symbol {
    position:relative;
    width:18px;
    height:18px;
    flex:0 0 18px;
    border:2px solid currentColor;
    border-radius:4px;
}
.sidebar-scan-symbol:before,
.sidebar-scan-symbol:after {
    content:"";
    position:absolute;
    background:currentColor;
}
.sidebar-scan-symbol:before {
    left:3px;
    right:3px;
    top:7px;
    height:2px;
}
.sidebar-scan-symbol:after {
    top:3px;
    bottom:3px;
    left:7px;
    width:2px;
}
.sidebar-scan-link.active .sidebar-scan-symbol {
    border-color:#fff;
}

.scan-hub-page {
    display:grid;
    gap:16px;
}
.scan-hub-hero {
    display:flex;
    justify-content:space-between;
    gap:28px;
    align-items:flex-start;
}
.scan-hub-hero h1 {
    margin:7px 0 5px;
    font-size:38px;
    line-height:1.05;
    letter-spacing:-.045em;
}
.scan-hub-hero p {
    max-width:820px;
    margin:0;
    color:#667085;
    line-height:1.55;
}
.scan-hub-live-badge {
    display:flex;
    align-items:center;
    gap:6px;
    flex:0 0 auto;
    padding:8px 10px;
    border:1px solid #dfe3e8;
    border-radius:9px;
    background:#fff;
}
.scan-hub-live-badge strong {
    color:#166534;
    font-size:8px;
    letter-spacing:.08em;
}
.scan-hub-live-badge small {
    color:#667085;
    font-size:8px;
}
.scan-hub-live-badge.is-loading {
    opacity:.65;
}
.scan-hub-live-badge.is-error strong,
.scan-hub-live-badge.is-error small {
    color:#b42318;
}

.scan-hub-scanner-card {
    display:grid;
    grid-template-columns:minmax(280px,.85fr) minmax(260px,.55fr) minmax(340px,1.1fr);
    gap:18px;
    align-items:stretch;
    padding:22px;
    border:1px solid #dfe3e8;
    border-top:5px solid #a90000;
    border-radius:14px;
    background:#fff;
    box-shadow:0 12px 34px rgba(17,19,24,.045);
}
.scan-hub-scanner-copy {
    align-self:center;
}
.scan-hub-scanner-copy small {
    color:#a90000;
    font-size:8px;
    font-weight:900;
    letter-spacing:.1em;
}
.scan-hub-scanner-copy h2 {
    margin:5px 0;
    font-size:23px;
}
.scan-hub-scanner-copy p {
    margin:0;
    color:#667085;
    font-size:9.5px;
    line-height:1.55;
}
.scan-hub-camera-button {
    display:grid;
    place-content:center;
    justify-items:center;
    min-height:190px;
    padding:18px;
    border:0;
    border-radius:13px;
    color:#fff;
    background:#a90000;
    cursor:pointer;
    box-shadow:0 12px 28px rgba(169,0,0,.18);
}
.scan-hub-camera-button:hover {
    background:#920000;
}
.scan-hub-camera-button strong {
    margin-top:12px;
    font-size:17px;
    letter-spacing:.02em;
}
.scan-hub-camera-button small {
    margin-top:3px;
    color:rgba(255,255,255,.75);
    font-size:8.5px;
}
.scan-hub-camera-icon {
    position:relative;
    width:62px;
    height:62px;
}
.scan-hub-camera-icon i {
    position:absolute;
    width:22px;
    height:22px;
    border-color:#fff;
}
.scan-hub-camera-icon i:nth-child(1) {
    left:0;
    top:0;
    border-left:4px solid #fff;
    border-top:4px solid #fff;
    border-radius:7px 0 0 0;
}
.scan-hub-camera-icon i:nth-child(2) {
    right:0;
    top:0;
    border-right:4px solid #fff;
    border-top:4px solid #fff;
    border-radius:0 7px 0 0;
}
.scan-hub-camera-icon i:nth-child(3) {
    left:0;
    bottom:0;
    border-left:4px solid #fff;
    border-bottom:4px solid #fff;
    border-radius:0 0 0 7px;
}
.scan-hub-camera-icon i:nth-child(4) {
    right:0;
    bottom:0;
    border-right:4px solid #fff;
    border-bottom:4px solid #fff;
    border-radius:0 0 7px 0;
}
.scan-hub-manual-form {
    display:grid;
    align-content:center;
}
.scan-hub-manual-form label {
    margin:0;
}
.scan-hub-manual-form label > span {
    display:block;
    margin-bottom:6px;
    color:#667085;
    font-size:8px;
    font-weight:900;
    letter-spacing:.08em;
}
.scan-hub-manual-form label > div {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:7px;
}
.scan-hub-manual-form input {
    min-height:50px;
    font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
    font-weight:800;
}
.scan-hub-recognizes {
    grid-column:3;
    display:flex;
    flex-wrap:wrap;
    gap:5px;
    align-self:start;
}
.scan-hub-recognizes span {
    display:inline-flex;
    align-items:center;
    gap:5px;
    padding:5px 7px;
    border:1px solid #e3e6ea;
    border-radius:999px;
    color:#667085;
    background:#fafbfc;
    font-size:7.5px;
}
.scan-hub-recognizes b {
    color:#111318;
}

.scan-hub-operation,
.scan-hub-quick-section {
    padding:22px;
    border:1px solid #dfe3e8;
    border-radius:14px;
    background:#fff;
}
.scan-hub-status-grid {
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:9px;
}
.scan-hub-status-card {
    min-height:128px;
    display:flex;
    flex-direction:column;
    padding:14px;
    border:1px solid #e3e6ea;
    border-radius:10px;
    background:#fafbfc;
}
.scan-hub-status-card small {
    color:#667085;
    font-size:7px;
    font-weight:900;
    letter-spacing:.08em;
}
.scan-hub-status-card strong {
    margin-top:13px;
    color:#111318;
    font-size:27px;
    line-height:1;
}
.scan-hub-status-card span {
    margin-top:auto;
    padding-top:7px;
    color:#667085;
    font-size:8px;
    line-height:1.35;
}
.scan-hub-status-card.is-warning {
    border-color:#fed7aa;
    background:#fffaf5;
}
.scan-hub-status-card.is-warning strong {
    color:#9a3412;
}
.scan-hub-status-card.is-alert {
    border-color:#fecaca;
    background:#fff7f7;
}
.scan-hub-status-card.is-alert strong {
    color:#b42318;
}
.scan-hub-quick-grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:9px;
}
.scan-hub-quick-grid > a {
    min-height:150px;
    display:flex;
    flex-direction:column;
    padding:15px;
    border:1px solid #e3e6ea;
    border-radius:10px;
    background:#fafbfc;
    transition:.15s ease;
}
.scan-hub-quick-grid > a:hover {
    border-color:#cfd4db;
    background:#fff;
    transform:translateY(-1px);
}
.scan-hub-quick-grid > a > span {
    width:30px;
    height:30px;
    display:grid;
    place-items:center;
    border-radius:8px;
    color:#fff;
    background:#111318;
    font-size:8px;
    font-weight:900;
}
.scan-hub-quick-grid strong {
    margin-top:12px;
    font-size:11px;
}
.scan-hub-quick-grid small {
    margin-top:5px;
    color:#667085;
    font-size:8.5px;
    line-height:1.45;
}
.scan-hub-camera-explainer {
    margin:12px 18px 0;
    padding:11px 12px;
    border:1px solid #dbe4f0;
    border-radius:9px;
    color:#25446d;
    background:#f3f7fc;
}
.scan-hub-camera-explainer strong,
.scan-hub-camera-explainer span {
    display:block;
}
.scan-hub-camera-explainer strong {
    font-size:9px;
}
.scan-hub-camera-explainer span {
    margin-top:3px;
    font-size:8px;
    line-height:1.5;
}
.scan-hub-qr-reticle {
    width:min(72%,360px);
    height:min(72%,360px);
    aspect-ratio:1/1;
}

/* Scan result */
.scan-result-head {
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:24px;
    margin-bottom:18px;
}
.scan-result-head h1 {
    margin:7px 0 4px;
    font-size:34px;
}
.scan-result-head p {
    margin:0;
    color:#667085;
}
.scan-result-grid {
    display:grid;
    grid-template-columns:minmax(330px,.75fr) minmax(0,1.25fr);
    gap:16px;
}
.scan-result-photo {
    min-height:300px;
    display:grid;
    place-items:center;
    overflow:hidden;
    border:1px solid #e3e6ea;
    border-radius:11px;
    background:#f5f6f8;
}
.scan-result-photo a {
    width:100%;
    height:100%;
    display:grid;
    place-items:center;
}
.scan-result-photo img {
    width:100%;
    max-height:480px;
    object-fit:contain;
}
.scan-result-photo > div {
    display:grid;
    justify-items:center;
    gap:6px;
    color:#7a8491;
}
.scan-result-photo > div strong {
    font-size:42px;
}
.scan-result-photo > div span {
    font-size:9px;
}
.scan-result-codes {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
    margin-top:10px;
}
.scan-result-codes > span {
    padding:10px;
    border:1px solid #edf0f2;
    border-radius:8px;
    background:#fafbfc;
}
.scan-result-codes small,
.scan-result-codes strong {
    display:block;
}
.scan-result-codes small {
    color:#667085;
    font-size:7px;
    font-weight:900;
    letter-spacing:.08em;
}
.scan-result-codes strong {
    margin-top:4px;
    font-size:9px;
}
.scan-result-details > div {
    grid-template-columns:155px minmax(0,1fr);
}
.scan-result-actions-panel {
    margin-top:16px;
    border-top:4px solid #111318;
}
.scan-result-action-grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:9px;
}
.scan-result-action-grid > a {
    min-height:128px;
    display:flex;
    flex-direction:column;
    padding:14px;
    border:1px solid #e3e6ea;
    border-radius:10px;
    background:#fafbfc;
}
.scan-result-action-grid > a small,
.scan-result-action-grid > a strong,
.scan-result-action-grid > a span {
    display:block;
}
.scan-result-action-grid > a small {
    color:#667085;
    font-size:7px;
    font-weight:900;
    letter-spacing:.08em;
}
.scan-result-action-grid > a strong {
    margin-top:10px;
    font-size:11px;
}
.scan-result-action-grid > a span {
    margin-top:auto;
    padding-top:7px;
    color:#667085;
    font-size:8px;
    line-height:1.4;
}
.scan-result-action-grid > a.scan-result-primary-action {
    color:#fff;
    border-color:#a90000;
    background:#a90000;
}
.scan-result-action-grid > a.scan-result-primary-action small,
.scan-result-action-grid > a.scan-result-primary-action span {
    color:rgba(255,255,255,.72);
}
.scan-result-next {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    margin-top:16px;
    border-left:4px solid #a90000;
}
.scan-result-next small {
    color:#a90000;
    font-size:8px;
    font-weight:900;
    letter-spacing:.08em;
}
.scan-result-next h2 {
    margin:4px 0;
}
.scan-result-next p {
    margin:0;
    font-size:9px;
}

@media (max-width:1200px) {
    .scan-hub-scanner-card {
        grid-template-columns:minmax(260px,.8fr) minmax(240px,.6fr) minmax(0,1fr);
    }
    .scan-hub-status-grid {
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
    .scan-hub-quick-grid,
    .scan-result-action-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media (max-width:900px) {
    .scan-hub-scanner-card {
        grid-template-columns:1fr 1fr;
    }
    .scan-hub-manual-form,
    .scan-hub-recognizes {
        grid-column:1/-1;
    }
    .scan-result-grid {
        grid-template-columns:1fr;
    }
}
@media (max-width:650px) {
    .scan-hub-hero,
    .scan-result-head,
    .scan-result-next {
        align-items:flex-start;
        flex-direction:column;
    }
    .scan-hub-hero h1 {
        font-size:31px;
    }
    .scan-hub-live-badge {
        width:100%;
        justify-content:center;
    }
    .scan-hub-scanner-card {
        grid-template-columns:1fr;
        padding:14px;
    }
    .scan-hub-manual-form,
    .scan-hub-recognizes {
        grid-column:auto;
    }
    .scan-hub-camera-button {
        min-height:170px;
    }
    .scan-hub-manual-form label > div {
        grid-template-columns:1fr;
    }
    .scan-hub-manual-form .button {
        width:100%;
    }
    .scan-hub-status-grid,
    .scan-hub-quick-grid,
    .scan-result-action-grid,
    .scan-result-codes {
        grid-template-columns:1fr;
    }
    .scan-hub-status-card {
        min-height:102px;
    }
    .scan-hub-quick-grid > a {
        min-height:120px;
    }
    .scan-result-head .page-actions,
    .scan-result-next .button {
        width:100%;
    }
    .scan-result-head .page-actions .button {
        width:100%;
    }
    .scan-result-details > div {
        grid-template-columns:1fr;
        gap:3px;
    }
    .scan-result-photo {
        min-height:235px;
    }
}


/* PALALOG 0.11.1 – Sticky Header / Sticky Navigation / Fullscreen Mobile Menu */
:root { --palalog-mobile-header: 64px; }

/* Desktop */
.sidebar {
    position:sticky;
    top:0;
    height:100vh;
    padding-top:0;
    overflow-y:auto;
}
.sidebar-sticky-brand {
    position:sticky;
    top:0;
    z-index:8;
    margin:0 -18px 7px;
    padding:16px 18px 9px;
    background:#fff;
    border-bottom:1px solid #eef0f3;
}
.sidebar-sticky-brand .sidebar-logo { display:block; padding:0 8px; }
.sidebar-sticky-brand .sidebar-logo img { width:152px; max-width:100%; height:auto; }
.sidebar-sticky-brand .sidebar-meaning { padding:5px 8px 7px; font-size:8px; }
.sidebar-nav a, .nav-disabled { min-height:40px; }
.nav-section { margin-top:15px; }

.topbar {
    position:sticky;
    top:0;
    z-index:900;
    min-height:68px;
    background:rgba(255,255,255,.96);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
    box-shadow:0 1px 0 rgba(17,19,24,.06);
}
.topbar-left { display:flex; align-items:center; gap:12px; min-width:0; }
.topbar-title-block { min-width:0; }
.topbar-mobile-logo { display:none; }

@media (max-width:850px) {
    body.mobile-menu-open { overflow:hidden; }
    .dashboard-shell { display:block; min-height:100vh; }

    /* Header always across the complete viewport */
    .topbar {
        position:fixed !important;
        top:0;
        left:0;
        right:0;
        width:100%;
        height:var(--palalog-mobile-header);
        min-height:var(--palalog-mobile-header);
        padding:0 12px !important;
        z-index:1300;
        border-bottom:1px solid #e3e6ea;
        box-shadow:0 5px 18px rgba(17,19,24,.09);
    }
    .dashboard-main { padding-top:var(--palalog-mobile-header); }
    .topbar-left { flex:1; gap:10px; min-width:0; }
    .mobile-menu-button {
        display:flex;
        width:42px;
        height:42px;
        flex:0 0 42px;
        border:0;
        border-radius:9px;
        background:#111318;
    }
    .mobile-menu-button span { width:19px; height:2px; background:#fff; }
    .topbar-mobile-logo { display:flex; align-items:center; min-width:0; }
    .topbar-mobile-logo img { display:block; width:132px; max-width:36vw; height:auto; }
    .topbar-title-block { display:none; }
    .topbar-user { margin-left:auto; gap:8px; }
    .topbar-user > div { display:none !important; }
    .topbar-user form .button { min-height:38px; padding:0 9px; font-size:9px; }

    /* Fullscreen hamburger menu directly below header */
    .sidebar {
        position:fixed !important;
        top:var(--palalog-mobile-header) !important;
        left:0;
        right:0;
        bottom:0;
        width:100% !important;
        max-width:none !important;
        height:calc(100dvh - var(--palalog-mobile-header)) !important;
        padding:0 16px 28px !important;
        border:0 !important;
        background:#fff;
        box-shadow:none !important;
        overflow-y:auto;
        z-index:1270;
        transform:translateY(-10px);
        opacity:0;
        visibility:hidden;
        pointer-events:none;
        transition:opacity .17s ease, transform .17s ease, visibility .17s ease;
    }
    .sidebar.is-mobile-open {
        transform:translateY(0);
        opacity:1;
        visibility:visible;
        pointer-events:auto;
    }
    .sidebar-sticky-brand {
        position:sticky;
        top:0;
        z-index:9;
        margin:0 -16px 10px;
        padding:14px 16px 10px;
        background:#fff;
        border-bottom:1px solid #eef0f3;
    }
    .sidebar-sticky-brand .sidebar-logo { padding:0; }
    .sidebar-sticky-brand .sidebar-logo img { width:148px; }
    .sidebar-sticky-brand .sidebar-meaning { padding:4px 0 0; font-size:8px; }
    .sidebar-mobile-close {
        display:grid;
        position:fixed;
        top:calc(var(--palalog-mobile-header) + 10px);
        right:12px;
        z-index:1310;
        width:38px;
        height:38px;
        border:1px solid #e3e6ea;
        border-radius:9px;
        background:#fff;
        box-shadow:0 4px 14px rgba(17,19,24,.08);
    }
    .sidebar-nav { display:grid !important; grid-template-columns:1fr !important; gap:5px; }
    .sidebar-nav a, .nav-disabled { min-height:48px; padding:0 14px; font-size:13px; }
    .nav-section { display:block !important; margin:18px 12px 6px; }
    .nav-disabled { display:flex !important; }
    .sidebar-footer { display:block !important; padding-bottom:20px; }
    .mobile-menu-backdrop { display:none !important; }
    .content-wrap { padding-top:18px !important; }
}

@media (max-width:420px) {
    .topbar-mobile-logo img { width:116px; max-width:34vw; }
    .topbar-user form .button { padding:0 7px; }
}


/* PALALOG 0.11.2 – Sticky Landingpage Header & Mobile Vollbild-Menü */
.public-body {
    overflow-x:hidden;
}

/* Desktop: sticky header über die gesamte Landingpage */
.landing-header.landing-v2-header {
    position:sticky;
    top:0;
    z-index:1100;
    max-width:none;
    width:100%;
    margin:0;
    padding:0;
    border-bottom:1px solid rgba(223,227,232,.92);
    background:rgba(255,255,255,.96);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
    box-shadow:0 5px 18px rgba(17,19,24,.035);
}

.landing-header-inner {
    width:100%;
    max-width:1440px;
    min-height:72px;
    margin:0 auto;
    padding:0 44px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
}

.landing-header.landing-v2-header .brand {
    display:flex;
    align-items:center;
    flex:0 0 auto;
}

.landing-header.landing-v2-header .brand img {
    display:block;
    width:174px;
    height:auto;
}

.landing-desktop-nav {
    display:flex;
    align-items:center;
    gap:22px;
    font-size:12px;
    font-weight:750;
}

.landing-desktop-nav > a:not(.button) {
    position:relative;
    padding:26px 0;
    color:#333943;
}

.landing-desktop-nav > a:not(.button):after {
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:18px;
    height:2px;
    border-radius:2px;
    background:#a90000;
    transform:scaleX(0);
    transform-origin:center;
    transition:transform .16s ease;
}

.landing-desktop-nav > a:not(.button):hover:after {
    transform:scaleX(1);
}

.landing-mobile-menu-button {
    display:none;
}

.landing-mobile-menu {
    display:none;
}

/* Sticky header: Anker nicht hinter dem Header verstecken */
#was-wir-machen,
#vorteile,
#ablauf,
#transport {
    scroll-margin-top:90px;
}

@media (max-width:850px) {
    :root {
        --landing-mobile-header-height:64px;
    }

    .landing-header.landing-v2-header {
        position:fixed;
        top:0;
        left:0;
        right:0;
        height:var(--landing-mobile-header-height);
        z-index:1400;
    }

    .landing-header-inner {
        min-height:var(--landing-mobile-header-height);
        height:var(--landing-mobile-header-height);
        padding:0 14px;
        gap:12px;
    }

    .landing-header.landing-v2-header .brand img {
        width:136px;
        max-width:44vw;
    }

    .landing-desktop-nav {
        display:none !important;
    }

    .landing-mobile-menu-button {
        width:42px;
        height:42px;
        flex:0 0 42px;
        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:center;
        gap:5px;
        margin-left:auto;
        padding:0;
        border:0;
        border-radius:9px;
        background:#111318;
        cursor:pointer;
    }

    .landing-mobile-menu-button span {
        width:19px;
        height:2px;
        border-radius:2px;
        background:#fff;
        transition:transform .16s ease, opacity .16s ease;
    }

    .landing-mobile-menu-button.is-open span:nth-child(1) {
        transform:translateY(7px) rotate(45deg);
    }

    .landing-mobile-menu-button.is-open span:nth-child(2) {
        opacity:0;
    }

    .landing-mobile-menu-button.is-open span:nth-child(3) {
        transform:translateY(-7px) rotate(-45deg);
    }

    .landing-v2 {
        padding-top:var(--landing-mobile-header-height);
    }

    body.landing-menu-open {
        overflow:hidden;
    }

    .landing-mobile-menu {
        position:fixed;
        z-index:1390;
        top:var(--landing-mobile-header-height);
        left:0;
        right:0;
        bottom:0;
        width:100%;
        height:calc(100dvh - var(--landing-mobile-header-height));
        display:block;
        overflow-y:auto;
        background:#fff;
    }

    .landing-mobile-menu[hidden] {
        display:none !important;
    }

    .landing-mobile-menu-head {
        position:sticky;
        top:0;
        z-index:2;
        min-height:68px;
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:18px;
        padding:12px 16px;
        border-bottom:1px solid #edf0f2;
        background:#fff;
    }

    .landing-mobile-menu-head .brand {
        display:flex;
        align-items:center;
    }

    .landing-mobile-menu-head .brand img {
        display:block;
        width:145px;
        height:auto;
    }

    .landing-mobile-menu-close {
        width:40px;
        height:40px;
        display:grid;
        place-items:center;
        padding:0;
        border:1px solid #e3e6ea;
        border-radius:9px;
        color:#111318;
        background:#fff;
        font-size:25px;
        line-height:1;
        cursor:pointer;
    }

    .landing-mobile-menu > nav {
        display:grid;
        gap:6px;
        padding:18px 16px 30px;
    }

    .landing-mobile-menu > nav > a {
        min-height:54px;
        display:flex;
        align-items:center;
        padding:0 15px;
        border:1px solid #edf0f2;
        border-radius:10px;
        color:#111318;
        background:#fafbfc;
        font-size:14px;
        font-weight:800;
    }

    .landing-mobile-menu > nav > a:active {
        background:#f2f3f5;
    }

    .landing-mobile-menu-actions {
        display:grid;
        gap:8px;
        margin-top:12px;
        padding-top:18px;
        border-top:1px solid #edf0f2;
    }

    .landing-mobile-menu-actions .button {
        width:100%;
        min-height:50px;
    }

    #was-wir-machen,
    #vorteile,
    #ablauf,
    #transport {
        scroll-margin-top:78px;
    }
}

@media (max-width:420px) {
    .landing-header.landing-v2-header .brand img {
        width:124px;
    }

    .landing-mobile-menu-head .brand img {
        width:132px;
    }
}


/* PALALOG 0.11.2.1 – großes Landing-Logo, kompakt erst beim Scrollen */
@media (min-width:851px) {
    .landing-header.landing-v2-header {
        overflow:visible;
        transition:
            background .22s ease,
            box-shadow .22s ease,
            border-color .22s ease;
    }

    .landing-header.landing-v2-header .landing-header-inner {
        min-height:88px;
        transition:min-height .24s ease;
    }

    .landing-header.landing-v2-header .brand {
        position:relative;
        z-index:3;
        align-self:center;
        overflow:visible;
    }

    .landing-header.landing-v2-header .brand img {
        width:268px;
        max-width:none;
        height:auto;
        transform:translateY(4px);
        transform-origin:left center;
        transition:
            width .24s ease,
            transform .24s ease;
    }

    .landing-header.landing-v2-header .landing-desktop-nav {
        align-self:center;
        transition:gap .24s ease;
    }

    .landing-header.landing-v2-header .landing-desktop-nav > a:not(.button) {
        padding:32px 0;
        transition:padding .24s ease;
    }

    /* Nach dem Scrollen: Logo und Navigation passen in eine kompakte Sticky-Bar */
    .landing-header.landing-v2-header.is-scrolled .landing-header-inner {
        min-height:66px;
    }

    .landing-header.landing-v2-header.is-scrolled .brand img {
        width:168px;
        transform:translateY(0);
    }

    .landing-header.landing-v2-header.is-scrolled .landing-desktop-nav {
        gap:20px;
    }

    .landing-header.landing-v2-header.is-scrolled .landing-desktop-nav > a:not(.button) {
        padding:21px 0;
    }

    .landing-header.landing-v2-header.is-scrolled {
        background:rgba(255,255,255,.98);
        box-shadow:0 7px 22px rgba(17,19,24,.07);
    }

    .landing-header.landing-v2-header.is-scrolled
    .landing-desktop-nav > a:not(.button):after {
        bottom:14px;
    }

    #was-wir-machen,
    #vorteile,
    #ablauf,
    #transport {
        scroll-margin-top:82px;
    }
}


/* PALALOG 0.11.2.2 – Landing: Desktop-Logo darf über die Nav ragen */
@media (min-width:851px) {
    .landing-header.landing-v2-header {
        overflow: visible;
    }

    .landing-header.landing-v2-header .landing-header-inner {
        min-height: 96px;
        padding: 0 44px 8px;
        align-items: center;
        overflow: visible;
    }

    /* Logo darf optisch größer sein, ohne die Navigation komplett wegzudrücken */
    .landing-header.landing-v2-header .brand {
        position: relative;
        z-index: 4;
        flex: 0 0 auto;
        margin-right: -54px;
        overflow: visible;
    }

    .landing-header.landing-v2-header .brand img {
        width: 312px;
        max-width: none;
        height: auto;
        transform: translateY(18px);
        transform-origin: left center;
        transition:
            width .24s ease,
            transform .24s ease;
    }

    .landing-header.landing-v2-header .landing-desktop-nav {
        margin-left: auto;
        position: relative;
        z-index: 2;
    }

    .landing-header.landing-v2-header .landing-desktop-nav > a:not(.button) {
        padding: 34px 0;
    }

    /* Beim Scrollen wird alles kompakt und passt sauber in die Navbar */
    .landing-header.landing-v2-header.is-scrolled .landing-header-inner {
        min-height: 66px;
        padding: 0 44px;
    }

    .landing-header.landing-v2-header.is-scrolled .brand {
        margin-right: 0;
    }

    .landing-header.landing-v2-header.is-scrolled .brand img {
        width: 168px;
        transform: translateY(0);
    }

    .landing-header.landing-v2-header.is-scrolled .landing-desktop-nav > a:not(.button) {
        padding: 21px 0;
    }
}

/* Mobil: Wenn das Hamburger-Menü aktiv ist, kein doppeltes Logo / X zeigen */
@media (max-width:850px) {
    body.landing-menu-open .landing-header.landing-v2-header {
        display: none;
    }

    body.landing-menu-open .landing-mobile-menu {
        top: 0;
        height: 100dvh;
    }
}


/* PALALOG 0.11.2.3 – Seitenpfeil nach oben auf der Landingpage */
.landing-back-to-top {
    position: fixed;
    right: 20px;
    bottom: 22px;
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 0;
    border-radius: 999px;
    color: #fff;
    background: #111318;
    box-shadow: 0 12px 28px rgba(17,19,24,.18);
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease, background .18s ease;
    z-index: 1280;
}

.landing-back-to-top span {
    font-size: 24px;
    line-height: 1;
    transform: translateY(-1px);
}

.landing-back-to-top:hover {
    background: #a90000;
}

.landing-back-to-top.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

@media (max-width: 850px) {
    .landing-back-to-top {
        right: 14px;
        bottom: 18px;
        width: 46px;
        height: 46px;
        z-index: 1385;
    }

    body.landing-menu-open .landing-back-to-top {
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none;
    }
}


/* PALALOG 0.11.2.4 – Scrollrichtung: Logo kompakt, Navigation auto-hide */
@media (min-width:851px) {
    /* Sobald gescrollt wird, Logo sicher kompakt halten */
    .landing-header.landing-v2-header.is-scrolled .brand {
        margin-right: 0 !important;
    }

    .landing-header.landing-v2-header.is-scrolled .brand img {
        width: 168px !important;
        transform: translateY(0) !important;
    }

    .landing-header.landing-v2-header.is-scrolled .landing-header-inner {
        min-height: 66px !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    .landing-header.landing-v2-header .landing-desktop-nav {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
        pointer-events: auto;
        transition:
            opacity .18s ease,
            transform .18s ease,
            visibility .18s ease,
            gap .24s ease;
    }

    /* Beim Herunterscrollen bleibt der kompakte Header mit Logo sichtbar,
       nur die Desktop-Navigation verschwindet. */
    .landing-header.landing-v2-header.is-nav-hidden .landing-desktop-nav {
        opacity: 0;
        visibility: hidden;
        transform: translateY(-10px);
        pointer-events: none;
    }

    /* Logo bleibt links stabil, auch wenn die Navigation ausgeblendet ist. */
    .landing-header.landing-v2-header.is-nav-hidden .brand {
        margin-right: 0 !important;
    }
}


/* PALALOG 0.11.2.5 – Back-to-top Kontrast auf dunklen Sections */
.landing-back-to-top.is-on-dark {
    color: #111318;
    background: #ffffff;
    border: 1px solid rgba(255,255,255,.72);
    box-shadow: 0 12px 30px rgba(0,0,0,.28);
}

.landing-back-to-top.is-on-dark:hover {
    color: #a90000;
    background: #ffffff;
    border-color: #ffffff;
}

.landing-back-to-top.is-on-dark span {
    color: inherit;
}


/* PALALOG 0.11.2.6 – kompletter Landing-Header Auto-Hide */
.landing-header.landing-v2-header {
    will-change: transform;
    transition:
        transform .22s ease,
        background .22s ease,
        box-shadow .22s ease,
        border-color .22s ease;
}

/*
 * Beim Herunterscrollen verschwindet jetzt der GESAMTE Header:
 * Logo + Navigation bzw. Logo + Hamburger.
 */
.landing-header.landing-v2-header.is-header-hidden {
    transform: translateY(-115%);
    pointer-events: none;
}

/* Beim Hochscrollen wird die Klasse entfernt und der Header fährt wieder ein. */
.landing-header.landing-v2-header:not(.is-header-hidden) {
    transform: translateY(0);
}

/* Alte 0.11.2.4-Regel darf die Navigation nicht mehr separat verstecken. */
@media (min-width:851px) {
    .landing-header.landing-v2-header .landing-desktop-nav,
    .landing-header.landing-v2-header.is-nav-hidden .landing-desktop-nav {
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        pointer-events: auto !important;
    }
}

/* Beim geöffneten mobilen Vollbild-Menü bleibt die bestehende Menülogik dominant. */
@media (max-width:850px) {
    body.landing-menu-open .landing-header.landing-v2-header {
        transform: none !important;
    }
}


/* PALALOG 0.12.0 – operative Scan-Aktionen */
.scan-action-grid-v2 {
    grid-template-columns:repeat(4,minmax(0,1fr));
}

.scan-action-card {
    min-height:128px;
    display:flex;
    flex-direction:column;
    padding:14px;
    text-align:left;
    border:1px solid #e3e6ea;
    border-radius:10px;
    color:#111318;
    background:#fafbfc;
    cursor:pointer;
    font:inherit;
}

.scan-action-card:hover {
    border-color:#cfd4db;
    background:#fff;
    transform:translateY(-1px);
}

.scan-action-card small,
.scan-action-card strong,
.scan-action-card span {
    display:block;
}

.scan-action-card small {
    color:#667085;
    font-size:7px;
    font-weight:900;
    letter-spacing:.08em;
}

.scan-action-card strong {
    margin-top:10px;
    font-size:11px;
}

.scan-action-card span {
    margin-top:auto;
    padding-top:7px;
    color:#667085;
    font-size:8px;
    line-height:1.4;
}

.scan-action-card.is-danger {
    border-color:#fecaca;
    background:#fff8f8;
}

.scan-action-card.is-danger small,
.scan-action-card.is-danger strong {
    color:#b42318;
}

.scan-action-card.is-positive {
    border-color:#bbf7d0;
    background:#f7fff9;
}

.scan-action-card.is-positive small,
.scan-action-card.is-positive strong {
    color:#166534;
}

.scan-photo-action-panel,
.scan-action-history-panel {
    margin-top:16px;
}

.scan-photo-action-form {
    display:flex;
    align-items:center;
    gap:12px;
}

.scan-photo-capture {
    min-width:0;
    flex:1;
    display:flex;
    align-items:center;
    gap:12px;
    min-height:62px;
    padding:10px 12px;
    border:1px dashed #cfd4db;
    border-radius:10px;
    background:#fafbfc;
    cursor:pointer;
}

.scan-photo-capture input {
    max-width:230px;
}

.scan-photo-capture span {
    display:grid;
    gap:3px;
}

.scan-photo-capture strong {
    font-size:9px;
}

.scan-photo-capture small {
    color:#667085;
    font-size:8px;
}

.scan-action-history {
    display:grid;
    gap:7px;
}

.scan-action-history article {
    display:grid;
    grid-template-columns:120px minmax(0,1fr);
    gap:12px;
    align-items:start;
    padding:10px 0;
    border-bottom:1px solid #edf0f2;
}

.scan-action-history article:last-child {
    border-bottom:0;
}

.scan-action-history article > div {
    display:grid;
    gap:3px;
}

.scan-action-history strong {
    font-size:9px;
}

.scan-action-history small {
    color:#667085;
    font-size:8px;
    line-height:1.4;
}

.scan-action-modal {
    position:fixed;
    inset:0;
    z-index:1600;
    display:grid;
    place-items:center;
    padding:18px;
    background:rgba(17,19,24,.58);
    backdrop-filter:blur(5px);
    -webkit-backdrop-filter:blur(5px);
}

.scan-action-modal[hidden] {
    display:none !important;
}

.scan-action-modal-card {
    width:min(100%,560px);
    max-height:calc(100dvh - 36px);
    overflow:auto;
    border:1px solid #e3e6ea;
    border-radius:15px;
    background:#fff;
    box-shadow:0 30px 80px rgba(17,19,24,.28);
}

.scan-action-modal-head {
    position:sticky;
    top:0;
    z-index:2;
    display:flex;
    justify-content:space-between;
    gap:20px;
    align-items:flex-start;
    padding:17px 18px 13px;
    border-bottom:1px solid #edf0f2;
    background:#fff;
}

.scan-action-modal-head small {
    color:#a90000;
    font-size:8px;
    font-weight:900;
    letter-spacing:.08em;
}

.scan-action-modal-head h2 {
    margin:4px 0 0;
    font-size:20px;
}

.scan-action-modal-head > button {
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    flex:0 0 38px;
    padding:0;
    border:1px solid #e3e6ea;
    border-radius:9px;
    color:#111318;
    background:#fff;
    font-size:24px;
    cursor:pointer;
}

.scan-action-modal-card form {
    display:grid;
    gap:14px;
    padding:18px;
}

.scan-action-modal-card form p {
    margin:0;
    color:#667085;
    font-size:9px;
    line-height:1.55;
}

.scan-action-modal-card label {
    display:grid;
    gap:6px;
}

.scan-action-modal-card label > span {
    font-size:8px;
    font-weight:900;
    letter-spacing:.06em;
    color:#475467;
}

.scan-action-modal-card textarea {
    width:100%;
    resize:vertical;
}

.scan-action-modal-buttons {
    display:flex;
    justify-content:flex-end;
    gap:8px;
    padding-top:3px;
}

body.scan-action-modal-open {
    overflow:hidden;
}

.scan-action-page {
    display:grid;
    gap:16px;
}

.scan-relocation-grid {
    display:grid;
    grid-template-columns:minmax(310px,.72fr) minmax(0,1.28fr);
    gap:16px;
}

.scan-location-big-code {
    margin-bottom:14px;
    padding:18px;
    border:1px solid #e3e6ea;
    border-left:4px solid #a90000;
    border-radius:10px;
    background:#fafbfc;
    font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
    font-size:21px;
    font-weight:900;
    letter-spacing:-.02em;
    overflow-wrap:anywhere;
}

.scan-relocation-target {
    border-top:4px solid #a90000;
}

.scan-relocation-camera-button {
    width:100%;
    min-height:170px;
    display:grid;
    place-content:center;
    justify-items:center;
    margin-bottom:14px;
    padding:18px;
    border:0;
    border-radius:12px;
    color:#fff;
    background:#111318;
    cursor:pointer;
}

.scan-relocation-camera-button strong {
    margin-top:10px;
    font-size:14px;
}

.scan-relocation-camera-button small {
    margin-top:3px;
    color:rgba(255,255,255,.7);
    font-size:8px;
}

.scan-relocation-form {
    display:grid;
    gap:12px;
}

.scan-relocation-form label {
    display:grid;
    gap:6px;
}

.scan-relocation-form label > span {
    color:#475467;
    font-size:8px;
    font-weight:900;
    letter-spacing:.06em;
}

.scan-relocation-detected {
    padding:11px 12px;
    border:1px solid #bbf7d0;
    border-radius:9px;
    background:#f7fff9;
}

.scan-relocation-detected small,
.scan-relocation-detected strong,
.scan-relocation-detected span {
    display:block;
}

.scan-relocation-detected small {
    color:#166534;
    font-size:7px;
    font-weight:900;
    letter-spacing:.08em;
}

.scan-relocation-detected strong {
    margin-top:4px;
    font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
    font-size:13px;
}

.scan-relocation-detected span {
    margin-top:4px;
    color:#52705d;
    font-size:8px;
    line-height:1.45;
}

.scan-safety-note {
    padding:11px 12px;
    border:1px solid #dbe4f0;
    border-radius:9px;
    background:#f3f7fc;
}

.scan-safety-note strong,
.scan-safety-note span {
    display:block;
}

.scan-safety-note strong {
    color:#25446d;
    font-size:8.5px;
}

.scan-safety-note span {
    margin-top:3px;
    color:#52677f;
    font-size:8px;
    line-height:1.45;
}

.button-wide {
    width:100%;
    justify-content:center;
}

@media (max-width:1200px) {
    .scan-action-grid-v2 {
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}

@media (max-width:900px) {
    .scan-action-grid-v2 {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .scan-relocation-grid {
        grid-template-columns:1fr;
    }
}

@media (max-width:650px) {
    .scan-action-grid-v2 {
        grid-template-columns:1fr;
    }

    .scan-photo-action-form {
        align-items:stretch;
        flex-direction:column;
    }

    .scan-photo-capture {
        align-items:flex-start;
        flex-direction:column;
    }

    .scan-photo-capture input {
        width:100%;
        max-width:none;
    }

    .scan-photo-action-form .button {
        width:100%;
    }

    .scan-action-history article {
        grid-template-columns:1fr;
        gap:6px;
    }

    .scan-action-modal {
        padding:8px;
        align-items:end;
    }

    .scan-action-modal-card {
        width:100%;
        max-height:92dvh;
        border-radius:15px 15px 0 0;
    }

    .scan-action-modal-buttons {
        flex-direction:column-reverse;
    }

    .scan-action-modal-buttons .button {
        width:100%;
    }

    .scan-location-big-code {
        font-size:17px;
    }
}


/* PALALOG 0.13.0 – Lageraufgaben & Mitarbeiterzuweisung */
.warehouse-task-kpis {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
    margin-bottom:16px;
}

.warehouse-task-kpis > a {
    min-height:115px;
    display:flex;
    flex-direction:column;
    padding:15px;
    border:1px solid #e3e6ea;
    border-radius:11px;
    background:#fff;
}

.warehouse-task-kpis small {
    color:#667085;
    font-size:7px;
    font-weight:900;
    letter-spacing:.08em;
}

.warehouse-task-kpis strong {
    margin-top:12px;
    font-size:28px;
    line-height:1;
}

.warehouse-task-kpis span {
    margin-top:auto;
    color:#667085;
    font-size:8px;
}

.warehouse-task-kpis > a.is-alert {
    border-color:#fecaca;
    background:#fff8f8;
}

.warehouse-task-kpis > a.is-alert strong {
    color:#b42318;
}

.warehouse-task-filter-panel {
    margin-bottom:12px;
}

.warehouse-task-filters {
    display:grid;
    grid-template-columns:minmax(220px,1.4fr) repeat(3,minmax(150px,.7fr)) auto;
    gap:8px;
}

.warehouse-task-list {
    display:grid;
    gap:9px;
}

.warehouse-task-card {
    display:block;
    padding:16px;
    border:1px solid #e3e6ea;
    border-radius:11px;
    background:#fff;
    transition:.15s ease;
}

.warehouse-task-card:hover {
    border-color:#cbd1d9;
    box-shadow:0 8px 24px rgba(17,19,24,.05);
    transform:translateY(-1px);
}

.warehouse-task-card-top {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
}

.warehouse-task-card-top small {
    color:#a90000;
    font-size:7px;
    font-weight:900;
    letter-spacing:.08em;
}

.warehouse-task-card-top h2 {
    margin:5px 0 0;
    font-size:16px;
}

.warehouse-task-card-badges {
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:5px;
}

.warehouse-task-meta {
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-top:12px;
}

.warehouse-task-meta span {
    display:flex;
    gap:5px;
    padding:6px 8px;
    border:1px solid #edf0f2;
    border-radius:7px;
    background:#fafbfc;
    color:#667085;
    font-size:8px;
}

.warehouse-task-meta b {
    color:#111318;
}

.warehouse-task-card p {
    margin:10px 0 0;
    color:#667085;
    font-size:8.5px;
    line-height:1.5;
}

.warehouse-task-form {
    display:grid;
    gap:14px;
    max-width:980px;
}

.warehouse-task-context {
    padding:13px;
    border:1px solid #dbe4f0;
    border-left:4px solid #a90000;
    border-radius:9px;
    background:#f8fafc;
}

.warehouse-task-context small,
.warehouse-task-context strong,
.warehouse-task-context span {
    display:block;
}

.warehouse-task-context small {
    color:#a90000;
    font-size:7px;
    font-weight:900;
    letter-spacing:.08em;
}

.warehouse-task-context strong {
    margin-top:4px;
    font-size:14px;
}

.warehouse-task-context span {
    margin-top:3px;
    color:#667085;
    font-size:8px;
}

.warehouse-task-detail-grid {
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
    gap:16px;
}

.warehouse-task-notes {
    margin-top:15px;
    padding-top:15px;
    border-top:1px solid #edf0f2;
}

.warehouse-task-notes small {
    color:#667085;
    font-size:7px;
    font-weight:900;
    letter-spacing:.08em;
}

.warehouse-task-notes p {
    margin:6px 0 0;
    line-height:1.6;
}

.warehouse-task-assign {
    display:grid;
    gap:8px;
}

.warehouse-task-assign label {
    display:grid;
    gap:5px;
}

.warehouse-task-assign label span {
    color:#667085;
    font-size:8px;
    font-weight:900;
}

.warehouse-task-object {
    display:grid;
    gap:4px;
    margin-top:12px;
    padding:12px;
    border:1px solid #e3e6ea;
    border-radius:9px;
    background:#fafbfc;
}

.warehouse-task-object small {
    color:#a90000;
    font-size:7px;
    font-weight:900;
    letter-spacing:.08em;
}

.warehouse-task-object strong {
    font-size:11px;
}

.warehouse-task-object span {
    color:#667085;
    font-size:8px;
}

.warehouse-task-workflow {
    margin-top:16px;
    border-top:4px solid #111318;
}

.warehouse-task-workflow-actions {
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

@media (max-width:1100px) {
    .warehouse-task-filters {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .warehouse-task-filters input[type="search"] {
        grid-column:1/-1;
    }
}

@media (max-width:850px) {
    .warehouse-task-kpis {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .warehouse-task-detail-grid {
        grid-template-columns:1fr;
    }
}

@media (max-width:650px) {
    .warehouse-task-kpis,
    .warehouse-task-filters {
        grid-template-columns:1fr;
    }

    .warehouse-task-filters input[type="search"] {
        grid-column:auto;
    }

    .warehouse-task-card-top {
        flex-direction:column;
    }

    .warehouse-task-card-badges {
        justify-content:flex-start;
    }

    .warehouse-task-meta {
        display:grid;
        grid-template-columns:1fr;
    }

    .warehouse-task-workflow-actions {
        display:grid;
        grid-template-columns:1fr;
    }

    .warehouse-task-workflow-actions form,
    .warehouse-task-workflow-actions .button {
        width:100%;
    }
}


/* PALALOG 0.14.0 – Live Aufgabenboard & Mein Arbeitsvorrat */
.warehouse-board-live {
    display:flex;
    align-items:center;
    gap:6px;
    padding:8px 10px;
    border:1px solid #dfe3e8;
    border-radius:9px;
    background:#fff;
}

.warehouse-board-live strong {
    color:#166534;
    font-size:8px;
    letter-spacing:.08em;
}

.warehouse-board-live small {
    color:#667085;
    font-size:8px;
}

.warehouse-board-live.is-loading {
    opacity:.65;
}

.warehouse-board-live.is-error strong,
.warehouse-board-live.is-error small {
    color:#b42318;
}

.warehouse-board-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    align-items:start;
}

.warehouse-board-column {
    min-height:560px;
    padding:12px;
    border:1px solid #e3e6ea;
    border-radius:12px;
    background:#f7f8fa;
}

.warehouse-board-column.is-active {
    border-top:4px solid #a90000;
    padding-top:9px;
}

.warehouse-board-column-head {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:10px;
    padding:3px 2px 8px;
    border-bottom:1px solid #e3e6ea;
}

.warehouse-board-column-head small {
    color:#667085;
    font-size:7px;
    font-weight:900;
    letter-spacing:.08em;
}

.warehouse-board-column-head h2 {
    margin:3px 0 0;
    font-size:15px;
}

.warehouse-board-column-head > span {
    width:31px;
    height:31px;
    display:grid;
    place-items:center;
    border-radius:8px;
    color:#fff;
    background:#111318;
    font-size:9px;
    font-weight:900;
}

.warehouse-board-stack {
    display:grid;
    gap:8px;
}

.warehouse-board-card {
    padding:12px;
    border:1px solid #e3e6ea;
    border-radius:10px;
    background:#fff;
    box-shadow:0 5px 16px rgba(17,19,24,.025);
}

.warehouse-board-card-head {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
}

.warehouse-board-card-head > small {
    color:#667085;
    font-size:7px;
    font-weight:800;
}

.warehouse-board-card h3 {
    margin:9px 0 0;
    font-size:11px;
    line-height:1.35;
}

.warehouse-board-card-meta {
    display:flex;
    flex-wrap:wrap;
    gap:5px;
    margin-top:9px;
}

.warehouse-board-card-meta span {
    padding:5px 7px;
    border:1px solid #edf0f2;
    border-radius:6px;
    color:#667085;
    background:#fafbfc;
    font-size:7.5px;
}

.warehouse-board-assignee {
    margin-top:9px;
    padding:8px;
    border-radius:7px;
    background:#f6f7f9;
}

.warehouse-board-assignee small,
.warehouse-board-assignee strong {
    display:block;
}

.warehouse-board-assignee small {
    color:#667085;
    font-size:6.5px;
    font-weight:900;
    letter-spacing:.08em;
}

.warehouse-board-assignee strong {
    margin-top:3px;
    font-size:8.5px;
}

.warehouse-board-card-actions {
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin-top:11px;
}

.warehouse-board-empty {
    padding:20px 12px;
    text-align:center;
    color:#98a2b3;
    font-size:8.5px;
}

/* Meine Aufgaben */
.my-warehouse-tasks {
    display:grid;
    gap:10px;
}

.my-warehouse-task-card {
    padding:16px;
    border:1px solid #e3e6ea;
    border-left:4px solid #111318;
    border-radius:11px;
    background:#fff;
}

.my-warehouse-task-top {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
}

.my-warehouse-task-top small {
    color:#a90000;
    font-size:7px;
    font-weight:900;
    letter-spacing:.08em;
}

.my-warehouse-task-top h2 {
    margin:5px 0 0;
    font-size:16px;
}

.my-warehouse-task-meta {
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-top:12px;
}

.my-warehouse-task-meta span {
    display:flex;
    gap:5px;
    padding:6px 8px;
    border:1px solid #edf0f2;
    border-radius:7px;
    background:#fafbfc;
    color:#667085;
    font-size:8px;
}

.my-warehouse-task-meta b {
    color:#111318;
}

.my-warehouse-task-actions {
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-top:13px;
}

/* Task history */
.warehouse-task-timeline-panel {
    margin-top:16px;
}

.warehouse-task-timeline {
    display:grid;
    gap:0;
}

.warehouse-task-timeline article {
    position:relative;
    display:grid;
    grid-template-columns:18px minmax(0,1fr);
    gap:10px;
    padding:0 0 15px;
}

.warehouse-task-timeline article:not(:last-child):before {
    content:"";
    position:absolute;
    left:7px;
    top:15px;
    bottom:0;
    width:2px;
    background:#e3e6ea;
}

.warehouse-task-timeline-marker {
    position:relative;
    z-index:1;
    width:16px;
    height:16px;
    border:4px solid #fff;
    border-radius:50%;
    background:#a90000;
    box-shadow:0 0 0 1px #d9dde3;
}

.warehouse-task-timeline-head {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
}

.warehouse-task-timeline-head strong {
    font-size:9px;
}

.warehouse-task-timeline p {
    margin:5px 0 2px;
    color:#475467;
    font-size:8.5px;
    line-height:1.45;
}

.warehouse-task-timeline article small {
    color:#98a2b3;
    font-size:7.5px;
}

.warehouse-task-self-actions {
    display:flex;
    gap:7px;
    margin-bottom:10px;
}

@media (max-width:1050px) {
    .warehouse-board-grid {
        grid-template-columns:1fr;
    }

    .warehouse-board-column {
        min-height:0;
    }
}

@media (max-width:650px) {
    .warehouse-board-live {
        width:100%;
        justify-content:center;
    }

    .my-warehouse-task-top {
        flex-direction:column;
    }

    .my-warehouse-task-actions {
        display:grid;
        grid-template-columns:1fr;
    }

    .my-warehouse-task-actions form,
    .my-warehouse-task-actions .button {
        width:100%;
    }

    .warehouse-task-timeline-head {
        align-items:flex-start;
        flex-direction:column;
        gap:5px;
    }
}


/* PALALOG 0.15.0 – eigene mobile Lageransicht */
.sidebar-warehouse-link {
    position:relative;
    display:flex !important;
    align-items:center;
    gap:9px;
    font-weight:900 !important;
}

.sidebar-warehouse-symbol {
    position:relative;
    width:17px;
    height:17px;
    flex:0 0 17px;
    border:2px solid currentColor;
    border-radius:3px;
}

.sidebar-warehouse-symbol:before,
.sidebar-warehouse-symbol:after {
    content:"";
    position:absolute;
    left:3px;
    right:3px;
    height:2px;
    background:currentColor;
}

.sidebar-warehouse-symbol:before {
    top:4px;
}

.sidebar-warehouse-symbol:after {
    bottom:4px;
}

.warehouse-mobile-shell {
    width:100%;
    max-width:1080px;
    margin:0 auto;
}

.warehouse-mobile-head {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:18px;
    margin-bottom:16px;
}

.warehouse-mobile-head h1 {
    margin:4px 0 0;
    font-size:34px;
}

.warehouse-mobile-head p {
    margin:6px 0 0;
    color:#667085;
}

.warehouse-mobile-user {
    min-width:220px;
    padding:10px 12px;
    border:1px solid #e3e6ea;
    border-radius:9px;
    background:#fff;
}

.warehouse-mobile-user small,
.warehouse-mobile-user strong {
    display:block;
}

.warehouse-mobile-user small {
    color:#667085;
    font-size:7px;
    font-weight:900;
    letter-spacing:.08em;
}

.warehouse-mobile-user strong {
    margin-top:4px;
    font-size:9px;
}

.warehouse-mobile-status-grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:8px;
    margin-bottom:14px;
}

.warehouse-mobile-status-grid > a {
    min-height:78px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    padding:11px 12px;
    border:1px solid #e3e6ea;
    border-radius:10px;
    background:#fff;
}

.warehouse-mobile-status-grid small {
    color:#667085;
    font-size:6.5px;
    font-weight:900;
    letter-spacing:.07em;
}

.warehouse-mobile-status-grid strong {
    margin-top:8px;
    font-size:23px;
    line-height:1;
}

.warehouse-mobile-status-grid > a.is-alert {
    border-color:#fecaca;
    background:#fff7f7;
}

.warehouse-mobile-status-grid > a.is-alert strong {
    color:#b42318;
}

.warehouse-mobile-actions {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}

.warehouse-mobile-action {
    position:relative;
    min-height:178px;
    display:grid;
    grid-template-columns:66px minmax(0,1fr) 28px;
    gap:14px;
    align-items:center;
    padding:20px;
    border:1px solid #dfe3e8;
    border-radius:15px;
    color:#111318;
    background:#fff;
    box-shadow:0 8px 24px rgba(17,19,24,.04);
    transition:
        transform .14s ease,
        border-color .14s ease,
        box-shadow .14s ease;
}

.warehouse-mobile-action:hover {
    transform:translateY(-2px);
    border-color:#c8ced6;
    box-shadow:0 12px 30px rgba(17,19,24,.07);
}

.warehouse-mobile-action:active {
    transform:scale(.99);
}

.warehouse-mobile-action > div {
    min-width:0;
}

.warehouse-mobile-action small,
.warehouse-mobile-action strong,
.warehouse-mobile-action div > span {
    display:block;
}

.warehouse-mobile-action small {
    color:#667085;
    font-size:7px;
    font-weight:900;
    letter-spacing:.08em;
}

.warehouse-mobile-action strong {
    margin-top:5px;
    font-size:24px;
    line-height:1.1;
}

.warehouse-mobile-action div > span {
    margin-top:8px;
    color:#667085;
    font-size:9px;
    line-height:1.45;
}

.warehouse-mobile-icon {
    width:62px;
    height:62px;
    display:grid;
    place-items:center;
    border-radius:14px;
    color:#fff;
    background:#111318;
    font-size:34px;
    font-weight:300;
}

.warehouse-mobile-action.is-inbound .warehouse-mobile-icon {
    background:#166534;
}

.warehouse-mobile-action.is-outbound .warehouse-mobile-icon {
    background:#a90000;
}

.warehouse-mobile-action.is-tasks .warehouse-mobile-icon {
    background:#25446d;
}

.warehouse-mobile-action.is-scan .warehouse-mobile-icon {
    background:#111318;
}

.warehouse-mobile-arrow {
    justify-self:end;
    color:#98a2b3;
    font-size:36px;
    font-weight:300;
}

.warehouse-mobile-badge {
    min-width:34px;
    height:34px;
    display:grid;
    place-items:center;
    justify-self:end;
    padding:0 8px;
    border-radius:17px;
    color:#fff;
    background:#a90000;
    font-size:10px;
    font-weight:900;
}

.warehouse-mobile-qr {
    position:relative;
}

.warehouse-mobile-qr i {
    position:absolute;
    width:16px;
    height:16px;
    border:3px solid #fff;
}

.warehouse-mobile-qr i:nth-child(1) {
    top:11px;
    left:11px;
}

.warehouse-mobile-qr i:nth-child(2) {
    top:11px;
    right:11px;
}

.warehouse-mobile-qr i:nth-child(3) {
    bottom:11px;
    left:11px;
}

.warehouse-mobile-qr i:nth-child(4) {
    right:11px;
    bottom:11px;
    border-top:0;
    border-left:0;
}

.warehouse-mobile-secondary {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    margin-top:12px;
}

.warehouse-mobile-secondary > a {
    min-height:74px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:12px 14px;
    border:1px solid #e3e6ea;
    border-radius:10px;
    background:#fafbfc;
}

.warehouse-mobile-secondary strong,
.warehouse-mobile-secondary span {
    display:block;
}

.warehouse-mobile-secondary strong {
    font-size:10px;
}

.warehouse-mobile-secondary span {
    margin-top:3px;
    color:#667085;
    font-size:8px;
}

.warehouse-mobile-hint {
    margin:12px 0 0;
    text-align:center;
    color:#98a2b3;
    font-size:7.5px;
}

/* Smartphone: bewusst wie eine eigenständige Lager-App */
@media (max-width:850px) {
    .warehouse-mobile-shell {
        max-width:none;
    }

    .warehouse-mobile-head {
        align-items:flex-start;
        flex-direction:column;
        gap:8px;
        margin-bottom:10px;
    }

    .warehouse-mobile-head h1 {
        font-size:28px;
    }

    .warehouse-mobile-head p {
        max-width:500px;
        font-size:10px;
        line-height:1.45;
    }

    .warehouse-mobile-user {
        width:100%;
        min-width:0;
        padding:8px 10px;
    }

    .warehouse-mobile-status-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:6px;
        margin-bottom:10px;
    }

    .warehouse-mobile-status-grid > a {
        min-height:68px;
        padding:9px 10px;
    }

    .warehouse-mobile-status-grid strong {
        font-size:20px;
    }

    .warehouse-mobile-actions {
        grid-template-columns:1fr;
        gap:9px;
    }

    .warehouse-mobile-action {
        min-height:116px;
        grid-template-columns:58px minmax(0,1fr) 24px;
        gap:12px;
        padding:14px;
        border-radius:13px;
        box-shadow:none;
    }

    .warehouse-mobile-action strong {
        font-size:20px;
    }

    .warehouse-mobile-action div > span {
        margin-top:5px;
        font-size:8.5px;
    }

    .warehouse-mobile-icon {
        width:56px;
        height:56px;
        border-radius:12px;
        font-size:30px;
    }

    .warehouse-mobile-qr i {
        width:14px;
        height:14px;
    }

    .warehouse-mobile-qr i:nth-child(1) {
        top:10px;
        left:10px;
    }

    .warehouse-mobile-qr i:nth-child(2) {
        top:10px;
        right:10px;
    }

    .warehouse-mobile-qr i:nth-child(3) {
        bottom:10px;
        left:10px;
    }

    .warehouse-mobile-qr i:nth-child(4) {
        right:10px;
        bottom:10px;
    }

    .warehouse-mobile-secondary {
        grid-template-columns:1fr 1fr;
        gap:6px;
        margin-top:9px;
    }

    .warehouse-mobile-secondary > a {
        min-height:66px;
        padding:10px;
    }
}

@media (max-width:460px) {
    .warehouse-mobile-head .eyebrow {
        font-size:7px;
    }

    .warehouse-mobile-actions {
        gap:8px;
    }

    .warehouse-mobile-action {
        min-height:108px;
        grid-template-columns:52px minmax(0,1fr) 18px;
        gap:10px;
        padding:12px;
    }

    .warehouse-mobile-icon {
        width:50px;
        height:50px;
        border-radius:11px;
        font-size:27px;
    }

    .warehouse-mobile-action strong {
        font-size:18px;
    }

    .warehouse-mobile-action div > span {
        font-size:8px;
    }

    .warehouse-mobile-arrow {
        font-size:30px;
    }
}
