/* ── OVERLAY & MODAL BASIS ────────────────────────────────────────── */
.overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.8);z-index:1000;align-items:center;justify-content:center;backdrop-filter:blur(5px);}
.overlay.open{display:flex;}
.modal{background:var(--bg2);border:1px solid var(--border);width:min(960px,96vw);max-height:92vh;display:flex;flex-direction:column;overflow:hidden;animation:mIn .2s ease;}
.mhdr{padding:18px 26px;background:var(--bg3);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;}
.mhdr h2{font-size:20px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--accent);}
.mclose{background:transparent;border:none;color:var(--muted);cursor:pointer;font-size:26px;padding:0 5px;line-height:1;}
.mclose:hover{color:var(--red);}
.mbody{padding:26px;overflow-y:auto;flex:1;}
.mfooter{padding:16px 26px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:10px;}

/* ── WIZARD STEPS ─────────────────────────────────────────────────── */
.steps{display:flex;margin-bottom:26px;}
.step{flex:1;padding:9px 13px;text-align:center;font-size:14px;font-weight:700;letter-spacing:1px;text-transform:uppercase;border-bottom:2px solid var(--border);color:var(--muted);}
.step.active{border-bottom-color:var(--accent);color:var(--accent);}
.step.done{border-bottom-color:var(--green);color:var(--green);cursor:pointer;}

/* ── KATALOG-GRID (Wizard Schritt 1) ──────────────────────────────── */
.catgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(247px,1fr));gap:10px;margin-bottom:16px;}
.catcard{border:1px solid var(--border);padding:16px 18px;cursor:pointer;transition:all .15s;background:var(--bg3);}
.catcard:hover{border-color:var(--accent);background:rgba(232,200,74,.05);}
.catcard.sel{border-color:var(--accent);background:rgba(232,200,74,.1);}
.catcard-t{font-size:17px;font-weight:700;letter-spacing:1px;color:var(--text);}
.catcard-s{font-size:13px;color:var(--muted);margin-top:4px;}

/* ── KABEL-LISTE (Wizard Schritt 2) ───────────────────────────────── */
.cablelist{display:flex;flex-direction:column;gap:6px;}
.cablerow{display:grid;grid-template-columns:minmax(208px,1fr) 130px auto auto auto auto;gap:16px;align-items:center;padding:12px 16px;border:1px solid var(--border);background:var(--bg3);transition:border-color .15s;}
.cablerow.sel{border-color:var(--green);background:rgba(74,232,160,.05);}
.cable-t{font-size:18px;font-weight:600;color:var(--text);}
.cable-s{font-family:'Share Tech Mono',monospace;font-size:16px;color:var(--accent2);}
.qin{background:var(--bg);border:1px solid var(--border);color:var(--text);font-family:'Share Tech Mono',monospace;font-size:21px;font-weight:700;width:94px;padding:8px 10px;text-align:center;outline:none;}
.qin:focus{border-color:var(--accent);}
.qlbl{font-size:16px;color:var(--text2);white-space:nowrap;letter-spacing:.6px;}
.addlength-row{display:flex;gap:10px;align-items:center;padding:10px 16px;border:1px dashed var(--border);background:var(--bg);margin-top:5px;}
.addlength-row input[type=text]{background:var(--bg2);border:1px solid var(--border);color:var(--text);font-family:'Share Tech Mono',monospace;font-size:17px;padding:6px 10px;outline:none;width:143px;}
.addlength-row input[type=text]:focus{border-color:var(--accent);}
.addlength-row input[type=text]::placeholder{color:var(--muted);}
.addlength-btn{background:transparent;border:1px solid var(--accent2);color:var(--accent2);font-family:'Barlow Condensed',sans-serif;font-size:16px;font-weight:700;letter-spacing:1px;padding:6px 16px;cursor:pointer;white-space:nowrap;}
.addlength-btn:hover{background:rgba(74,232,160,.15);}
.addlength-label{font-size:14px;color:var(--muted);letter-spacing:1px;}
.selin{background:var(--bg3);border:1px solid var(--border);color:var(--text);font-family:'Barlow Condensed',sans-serif;font-size:18px;padding:10px 16px;width:100%;outline:none;margin-bottom:16px;}
.selin:focus{border-color:var(--accent);}
.selsum{background:var(--bg3);border:1px solid var(--border);padding:16px 18px;margin-top:13px;}
.selsum-t{font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-bottom:9px;}
.selrow{display:flex;justify-content:space-between;align-items:center;padding:4px 0;font-size:16px;border-bottom:1px solid #1a1f30;}
.selrow:last-child{border-bottom:none;}
.selrow-n{color:var(--text2);}
.selrow-q{font-family:'Share Tech Mono',monospace;color:var(--accent);font-weight:700;}

/* ── KATALOG-MANAGER ──────────────────────────────────────────────── */
.cat-mgr-tabs{display:flex;gap:0;border-bottom:1px solid var(--border);}
.cat-mgr-tab{padding:9px 18px;font-size:10px;letter-spacing:2px;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;transition:all .15s;}
.cat-mgr-tab:hover{color:var(--text);}
.cat-mgr-tab.active{color:var(--accent);border-bottom-color:var(--accent);}
.catalog-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border:1px solid var(--border);background:var(--bg2);flex-wrap:wrap;}
.catalog-row.active-cat{border-color:var(--green);background:rgba(74,232,160,.05);}
.catalog-row-info{display:flex;align-items:center;gap:10px;flex:1;min-width:0;}
.catalog-row-name{font-weight:700;font-size:13px;color:var(--text);white-space:nowrap;}
.catalog-row-tag{font-size:10px;letter-spacing:1px;color:var(--muted);background:var(--bg3);padding:2px 6px;border-radius:2px;}
.catalog-row-meta{font-size:11px;color:var(--muted);font-family:'Share Tech Mono',monospace;}
.catalog-row-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;}
.type-block{border:1px solid var(--border);margin-bottom:6px;background:var(--bg2);}
.type-block-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--bg3);gap:10px;}
.type-block-name{font-weight:700;font-size:12px;color:var(--text);letter-spacing:.5px;}
.type-items{display:flex;flex-wrap:wrap;gap:6px;padding:10px 12px;}
.item-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;background:var(--bg3);border:1px solid var(--border);font-family:'Share Tech Mono',monospace;font-size:12px;color:var(--text2);}
.item-chip-label{flex:1;}
.item-chip-edit,.item-chip-del{background:transparent;border:none;cursor:pointer;font-size:11px;padding:0 2px;line-height:1;transition:color .15s;opacity:0;}
.item-chip:hover .item-chip-edit,.item-chip:hover .item-chip-del{opacity:1;}
.item-chip-edit{color:var(--accent2);}
.item-chip-edit:hover{color:#fff;}
.item-chip-del{color:var(--muted);}
.item-chip-del:hover{color:var(--red);}
.item-chip-add{border-style:dashed;color:var(--muted);background:transparent;}
.btn-red{background:rgba(232,74,74,.15);color:var(--red);border-color:rgba(232,74,74,.3);}
.btn-red:hover{background:rgba(232,74,74,.25);}

/* ── GRUPPEN-BAR (Tab 2) ──────────────────────────────────────────── */
.group-mgr-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 12px;background:var(--bg3);border:1px solid var(--border);margin-bottom:12px;}
.group-pill{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;background:var(--bg2);border:1px solid var(--border);font-size:12px;color:var(--text2);}
.group-pill button{background:transparent;border:none;color:var(--muted);cursor:pointer;font-size:11px;padding:0 2px;transition:color .15s;}
.group-pill button:hover{color:var(--red);}
.group-header{font-size:11px;font-weight:700;letter-spacing:2px;color:var(--accent);padding:6px 10px;background:rgba(232,200,74,.07);border-left:3px solid var(--accent);margin-bottom:4px;}

/* ── TYP-DETAILANSICHT ────────────────────────────────────────────── */
.type-detail-header{background:var(--bg3);border:1px solid var(--border);padding:12px 16px;margin-bottom:0;}
.type-detail-addform{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 14px;background:var(--bg2);border:1px solid var(--border);border-top:none;margin-bottom:0;}
.entry-row{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;border-bottom:1px solid var(--border);gap:10px;}
.entry-row:hover{background:var(--bg3);}
.entry-row-val{font-family:'Share Tech Mono',monospace;font-size:13px;color:var(--text);flex:1;}
.entry-row-actions{display:flex;gap:6px;}

/* ── LOGO MODAL ───────────────────────────────────────────────────── */
.logo-option{display:flex;align-items:center;gap:14px;padding:14px;background:var(--bg3);border:1px solid var(--border);margin-bottom:10px;cursor:pointer;transition:border-color .15s;}
.logo-option:hover{border-color:var(--accent);}
.logo-icon{font-size:1.4rem;width:36px;text-align:center;flex-shrink:0;}
.logo-text strong{display:block;font-size:14px;color:var(--text);margin-bottom:2px;}
.logo-text span{font-size:11px;color:var(--muted);}
.logo-action{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:5px;}
.logo-prev{max-height:36px;max-width:90px;object-fit:contain;border-radius:3px;display:none;}
.logo-rm{font-size:10px;color:var(--red);background:transparent;border:1px solid rgba(232,74,74,.3);padding:2px 6px;cursor:pointer;display:none;}
.logo-rm:hover{background:rgba(232,74,74,.15);}

/* ── PDF MODAL ────────────────────────────────────────────────────── */
.pdf-cb-row{display:flex;align-items:center;gap:8px;font-size:13px;padding:4px 0;cursor:pointer;}
.pdf-cb-row input{accent-color:var(--accent);}
