:root{--brand: #2256e6;--brand-700: #1842b5;--brand-600: #1d4ed8;--brand-50: #eef3ff;--bg: #f5f7fa;--surface: #ffffff;--surface-2: #fafbfc;--border: #e3e6eb;--line: #edeff2;--text: #111722;--text-2: #5b6573;--text-3: #8a92a0;--green: #1f9d57;--green-bg: #e7f6ee;--amber: #b7791f;--amber-bg: #fbf1de;--red: #d7263d;--red-bg: #fce8ea;--info: var(--brand);--info-bg: var(--brand-50);--shadow-sm: 0 1px 2px rgba(16, 24, 40, .06);--shadow: 0 4px 16px rgba(16, 24, 40, .08);--shadow-lg: 0 12px 32px rgba(16, 24, 40, .14);--r: 10px;--r-lg: 14px;--r-pill: 999px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}h1,h2,h3{margin:0;font-weight:650;letter-spacing:-.01em}.app{min-height:100vh;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:30;background:var(--surface);border-bottom:1px solid var(--border)}.topbar-inner{max-width:1120px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{display:flex;align-items:center;gap:11px}.brand-mark{width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,var(--brand),#4f7bff);color:#fff;font-weight:800;font-size:18px;display:grid;place-items:center;box-shadow:var(--shadow-sm)}.brand-text{font-weight:750;font-size:16px;letter-spacing:.04em;display:flex;flex-direction:column;line-height:1.1}.brand-sub{font-size:11px;font-weight:500;letter-spacing:.02em;color:var(--text-3)}.topbar-right{display:flex;align-items:center;gap:10px}.env-pill{font-size:11px;font-weight:600;color:var(--text-2);border:1px solid var(--border);padding:3px 9px;border-radius:var(--r-pill);background:var(--surface-2)}.role-nav{max-width:1120px;margin:0 auto;padding:0 20px;display:flex;gap:4px}.role-nav a{padding:11px 14px;font-size:14px;font-weight:600;color:var(--text-2);border-bottom:2px solid transparent;margin-bottom:-1px}.role-nav a:hover{color:var(--text)}.role-nav a.active{color:var(--brand);border-bottom-color:var(--brand)}.role-nav{align-items:center}.role-nav-label{font-size:12px;color:var(--text-3);font-weight:600;padding-right:6px}.appfoot{text-align:center;color:var(--text-3);font-size:12px;padding:18px;border-top:1px solid var(--line);margin-top:auto}.content{flex:1;width:100%;max-width:1120px;margin:0 auto;padding:22px 20px 60px}.page-title{font-size:20px;margin-bottom:4px}.page-sub{color:var(--text-2);font-size:14px;margin:0 0 18px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:18px;box-shadow:var(--shadow-sm);margin-bottom:16px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.card h2,.card-title{font-size:13px;font-weight:650;text-transform:uppercase;letter-spacing:.05em;color:var(--text-2);margin:0 0 14px}.card-head .card-title,.card-head h2{margin:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;border:1px solid transparent;border-radius:var(--r);padding:12px 16px;font-size:15px;font-weight:650;font-family:inherit;cursor:pointer;margin-top:10px;white-space:normal;overflow-wrap:break-word;line-height:1.25;transition:filter .12s,background .12s,border-color .12s}.spalte-aktion{white-space:nowrap}.spalte-aktion .btn{white-space:nowrap;display:block;width:auto;margin-top:4px}.btn:active{transform:translateY(.5px)}.btn:disabled{opacity:.55;cursor:default}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover:not(:disabled){background:var(--brand-700)}.btn-secondary{background:var(--surface);color:var(--text);border-color:var(--border)}.btn-secondary:hover:not(:disabled){background:var(--surface-2)}.btn-ghost{background:var(--surface-2);color:var(--text);border-color:var(--border)}.btn-teal{background:#0f9b8e;color:#fff}.btn-amber{background:#c9821a;color:#fff}.btn-danger{background:var(--surface);color:var(--red);border-color:#d7263d59}.btn-sm{padding:8px 12px;font-size:13px;width:auto;margin:0}button,summary,a,label,input,select,textarea{touch-action:manipulation}@media(pointer:coarse){.input,.input-sm,.manual input,.select,.select-sm,input,select,textarea{font-size:16px!important}}.input,.manual input{width:100%;background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:var(--r);padding:11px 12px;font-size:14px;font-family:var(--mono)}.input-warn{border-color:var(--amber, #d97706);background:color-mix(in srgb,var(--amber, #d97706) 8%,var(--surface))}.input:focus,.manual input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-50)}.manual{display:flex;gap:8px;margin-top:10px}.manual .btn{width:auto;margin:0;padding:11px 18px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:16px;box-shadow:var(--shadow-sm)}.stat-num{font-size:28px;font-weight:750;letter-spacing:-.02em}.stat-label{font-size:12px;color:var(--text-2);text-transform:uppercase;letter-spacing:.04em;margin-top:2px}.stat-accent-blue .stat-num{color:var(--brand)}.stat-accent-red .stat-num{color:var(--red)}.stat-accent-amber .stat-num{color:var(--amber)}.stat-accent-teal .stat-num{color:var(--teal, #0f9b8e)}.table{width:100%;border-collapse:collapse;font-size:14px}.table th{text-align:left;font-size:11px;font-weight:650;text-transform:uppercase;letter-spacing:.04em;color:var(--text-3);padding:8px 10px;border-bottom:1px solid var(--border);white-space:nowrap}.table td{padding:11px 10px;border-bottom:1px solid var(--line);vertical-align:middle}.table tr:last-child td{border-bottom:0}.table tbody tr:hover{background:var(--surface-2)}.table .mono{font-family:var(--mono);font-weight:600}.table-wrap{overflow-x:auto}.table .spalte-aktion{position:sticky;right:0;background:var(--surface);box-shadow:-8px 0 8px -8px #0000001f;white-space:nowrap;z-index:1}.table thead .spalte-aktion{z-index:3}.table tbody tr:hover .spalte-aktion{background:var(--surface-2)}.pill{display:inline-block;font-size:11px;font-weight:650;padding:3px 9px;border-radius:var(--r-pill);white-space:nowrap}.pill-gray{background:#eef0f3;color:#586273}.pill-blue{background:var(--info-bg);color:var(--brand-700)}.pill-teal{background:#e0f5f1;color:#0c7a6f}.pill-amber{background:var(--amber-bg);color:var(--amber)}.pill-red{background:var(--red-bg);color:var(--red)}.pill-green{background:var(--green-bg);color:var(--green)}.chip{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;font-size:11px;font-weight:800;border-radius:6px}.t-A{background:#e1ebff;color:#2256e6}.t-B{background:#def3ef;color:#0c7a6f}.t-C{background:#fbeed6;color:#b7791f}.badge{font-size:11px;font-weight:650;padding:4px 10px;border-radius:var(--r-pill);background:var(--surface-2);border:1px solid var(--border);color:var(--text-2);display:inline-flex;align-items:center;gap:6px}.badge:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--text-3)}.badge-up{color:var(--green);border-color:#1f9d574d}.badge-up:before{background:var(--green)}.badge-down{color:var(--red);border-color:#d7263d4d}.badge-down:before{background:var(--red)}.muted{color:var(--text-2);line-height:1.6;margin:0}.exc{display:flex;gap:12px;align-items:flex-start;background:var(--red-bg);border:1px solid rgba(215,38,61,.25);border-radius:var(--r);padding:12px 14px;margin-bottom:10px}.exc .exc-ic{font-size:18px;line-height:1.3}.exc .exc-tx{flex:1;font-size:13.5px;line-height:1.5}.exc .exc-tx b{font-family:var(--mono)}.bar{height:8px;background:var(--line);border-radius:var(--r-pill);overflow:hidden}.bar>i{display:block;height:100%;border-radius:var(--r-pill)}.seg-tabs{position:sticky;top:var(--topbar-h, 100px);z-index:20;display:flex;gap:6px;margin-bottom:16px;flex-wrap:wrap;background:var(--bg);padding:10px 20px;margin-left:-20px;margin-right:-20px;border-bottom:1px solid var(--border)}.seg{border:1px solid var(--border);background:var(--surface);color:var(--text-2);padding:8px 14px;border-radius:var(--r);font-size:13px;font-weight:600;cursor:pointer}.seg.active{background:var(--brand-50);color:var(--brand-700);border-color:var(--brand)}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.hidden{display:none!important}.scan-area{position:relative;border-radius:var(--r-lg);overflow:hidden;background:#0b0e13;aspect-ratio:4 / 3;display:flex;align-items:center;justify-content:center;margin-bottom:10px}.scan-area video{width:100%;height:100%;object-fit:cover}.scan-finder{position:absolute;left:50%;top:50%;width:min(64%,300px);aspect-ratio:1;transform:translate(-50%,-50%);border:3px solid rgba(255,255,255,.95);border-radius:16px;box-shadow:0 0 0 100vmax #00000073;pointer-events:none}.scan-hint{position:absolute;left:0;right:0;bottom:12px;text-align:center;color:#fff;font-size:13px;font-weight:700;text-shadow:0 1px 3px rgba(0,0,0,.8);pointer-events:none}.scan-stop{position:absolute;top:10px;right:10px;width:38px;height:38px;border-radius:999px;border:none;background:#0000008c;color:#fff;font-size:16px;font-weight:700;cursor:pointer}.scan-start{background:none;border:2px dashed rgba(255,255,255,.35);color:#e5e9f0;border-radius:var(--r-lg);padding:28px 32px;font:inherit;font-size:16px;font-weight:700;display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer}.scan-start-ic{font-size:40px;line-height:1}.cam-off{color:#aeb6c2;font-size:13px;text-align:center;padding:24px}.confirm{background:var(--surface-2);border:1px solid var(--brand);border-radius:var(--r-lg);padding:16px}.dt-big{font-size:24px;font-weight:800;font-family:var(--mono);letter-spacing:.5px;margin-bottom:10px}.row{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid var(--line);font-size:14px}.row:last-of-type{border-bottom:0}.row .k{color:var(--text-2)}.row .v{font-weight:600}.dir{display:flex;gap:8px;margin-top:12px}.dir .btn{flex:1}.dir-banner{margin:10px 0;padding:10px 12px;border-radius:var(--r-lg);font-weight:700;text-align:center}.dir-ausgang{background:#f59e0b26;border:1px solid #f59e0b;color:#b45309}.dir-eingang{background:#14b8a626;border:1px solid #14b8a6;color:#0f766e}.btn-lg{width:100%;padding:16px;font-size:17px;font-weight:700;margin-top:12px}.lang-switch{display:inline-flex;border:1px solid var(--line, #e2e8f0);border-radius:8px;overflow:hidden}.lang-switch button{border:0;background:transparent;color:var(--text-2, #64748b);padding:4px 10px;font-size:12px;font-weight:700;cursor:pointer}.lang-switch button.active{background:var(--brand, #2256e6);color:#fff}.map-legende{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:10px;font-size:13px;color:var(--text-2)}.map-legende-item{display:inline-flex;align-items:center;gap:6px}.map-dot{width:12px;height:12px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px var(--line)}.map-dot-raute{border-radius:2px;transform:rotate(45deg)}.label{background:#fff;color:#000;border:1px solid var(--border);border-radius:var(--r-lg);padding:20px;text-align:center;box-shadow:var(--shadow)}.label-head{font-weight:800;font-size:14px;letter-spacing:.02em}.qr-placeholder,.qr-img{width:160px;height:160px;margin:14px auto;display:block}.code-seg{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:var(--bg);border:1px solid var(--border);border-radius:var(--r-pill);margin:6px 0 10px}.code-seg-btn{border:none;background:transparent;border-radius:var(--r-pill);padding:10px 8px;font:inherit;font-weight:700;color:var(--text-2);cursor:pointer}.code-seg-btn.on{background:var(--surface);color:var(--brand);box-shadow:var(--shadow-sm)}.code-seg-btn:disabled{opacity:.45;cursor:not-allowed}.label-druck{display:none}@media print{body.nur-label-druck .label-print-card>*:not(.label-druck){display:none!important}body.nur-label-druck .fahrer-tabs,body.nur-label-druck .toast{display:none!important}body.nur-label-druck .label-print-card{border:none!important;box-shadow:none!important;padding:0!important;margin:0!important}body.nur-label-druck .label-druck{display:block!important;width:4in;height:6in;overflow:hidden}}.code-img{display:block;width:100%;max-width:380px;height:auto;margin:12px auto;background:#fff;border-radius:8px}.label-quer-wrap{position:relative;width:100%;max-width:360px;aspect-ratio:4 / 6;margin:12px auto;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:8px}.label-quer-wrap img{position:absolute;top:50%;left:50%;width:150%;height:auto;transform:translate(-50%,-50%) rotate(90deg)}.qr-placeholder{background:conic-gradient(#000 25%,#fff 0,#fff 50%,#000 0,#000 75%,#fff 0);background-size:15px 15px;border:6px solid #fff;outline:2px solid #000}.qr-img{object-fit:contain}.ups-label-img{display:block;margin:12px auto;width:100%;max-width:384px;height:auto;image-rendering:crisp-edges}.label .tn{font-family:var(--mono);font-weight:700;font-size:18px;letter-spacing:.5px}.label .sm{font-size:13px;color:#555;margin-top:4px}.label-serial{font-family:var(--mono);font-weight:800;font-size:30px;line-height:1.1;letter-spacing:1px;margin:10px auto 2px;word-break:break-all}.label-serial-cap{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-3)}.reason-list button{width:100%;text-align:left;background:var(--surface);border:1px solid var(--border);color:var(--text);padding:13px 14px;border-radius:var(--r);margin-top:8px;font-size:14px;font-weight:550;cursor:pointer}.reason-list button.on{border-color:var(--brand);background:var(--brand-50);color:var(--brand-700)}.reason-list button:hover{background:var(--surface-2);border-color:var(--brand)}.err{background:var(--red-bg);border:1px solid rgba(215,38,61,.3);color:#a31427;padding:12px 14px;border-radius:var(--r);font-size:13.5px;margin-top:10px;line-height:1.5}.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%);background:#111722;color:#fff;padding:12px 20px;border-radius:var(--r);font-weight:600;font-size:14px;z-index:60;box-shadow:var(--shadow-lg);max-width:90%}.toast-fehler{background:var(--red);color:#fff}.toast-hinweis{background:var(--amber);color:#fff}.hinweis-inline{margin-top:4px;font-size:12px;line-height:1.4;color:var(--amber)}.etappe-neu{margin-top:14px;padding-top:12px;border-top:1px dashed var(--line, #d6dbe1)}.kandidaten{display:flex;flex-direction:column;gap:6px;margin-top:4px}.kandidat-zeile{display:block;width:100%;text-align:left;border:1px solid var(--border);border-radius:var(--r);background:var(--surface);padding:8px 10px;cursor:pointer}.kandidat-zeile:hover:not(:disabled){background:var(--surface-2)}.kandidat-gewaehlt{border-color:var(--brand, #2256e6);background:var(--brand-50, #eef3ff)}.kandidat-kopf{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.zulauf-card{border-color:var(--brand, #2256e6);background:var(--brand-50, #eef3ff);margin-top:12px}.flotte-acc{border:1px solid var(--border);border-radius:var(--r);margin-bottom:8px;background:var(--surface, #fff)}.flotte-acc>summary{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:10px 12px;cursor:pointer;list-style:none}.flotte-acc>summary::-webkit-details-marker{display:none}.flotte-acc>summary:before{content:"▸";color:var(--muted, #6b7280);transition:transform .15s}.flotte-acc[open]>summary:before{transform:rotate(90deg)}.flotte-acc-body{padding:0 12px 12px}.flotte-acc-naechster{margin-left:auto;font-size:13px;color:var(--muted, #6b7280)}.map-canvas{width:100%;height:400px;border-radius:var(--r);border:1px solid var(--border);background:var(--surface-2)}.pac-container{z-index:1000;font-family:inherit}.map-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.map-list li{display:flex;align-items:center;gap:10px;font-size:14px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--r)}.select{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:var(--r);padding:8px 10px;font-size:13px;font-family:inherit;cursor:pointer}.select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-50)}code{font-family:var(--mono);font-size:.9em;background:var(--surface-2);border:1px solid var(--line);border-radius:5px;padding:1px 5px}@media(max-width:560px){.content{padding:16px 14px 56px}.topbar-inner{padding:12px 14px}.role-nav{padding:0 14px;overflow-x:auto}.seg-tabs{padding-left:14px;padding-right:14px;margin-left:-14px;margin-right:-14px}.map-canvas{height:300px}}.etikett-form{display:flex;gap:12px;flex-wrap:wrap}.etikett-form label,.etikett-manuell{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-2);font-weight:600}.etikett-form .input,.etikett-form .select{width:120px}.etikett-manuell{margin-top:12px}.etikett-manuell textarea{resize:vertical}.etikett-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.filterbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.edit-zeile{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.row-muted{opacity:.55}.chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:6px}.chip-x{margin-left:6px;border:none;background:transparent;cursor:pointer;font-weight:700;color:inherit}.select-sm{font-size:.85rem;padding:2px 6px}.label-fallback{padding:16px;border:2px dashed var(--line, #cbd5e1);border-radius:8px;text-align:center}.label-ref{margin-top:8px;font-size:1.4rem;font-weight:700}.check{display:inline-flex;align-items:center;gap:6px;font-size:.9rem;padding:4px 8px;border:1px solid var(--line, #e2e8f0);border-radius:8px}.label-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;margin-top:14px}.label-card{border:1px solid var(--border);border-radius:8px;padding:12px;text-align:center;background:#fff}.label-card img,.qr-skeleton{width:130px;height:130px;margin:0 auto;display:block}.qr-skeleton{background:var(--surface-2);border-radius:6px}.label-card .serial{font-family:var(--mono);font-weight:700;margin-top:8px;font-size:14px}.label-card .carnet{font-family:var(--mono);margin-top:2px;font-size:11px;color:#333}@media print{.no-print,.topbar,.role-nav,.seg-tabs,.appfoot,.toast{display:none!important}.card:not(.label-print-card){display:none!important}.content{max-width:none!important;padding:0!important;margin:0!important}.label-print-card{border:none!important;box-shadow:none!important;padding:0!important}.label{border:none!important;box-shadow:none!important;padding:0!important;margin:0!important;text-align:center;break-inside:avoid}.ups-label-img{max-width:none!important;width:100%!important;height:auto!important;margin:0!important}@page{size:4in 6in;margin:0}html,body,.app{width:4in!important;height:6in!important;margin:0!important;padding:0!important;overflow:hidden!important}.appfoot,footer,.label-head,.label-ref,.label-actions,.etikett-actions{display:none!important}.label-print-card,.label{width:4in;height:6in;overflow:hidden;position:relative}.ups-label-img{width:4in!important;height:6in!important;object-fit:contain;position:absolute;top:0;left:0}.ups-label-img.ups-label-quer{width:6in!important;height:4in!important;transform-origin:top left;transform:translate(4in) rotate(90deg)}}.trk{border:1px solid var(--border);border-radius:var(--r);background:var(--surface-2);padding:14px 16px}.trk-laedt{color:var(--text-3);font-size:14px}.trk-geliefert{border-color:var(--green);background:var(--green-bg)}.trk-kopf{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:14px}.trk-status{display:flex;align-items:center;gap:8px}.trk-dot{width:10px;height:10px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 4px var(--brand-50);animation:trk-puls 1.8s ease-in-out infinite}.trk-dot.ok{background:var(--green);box-shadow:0 0 0 4px var(--green-bg);animation:none}@keyframes trk-puls{0%,to{opacity:1}50%{opacity:.4}}.trk-status-txt{font-weight:600;font-size:15px}.trk-eta{text-align:right;display:flex;flex-direction:column}.trk-eta-lbl{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-3)}.trk-eta-val{font-weight:600;color:var(--brand-700)}.trk-line{list-style:none;margin:0 0 14px;padding:0;display:flex}.trk-step{flex:1;position:relative;text-align:center;padding-top:22px;min-width:0}.trk-step:before{content:"";position:absolute;top:7px;left:-50%;width:100%;height:3px;background:var(--border)}.trk-step:first-child:before{display:none}.trk-step.done:before{background:var(--green)}.trk-step-mark{position:absolute;top:0;left:50%;transform:translate(-50%);width:16px;height:16px;border-radius:50%;background:var(--surface);border:3px solid var(--border);z-index:1}.trk-step.done .trk-step-mark{background:var(--green);border-color:var(--green)}.trk-step.now .trk-step-mark{border-color:var(--brand);background:var(--brand);box-shadow:0 0 0 4px var(--brand-50)}.trk-step-lbl{display:block;font-size:12px;color:var(--text-2);padding:0 4px;line-height:1.3}.trk-step.done .trk-step-lbl,.trk-step.now .trk-step-lbl{color:var(--text);font-weight:600}.trk-meta{border-top:1px solid var(--line);padding-top:10px;display:grid;gap:4px}.trk-meta-row{display:flex;justify-content:space-between;gap:12px;font-size:13px}.trk-meta-k{color:var(--text-3);white-space:nowrap}.trk-meta-v{text-align:right}.trk-verlauf{margin-top:10px;font-size:13px}.trk-verlauf summary{cursor:pointer;color:var(--brand-700)}.trk-verlauf ul{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}.trk-verlauf li{display:flex;gap:10px}.trk-ev-zeit{color:var(--text-3);white-space:nowrap;min-width:110px}.trk-fuss{margin-top:12px;display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px}@media(max-width:560px){.trk-step-lbl{font-size:10px}}.row-klick{cursor:pointer}.row-klick:hover{background:var(--brand-50)}.paket-liste{display:grid;gap:10px}.paket{border:1px solid var(--border);border-radius:var(--r);overflow:hidden}.paket-kopf{width:100%;display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--surface);border:none;text-align:left;font:inherit}button.paket-kopf{cursor:pointer}button.paket-kopf:hover{background:var(--brand-50)}.paket-icon{font-size:22px}.paket-info{flex:1;display:flex;flex-direction:column;min-width:0}.paket-ziel{font-weight:600}.paket-sub{font-size:13px;color:var(--text-2)}.paket-pfeil{color:var(--text-3)}.paket-trk{padding:12px 14px;background:var(--bg);border-top:1px solid var(--line)}.fahrer-app{position:relative}.fahrer-content{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}body.fahrer-modus .appfoot{display:none}.scan-card .scan-area{aspect-ratio:3 / 4;max-height:62vh}@media(max-width:520px){.scan-card{padding:10px}.scan-card .scan-area{border-radius:12px}.scan-card h2{font-size:15px}}.fahrer-tabs{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--surface);border-top:1px solid var(--border);box-shadow:0 -4px 16px #10182814;z-index:20;margin:0;padding-bottom:env(safe-area-inset-bottom,0px)}.ftab{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 4px;background:none;border:none;cursor:pointer;font-size:12px;font-weight:600;color:var(--text-3)}.ftab-ic{font-size:22px;line-height:1}.ftab.active{color:var(--brand);background:var(--brand-50)}.fahrer-tabs-4{grid-template-columns:repeat(4,1fr)}.ftab{position:relative}.ftab-badge{position:absolute;top:6px;right:calc(50% - 22px);min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--brand);color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center}.start-kopf{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.start-fz{font-size:22px;font-weight:800}.start-tiles{display:grid;gap:12px}.start-tile{display:flex;align-items:center;gap:14px;width:100%;min-height:88px;padding:18px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);cursor:pointer;text-align:left;font:inherit;color:var(--text)}.start-tile:disabled{opacity:.5;cursor:not-allowed}.start-tile:active{background:var(--brand-50)}.start-tile-scan{border-color:var(--brand);background:var(--brand-50)}.start-ic{font-size:34px;line-height:1}.start-body{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}.start-title{font-size:17px;font-weight:800}.start-sub{font-size:13px;color:var(--text-2)}.start-badge{min-width:28px;height:28px;padding:0 8px;border-radius:999px;background:var(--brand);color:#fff;font-weight:800;font-size:14px;display:flex;align-items:center;justify-content:center}.start-badge.gruen{background:var(--green)}.start-badge.rot{background:var(--red)}.start-pfeil{color:var(--text-3);font-size:24px}.start-tile-klein{min-height:56px;padding:12px 16px}.start-tile-klein .start-ic{font-size:22px}.start-tile-klein .start-title{font-size:15px;font-weight:700}.paket-bereit{border-color:var(--green)}.paket-adresse{font-size:13px;color:var(--text-2)}.paket-aktionen{display:flex;gap:8px;flex-wrap:wrap;padding:0 14px 12px;background:var(--surface)}.paket-aktionen .btn{flex:1;text-align:center;text-decoration:none;white-space:nowrap}.scan-flow{display:flex;flex-direction:column}.flow-karte{position:sticky;top:calc(var(--topbar-h, 100px) + 52px);z-index:15;border-width:2px;padding:16px;margin-bottom:8px}.flow-serial{font-family:var(--mono);font-size:26px;font-weight:800;letter-spacing:.5px;line-height:1.2;word-break:break-all}.flow-titel{font-size:19px;font-weight:700;line-height:1.3;margin-top:4px}.flow-text{font-size:14.5px;line-height:1.45;color:var(--text-2);margin-top:6px}.flow-aktionen{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.flow-aktionen .btn{flex:1 1 40%;min-width:130px}.btn-touch{min-height:56px;font-size:17px;font-weight:700}.btn-fertig{background:var(--green, #16a34a);border-color:var(--green, #16a34a);color:#fff}.btn-fertig:hover{filter:brightness(.95)}.flow-bereit{border-color:var(--border);background:var(--surface-2);color:var(--text-2)}.flow-frage{border-color:var(--brand);background:var(--brand-50)}.flow-ok{border-color:var(--green);background:var(--green-bg)}.flow-ok .flow-text,.flow-warn .flow-text,.flow-fehler .flow-text{color:inherit}.flow-warn{border-color:var(--amber);background:var(--amber-bg);color:var(--amber)}.flow-info{border-color:var(--brand);background:var(--info-bg)}.flow-fehler{border-color:var(--red);background:var(--red-bg);color:var(--red)}.flow-zuletzt{font-size:12.5px;color:var(--text-3);padding:0 2px 8px;min-height:20px}.flow-queue{display:flex;gap:14px;flex-wrap:wrap;font-size:12.5px;color:var(--text-2);padding:0 2px}.flow-queue b{color:var(--text)}.flow-karte .ups-label-img{width:100%;max-width:340px;height:auto;display:block;margin:10px auto 0}@media print{.flow-karte{position:static!important;background:none!important;border:none!important}}.exc-form{display:grid;gap:8px;margin-top:10px;max-width:760px}.exc-form textarea.input{width:100%;resize:vertical;min-height:64px;font:inherit}.exc-form-zeile{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.exc-form-zeile .input{flex:1;min-width:180px}.exc-nachforschung{border-color:#f59e0b;background:#f59e0b14}.chart-row{display:flex;align-items:center;gap:8px;min-height:22px}.chart-label{flex:0 0 72px;font-size:12px;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chart-label-breit{flex-basis:150px}.chart-track{position:relative;flex:1;display:flex;align-items:center;gap:6px;min-width:0;padding-right:56px}.chart-bar{height:12px;background:var(--brand-600);border-radius:0 4px 4px 0;flex:0 0 auto;max-width:calc(100% - 4px)}.chart-bar-warn{background:var(--amber)}.chart-val{font-size:12px;color:var(--text);white-space:nowrap}.chart-ref{position:absolute;top:-2px;bottom:-2px;width:0;border-left:1px solid var(--text-3)}.chart-ref-key{display:inline-block;width:0;height:10px;border-left:1px solid var(--text-3);vertical-align:middle;margin:0 2px}.tbl-nowrap th,.tbl-nowrap td{white-space:nowrap}.label-quer-wrap.label-hoch img{width:100%;height:100%;object-fit:contain;transform:translate(-50%,-50%)}.projekt-umschalter{position:relative;max-width:260px}.projekt-umschalter-knopf{max-width:100%;display:inline-flex;align-items:center;gap:6px;font-weight:600}.projekt-umschalter-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.projekt-umschalter-pfeil{flex-shrink:0;font-size:11px}.projekt-menue{position:absolute;top:calc(100% + 6px);left:0;z-index:40;min-width:240px;max-width:min(360px,calc(100vw - 28px));margin:0;padding:6px;list-style:none;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-md, 0 8px 24px rgba(15, 23, 42, .14))}.projekt-menue a{display:flex;flex-direction:column;gap:1px;padding:8px 10px;border-radius:8px;color:inherit;text-decoration:none}.projekt-menue a:hover,.projekt-menue a:focus-visible{outline:none;background:var(--brand-50)}.projekt-menue a[aria-current=true]{font-weight:650;box-shadow:inset 3px 0 0 var(--brand)}.projekt-menue-name{font-size:14px}.projekt-menue-kunde{font-size:12px;color:var(--text-2)}.projekt-menue-trenner{margin-top:6px;padding-top:6px;border-top:1px solid var(--border);font-size:13px}.portal-liste{list-style:none;margin:0;padding:0;display:grid;gap:10px}.portal-projekt{width:100%;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);color:inherit;font:inherit;cursor:pointer}.portal-projekt:hover,.portal-projekt:focus-visible{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-50)}.portal-projekt[disabled]{opacity:.55;cursor:default;box-shadow:none;border-color:var(--border)}.portal-projekt-text{display:flex;flex-direction:column;gap:2px;min-width:0}.portal-projekt-name{font-weight:650;font-size:15px}.portal-projekt-kunde{color:var(--text-2);font-size:13px}.portal-projekt-recht{display:flex;align-items:center;gap:8px;flex-shrink:0}.portal-links{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:14px;font-size:13px;color:var(--text-2)}.portal-links a{text-decoration:underline}.portal-form label{flex:1 1 100%}.portal-form .input{width:100%}@media(max-width:560px){.topbar-portal .topbar-inner{flex-wrap:wrap;row-gap:8px}.topbar-portal .topbar-right{flex-wrap:wrap;justify-content:flex-end;row-gap:8px;margin-left:auto}.topbar-portal .projekt-umschalter{flex:1 1 100%;max-width:none;order:10}.topbar-portal .projekt-umschalter-knopf{width:100%;justify-content:space-between}.topbar-portal .projekt-menue{left:0;right:0;max-width:none}}.adresse-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}.adresse-feld{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-2);font-weight:600;min-width:0}.adresse-feld .input,.adresse-feld .select{width:100%;font-family:inherit}.adresse-feld-breit{grid-column:1 / -1}.raten-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px}.abschnitt-titel{font-size:12px;font-weight:650;text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);margin:16px 0 8px}.input-sm{padding:7px 10px;font-size:13px;font-family:inherit;width:auto}.hinweis-box{background:var(--brand-50);border:1px solid var(--brand);color:var(--brand-700);padding:10px 14px;border-radius:var(--r);font-size:13.5px;margin:10px 0;line-height:1.5}.wizard-schritte{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:0 0 16px}.wizard-schritte li{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--text-3);padding:6px 10px;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface)}.wizard-schritte li.aktiv{color:var(--brand-700);border-color:var(--brand);background:var(--brand-50)}.wizard-schritte li.fertig{color:var(--text);cursor:pointer}.wizard-nr{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--line);font-size:11px}.wizard-schritte li.aktiv .wizard-nr,.wizard-schritte li.fertig .wizard-nr{background:var(--brand);color:#fff}.service-liste{display:flex;flex-direction:column;gap:6px}.service-zeile{display:grid;grid-template-columns:auto 1fr auto;gap:10px 14px;align-items:center;padding:10px 14px;border:1px solid var(--border);border-radius:var(--r);cursor:pointer}.service-zeile.service-aktiv{border-color:var(--brand);background:var(--brand-50)}.service-zeile.service-gesperrt{opacity:.6;cursor:default}.service-name{font-weight:650}.service-preis{font-size:15px;text-align:right}.service-kosten{grid-column:2 / -1;font-size:12px}.rahmen-liste{display:grid;grid-template-columns:minmax(140px,max-content) 1fr;gap:6px 16px;margin:0;font-size:14px}.rahmen-liste dt{color:var(--text-2);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding-top:2px}.rahmen-liste dd{margin:0;min-width:0;overflow-wrap:anywhere}.kostenvorschau{font-size:18px;font-weight:750}.kredit-ampel{display:inline-flex;align-items:center;gap:8px;font-size:13px;min-width:0}.kredit-ampel-kompakt{font-size:12px}.kredit-ampel-punkt{width:10px;height:10px;border-radius:50%;flex:none}.kredit-ampel-bar{width:90px;flex:none}.kredit-ampel-text{white-space:nowrap}.kredit-ampel-kompakt .kredit-ampel-text{white-space:normal}.label-ergebnis{margin-top:10px}.label-pdf{width:100%;height:520px;border:1px solid var(--border);border-radius:var(--r)}.label-zpl{max-height:240px;overflow:auto;font:12px var(--mono);background:var(--surface-2);padding:10px;border-radius:var(--r)}.gruppe-kopf td{background:var(--surface-2);font-size:13px}.gruppe-unterkopf td{background:color-mix(in srgb,var(--surface-2) 50%,var(--surface));font-size:13px}.row-aktiv td{background:var(--brand-50)}.wizard-schritt{all:unset;display:inline-flex;align-items:center;gap:6px;cursor:default}.wizard-schritte li.fertig .wizard-schritt{cursor:pointer}.wizard-schritt:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:var(--r-pill)}.link-btn{background:none;border:0;padding:0;margin:0;font:inherit;color:inherit;text-decoration:underline;text-decoration-color:var(--border);text-underline-offset:3px;cursor:pointer;text-align:left}.link-btn:hover{text-decoration-color:currentColor}.link-btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:3px}.nowrap{white-space:nowrap}.input-flex{flex:1 1 200px;max-width:100%;min-width:0}.input-datum{width:150px;max-width:100%}.nur-schmal{display:none}.abhol-block{margin-top:12px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--r)}@media(max-width:720px){.nur-schmal{display:block}.adresse-form,.raten-grid,.rahmen-liste{grid-template-columns:1fr}.kredit-ampel-text{white-space:normal}.nur-breit{display:none!important}}.verrechnung-wahl{border:none;padding:0;margin:0 0 4px;min-width:0}.verrechnung-wahl legend{font-size:12px;font-weight:600;color:var(--text-2);padding:0;margin-bottom:6px}.verrechnung-kacheln{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.verrechnung-kachel{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--border);border-radius:var(--r);background:var(--surface);cursor:pointer;font-size:13.5px;line-height:1.4}.verrechnung-kachel input{margin-top:3px}.verrechnung-kachel .verrechnung-text{display:block;font-size:12px;font-weight:400}.verrechnung-kachel.verrechnung-aktiv{border-color:var(--brand);background:var(--brand-50)}.verrechnung-kachel.verrechnung-fehlt{border-color:var(--amber)}.adresse-speichern{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px}.adresse-speichern .input{min-width:220px}.schnellzugriff-links{display:flex;gap:8px;flex-wrap:wrap}@media(max-width:720px){.verrechnung-kacheln{grid-template-columns:1fr}}
