/* Kundenbereich */
[hidden]{display:none!important}
.kb-wrap{max-width:1400px;margin:0 auto;padding:60px 20px 100px}
.kb-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:30px}
.kb-head h2{font-size:22px;font-weight:400;line-height:1.3em}
.kb-head p{margin:6px 0 0}
.kb-tools{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.kb-tools input,.kb-tools select{font-family:inherit;font-size:15px;font-weight:300;letter-spacing:.3px;color:var(--primary);background:var(--white);border:1px solid #cfd8d8;border-radius:30px 0 30px 30px;padding:12px 18px;min-width:220px}
.kb-tools input:focus,.kb-tools select:focus{outline:2px solid var(--accent);outline-offset:1px}
.kb-state{padding:40px;text-align:center;color:var(--text)}
.kb-table-wrap{overflow-x:auto;background:var(--white);box-shadow:var(--shadow-card);border-left:2px solid var(--text)}
.kb-table-wrap[aria-busy="true"]{opacity:.6}
table.kb{width:100%;border-collapse:collapse;font-size:15px;letter-spacing:.3px;min-width:1100px}
table.kb th{text-align:left;font-size:12px;font-weight:400;text-transform:uppercase;letter-spacing:.8px;color:var(--white);background:var(--accent);padding:14px 16px;white-space:nowrap}
table.kb td{padding:16px;border-top:1px solid #e6ecec;vertical-align:top;color:var(--primary)}
table.kb tr:hover td{background:#f6faf2}
.kb-auftrag{font-weight:500;white-space:nowrap}
.kb-sub{display:block;font-size:13px;color:var(--text);margin-top:3px}
.kb-steps{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:6px;min-width:520px}
.kb-step{position:relative;padding:8px 10px 8px 12px;border-radius:0 14px 0 0;background:#eef2f2;color:var(--text);font-size:12px;line-height:1.35em}
.kb-step strong{display:block;font-size:11px;font-weight:400;text-transform:uppercase;letter-spacing:.6px;margin-bottom:2px}
.kb-step.done{background:var(--secondary);color:var(--primary)}
.kb-step.current{background:var(--accent);color:var(--white)}
.kb-step.current strong{color:var(--white)}
.kb-step .nr{font-weight:500;white-space:nowrap}
.kb-sn{margin:0;padding:0;list-style:none;font-family:"Menlo","Consolas",monospace;font-size:13px;letter-spacing:0}
.kb-sn li{white-space:nowrap}
.kb-sn-more{color:var(--text);cursor:pointer;text-decoration:underline;font-family:"Montserrat",sans-serif;font-size:13px}
.kb-dhl a{color:var(--primary);text-decoration:underline;white-space:nowrap;font-family:"Menlo","Consolas",monospace;font-size:13px;letter-spacing:0}
.kb-dhl span{display:block;font-size:13px;color:var(--text);margin-top:3px;font-family:"Montserrat",sans-serif}
.kb-badge{display:inline-block;font-size:11px;text-transform:uppercase;letter-spacing:.6px;padding:5px 10px;border-radius:0 10px 0 0;background:var(--secondary);color:var(--primary);white-space:nowrap}
.kb-badge.berechnet{background:var(--accent);color:var(--white)}
.kb-foot{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:20px;font-size:13px;color:var(--text)}
.kb-foot button{font-family:inherit}
.kb-gate{max-width:560px;margin:0 auto;text-align:center;padding:60px 20px}
.kb-gate .btn{margin-top:20px}
/* Session-Steuerung in der Kopfzeile */
.site-nav .session{display:inline-flex;align-items:center;gap:14px}
.site-nav .session button{font-family:inherit;font-size:14px;font-weight:300;text-transform:uppercase;letter-spacing:.3px;color:var(--primary);background:none;border:1px solid var(--primary);border-radius:30px 0 30px 30px;padding:8px 16px;cursor:pointer}
.site-nav .session button:hover{background:var(--primary);color:var(--white)}
.site-nav .session .ph{display:inline-block;width:90px;height:20px}
/* Login */
.lg-wrap{max-width:520px;margin:0 auto;padding:60px 20px 100px}
.lg-card{background:var(--white);border-left:2px solid var(--text);box-shadow:var(--shadow-card);padding:40px 50px}
.lg-card h2{display:inline-block;font-size:15px;font-weight:300;line-height:1em;letter-spacing:.3px;color:var(--white);background:var(--accent);padding:15px 50px 12px;border-radius:0 30px 0 0;margin:-40px 0 30px -50px}
.lg-card form{display:grid;gap:14px}
.lg-card label{display:grid;gap:6px;font-size:12px;font-weight:400;text-transform:uppercase;letter-spacing:.6px;color:var(--primary)}
.lg-card input{font-family:inherit;font-size:16px;font-weight:300;letter-spacing:.3px;color:var(--primary);border:1px solid #cfd8d8;border-radius:30px 0 30px 30px;padding:12px 18px}
.lg-card input:focus{outline:2px solid var(--accent);outline-offset:1px}
.lg-card .btn{justify-self:start;margin-top:6px}
.lg-card .btn:disabled{opacity:.6;cursor:wait}
.lg-card .err{color:#9b2c2c;font-size:14px;min-height:1.2em}
.lg-card .switch{font-size:14px;margin-top:20px}
.lg-card .switch a{color:var(--primary)}
.lg-notice{padding:20px;background:var(--secondary);border-radius:0 30px 0 0;color:var(--primary)}
@media (max-width:767px){.kb-wrap{padding:40px 5% 80px}.lg-card{padding:30px}.lg-card h2{margin:-30px 0 25px -30px;padding:15px 30px 12px}.kb-head h2{font-size:18px}}