:root{--bg: #f1f5f9;--surface: #ffffff;--text: #0f172a;--muted: #64748b;--border: #e2e8f0;--primary: #0f172a;--ok: #16a34a;--ok-soft: #dcfce7;--error: #dc2626;--error-soft: #fee2e2;--info-soft: #e0f2fe;--radius: 14px;--tap: 52px}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:17px;line-height:1.45;-webkit-text-size-adjust:100%}h1,h2,h3{margin:0 0 4px;line-height:1.2}h1{font-size:1.5rem}h2{font-size:1.2rem}h3{font-size:1rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;padding-top:max(10px,env(safe-area-inset-top));background:var(--primary);color:#f8fafc}.brand{color:#f8fafc;text-decoration:none;font-weight:700;letter-spacing:-.01em}.brand span{font-weight:400;opacity:.75}.topbar nav{display:flex;align-items:center;gap:8px}.topbar nav a{color:#e2e8f0;text-decoration:none;padding:8px 12px;border-radius:10px}.topbar nav a.active{background:#f8fafc29}@media(max-width:520px){.topbar{flex-wrap:wrap;row-gap:4px}.topbar nav{flex-wrap:wrap;justify-content:flex-end;gap:2px;margin-left:auto}.topbar nav a{padding:8px 9px}}.mock-bar{background:#fef3c7;color:#92400e;padding:8px 16px;font-size:.9rem;text-align:center}main{padding:0 0 48px}.page{display:flex;flex-direction:column;gap:12px;padding:12px;max-width:760px;margin:0 auto}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.hint{color:var(--muted);font-size:.92rem;margin:6px 0 0}.hint.error{color:var(--error);font-weight:600}.btn{min-height:var(--tap);padding:0 18px;border-radius:12px;border:1px solid var(--border);background:#f8fafc;color:var(--text);font-size:1rem;font-weight:600;cursor:pointer}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--primary);border-color:var(--primary);color:#f8fafc}.btn.danger{background:#fff;border-color:var(--error);color:var(--error)}.btn.ghost{background:transparent;border-color:transparent;color:inherit;min-height:40px;padding:0 12px}.btn.big{width:100%;min-height:60px;font-size:1.1rem}.btn-row{display:flex;gap:10px;margin-top:12px}.btn-row.wrap{flex-wrap:wrap;margin-top:0}.btn-row .btn{flex:1 1 auto}.login-wrap{min-height:100dvh;display:grid;place-items:center;padding:20px}.login{width:min(420px,100%);display:flex;flex-direction:column;gap:6px}.login form{display:flex;flex-direction:column;gap:6px}.login label{margin-top:10px;font-weight:600;font-size:.92rem}.login input{min-height:var(--tap);padding:0 14px;font-size:1.05rem;border:1px solid var(--border);border-radius:12px;background:#fff;color:inherit}.login .btn{margin-top:16px}.scan-input input{width:100%;min-height:64px;padding:0 16px;font-size:1.25rem;font-weight:600;letter-spacing:.02em;border:2px solid var(--primary);border-radius:12px;background:#fff;color:inherit}.scan-input input:disabled{border-color:var(--border);background:#f8fafc}.scan-input input:focus{outline:3px solid rgba(15,23,42,.25);outline-offset:1px}.banner{margin-top:12px;padding:14px 16px;border-radius:12px;font-weight:700;font-size:1.05rem}.banner.ok{background:var(--ok-soft);color:#14532d}.banner.done{background:var(--ok);color:#f0fdf4;font-size:1.2rem;padding:18px 16px;display:flex;align-items:center;gap:12px}.banner.done:before{content:"✓";flex:0 0 auto;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#f0fdf438;font-size:1.1rem}.banner.error{background:var(--error-soft);color:#7f1d1d}.banner.info{background:var(--info-soft);color:#075985}.address-grid{display:grid;gap:10px;grid-template-columns:1fr;margin:10px 0 14px}@media(min-width:560px){.address-grid{grid-template-columns:1fr 1fr}}.address{border:1px solid var(--border);border-radius:12px;padding:10px 12px;background:#f8fafc}.address.highlight{border-color:#fbbf24;background:#fffbeb}.address-label{display:block;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:4px}.address.highlight .address-label{color:#b45309}.address address{display:flex;flex-direction:column;font-style:normal;line-height:1.35}.address-name{font-weight:650}.address-country{margin-top:2px;font-weight:700;text-transform:uppercase;color:#b45309}.phase-label{margin:4px 0 10px;font-weight:700;color:#1d4ed8}.progress{position:relative;height:34px;border-radius:10px;background:#e2e8f0;overflow:hidden}.progress-bar{height:100%;background:var(--ok);transition:width .16s ease-out}.progress-text{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-weight:700;font-size:.95rem;color:var(--text)}.item-list,.order-list,.result-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:#fff}.item.done{background:var(--ok-soft);border-color:#86efac}.item-main{display:flex;flex-direction:column;min-width:0}.item-title{font-weight:650}.item-meta,.item-origin{font-size:.85rem;color:var(--muted)}.item-origin{font-style:italic}.item-count{font-variant-numeric:tabular-nums;font-size:1.3rem;font-weight:700;white-space:nowrap}.item-count .sep{opacity:.4;margin:0 2px}.order-row{width:100%;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:14px;border:1px solid var(--border);border-radius:12px;background:#fff;text-align:left;font:inherit;cursor:pointer}.order-number{font-weight:700}.order-customer{color:var(--muted);flex:1 1 auto}.lock-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;border:1px solid var(--border);border-radius:12px}.lock-row .hint{display:block}.lock-row .btn-row{margin-top:0}.badge{padding:4px 10px;border-radius:999px;font-size:.8rem;font-weight:700;background:#e2e8f0;color:#334155;white-space:nowrap}.badge.status-pack_laeuft{background:#e0e7ff;color:#3730a3}.badge.status-abgeschlossen{background:var(--ok-soft);color:#14532d}.badge.status-abgebrochen,.badge.lock{background:var(--error-soft);color:#7f1d1d}.segmented{display:flex;border:1px solid var(--border);border-radius:10px;overflow:hidden}.segmented button{border:0;background:#fff;padding:10px 12px;font:inherit;font-size:.88rem;cursor:pointer;color:var(--muted)}.segmented button.active{background:var(--primary);color:#f8fafc;font-weight:600}.stats-grid{display:grid;gap:12px;grid-template-columns:1fr}@media(min-width:520px){.stats-grid{grid-template-columns:1fr 1fr}}.stat-block{border:1px solid var(--border);border-radius:12px;padding:12px 14px}.stat-row{display:flex;justify-content:space-between;gap:12px;padding:3px 0;font-size:.95rem}.stat-row span{color:var(--muted)}.user-form{border:1px solid var(--border);border-radius:12px;padding:14px;margin-bottom:12px;background:#f8fafc}.user-form-fields{display:grid;gap:10px;grid-template-columns:1fr;margin-bottom:12px}@media(min-width:620px){.user-form-fields{grid-template-columns:1fr 1fr auto}}.user-form label{display:flex;flex-direction:column;gap:4px;font-weight:600;font-size:.9rem}.user-form .optional{font-weight:400;color:var(--muted)}.user-form input,.user-form select{min-height:46px;padding:0 12px;font:inherit;border:1px solid var(--border);border-radius:10px;background:#fff;color:inherit}.user-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.user-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:12px}.user-row.inaktiv{opacity:.62;border-style:dashed}.user-main{display:flex;flex-direction:column;min-width:0}.user-name{font-weight:650;display:flex;align-items:center;gap:6px}.user-meta{font-size:.85rem;color:var(--muted)}.user-actions{display:flex;flex-wrap:wrap;gap:6px}.badge.self{background:#dbeafe;color:#1e40af}.badge.admin{background:#ede9fe;color:#5b21b6}.btn.small{min-height:38px;padding:0 12px;font-size:.88rem}.passwort-anzeige{margin:14px 0;padding:16px;border:2px dashed var(--border);border-radius:12px;background:#f8fafc;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:1.5rem;font-weight:700;letter-spacing:.06em;text-align:center;-webkit-user-select:all;user-select:all;word-break:break-all}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;display:grid;place-items:end center;z-index:50}.modal{width:min(680px,100%);max-height:88dvh;overflow-y:auto;background:var(--surface);border-radius:16px 16px 0 0;padding:16px;padding-bottom:max(16px,env(safe-area-inset-bottom))}@media(min-width:640px){.modal-backdrop{place-items:center}.modal{border-radius:16px}}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.search-field{width:100%;min-height:var(--tap);padding:0 14px;font-size:1.05rem;border:1px solid var(--border);border-radius:12px}.danger-zone{margin-top:20px;border-color:#fecaca;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.danger-zone h3{color:var(--error)}.danger-zone .hint{max-width:44ch}.field-label{display:block;margin-top:14px;font-weight:600;font-size:.92rem}.reason-field{width:100%;margin-top:6px;padding:12px 14px;font:inherit;font-size:1rem;border:1px solid var(--border);border-radius:12px;background:#fff;color:inherit;resize:vertical}.result{width:100%;display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:#fff;text-align:left;font:inherit;cursor:pointer}.result-title{font-weight:650}.result-meta{font-size:.85rem;color:var(--muted)}.camera{width:100%;border-radius:12px;background:#000}@media(prefers-color-scheme:dark){:root{--bg: #0b1220;--surface: #111a2b;--text: #e2e8f0;--muted: #94a3b8;--border: #1e293b;--primary: #1e293b;--ok-soft: #062f1c;--error-soft: #3b0d0d;--info-soft: #082f49}.btn,.login input,.scan-input input,.search-field,.reason-field,.item,.order-row,.result,.segmented button{background:#0f1829;color:var(--text)}.scan-input input{border-color:#38bdf8}.progress{background:#1e293b}.item.done{border-color:#14532d}.danger-zone{border-color:#7f1d1d}.address{background:#0f1829}.user-form,.user-form input,.user-form select,.passwort-anzeige{background:#0f1829;color:var(--text)}.address.highlight{background:#2a1f05;border-color:#b45309}.segmented button.active{background:#38bdf8;color:#0b1220}}.dokument{max-height:46vh;overflow-y:auto;padding:14px 16px;margin:10px 0;border:1px solid var(--border);border-radius:12px;background:#f8fafc}.dokument.offen{max-height:none}.dokument:focus-visible{outline:3px solid rgba(15,23,42,.25)}.markdown h2{font-size:1.15rem;margin:0 0 8px}.markdown h3{font-size:.95rem;text-transform:none;letter-spacing:0;color:var(--text);margin:18px 0 4px}.markdown h4{font-size:.9rem;margin:14px 0 4px}.markdown p{margin:0 0 10px;line-height:1.5}.markdown ul{margin:0 0 10px;padding-left:20px}.markdown li{margin-bottom:4px;line-height:1.45}.markdown blockquote{margin:0 0 12px;padding:8px 12px;border-left:4px solid #fbbf24;background:#fffbeb;border-radius:0 8px 8px 0}.markdown blockquote p{margin:0;font-size:.92rem}.markdown code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.9em;background:#0f172a12;padding:1px 5px;border-radius:5px}.ack{display:flex;align-items:flex-start;gap:12px;padding:14px;border:2px solid var(--border);border-radius:12px;cursor:pointer;font-weight:600;line-height:1.4}.ack input{width:26px;height:26px;flex:0 0 auto;margin-top:1px;accent-color:var(--ok);cursor:pointer}.ack:has(input:checked){border-color:var(--ok);background:var(--ok-soft)}.ack.gesperrt{opacity:.55;cursor:not-allowed}.ack.gesperrt input{cursor:not-allowed}.doc-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.doc-head{width:100%;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:#fff;text-align:left;font:inherit;cursor:pointer}.doc-title{font-weight:650;flex:1 1 auto}.doc-meta{font-size:.85rem;color:var(--muted);flex:1 1 100%}.doc-toggle{font-size:.85rem;color:var(--muted);text-decoration:underline}.ack-block{border-top:1px solid var(--border);padding-top:12px;margin-top:12px}.ack-block:first-of-type{border-top:0;padding-top:0}.ack-list{list-style:none;margin:8px 0 0;padding:0}.ack-list li{display:flex;justify-content:space-between;gap:12px;padding:5px 0;border-bottom:1px solid var(--border)}.ack-list li:last-child{border-bottom:0}@media(prefers-color-scheme:dark){.dokument,.doc-head{background:#0f1829}.markdown blockquote{background:#2a1f05;border-left-color:#b45309}.markdown code{background:#f8fafc1f}}.zeit-feld{min-height:var(--tap);padding:0 14px;font:inherit;font-size:1.1rem;font-variant-numeric:tabular-nums;border:1px solid var(--border);border-radius:12px;background:#fff;color:inherit}.logout-warnung{display:flex;flex-direction:column;gap:2px;padding:10px 16px;background:#fef3c7;color:#92400e;font-size:.92rem;text-align:center}.logout-warnung strong{font-size:1rem}@media(prefers-color-scheme:dark){.zeit-feld{background:#0f1829;color:var(--text)}.logout-warnung{background:#2a1f05;color:#fbbf24}}.scan-login{width:100%;min-height:64px;margin:4px 0 8px;padding:0 16px;font-size:1.25rem;letter-spacing:.25em;border:2px solid var(--primary);border-radius:12px;background:#fff;color:inherit;text-align:center}.scan-login:focus{outline:3px solid rgba(15,23,42,.25);outline-offset:1px}.login-toggle{align-self:flex-start;margin-top:4px;text-decoration:underline}.karte{display:flex;flex-direction:column;align-items:center;gap:10px;width:min(340px,100%);margin:14px auto;padding:18px;border:2px solid var(--border);border-radius:14px;background:#fff;color:#0f172a}.karte-name{font-size:1.35rem;font-weight:700;text-align:center}.karte-qr svg{width:200px;height:200px;display:block}.karte-fuss{font-size:.78rem;color:#64748b;text-align:center}@media print{body:has(.karte) *{visibility:hidden}body:has(.karte) .karte,body:has(.karte) .karte *{visibility:visible}body:has(.karte) .karte{position:absolute;top:10mm;left:10mm;border-color:#94a3b8}}@media(prefers-color-scheme:dark){.scan-login{background:#0f1829;color:var(--text);border-color:#38bdf8}}.tabelle-wrap{overflow-x:auto;margin:4px -4px 0;padding:0 4px;-webkit-overflow-scrolling:touch}.stats-table{width:100%;border-collapse:collapse;font-size:.94rem;white-space:nowrap}.stats-table th,.stats-table td{padding:10px 12px;text-align:right;border-bottom:1px solid var(--border)}.stats-table thead th{font-size:.82rem;font-weight:650;color:var(--muted);text-align:right;border-bottom-width:2px}.stats-table th[scope=row],.stats-table thead th:first-child{text-align:left;font-weight:650}.stats-table th[scope=row]{display:flex;align-items:center;gap:8px}.stats-table tbody tr:hover{background:#f8fafc}.stats-table tr.gesperrt th[scope=row]{color:var(--muted)}.stats-table tfoot th,.stats-table tfoot td{border-bottom:none;border-top:2px solid var(--border);font-weight:700}.stats-table .neben{color:var(--muted);font-weight:400;font-size:.88rem}.zeitraum-wahl{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0 4px}.zeitraum-wahl label{color:var(--muted);font-size:.9rem}.zeitraum-wahl input{min-height:44px;padding:0 10px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);font:inherit}.detail-block{margin-top:20px;padding-top:16px;border-top:2px solid var(--border)}.detail-block h3{margin:0 0 10px;font-size:1.05rem}.name-btn{border:none;background:none;padding:0;font:inherit;font-weight:650;color:var(--text);text-align:left;text-decoration:underline;text-decoration-color:var(--border);text-underline-offset:4px;cursor:pointer;min-height:32px}.name-btn:hover,.name-btn[aria-expanded=true]{text-decoration-color:var(--text)}.offen-list{list-style:none;margin:8px 0 12px;padding:0;display:flex;flex-direction:column;gap:6px}.offen-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;border:1px solid var(--border);border-radius:12px;padding:6px 8px 6px 12px;background:var(--surface)}.offen-row.storno{border-color:var(--error);background:var(--error-soft)}.offen-haupt{flex:1 1 260px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:none;background:none;padding:8px 0;min-height:44px;font:inherit;color:var(--text);text-align:left;cursor:pointer}.offen-haupt:disabled{cursor:not-allowed;opacity:.75}.offen-alter{min-width:108px;color:var(--muted);font-size:.85rem;font-variant-numeric:tabular-nums}.offen-nummer{font-weight:700}.offen-kunde{flex:1 1 auto;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.offen-marken{display:flex;gap:6px;flex-wrap:wrap}.badge.angefangen{background:#fef3c7;color:#92400e}.badge.storno{background:var(--error);color:#fff}.offen-entfernen{flex:0 0 auto}.offen-bestaetigung{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.offen-bestaetigung .frage{font-size:.88rem;font-weight:650;color:var(--error)}.entfernt-list{list-style:none;margin:10px 0 0;padding:10px 0 0;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:4px;font-size:.86rem;color:var(--muted)}.entfernt-list li{display:flex;gap:10px;flex-wrap:wrap}.entfernt-nummer{font-weight:650;color:var(--text);min-width:100px}.entfernt-wer{font-weight:650}.entfernt-grund{font-style:italic}.pick-list{list-style:none;margin:10px 0;padding:0;display:flex;flex-direction:column;gap:6px;max-height:46vh;overflow-y:auto}.pick-row{width:100%;min-height:var(--tap);display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer}.pick-row:active{background:#f1f5f9}.pick-row:disabled{cursor:not-allowed;opacity:.55}.pick-row.fertig{background:var(--ok-soft);border-color:#86efac}.pick-titel{flex:1 1 200px;font-weight:650}.pick-sku{color:var(--muted);font-size:.85rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.suche-zeile{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:4px 0 8px}.suche-zeile input{flex:1 1 220px;min-height:var(--tap);padding:0 14px;border:2px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);font:inherit;font-size:1.05rem;letter-spacing:.02em}.suche-zeile input:focus{outline:none;border-color:var(--primary)}.treffer-wer{flex:1 1 100%;padding:0 0 4px 2px;font-size:.86rem;color:var(--muted)}.bearbeitung{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;margin:12px 0 0;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:#f8fafc;font-size:.92rem}.bearbeitung dt{color:var(--muted);white-space:nowrap}.bearbeitung dd{margin:0;font-weight:650}.item-aktionen{flex:1 1 100%;display:flex;gap:6px;flex-wrap:wrap;padding-top:6px}.ersatz-gegenueber{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:12px 0;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:#f8fafc}.ersatz-gegenueber dt{color:var(--muted);white-space:nowrap}.ersatz-gegenueber dd{margin:0}.stats-table td.links,.stats-table thead th.links{text-align:left}.stats-table .mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.86rem}.modal.gross{max-width:min(1040px,96vw);width:100%;max-height:94dvh;display:flex;flex-direction:column}.modal.gross .pick-list{max-height:none;flex:1 1 auto;min-height:0;gap:8px}.modal.gross .pick-row{min-height:68px;font-size:1.05rem}.modal.gross .pick-titel{font-size:1.08rem}.scan-gross{min-height:64px;font-size:1.15rem;letter-spacing:.01em}.melde-artikel{display:flex;flex-direction:column;gap:2px;padding:12px 14px;margin:8px 0 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2, #f8fafc)}.mengen-feld{display:flex;align-items:stretch;gap:10px;margin:6px 0 16px}.mengen-knopf{width:72px;min-height:64px;font-size:1.9rem;line-height:1;font-weight:700;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:inherit;cursor:pointer}.mengen-knopf:disabled{opacity:.4;cursor:default}.mengen-zahl{flex:1 1 auto;min-width:0;min-height:64px;text-align:center;font-size:1.6rem;font-weight:700}.mengen-zahl::-webkit-outer-spin-button,.mengen-zahl::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}.mengen-zahl{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.status-wahl{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:6px 0 16px}.status-knopf{min-height:68px;padding:10px 14px;font-size:1.05rem;font-weight:700;border:2px solid var(--border);border-radius:14px;background:var(--surface);color:inherit;cursor:pointer}.status-knopf.gewaehlt{border-color:var(--primary, #1d4ed8);background:var(--primary, #1d4ed8);color:#fff}.zeitraum-zeile{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}.zeitraum-zeile input[type=date]{width:auto;min-height:48px;padding:0 12px}.zeitraum-zeile label{margin:0}.stats-table tr.unterzeile>*{background:var(--surface-2, #f8fafc);font-weight:400;color:var(--muted, #475569)}.stats-table tr.summenzeile>*{border-top:2px solid var(--border)}.listen-wahl{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin-bottom:14px}.listen-knopf{min-height:58px;padding:8px 12px;display:flex;align-items:center;justify-content:center;gap:4px;flex-wrap:wrap;font-size:1rem;font-weight:700;border:2px solid var(--border);border-radius:12px;background:var(--surface);color:inherit;cursor:pointer}.listen-knopf.gewaehlt{border-color:var(--primary, #1d4ed8);background:var(--primary, #1d4ed8);color:#fff}.listen-knopf.gewaehlt .zaehler{background:#ffffff40;color:#fff}.notfall-stand{margin:10px 0 4px;font-size:1.15rem}.notfall-stand strong{font-size:1.6rem}.badge.status-vorlaeufig,.badge.notfall-vorlaeufig{background:#fef3c7;color:#78350f}.badge.notfall-abgeglichen{background:var(--ok-soft);color:#14532d}.badge.notfall-abweichung,.badge.status-abgebrochen{background:var(--error-soft);color:#7f1d1d}.badge.status-extern_erledigt{background:#e2e8f0;color:#334155}.muster-feld{width:100%;padding:12px;border:1px solid var(--border);border-radius:12px;font-size:.92rem;line-height:1.5;resize:vertical}.auswahl-zeile{display:flex;align-items:center;gap:12px;flex-wrap:wrap;width:100%;padding:10px 12px;cursor:pointer}.auswahl-zeile input[type=checkbox]{width:26px;height:26px;flex:none}.auswahl-list{max-height:46vh;overflow-y:auto}.neue-version{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:10px 16px;background:#1e3a8a;color:#fff;font-weight:600}.neue-version .btn{background:#fff;color:#1e3a8a;border-color:#fff}.kopf-daten{display:grid;grid-template-columns:max-content 1fr;gap:4px 16px;margin:10px 0 0}.kopf-daten dt{color:var(--muted);font-size:.9rem}.kopf-daten dd{margin:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.versand-zeile{align-items:flex-start}.versand-stand{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:6px}.verlauf{margin:10px 0 0;padding:0 0 0 18px;display:flex;flex-direction:column;gap:6px;font-size:.9rem}.verlauf-zeit{display:inline-block;min-width:118px;color:var(--muted);font-variant-numeric:tabular-nums}.kopier-knopf{flex:0 0 auto;width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--muted);cursor:pointer;padding:0;touch-action:manipulation}.kopier-knopf svg{width:20px;height:20px}.kopier-knopf:hover{color:var(--text);border-color:var(--text)}.kopier-knopf.fertig{color:#14532d;border-color:#14532d;background:var(--ok-soft)}.sendung{display:inline-flex;flex-direction:column;gap:6px;align-items:flex-start;margin:0 4px;flex:0 0 auto}.sendung-knopf{border:none;cursor:pointer;font:inherit;font-size:.85rem;font-weight:700;min-height:44px;padding:0 16px;border-radius:12px;touch-action:manipulation}.sendung-details{user-select:text;-webkit-user-select:text;display:flex;flex-direction:column;gap:6px;padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:var(--surface);white-space:normal}.sendung-zeile{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.86rem}.badge.dhl-angekuendigt{background:#fef3c7;color:#78350f}.badge.dhl-unterwegs{background:#e0e7ff;color:#3730a3}.badge.dhl-zugestellt{background:var(--ok-soft);color:#14532d}.badge.dhl-problem,.badge.dhl-unbekannt{background:var(--error-soft);color:#7f1d1d}.badge.versendet{background:#fef3c7;color:#78350f}.badge.kat-b_ware{background:#e0e7ff;color:#3730a3}.badge.kat-austragen{background:#fef3c7;color:#78350f}.badge.kat-unverkaeuflich{background:var(--error-soft);color:#7f1d1d}@media print{.topbar,.mock-bar,.btn,.btn-row,.suche-zeile,.listen-wahl,.zeitraum-zeile,.druck-weg,form{display:none!important}.card{border:none;box-shadow:none;padding:0;margin:0 0 12mm}.tabelle-wrap{overflow:visible}.stats-table{font-size:9pt;white-space:normal}}.zaehler{display:inline-block;margin-left:6px;padding:2px 10px;border-radius:999px;background:var(--primary);color:#fff;font-size:.85rem;font-weight:700;vertical-align:middle}.badge.prio{background:#fde68a;color:#78350f}.abschluss{display:flex;flex-direction:column;gap:0}.btn.riesig{min-height:84px;width:100%;font-size:1.35rem;font-weight:700;letter-spacing:.01em;border-radius:16px}.abschluss-zurueck{display:flex;justify-content:center;margin-top:36px;padding-top:18px;border-top:1px solid var(--border)}.etikett{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.8mm;margin:12px auto;padding:.8mm;background:#fff;color:#000;border:1px dashed #94a3b8;box-sizing:border-box;overflow:hidden}.etikett-titel,.etikett-code{flex:0 0 auto}.etikett-titel{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;width:100%;min-width:0;font-size:2.4mm;line-height:1.15;text-align:center;overflow:hidden}.etikett-code svg{display:block}.etikett-wahl{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0 0 12px;padding:10px 12px;border:1px solid var(--border);border-radius:12px}.etikett-wahl legend{padding:0 6px;font-size:.85rem;color:var(--muted)}.etikett-wahl label{display:flex;align-items:center;gap:8px;min-height:44px}.etikett-masse{display:flex;align-items:center;gap:6px}.etikett-masse input{width:5.5rem;min-height:44px;padding:6px 8px;border:1px solid var(--border);border-radius:8px;font:inherit}@media print{body:has(.etikett) *:not(:has(.etikett)):not(.etikett):not(.etikett *){display:none!important}body:has(.etikett),body:has(.etikett) :has(.etikett){display:block!important;position:static!important;width:100%!important;min-width:0!important;place-items:start!important;text-align:left!important;max-width:none!important;max-height:none!important;overflow:visible!important;margin:0!important;padding:0!important;border:none!important;border-radius:0!important;background:none!important;box-shadow:none!important}body:has(.etikett) .etikett{margin:0!important;border:none!important}}.glocke{position:relative;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;color:#e2e8f0}.glocke.active{background:#f8fafc29}.glocke-zahl{position:absolute;top:2px;right:0;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--error);color:#fff;font-size:.72rem;font-weight:700;line-height:20px;text-align:center}.team-form{display:flex;flex-direction:column;gap:12px}.team-form h3{margin:8px 0 0}.team-felder{display:grid;grid-template-columns:1fr;gap:10px}@media(min-width:620px){.team-felder{grid-template-columns:1fr 1fr}.team-feld-breit{grid-column:1 / -1}}.team-felder label,.team-feld-breit label{display:flex;flex-direction:column;gap:4px;font-weight:600;font-size:.9rem}.team-felder .optional{font-weight:400;color:var(--muted)}.team-felder input,.team-felder select,.antrag-kommentar{min-height:48px;padding:0 12px;font:inherit;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:inherit;width:100%}.tage-wahl{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.tag-knopf{min-height:var(--tap);border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--muted);font:inherit;font-weight:600;cursor:pointer}.tag-knopf.an{background:var(--primary);border-color:var(--primary);color:#f8fafc}.team-wert{font-size:1.1rem;font-weight:600;margin:4px 0}.team-kacheln{display:grid;grid-template-columns:1fr;gap:12px}@media(min-width:620px){.team-kacheln{grid-template-columns:repeat(3,1fr)}}.team-kachel{display:flex;flex-direction:column;gap:4px;padding:18px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);color:inherit;text-decoration:none}.team-kachel strong{font-size:1.1rem}.team-kachel span{color:var(--muted)}.team-kachel .badge{align-self:flex-start;color:#334155}.team-kachel.spaeter{opacity:.55}.team-liste{list-style:none;margin:0;padding:0}.team-liste>li{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 0;border-top:1px solid var(--border)}.team-liste>li:first-child{border-top:0}.team-liste>li>div{display:flex;flex-direction:column;gap:2px;min-width:0}.team-liste>li.inaktiv{opacity:.6}.team-liste strong .badge{margin-left:8px}.team-person{display:flex;flex-direction:column;gap:2px;color:inherit;text-decoration:none;width:100%}.antrag-zeile{align-items:stretch!important;flex-direction:column}.badge.antrag-offen{background:#fde68a;color:#78350f}.badge.antrag-genehmigt{background:var(--ok-soft);color:var(--ok)}.badge.antrag-abgelehnt{background:var(--error-soft);color:var(--error)}.benachrichtigungen>li{padding:0}.benachrichtigung{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;padding:12px 4px;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.benachrichtigungen>li.gelesen{opacity:.65}.benachrichtigung-kopf{display:flex;align-items:center;gap:8px}.punkt{width:10px;height:10px;flex:none;border-radius:50%;background:var(--error)}.aenderungen{display:flex;flex-direction:column;font-size:.9rem}.verlauf-werte{display:flex;flex-direction:column;font-size:.8rem;color:var(--muted);overflow-wrap:anywhere}.bereich-wahl{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:12px}.bereich-wahl .field-label{margin:0 6px 0 0}.bereich-wahl.klein{margin:0}.bereich-wahl .btn.an{background:var(--primary);border-color:var(--primary);color:#f8fafc}@media(prefers-color-scheme:dark){.tag-knopf.an,.bereich-wahl .btn.an{background:#38bdf8;border-color:#38bdf8;color:#0b1220}}.konto-raster{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:8px 0}@media(min-width:720px){.konto-raster{grid-template-columns:repeat(6,1fr)}}.konto-zahl{display:flex;flex-direction:column;align-items:center;padding:10px 6px;border:1px solid var(--border);border-radius:12px;text-align:center}.konto-zahl.gross{background:var(--ok-soft);border-color:var(--ok)}.konto-wert{font-size:1.4rem;font-weight:700}.konto-label{font-size:.78rem;color:var(--muted)}.jahreskalender{display:grid;grid-template-columns:1fr;gap:18px}@media(min-width:620px){.jahreskalender{grid-template-columns:repeat(2,1fr)}}@media(min-width:960px){.jahreskalender{grid-template-columns:repeat(3,1fr)}}.monat h3{margin:0 0 6px;font-size:1rem}.monat-raster{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.monat-kopf{font-size:.72rem;color:var(--muted);text-align:center}.kal-tag{display:inline-flex;align-items:center;justify-content:center;min-height:38px;border:1px solid transparent;border-radius:8px;background:var(--surface);color:inherit;font:inherit;font-size:.85rem;padding:0}button.kal-tag{cursor:pointer;border-color:var(--border)}.kal-tag.heute{outline:2px solid var(--text);outline-offset:-2px;font-weight:700}.kal-tag.frei{background:repeating-linear-gradient(135deg,transparent 0 4px,rgba(100,116,139,.14) 4px 8px);color:var(--muted)}.kal-tag.feiertag{background:#e9d5ff;color:#581c87}.kal-tag.beantragt{background:#fde68a;color:#78350f}.kal-tag.genehmigt,.kal-tag.urlaub{background:#86efac;color:#14532d}.kal-tag.genommen{background:#bbf7d0;color:#166534}.kal-tag.krank{background:#fca5a5;color:#7f1d1d}.kal-tag.abwesend{background:#93c5fd;color:#1e3a8a}.kal-tag.halb.genehmigt,.kal-tag.halb.genommen,.kal-tag.halb.beantragt,.kal-tag.halb.urlaub{background-image:linear-gradient(135deg,transparent 50%,var(--surface) 50%)}.kal-legende{display:flex;flex-wrap:wrap;gap:6px 16px;list-style:none;padding:0;margin:0 0 14px;font-size:.88rem}.kal-legende li{display:flex;align-items:center;gap:6px}.kal-legende .kal-tag{min-height:18px;width:22px;border-color:var(--border)}.badge.urlaub-beantragt,.badge.urlaub-storno_gewuenscht{background:#fde68a;color:#78350f}.badge.urlaub-genehmigt{background:var(--ok-soft);color:var(--ok)}.badge.urlaub-abgelehnt,.badge.urlaub-storniert{background:var(--error-soft);color:var(--error)}.team-kalender{border-collapse:separate;border-spacing:2px;font-size:.8rem}.team-kalender th{font-weight:600;text-align:center;min-width:26px;line-height:1.1}.team-kalender thead th span{display:block;font-size:.66rem;color:var(--muted);font-weight:400}.team-kalender th.we{color:var(--muted)}.team-kalender th.heute{text-decoration:underline}.team-kalender th.feiertag{color:#7e22ce}.team-kalender .name{text-align:left;white-space:nowrap;position:sticky;left:0;background:var(--surface);padding-right:8px;z-index:1}.team-kalender td.kal-tag{display:table-cell;height:30px;min-height:0;border-radius:5px}.team-kalender .summenzeile td{text-align:center;font-weight:700}.team-kalender .summenzeile td.viele{color:var(--error)}@media(prefers-color-scheme:dark){.kal-tag.feiertag{background:#3b0764;color:#e9d5ff}.kal-tag.beantragt{background:#713f12;color:#fde68a}.kal-tag.genehmigt,.kal-tag.urlaub{background:#166534;color:#dcfce7}.kal-tag.genommen{background:#14532d;color:#bbf7d0}.kal-tag.krank{background:#7f1d1d;color:#fee2e2}.kal-tag.abwesend{background:#1e3a8a;color:#dbeafe}}.stempel-karte .btn.riesig{width:100%;margin:12px 0 6px}.stempel-karte .segmented{margin-top:8px}.saldo{font-weight:700;padding:4px 10px;border-radius:999px;background:var(--ok-soft);color:var(--ok);white-space:nowrap}.saldo.minus{background:var(--error-soft);color:var(--error)}.team-kachel.hervor{border-color:var(--primary);border-width:2px}.warn-card{border:2px solid #f59e0b}.abschluss-zahlen{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0 14px;text-align:center}.abschluss-zahlen div{display:flex;flex-direction:column;padding:8px;border:1px solid var(--border);border-radius:10px}.abschluss-zahlen span{font-size:.8rem;color:var(--muted)}.abschluss-zahlen strong{font-size:1.2rem}.abschluss-zahlen .minus,.zeit-tabelle td.minus{color:var(--error)}.zeit-tabelle td.links{text-align:left}.zeit-tabelle tr.warn>*{background:#fef3c7}.zeit-tabelle .buchung{display:inline-flex;align-items:center;gap:4px;margin-right:10px;white-space:nowrap}.quelle{font-size:.7rem;padding:1px 6px;border-radius:999px;background:#e0f2fe;color:#075985}.quelle-korrektur{background:#fde68a;color:#78350f}@media(prefers-color-scheme:dark){.zeit-tabelle tr.warn>*{background:#422006}}.anspruch-eintragen{display:flex;align-items:flex-end;flex-wrap:wrap;gap:10px;width:100%}.anspruch-eintragen label{display:flex;flex-direction:column;gap:4px;flex:1 1 220px}.anspruch-eintragen input{min-height:48px;padding:0 12px;font:inherit;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:inherit;max-width:140px}a.banner{display:block;color:inherit;text-decoration:none}.druck-kopf{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.druck-kopf h2{margin:0}.druck-kopf p{margin:4px 0 10px}.druck-kopf .hint{text-align:right}.druck-tabelle td.links,.druck-tabelle th.links{text-align:left}.druck-summe{margin-top:12px}@media print{.druck-bericht .druck-person{break-after:page}.druck-bericht .druck-person:last-child{break-after:auto}.druck-bericht .druck-weg,.druck-bericht .druck-leiste,.glocke,.neue-version,.logout-warnung{display:none!important}.druck-tabelle{font-size:8.5pt}.druck-tabelle th,.druck-tabelle td{padding:2px 4px}}.druck-leiste{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}.page.breit{max-width:1400px}.chip{display:block;padding:2px 6px;border-radius:6px;font-size:.78rem;font-weight:600;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left;background:#e2e8f0;color:#334155}.chip.urlaub{background:#86efac;color:#14532d}.chip.urlaub.halb,.chip.urlaub_halb{background:linear-gradient(135deg,#86efac 50%,#dcfce7 50%);color:#14532d}.chip.beantragt{background:#fde68a;color:#78350f}.chip.krank{background:#fca5a5;color:#7f1d1d}.chip.kind_krank{background:#fdba74;color:#7c2d12}.chip.feiertag{background:#e9d5ff;color:#581c87}.chip.frei{background:transparent;color:var(--muted);border:1px dashed var(--border)}.chip.da{background:var(--ok-soft);color:var(--ok)}.kal-tag.kind_krank{background:#fdba74;color:#7c2d12}.badge.feiertag-badge{margin-left:8px;background:#e9d5ff;color:#581c87}.monatsraster{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--border);border-left:1px solid var(--border)}.raster-kopf{padding:6px 8px;font-size:.8rem;font-weight:700;color:var(--muted);border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.raster-tag{display:flex;flex-direction:column;gap:3px;min-height:118px;padding:6px;border:0;border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface);color:inherit;font:inherit;text-align:left;cursor:pointer;min-width:0}.raster-tag:hover{background:var(--info-soft)}.raster-tag.we{background:#64748b0f}.raster-tag.aussen{background:transparent;cursor:default}.raster-tag.gewaehlt{box-shadow:inset 0 0 0 2px var(--primary)}.raster-datum{font-weight:700;font-size:.9rem}.raster-tag.heute .raster-datum{align-self:flex-start;padding:0 8px;border-radius:999px;background:var(--primary);color:#f8fafc}.raster-wt{display:none}.kopf-knopf{border:0;background:none;font:inherit;color:inherit;cursor:pointer;padding:0}@media(max-width:720px){.monatsraster{grid-template-columns:1fr;border:0}.raster-kopf,.raster-tag.aussen,.raster-tag.leer{display:none}.raster-tag{min-height:0;border:1px solid var(--border);border-radius:10px;margin-bottom:6px}.raster-wt{display:inline}}.anwesenheit-liste{display:flex;flex-direction:column}.anwesenheit-zeile{display:grid;grid-template-columns:minmax(140px,1.2fr) minmax(120px,1fr) minmax(140px,1.2fr) 2fr;gap:10px;align-items:center;padding:10px 4px;border-top:1px solid var(--border)}.anwesenheit-zeile:first-child{border-top:0}.anwesenheit-name{font-weight:700;color:inherit}.anwesenheit-plan,.anwesenheit-zeiten{color:var(--muted);font-size:.92rem}.anwesenheit-status{display:flex;flex-wrap:wrap;gap:4px}.anwesenheit-status .chip{display:inline-block}.anwesenheit-zeile.status-frei{opacity:.6}@media(max-width:720px){.anwesenheit-zeile{grid-template-columns:1fr 1fr}}.tage-stunden{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.tage-stunden label{display:flex;flex-direction:column;align-items:center;gap:4px;font-weight:700;font-size:.85rem;color:var(--muted)}.tage-stunden label.an{color:var(--text)}.tage-stunden input{width:100%;min-height:48px;padding:0 4px;text-align:center;font:inherit;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:inherit}.tage-stunden label.an input{border-color:var(--primary);border-width:2px}
