.ktl-wrap{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;max-width:1200px;margin:20px auto;color:#17202a}
.ktl-nav{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}.ktl-tab{border:1px solid #d9dee5;background:#fff;border-radius:10px;padding:10px 15px;cursor:pointer}.ktl-tab.active{background:#17202a;color:#fff}
.ktl-panel{display:none}.ktl-panel.active{display:block}.ktl-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.ktl-card{background:#fff;border:1px solid #e1e5ea;border-radius:14px;padding:16px;box-shadow:0 2px 8px rgba(0,0,0,.04)}
.ktl-card h3{margin:0 0 6px}.ktl-muted{color:#667085;font-size:14px}.ktl-bad{color:#b42318;font-weight:700}.ktl-good{color:#067647;font-weight:700}
.ktl-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:12px 0}.ktl-form input,.ktl-form select{width:100%;box-sizing:border-box;padding:10px;border:1px solid #cfd6df;border-radius:9px}
.ktl-btn{border:0;border-radius:9px;padding:10px 13px;cursor:pointer;background:#17202a;color:#fff}.ktl-btn.secondary{background:#eef2f6;color:#17202a}.ktl-btn.danger{background:#b42318}
.ktl-table{width:100%;border-collapse:collapse;background:#fff}.ktl-table th,.ktl-table td{padding:10px;border-bottom:1px solid #e7e9ed;text-align:left;vertical-align:top}
.ktl-tower{cursor:pointer}.ktl-tower.selected{outline:2px solid #17202a}.ktl-detail{margin-top:15px}
.ktl-alert{padding:12px;border-radius:10px;background:#fff3cd;margin:10px 0}.ktl-ok{padding:12px;border-radius:10px;background:#e9f7ef;margin:10px 0}
.ktl-head{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.ktl-head h2{margin:0}
@media(max-width:600px){.ktl-table{font-size:13px}.ktl-table th,.ktl-table td{padding:7px}.ktl-btn{width:100%}.ktl-form{grid-template-columns:1fr}}

.ktl-login{max-width:520px;margin:40px auto;padding:25px;border:1px solid #e1e5ea;border-radius:14px;background:#fff;text-align:center}.ktl-login .ktl-btn{display:inline-block;text-decoration:none}

.ktl-login{max-width:430px!important;margin:8vh auto!important;padding:32px!important;text-align:center!important;background:#fff!important;box-shadow:0 8px 30px rgba(0,0,0,.08)!important}
.ktl-login h1{font-size:28px;margin:0 0 10px}.ktl-login .ktl-btn{display:inline-block;text-decoration:none}

.ktl-brand{display:flex;align-items:center;gap:16px}.ktl-brand img{width:82px;height:58px;object-fit:contain;border-radius:10px;background:#000}.ktl-brand h1{margin:0}
@media(max-width:600px){.ktl-brand{align-items:flex-start}.ktl-brand img{width:80px;height:58px}.ktl-brand h1{font-size:22px}}

.ktl-cost-box{margin:14px 0;padding:14px;border:1px solid #d9dee5;border-radius:12px;background:#f8fafc}.ktl-cost-total{font-size:24px;font-weight:800;margin:4px 0 2px}.ktl-price-form{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.ktl-price-form input{padding:7px;border:1px solid #cfd6df;border-radius:7px}
@media(max-width:600px){.ktl-brand img{width:68px;height:48px}.ktl-cost-total{font-size:21px}}

.ktl-plan-section{padding:12px 0}.ktl-plan-row{padding:8px 0;border-bottom:1px solid #eef0f2;line-height:1.5}.ktl-plan-summary{margin-top:10px;padding:10px;border-radius:9px;background:#f8fafc}.ktl-alert-inline{color:#b54708;font-weight:700}

.ktl-device-input{max-width:220px}
.ktl-qr-modal{position:fixed;inset:0;background:rgba(0,0,0,.65);display:flex;align-items:center;justify-content:center;z-index:99999;padding:16px}
.ktl-qr-modal[hidden]{display:none}
.ktl-qr-box{background:#fff;border-radius:14px;padding:18px;max-width:520px;width:100%;box-sizing:border-box}
.ktl-qr-box video{display:block;width:100%;max-height:60vh;background:#111;border-radius:10px;margin:12px 0}


.ktl-login-page{min-height:70vh;display:flex;align-items:center;justify-content:center;padding:30px 15px;box-sizing:border-box}.ktl-login-card{width:min(430px,100%);box-sizing:border-box;background:#fff;border:1px solid #e1e5ea;border-radius:18px;padding:30px;box-shadow:0 8px 30px rgba(0,0,0,.08);text-align:center}.ktl-login-logo{width:110px;height:78px;object-fit:contain;border-radius:12px;background:#000;margin-bottom:10px}.ktl-login-card h1{margin:4px 0 8px}.ktl-login-form{display:grid;gap:13px;text-align:left;margin-top:20px}.ktl-login-form label{font-weight:600}.ktl-login-form input[type=text],.ktl-login-form input[type=password]{display:block;width:100%;box-sizing:border-box;margin-top:6px;padding:12px;border:1px solid #cfd6df;border-radius:9px;font:inherit}.ktl-login-check{font-weight:400!important;display:flex;align-items:center;gap:8px}.ktl-login-form .ktl-btn{width:100%;font-size:16px}.ktl-login-error{padding:10px 12px;border-radius:9px;background:#fdecec;color:#b42318;margin:15px 0;text-align:left}
.ktl-device-card{position:relative}.ktl-device-qr{width:110px;height:110px;object-fit:contain;border:1px solid #ddd;border-radius:8px;background:#fff;padding:4px}.ktl-scan-device-box{margin-top:15px;padding:12px;border:1px dashed #ccd3dc;border-radius:10px}.ktl-device-card .ktl-head{align-items:flex-start}
@media(max-width:650px){.ktl-device-qr{width:85px;height:85px}.ktl-device-card .ktl-head{gap:10px}}

.ktl-check{display:flex;align-items:center;gap:8px;grid-column:1/-1;padding:4px 0;font-weight:600}.ktl-check input{width:auto}.ktl-device-target{outline:3px solid #111;box-shadow:0 0 0 6px rgba(0,0,0,.08)}.ktl-install-device{min-width:240px}.ktl-device-card .ktl-device-qr{background:#fff;padding:4px;border:1px solid #ddd;border-radius:8px}
/* Lager 2.9.0 – einheitliche Lageroberfläche */
.ktl-lager-shell{padding:18px}.ktl-lager-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) 210px auto;gap:10px;margin:16px 0}.ktl-lager-search,.ktl-lager-toolbar select{width:100%;box-sizing:border-box;padding:11px 12px;border:1px solid #cfd6df;border-radius:10px;font:inherit;background:#fff}.ktl-lager-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-bottom:15px}.ktl-action-box{border:1px solid #e1e5ea;border-radius:11px;background:#f8fafc}.ktl-action-box summary{cursor:pointer;padding:11px 13px;font-weight:700}.ktl-action-box[open] summary{border-bottom:1px solid #e1e5ea}.ktl-action-box .ktl-form{padding:0 12px 12px;margin:12px 0 0}.ktl-action-box .ktl-muted{padding:0 12px 12px}.ktl-lager-summary{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.ktl-lager-summary span{background:#f2f4f7;border-radius:999px;padding:7px 11px;font-size:13px}.ktl-lager-table-wrap{overflow:auto;border:1px solid #e1e5ea;border-radius:12px}.ktl-lager-table{min-width:900px}.ktl-lager-table .ktl-stock-row{background:#fff}.ktl-lager-table .ktl-stock-row:hover{background:#fafafa}.ktl-category-pill,.ktl-type-pill{display:inline-block;padding:4px 8px;border-radius:999px;background:#eef2f6;font-size:12px;font-weight:600}.ktl-device-row{background:#f8fafc}.ktl-device-row td{border-bottom:1px solid #eef0f2}.ktl-device-qr-mini{width:58px;height:58px;object-fit:contain;border:1px solid #ddd;border-radius:6px;background:#fff}.ktl-device-inline-form{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0}.ktl-device-inline-form input,.ktl-device-inline-form select{width:auto;min-width:120px;padding:7px;border:1px solid #cfd6df;border-radius:7px}.ktl-device-inline-form input[type=hidden]{display:none}.ktl-lager-table .ktl-price-form{min-width:150px}.ktl-lager-table .ktl-price-form input{width:85px}.ktl-lager-table .ktl-btn{margin:2px 0}.ktl-btn:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:700px){.ktl-lager-toolbar{grid-template-columns:1fr}.ktl-lager-actions{grid-template-columns:1fr}.ktl-lager-shell{padding:12px}.ktl-device-inline-form{display:grid;grid-template-columns:1fr}.ktl-device-inline-form input,.ktl-device-inline-form select{width:100%;box-sizing:border-box}.ktl-device-inline-form .ktl-btn{width:100%}}

/* 2.9.2: clear field labels and local QR rendering */
.ktl-form > label:not(.ktl-check){display:block;font-weight:600;font-size:14px;margin:8px 0 3px;color:#1f2937;}
.ktl-form > label:not(.ktl-check) input,.ktl-form > label:not(.ktl-check) select{margin-top:4px;}
.ktl-device-qr-mini{width:54px;height:54px;display:flex;align-items:center;justify-content:center;background:#fff;}
.ktl-device-qr-mini svg{display:block;width:52px;height:52px;}
.ktl-print-device-qr + *{}

.ktl-qr-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}.ktl-label-preview-box{max-width:420px}.ktl-label-preview-box #ktl-label-preview{display:flex;justify-content:center}.ktl-label-preview-box .label{width:70mm;min-height:78mm;border:1px solid #111;padding:6mm;box-sizing:border-box;text-align:center;background:#fff}.ktl-label-preview-box .brand{font-weight:700;font-size:14px;margin-bottom:4mm}.ktl-label-preview-box .name{font-size:16px;font-weight:700}.ktl-label-preview-box .key{font-size:12px;margin-top:2mm}.ktl-label-preview-box .serial{font-size:11px;margin-top:2mm}.ktl-label-preview-box .qr{width:45mm;height:45mm;margin:4mm auto 0}.ktl-label-preview-box .qr svg{width:45mm;height:45mm;display:block}.ktl-label-actions{display:flex;gap:8px;justify-content:center;margin-top:15px}.ktl-label-actions .ktl-btn{width:auto}

.ktl-labels-box{margin:12px 0}.ktl-labels-panel{padding:12px}.ktl-labels-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}.ktl-label-card{border:1px solid #dfe4ea;border-radius:12px;background:#fff;padding:12px;text-align:center}.ktl-device-qr-large{width:150px;height:150px;margin:0 auto 10px;background:#fff}.ktl-device-qr-large svg{width:150px;height:150px;display:block}.ktl-label-card-actions{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin-top:10px}.ktl-label-card-actions .ktl-btn{width:auto}.ktl-labels-box .ktl-muted{margin:0}
