.bundle-list{width:220px;min-width:180px;max-width:280px;background:var(--bg-surface-alt);border-right:1px solid var(--border-light);display:flex;flex-direction:column;overflow-y:auto}.bundle-list-items{flex:1;overflow-y:auto;padding:6px;scrollbar-width:thin;scrollbar-color:transparent transparent}.bundle-list-items:hover{scrollbar-color:var(--scrollbar-thumb) transparent}.bundle-list-item{display:flex;align-items:center;padding:10px 12px;cursor:pointer;border-radius:8px;gap:8px;margin-bottom:2px;transition:all .12s ease;color:var(--text-secondary)}.bundle-list-item:hover{background:var(--bg-elevated);color:var(--text-primary)}.bundle-list-item.selected{background:var(--accent-bg);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);color:var(--text-primary)}.bundle-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;font-size:13px}.bundle-color-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.bundle-delete-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:14px;line-height:1;padding:2px 4px;border-radius:4px;transition:all .12s ease}.bundle-delete-btn:hover{color:var(--accent);background:var(--accent-bg)}.bundle-list-empty{padding:24px 16px;color:var(--text-muted);font-size:12px;text-align:center}.ls-layout{display:flex;height:100%;overflow:hidden}.ls-sidebar{width:220px;min-width:180px;max-width:280px;background:var(--bg-surface-alt);border-right:1px solid var(--border-light);display:flex;flex-direction:column;overflow-y:auto;scrollbar-width:thin;scrollbar-color:transparent transparent}.ls-sidebar:hover{scrollbar-color:var(--scrollbar-thumb) transparent}.ls-sidebar-title{padding:12px 16px;font-weight:700;font-size:10px;text-transform:uppercase;color:var(--text-secondary);letter-spacing:1.5px;border-bottom:1px solid var(--border-light)}.ls-sidebar-collapsible{cursor:pointer;display:flex;align-items:center;justify-content:space-between;-webkit-user-select:none;user-select:none}.ls-sidebar-title.ls-sidebar-collapsible{padding:12px 16px;font-size:10px;font-weight:700;color:var(--text-secondary);border-bottom:1px solid var(--border-light)}.ls-sidebar-collapsible:hover{color:var(--text-primary)}.ls-filter-badge{background:var(--accent-fill);color:var(--accent-fg);font-size:10px;padding:1px 6px;border-radius:8px;font-weight:600;letter-spacing:0;text-transform:none}.ls-sidebar-scroll{flex:1;overflow-y:auto;padding:6px;scrollbar-width:thin;scrollbar-color:transparent transparent}.ls-sidebar-scroll:hover{scrollbar-color:var(--scrollbar-thumb) transparent}.ls-sidebar-item{display:flex;align-items:center;gap:8px;padding:10px 12px;cursor:pointer;border-radius:8px;margin-bottom:2px;transition:all .12s ease;color:var(--text-muted);font-size:13px;font-weight:500}.ls-sidebar-item:hover{background:var(--bg-elevated);color:var(--text-primary)}.ls-sidebar-all{font-weight:700;color:var(--text-primary)}.ls-sidebar-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.ls-sidebar-section{border-bottom:1px solid var(--border-light)}.ls-sidebar-options{padding:4px 6px 8px}.ls-sidebar-summary{padding:8px 12px;color:var(--text-muted);font-size:12px}.ls-sidebar-bundle-hdr{cursor:default}.ls-sidebar-bundle-name{flex:1;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ls-sidebar-printed{color:var(--success);font-size:11px;flex-shrink:0;margin-left:4px}.ls-sidebar-expand{background:none;border:none;color:var(--text-muted);font-size:11px;cursor:pointer;padding:2px 4px;border-radius:4px;line-height:1;flex-shrink:0;transition:color .1s}.ls-sidebar-expand:hover{color:var(--text-secondary)}.ls-sidebar-cables{padding-left:20px}.ls-sidebar-cable{padding:4px 12px!important;font-size:11px!important;color:var(--text-muted)!important}.ls-sidebar-cable:hover{color:var(--text-secondary)!important}.ls-sidebar-select-btns{display:flex;gap:6px;padding:6px 8px 2px}.ls-sidebar-btn{flex:1;padding:4px 0;font-size:11px;font-weight:600;border:1px solid var(--border);border-radius:4px;background:var(--bg-elevated);color:var(--text-secondary);cursor:pointer;transition:all .12s ease}.ls-sidebar-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-strong)}.ls-sidebar-divider{height:1px;background:var(--border-light);margin:2px 12px}.label-sheets{padding:20px;display:flex;flex-wrap:wrap;gap:24px;justify-content:center;align-content:flex-start;flex:1;overflow-y:auto}.label-sheet{background:#fff;color:#000;width:8.5in;height:11in;border-radius:4px;box-shadow:0 2px 20px #0000004d;overflow:hidden;flex-shrink:0;font-family:Avenir Next Condensed,AvenirNextCondensed-Regular,Avenir Next,sans-serif;display:flex;flex-direction:column}.ls-page-top{display:flex;justify-content:space-between;align-items:baseline;padding:4px .35in;font-size:9px;color:#333;border-bottom:1px solid #ccc}.ls-show-name{font-weight:700;font-size:10px}.ls-page-title{font-weight:600}.ls-page-num{font-weight:500}.ls-col-groups{display:grid;grid-template-columns:repeat(4,1.75in);column-gap:.28125in;padding-left:.358in;padding-top:2px;font-size:8px;color:#666;border-bottom:1px solid #ddd}.ls-cg{text-align:center;padding:2px 0}.ls-cg-main,.ls-cg-spare{border-bottom:1px solid #ccc}.ls-grid{padding-left:.358in;flex:1}.ls-bundle-row{display:grid;grid-template-columns:repeat(4,1.75in);column-gap:.28125in;height:.5in;align-items:end;background:#e8e8e8}.ls-bundle-hdr{display:flex;flex-direction:column;padding:0 6px 3px;white-space:nowrap;overflow:hidden}.ls-bh-label{font-size:10px;font-weight:600;color:#555}.ls-bh-name{font-size:14px;font-weight:500;color:#222}.ls-bundle-hdr-sub{display:flex;flex-direction:column;padding:0 6px 3px;white-space:nowrap;overflow:hidden;text-align:center}.ls-bundle-hdr-sub .ls-bh-name{font-size:14px;font-weight:500;color:#222}.ls-sub-pulled{font-size:10px;color:#f2a848;font-weight:600}.ls-sub-labeled{font-size:10px;color:#27ae60;font-weight:600}.tl-header-group{display:contents}.tl-text-label{display:flex;align-items:center;justify-content:center;background:none;border:none}.tl-label-type{font-size:18px;font-weight:700;color:#555;display:flex;align-items:center;gap:6px}.tl-label-type:after{content:"→";font-size:22px}.tl-full-color-label{display:flex;align-items:center;justify-content:center;border-radius:3px}.tl-full-name{font-family:Futura Condensed Medium,Futura,sans-serif;font-size:14px;font-weight:500;text-align:center}.ls-label-row{display:grid;grid-template-columns:repeat(4,1.75in);column-gap:.28125in;height:.5in}.ls-label{width:1.75in;height:.5in;display:flex;flex-direction:column;border:.5px solid #ddd;overflow:hidden;background:#fff}.ls-top{position:relative;flex:1}.ls-name{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:500;color:#000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.3px;pointer-events:none}.ls-gt-box{position:absolute;top:2px;left:4px;display:flex;flex-direction:column;line-height:1.1;z-index:1}.ls-gender{font-size:9px;font-weight:400;color:#000;letter-spacing:.1px}.ls-ctype{font-size:9px;font-weight:400;color:#444}.ls-len{position:absolute;top:50%;right:5px;transform:translateY(-50%);font-size:11px;font-weight:400;color:#000;z-index:1}.ls-bot{display:flex;align-items:center;justify-content:center;padding:0 6px;height:.21in;position:relative;border-top:1px solid #000}.ls-loc{font-family:Avenir,sans-serif;font-size:9px;font-weight:900;letter-spacing:.3px;text-align:center;color:#000}.ls-flag{position:absolute;right:6px;font-size:11px;color:#000;opacity:.85}@media print{*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;color-adjust:exact!important}.toolbar,.tab-bar,.lp-subtabs{display:none!important}.ls-sidebar{display:none}.ls-layout{display:block}.label-sheets{padding:0;gap:0;display:block}.label-sheet{box-shadow:none;border-radius:0;width:100%;height:auto;max-height:10.5in;margin:0;padding:0;page-break-after:always;page-break-inside:avoid;overflow:hidden}.label-sheet:last-child{page-break-after:auto}.ls-page-top,.ls-col-groups{display:none}.ls-grid{padding-top:.56in;padding-left:0;padding-right:0;margin-left:auto;margin-right:auto;width:fit-content;transform:translate(-.03125in,-.03125in)}.ls-label-row{height:35.9pt}.ls-label{height:35.9pt;border:none}.ls-bundle-row{height:35.9pt}}.color-picker{position:relative;display:inline-block}.color-picker-btn{display:flex;align-items:center;gap:6px;padding:4px 10px;background:var(--bg-input);border:1px solid var(--border);border-radius:6px;cursor:pointer;font-size:12px;font-family:inherit;min-width:90px;transition:all .12s ease;color:var(--text-secondary)}.color-picker-btn:hover{border-color:var(--text-muted);background:var(--bg-input)}.color-picker-swatch{display:inline-block;width:16px;height:16px;border-radius:3px;border:1px solid var(--text-muted);flex-shrink:0}.color-picker-label{flex:1;text-align:left}.color-picker-arrow{color:var(--text-muted);font-size:10px}.color-picker-dropdown{position:absolute;top:100%;left:0;margin-top:4px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-popover);z-index:50;min-width:140px;max-height:280px;overflow-y:auto;padding:4px}.color-picker-option{display:flex;align-items:center;gap:8px;padding:6px 10px;cursor:pointer;border-radius:5px;font-size:12px;font-weight:500;color:var(--text-secondary);transition:background .1s ease}.color-picker-option:hover{background:var(--bg-hover)}.color-picker-option.selected{background:var(--accent-bg);color:var(--text-primary);font-weight:600}.tail-grid{grid-column:1 / -1;margin-top:8px;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--bg-surface)}.tail-grid-header{display:grid;grid-template-columns:36px 1fr 1fr 60px 1fr 60px;gap:0 4px;padding:4px 8px;background:var(--bg-elevated);border-bottom:1px solid var(--border)}.tail-grid-header span{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}.tail-grid-rows{max-height:300px;overflow-y:auto}.tail-grid-row{display:grid;grid-template-columns:36px 1fr 1fr 60px 1fr 60px;gap:0 4px;padding:3px 8px;align-items:center;border-bottom:1px solid var(--border-light)}.tg-even{background:var(--bg-surface-alt)}.tg-odd{background:var(--bg-body)}.tail-grid-row .tg-num{color:var(--success);font-weight:700;font-size:12px;text-align:center}.tail-grid-row input{background:var(--bg-hover);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);padding:3px 6px;font-size:12px;font-family:inherit}.tail-grid-row input:focus{border-color:var(--accent);background:var(--bg-input)}.tail-grid-row input.tg-port{text-align:center}.tail-grid-footer{display:flex;justify-content:flex-end;align-items:center;padding:6px 8px;border-top:1px solid var(--border);background:var(--bg-elevated)}.cable-table{flex:1;display:flex;flex-direction:column;overflow:hidden}.cable-header-row{display:grid;grid-template-columns:160px 90px minmax(220px,1fr) minmax(220px,1fr) 100px;align-items:center;padding:6px 16px;background:var(--bg-elevated);border-bottom:1px solid var(--border);gap:0 8px;min-height:32px}.cable-header-row span{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--text-secondary)}.ch-color,.ch-cat{display:none}.ch-length{text-align:center;display:none}.cr-length{text-align:center;font-size:12px;color:var(--text-muted);display:none}.cr-edit-length{width:100%;max-width:70px;font-size:11px}.cable-table-with-length .cable-header-row,.cable-table-with-length .cable-row{grid-template-columns:160px 80px 70px minmax(200px,1fr) minmax(200px,1fr) 100px}.cable-table-with-length .ch-length,.cable-table-with-length .cr-length{display:block}.ch-end-a{color:var(--accent)}.ch-end-b{color:var(--success)}.cable-rows{flex:1;overflow-y:auto}.cable-row{display:grid;grid-template-columns:160px 90px minmax(220px,1fr) minmax(220px,1fr) 100px;align-items:center;padding:10px 16px;border-bottom:1px solid var(--border-light);min-height:44px;cursor:default;transition:all .12s ease;gap:0 8px}.cable-row-even{background:var(--bg-surface-alt)}.cable-row-odd{background:var(--bg-body)}.cable-row:hover{background:var(--bg-hover)}.cable-row-focused{background:var(--accent-bg)!important;outline:1px solid color-mix(in srgb,var(--accent-fill) 40%,transparent);outline-offset:-1px}.cr-label{font-weight:700;font-size:13px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cr-type{color:var(--text-secondary);font-weight:500}.cr-end{font-size:12px;color:var(--text-muted)}.cr-end strong{color:var(--text-secondary);font-weight:600}.cr-actions{display:flex;align-items:center;gap:6px;justify-content:flex-end}.ch-actions{display:flex;align-items:center;justify-content:flex-end}.cr-color-cell{grid-column:1 / 3;padding-top:2px}.cr-tail-cell-a,.cr-tail-cell-b{padding-top:2px}.cr-color-badge{display:inline-block;padding:2px 10px;border-radius:4px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.cr-multi-badge{font-size:10px;background:#27ae60;color:#000;padding:2px 7px;border-radius:4px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.cr-delete{background:none;border:none;color:var(--text-muted);font-size:18px;cursor:pointer;padding:4px;border-radius:5px;line-height:1;transition:all .12s ease}.cr-delete:hover{color:var(--accent);background:var(--accent-bg)}.cable-row-edit{background:var(--bg-elevated)!important;border:1px solid color-mix(in srgb,var(--accent-fill) 35%,transparent);border-radius:10px;margin:6px 10px;padding:12px 16px;gap:6px 8px;box-shadow:var(--shadow-popover)}.cr-edit-label{font-weight:600;font-size:13px;color:var(--text-primary)}.cr-edit-type{min-width:0}.cr-edit-end{display:flex;align-items:center;gap:4px;min-width:0;overflow:hidden}.cr-edit-end select{min-width:0;flex:1}.cr-edit-end input{flex:1;min-width:0}.cr-at{color:var(--text-muted);font-size:11px;font-weight:600;flex-shrink:0}.cr-edit-actions{display:flex;flex-direction:column;gap:4px;align-items:stretch}.cr-edit-color-cell{grid-column:1 / 3;padding-top:4px}.cr-edit-tail-cell{padding-top:4px;min-width:0;overflow:hidden}.cr-tail-label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500;color:var(--text-muted)}.cr-tail-label select{flex:1;min-width:0}.cr-tail-end-a{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:4px;background:var(--accent-fill);color:var(--accent-fg);font-size:10px;font-weight:800;flex-shrink:0}.cr-tail-end-b{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:4px;background:#27ae60;color:#000;font-size:10px;font-weight:800;flex-shrink:0}.cr-tail-tag{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--text-secondary);font-weight:500;background:var(--bg-elevated);padding:2px 8px;border-radius:4px;border:1px solid var(--border)}.cable-add-btn{margin:10px 16px;text-align:center;width:calc(100% - 32px);padding:10px;border:1px dashed var(--border);background:transparent;color:var(--text-muted);font-weight:600;border-radius:8px;transition:all .15s ease}.cable-add-btn:hover{background:var(--accent-bg);border-color:var(--accent);color:var(--accent)}.cr-edit-end{flex-wrap:wrap}.cr-rack-row{width:100%;margin-top:4px}.cr-rack-select{width:100%;font-size:11px}.cr-rack-badge{font-size:10px;color:var(--accent);font-weight:600;margin-left:4px}.cr-action-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:14px;padding:2px 4px;border-radius:4px;transition:all .12s}.cr-action-btn:hover{color:var(--accent);background:var(--accent-bg)}.cr-checkbox{accent-color:var(--accent);cursor:pointer}.ct-bulk-bar{padding:8px 16px;background:var(--accent-bg);border-bottom:1px solid color-mix(in srgb,var(--accent-fill) 20%,transparent)}.ct-bulk-row1{display:flex;align-items:center;gap:8px;margin-bottom:6px}.ct-bulk-count{font-size:12px;font-weight:600;color:var(--accent);min-width:80px}.ct-bulk-fields{display:flex;flex-wrap:wrap;gap:6px}.ct-bulk-field{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-muted)}.ct-bulk-field span{white-space:nowrap}.ct-bulk-select{background:var(--bg-surface-alt);border:1px solid var(--border);color:var(--text-secondary);padding:3px 6px;border-radius:4px;font-size:11px}.ct-bulk-input{background:var(--bg-surface-alt);border:1px solid var(--border);color:var(--text-secondary);padding:3px 6px;border-radius:4px;font-size:11px;width:80px}.cable-row-drag-wrap{display:flex;align-items:stretch;position:relative}.cable-row-drag-wrap .cable-row{flex:1}.cable-drag-handle{display:flex;align-items:center;padding:0 4px;cursor:grab;color:var(--text-muted);font-size:12px;-webkit-user-select:none;user-select:none;flex-shrink:0}.cable-drag-handle:hover{color:var(--text-muted)}.cable-drag-handle:active{cursor:grabbing}.cable-row-drop-above{border-top:2px solid var(--accent)}.cable-row-drop-below{border-bottom:2px solid var(--accent)}.bundle-detail{display:flex;flex-direction:column;height:100%;overflow:hidden}.bundle-header{padding:16px 20px;background:var(--bg-elevated);border-bottom:1px solid var(--border)}.bh-row1{display:flex;align-items:center;gap:12px;margin-bottom:10px}.bh-row1 label{color:var(--text-secondary);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px}.bh-name{font-size:24px;font-weight:800;flex:1;min-width:180px;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--text-primary);padding:4px 8px;letter-spacing:-.3px}.bh-name:focus{border-color:var(--accent);background:var(--bg-input)}.bh-field{width:130px}.bh-short{width:65px}.bh-row2{display:flex;align-items:center;gap:16px;margin-bottom:10px}.bh-check{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:500;cursor:pointer;color:var(--text-secondary);transition:color .12s ease}.bh-check:hover{color:var(--text-secondary)}.bh-check-warn{color:var(--accent);font-weight:700}.bh-spacer{flex:1}.bh-row3{display:flex;gap:20px}.bh-end{display:flex;align-items:center;gap:8px;flex:1}.bh-end input{flex:1;font-weight:600;text-align:center}.bh-end-label{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:6px;font-weight:800;font-size:14px;flex-shrink:0}.bh-end-a{background:var(--accent-fill);color:var(--accent-fg)}.bh-end-b{background:#27ae60;color:#000}.bh-color-label{display:inline-flex;align-items:center;gap:12px}.bh-color-label .color-picker{text-transform:none;letter-spacing:normal}@media print{.toolbar,.tab-bar,.bundle-detail,.bundle-list{display:none!important}}.bs-layout{display:flex;height:100%;overflow:hidden}.bundle-sheets{padding:20px;display:flex;flex-wrap:wrap;gap:24px;justify-content:center;align-content:flex-start;flex:1;overflow-y:auto}.bundle-sheet{background:#fff;color:#000;border-radius:4px;overflow:hidden;box-shadow:0 2px 20px #0000004d;width:8.5in;height:11in;display:flex;flex-direction:column;font-family:Inter,sans-serif;font-size:12px;flex-shrink:0}.bs-header{display:flex;justify-content:space-between;align-items:center;padding:8px 20px 6px;background:#666;color:#fff;gap:16px}.bs-logo{max-height:50px;max-width:120px;object-fit:contain}.bs-title{font-family:Futura,Futura-Medium,sans-serif;font-size:44px;font-weight:700;line-height:1;letter-spacing:1px}.bs-show{font-family:Futura,Futura-Medium,sans-serif;font-size:13px;font-weight:600;letter-spacing:1px;color:#ddd}.bs-meta{text-align:right;font-size:12px;color:#eee;line-height:1.6}.bs-meta-label{color:#ddd;font-weight:600;font-size:11px;margin-right:4px}.bs-bundle-info{padding:6px 20px 4px}.bs-bundle-row1{display:flex;align-items:baseline;gap:12px;margin-bottom:0}.bs-bundle-name{font-family:Futura,Futura-Medium,sans-serif;font-size:36px;font-weight:700;color:#111;line-height:1.1}.bs-ready-badge{font-size:12px;font-weight:600;color:#888;border:1px solid #ccc;padding:1px 8px;border-radius:3px}.bs-dnb-badge{font-size:12px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:#000;border:2px solid #000;padding:1px 8px;border-radius:3px;margin-right:6px}.bs-bundle-length{margin-left:auto;display:flex;align-items:center;gap:6px}.bs-length-val{font-family:Futura,Futura-Medium,sans-serif;font-size:22px;font-weight:700;border:1px solid #bbb;padding:0 14px;border-radius:3px}.bs-bundle-row2{display:flex;align-items:center;gap:12px;margin-bottom:2px}.bs-bundle-category{font-family:Futura,Futura-Medium,sans-serif;color:#f2a848;font-weight:700;font-size:20px;line-height:1}.bs-grid-cols{grid-template-columns:1fr 70px 90px 28px 90px 32px 32px;padding-left:16px;padding-right:16px;gap:0 4px}.bs-end-badge{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:3px;font-weight:800;font-size:12px;color:#fff}.bs-end-a{background:#f2a848}.bs-end-b-badge{background:#333}.bs-ends-row-aligned{display:grid;grid-template-columns:1fr 70px 90px 28px 90px 32px 32px;padding:0 20px;gap:0 4px;align-items:center;font-size:13px}.bs-hdr-end{text-align:center;font-weight:700;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bs-hdr-mid{text-align:center;font-size:14px;color:#666;font-weight:500}.bs-hdr-chk{text-align:center;font-size:10px;color:#666;font-style:italic}.bs-table-header{display:grid;grid-template-columns:1fr 70px 90px 28px 90px 32px 32px;padding:4px 20px;background:#f2a848;color:#000;font-weight:700;font-size:14px;border-bottom:2px solid #F2A848;gap:0 4px}.bs-cable-rows{flex:1}.bs-cable-row{display:grid;grid-template-columns:1fr 70px 90px 28px 90px 32px 32px;padding:0 20px;border-bottom:1px solid #e8e8e8;font-size:11px;gap:0 4px;min-height:26px;align-items:center}.bs-row-even{background:#fff}.bs-row-odd{background:#f8f8f8}.bs-row-empty{min-height:26px}.bs-col-label{font-weight:600;font-size:13px;padding:3px 8px;border-radius:2px}.bs-col-type{color:#555;font-size:13px}.bs-col-end{text-align:center;font-weight:600;font-size:13px}.bs-col-check{text-align:center}.bs-cable-tails{display:grid;grid-template-columns:1fr 70px 90px 28px 90px 32px 32px;padding:0 20px;gap:0 4px;font-size:10px;color:#666;min-height:15px;align-items:center}.bs-cable-tails .bs-tail-a{grid-column:3;text-align:center;white-space:normal;overflow-wrap:break-word;min-width:0}.bs-cable-tails .bs-tail-b{grid-column:5;text-align:center;white-space:normal;overflow-wrap:break-word;min-width:0}input[type=checkbox].bs-checkbox{-moz-appearance:none;appearance:none;-webkit-appearance:none;display:inline-block;width:12px;height:12px;border:1px solid #bbb;border-radius:2px;background:#fff;cursor:pointer;margin:0;font:inherit}input[type=checkbox].bs-checkbox:checked{background:#f2a848;border-color:#f2a848;position:relative}input[type=checkbox].bs-checkbox:checked:after{content:"✓";color:#fff;font-size:10px;font-weight:700;position:absolute;top:-2px;left:1px;line-height:1}@media print{.bs-checkbox{cursor:default}}.bs-edit-input{width:100%;background:transparent;border:none;border-bottom:1px dashed rgba(0,0,0,.2);font:inherit;font-size:inherit;color:inherit;padding:0;outline:none}.bs-edit-input:focus{border-bottom-color:var(--accent)}.bs-edit-name{font-size:22px;font-weight:700}.bs-edit-length{width:50px;font-size:20px;font-weight:700;text-align:center}.bs-edit-category{font-size:13px}@media print{.bs-edit-input{border:none}}@media screen{.bs-sheet-scaler{flex-shrink:0}.bundle-sheets .bundle-sheet{width:8.5in!important;max-width:none!important}}.bs-footer{display:flex;justify-content:space-between;padding:8px 16px;border-top:1px solid #ddd;font-size:11px;color:#666}.print-content{flex:1;overflow-y:auto;background:var(--bg-surface)}.summary-table{margin:20px;background:#fff;color:#000;border-radius:8px;overflow:hidden;box-shadow:0 2px 12px #0003;font-family:Inter,sans-serif}.summary-header{display:grid;grid-template-columns:2fr 1fr 80px 60px 1fr 1fr 60px 60px;padding:8px 16px;background:#444;color:#fff;font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.5px;gap:8px}.summary-row{display:grid;grid-template-columns:2fr 1fr 80px 60px 1fr 1fr 60px 60px;padding:6px 16px;border-bottom:1px solid #eee;font-size:12px;gap:8px}.summary-row:nth-child(2n){background:#f7f7f7}.summary-row:nth-child(odd){background:#fff}@media print{*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;color-adjust:exact!important}body{background:#fff!important}.toolbar,.tab-bar,.lp-subtabs,.dialog-overlay{display:none!important}.app{height:auto!important}.print-content{overflow:visible!important;background:#fff!important}.bs-layout{display:block}.bs-layout .ls-sidebar{display:none}.bundle-sheets{display:block;padding:0;gap:0}.bs-sheet-scaler{width:100vw!important;height:auto!important;page-break-after:always}.bs-sheet-scaler:last-child{page-break-after:auto}.bundle-sheet{box-shadow:none;border-radius:0;width:100vw;height:calc(100vh - 8px);page-break-inside:avoid;overflow:hidden;transform:none!important}}.bl-layout{display:flex;height:100%}.bl-sheets{padding:20px;display:flex;flex-direction:column;gap:24px;align-items:center;flex:1;overflow-y:auto}.bl-sheet{width:8.5in;min-height:11in;background:#fff;color:#000;border-radius:4px;box-shadow:0 2px 20px #0000004d;flex-shrink:0;page-break-after:always;display:flex;flex-direction:column;overflow:hidden;padding-top:.3in;box-sizing:border-box}.bl-page-header{display:flex;justify-content:space-between;align-items:flex-start;margin:0 .15in .12in;padding:8px 12px 6px;background:#727272;color:#fff;height:72pt;box-sizing:border-box}.bl-header-title{display:flex;flex-direction:column;justify-content:flex-end;height:100%}.bl-header-title-text{font-family:Futura,sans-serif;font-size:40pt;font-weight:500;line-height:1}.bl-header-subtitle{font-family:Futura,sans-serif;font-size:14pt;font-weight:500;color:#ddd}.bl-header-logo{max-height:.9in;max-width:1.5in;object-fit:contain;align-self:center}.bl-bundle-row{display:grid;grid-template-columns:2.8in 1fr;height:72pt;align-items:stretch;margin:0 .15in}.bl-id-label{display:flex;flex-direction:column;justify-content:center;padding:0 8px 0 .15in;font-family:Avenir Next Condensed,AvenirNextCondensed-Regular,Avenir Next,sans-serif}.bl-id-prefix{font-size:18pt;font-weight:400;color:#f2a848;line-height:1.3}.bl-id-name{font-size:18pt;font-weight:400;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-left:24px}.bl-cards-area{display:flex;flex-direction:column;height:72pt}.bl-color-bar{display:flex;align-items:center;height:30pt;flex-shrink:0;font-family:Futura Condensed,Futura,sans-serif;font-weight:500;font-size:18pt}.bl-bar-half{flex:1;display:flex;align-items:center;gap:4px;padding:0 8px;overflow:hidden;white-space:nowrap}.bl-bar-logo{height:18px;width:auto;flex-shrink:0}.bl-bar-name{flex:1;overflow:hidden;text-overflow:ellipsis;text-align:center}.bl-divider{height:2pt;flex-shrink:0;background:#333}.bl-detail-row{display:flex;height:40pt;align-items:center;font-family:Futura,sans-serif;font-weight:500}.bl-detail-half{flex:1;display:flex;align-items:center;padding:0 8px;gap:0}.bl-detail-length{font-size:14pt;min-width:.85in}.bl-detail-to-label{font-size:12pt;margin-right:4px}.bl-detail-to-name{font-size:12pt;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media print{.bl-layout .ls-sidebar{display:none}.bl-sheets{display:block;padding:0;background:#fff;overflow:visible}.bl-sheet{margin:0 auto;padding-top:.3in;box-shadow:none;border-radius:0;page-break-after:always;height:auto;max-height:10.5in;width:8.5in;overflow:hidden}.bl-sheet:last-child{page-break-after:auto}.bl-page-header{margin-top:0}.bl-color-bar,.bl-page-header,.bl-divider{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.cable-order-wrapper{padding:20px;display:flex;flex-direction:column;align-items:center;flex:1;overflow-y:auto}.cable-order{background:#fff;color:#000;border-radius:4px;overflow:hidden;box-shadow:0 2px 20px #0000004d;width:8.5in;min-height:11in;font-family:Inter,sans-serif;font-size:12px;display:flex;flex-direction:column;flex-shrink:0}.co-loading{padding:40px;text-align:center;color:#999;font-size:14px}.co-header{display:flex;justify-content:space-between;align-items:flex-start;padding:24px 32px 16px;background:#666;color:#fff}.co-header-left{display:flex;flex-direction:column;gap:2px}.co-title{font-family:Futura,Futura-Medium,sans-serif;font-size:36px;font-weight:700;letter-spacing:1px;line-height:1;margin:0 0 4px}.co-production{font-family:Futura,Futura-Medium,sans-serif;font-size:18px;font-weight:600;color:#eee;letter-spacing:.5px}.co-venue{font-size:13px;color:#ddd}.co-header-right{text-align:right;display:flex;flex-direction:column;gap:4px}.co-meta-row{display:flex;gap:8px;justify-content:flex-end;align-items:baseline}.co-meta-label{font-size:10px;font-weight:600;color:#ddd;text-transform:uppercase;letter-spacing:.5px}.co-meta-value{font-size:13px;color:#eee}.co-columns{display:flex;gap:24px;padding:16px 24px;flex:1}.co-col{flex:1}.co-col-inner{display:flex;flex-direction:column;gap:0}.co-type-block{break-inside:avoid;page-break-inside:avoid;border-top:2px solid #333}.co-type-header{background:#f5f5f0;font-weight:700;font-size:13px;padding:6px 10px;border-bottom:1px solid #ddd}.co-table{width:100%;border-collapse:collapse}.co-row{background:#fff}.co-row-alt{background:#f8f8f8}.co-td{padding:4px 10px;border-bottom:1px solid #e8e8e8;font-size:12px;vertical-align:middle}.co-td-length{font-weight:500}.co-td-qty{text-align:right;font-weight:600;font-variant-numeric:tabular-nums}.co-actions{display:flex;gap:8px;padding:16px 32px;background:#f5f5f5;border-top:1px solid #e0e0e0}.co-btn{background:#333!important;color:#fff!important;border:1px solid #555!important;padding:6px 16px!important;font-size:12px!important;cursor:pointer;border-radius:4px}.co-btn:hover{background:#555!important}.co-toolbar{display:flex;gap:10px;padding:8px 20px;align-items:center;background:var(--bg-surface-alt);border-bottom:1px solid var(--border-light)}.co-toggle{display:flex;border:1px solid var(--border);border-radius:5px;overflow:hidden}.co-toggle-btn{padding:5px 14px;font-size:12px;cursor:pointer;border:none;background:var(--bg-elevated);color:var(--text-muted);font-family:inherit;font-weight:500;transition:all .15s}.co-toggle-btn.active{background:var(--accent-fill);color:var(--accent-fg)}.co-toggle-btn:not(.active):hover{background:var(--bg-hover);color:var(--text-primary)}.co-last-order{font-size:11px;color:var(--text-muted);margin-left:auto}.co-confirm{display:flex;gap:10px;align-items:center;padding:8px 20px;background:var(--bg-elevated);border-bottom:1px solid var(--border-light);border-left:3px solid var(--warning);font-size:12px;color:var(--text-primary)}.co-diff-added{background:#2e7d3226!important}.co-diff-removed{background:#c6282826!important}.co-td-delta{font-weight:700;font-size:12px;width:50px;text-align:right}.co-diff-added .co-td-delta{color:#4caf50}.co-diff-removed .co-td-delta{color:#ef5350}.co-diff-empty{padding:60px 40px;text-align:center;color:var(--text-muted);font-size:14px}@media print{*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;color-adjust:exact!important}.cable-order-wrapper{padding:0;background:#fff}.cable-order{box-shadow:none;border-radius:0;width:100%;min-height:auto}.toolbar,.tab-bar,.lp-subtabs,.co-actions,.co-toolbar,.co-confirm,.no-print{display:none!important}.co-type-block{break-inside:avoid;page-break-inside:avoid}}.sum-table-header{display:grid;grid-template-columns:2fr 1.2fr .8fr .6fr 1.2fr 1.2fr .6fr 1fr;padding:6px 12px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#666;border-bottom:2px solid #333;background:#f5f5f5}.sum-rows{flex:1;padding-bottom:8px}.sum-category-row{padding:6px 12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#666;background:#eee;border-bottom:1px solid #ddd}.sum-row{display:grid;grid-template-columns:2fr 1.2fr .8fr .6fr 1.2fr 1.2fr .6fr 1fr;padding:4px 12px;font-size:11px;border-bottom:1px solid #eee;align-items:center;min-height:22px}.sum-row-even{background:#fff}.sum-row-odd{background:#fafafa}.sum-bundle-name{font-weight:600}.sum-color-chip{display:inline-block;padding:1px 8px;border-radius:3px;font-size:10px;font-weight:600}.sum-col-len,.sum-col-count{text-align:center}.sum-col-status{font-size:10px;color:#666}.cables-list-page .sum-table-header,.cables-list-page .sum-row{grid-template-columns:1.8fr .8fr .55fr .7fr 1.2fr 1.4fr 1.4fr}.cl-col-length{text-align:center}.rack-landings-page .sum-table-header,.rack-landings-page .sum-row{grid-template-columns:1.7fr .8fr 1.1fr .55fr 1.3fr 1.5fr}.rl-col-end{text-align:center}.rl-missing{color:#b00020;font-weight:700}.tail-list-page .sum-table-header,.tail-list-page .sum-row{grid-template-columns:1.5fr .8fr 1.2fr 1.2fr 1fr}.sum-page{page-break-after:always}.sum-page:last-child{page-break-after:auto}@media print{.sum-table-header{background:#f5f5f5!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.sum-category-row{background:#eee!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.sum-row-odd{background:#fafafa!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.sum-color-chip{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.ltd-dialog{width:640px;max-width:92vw}.ltd-body{display:flex;gap:12px;min-height:260px;max-height:55vh}.ltd-list{width:220px;flex-shrink:0;overflow-y:auto;border:1px solid var(--border);border-radius:6px;padding:4px;display:flex;flex-direction:column;gap:2px}.ltd-list-item{display:flex;align-items:center;gap:8px;padding:6px;border:1px solid transparent;border-radius:4px;background:none;color:var(--text-primary);cursor:pointer;text-align:left;font-size:12px}.ltd-list-item:hover{background:var(--bg-surface-alt)}.ltd-list-item--active{border-color:var(--accent);background:var(--bg-surface-alt)}.ltd-thumb{height:18px;max-width:56px;object-fit:contain;background:#fff;border:1px solid var(--border-light);flex-shrink:0}.ltd-list-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ltd-tape-badge{font-size:10px;color:var(--text-muted);border:1px solid var(--border-light);border-radius:3px;padding:0 4px;flex-shrink:0}.ltd-detail{flex:1;min-width:0;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.ltd-preview-wrap{text-align:center}.ltd-preview{max-width:100%;background:#fff;border:1px solid var(--border);border-radius:2px}.ltd-preview-caption{font-size:10px;color:var(--text-muted);margin-top:2px}.ltd-field-row{display:flex;align-items:center;gap:8px;font-size:12px}.ltd-field-row label{width:110px;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary)}.ltd-field-row input,.ltd-field-row select{flex:1;min-width:0;font-size:12px}.ltd-mapping{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--border-light);padding-top:8px}.ltd-mapping-title{font-size:11px;font-weight:600;color:var(--text-secondary)}.ltd-note{font-size:11px;color:var(--text-muted)}.ltd-warning{font-size:11px;color:var(--warning)}.ltd-empty{display:flex;align-items:center;justify-content:center;text-align:center;font-size:12px;color:var(--text-muted);flex:1;padding:16px}.ltd-detail-footer{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:8px}.ltd-delete-btn{color:var(--error)}.lte-root{display:flex;flex:1;min-height:0;min-width:0}.lte-btn{font-size:11px;padding:3px 9px;border:1px solid var(--border);border-radius:4px;background:var(--bg-input);color:var(--text-primary);cursor:pointer;white-space:nowrap;flex:0 0 auto}.lte-btn:hover{border-color:var(--text-muted)}.lte-btn:disabled{opacity:.5;cursor:default}.lte-danger{color:var(--error)}.lte-toggle{min-width:26px;text-align:center}.lte-toggle--on{background:var(--accent-bg);border-color:var(--accent);color:var(--accent)}.lte-num{width:52px}.lte-grow{flex:1;min-width:0}.lte-full{width:100%}.lte-unit{font-size:10px;color:var(--text-muted)}.lte-check{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--text-secondary);white-space:nowrap}.lte-list{width:212px;flex-shrink:0;display:flex;flex-direction:column;border-right:1px solid var(--border);min-height:0}.lte-list-header{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:7px 8px;font-size:12px;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border-light)}.lte-list-header-btns{display:flex;gap:4px}.lte-list-items{flex:1;overflow-y:auto;padding:4px;display:flex;flex-direction:column;gap:2px}.lte-list-item{display:flex;align-items:center;gap:7px;padding:5px 6px;border:1px solid transparent;border-radius:4px;background:none;color:var(--text-primary);cursor:pointer;text-align:left;font-size:12px}.lte-list-item:hover{background:var(--bg-surface-alt)}.lte-list-item--active{border-color:var(--accent);background:var(--bg-surface-alt)}.lte-thumb-box{width:52px;height:20px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--border-light);border-radius:2px;overflow:hidden}.lte-thumb{max-height:16px;max-width:48px;object-fit:contain}.lte-list-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lte-tape-badge{font-size:9px;color:var(--text-muted);border:1px solid var(--border-light);border-radius:3px;padding:0 3px;flex-shrink:0}.lte-list-actions{display:flex;gap:6px;padding:8px;border-top:1px solid var(--border-light)}.lte-list-actions .lte-btn{flex:1}.lte-empty-list{font-size:11px;color:var(--text-muted);padding:12px 8px;text-align:center}.lte-import-notes{max-height:90px;overflow-y:auto;font-size:10px;border-top:1px solid var(--border-light);padding:6px 8px}.lte-note-ok{color:var(--success)}.lte-note-err{color:var(--error)}.lte-center{flex:1;min-width:0;display:flex;flex-direction:column;min-height:0}.lte-empty-main{align-items:center;justify-content:center;display:flex;color:var(--text-muted);font-size:13px;padding:24px;text-align:center}.lte-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:6px 10px;border-bottom:1px solid var(--border-light);font-size:12px}.lte-tool-group{display:flex;gap:4px}.lte-tool-sep{width:1px;height:18px;background:var(--border-light);margin:0 2px}.lte-tool-label{display:inline-flex;align-items:center;gap:5px;color:var(--text-secondary);white-space:nowrap}.lte-toolbar select,.lte-toolbar input[type=number]{font-size:11px;height:24px;background:var(--bg-input);color:var(--text-primary)}.lte-name-input{width:118px;height:24px;font-size:12px;font-weight:600;padding:0 8px;border:1px solid var(--border);border-radius:4px;background:var(--bg-input);color:var(--text-primary)}.lte-save-state{margin-left:auto;font-size:11px;white-space:nowrap}.lte-save-saved{color:var(--success)}.lte-save-saving{color:var(--text-muted)}.lte-save-dirty{color:var(--warning)}.lte-canvas-scroll{flex:1;min-height:0;overflow:auto;background:#ebebed;padding:18px;outline:none}.lte-canvas-wrap{position:relative;display:inline-block}.lte-canvas-wrap canvas{display:block}.lte-text-edit{position:absolute;resize:none;border:1px solid var(--accent);background:#fffffff5;color:#000;padding:0;line-height:1.15;overflow:hidden;box-sizing:border-box}.lte-inspector{width:216px;flex-shrink:0;border-left:1px solid var(--border);overflow-y:auto;padding:4px 0 12px}.lte-insp-section{padding:9px 12px;border-bottom:1px solid var(--border-light);display:flex;flex-direction:column;gap:7px}.lte-insp-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);display:flex;align-items:center;justify-content:space-between}.lte-insp-row{display:flex;align-items:center;gap:6px}.lte-insp-row-static{font-size:11px;color:var(--text-secondary)}.lte-insp-label{font-size:11px;color:var(--text-secondary);width:34px}.lte-insp-hint{font-size:10px;color:var(--text-muted);line-height:1.5}.lte-inspector select,.lte-inspector input{font-size:11px;height:24px;background:var(--bg-input);color:var(--text-primary)}.lte-insp-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.lte-mm-field{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--text-secondary)}.lte-mm-field span{width:12px;text-align:right}.lte-mm-field input{width:100%;min-width:0}.lp-main{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:16px}.lp-subtabs{display:flex;gap:0;border-bottom:2px solid var(--border-light)}.lp-subtab{padding:8px 20px;background:none;border:none;color:var(--text-muted);font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .12s ease}.lp-subtab:hover{color:var(--text-secondary)}.lp-subtab-active{color:var(--text-primary);border-bottom-color:var(--accent)}.lp-toolbar{display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--bg-surface-alt);border-radius:8px;flex-wrap:wrap}.lp-toolbar-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.lp-toolbar select{background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border);border-radius:4px;padding:4px 8px;font-size:12px;font-family:inherit}.lp-print-btn{padding:8px 20px;background:#2e7d32;color:#e8f5e9;border:1px solid #43a047;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600;font-family:inherit;transition:all .15s ease;margin-left:auto}.lp-print-btn:hover{background:#1b5e20}.lp-print-btn:disabled{opacity:.5;cursor:not-allowed}.lp-print-btn--cancel{background:#b71c1c;border-color:#d32f2f;color:#fff}.lp-print-btn--cancel:hover{background:#9b1414;color:#fff}.lp-status{font-size:11px;color:var(--text-muted);margin-left:8px}.lp-progress{font-size:12px;color:var(--success);font-weight:600}.lp-preview-grid{display:flex;flex-direction:column;gap:16px}.lp-preview-group-header{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);padding:8px 0 4px;border-bottom:1px solid var(--border-light)}.lp-tape-strip{display:flex;flex-wrap:wrap;gap:6px;padding:8px 0}.lp-tape-pair{display:flex;align-items:center}.lp-tape-label{width:155px;height:40px;background:#fff;color:#000;border:1px solid #ccc;display:flex;flex-direction:column;font-family:-apple-system,sans-serif;position:relative;overflow:hidden}.lp-tape-top{flex:1;position:relative;display:flex;align-items:center;justify-content:center}.lp-tape-gt{position:absolute;top:2px;left:4px;display:flex;flex-direction:column;line-height:1.1;z-index:1}.lp-tape-gender{font-size:6px;color:#000}.lp-tape-ctype{font-size:6px;color:#555}.lp-tape-name{font-size:11px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:110px;text-align:center;letter-spacing:-.3px}.lp-tape-len{position:absolute;top:50%;right:3px;transform:translateY(-50%);font-size:7px;color:#000;z-index:1}.lp-tape-bot{display:flex;align-items:center;justify-content:center;height:16px;border-top:1px solid #000;font-size:7px;font-weight:800;letter-spacing:.3px;background:#fff;color:#000}.lp-tape-remove{position:absolute;top:0;right:0;background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:12px;padding:2px 4px;line-height:1;opacity:0;transition:opacity .12s;z-index:2}.lp-tape-label:hover .lp-tape-remove,.lp-brady-cell:hover .lp-tape-remove,.lp-tape-remove:focus-visible{opacity:1}.lp-tape-remove:hover{color:var(--accent)}.lp-tape-cut{width:2px;height:40px;background:repeating-linear-gradient(to bottom,var(--text-muted) 0px,var(--text-muted) 3px,transparent 3px,transparent 6px);margin-right:4px}.lp-brady-label{background:#fff;color:#000;border:1px solid #aaa;border-radius:3px;display:flex;flex-direction:column;font-family:-apple-system,sans-serif;position:relative;overflow:hidden}.lp-brady-label .lp-tape-top{flex:55}.lp-brady-label .lp-tape-bot{flex:45;height:auto;font-size:10px;font-weight:800}.lp-brady-label .lp-tape-gender{font-size:8px}.lp-brady-label .lp-tape-ctype{font-size:7px}.lp-brady-label .lp-tape-name{font-size:15px;max-width:none}.lp-brady-label .lp-tape-len{font-size:9px}.lp-brady-label .lp-tape-remove{opacity:0}.lp-brady-label:hover .lp-tape-remove{opacity:1}.lp-brady-label .lp-tape-remove:focus-visible{opacity:1}.lp-brady-grid{display:flex;flex-wrap:wrap;gap:8px;padding:6px 0}.lp-brady-cell{position:relative}.lp-brady-img{display:block;border:1px solid #aaa;border-radius:3px}.lp-count{color:var(--text-muted);font-size:13px}.lp-show-more{display:block;margin:8px auto;padding:4px 16px}.lp-empty{color:var(--text-muted);font-size:14px;text-align:center;padding:40px}.lp-setting-row{display:flex;align-items:center;gap:8px;padding:6px 12px;font-size:12px;color:var(--text-secondary)}.lp-setting-row select{background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border);border-radius:4px;padding:3px 6px;font-size:11px;font-family:inherit;flex:1;min-width:0;max-width:100%}.lp-setting-row label{display:flex;align-items:center;gap:6px;cursor:pointer}.lp-ic-label{min-width:110px;width:fit-content;height:94px;background:#fff;border:1px solid #ccc;border-radius:3px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:4px 6px;flex-shrink:0}.lp-ic-line{color:#000;font-size:10px;font-weight:600;font-family:Futura,Futura Condensed Medium,sans-serif;white-space:nowrap;max-width:100%;line-height:1.3;transform-origin:center}.lp-amp-strip{padding:8px 16px}.lp-amp-strip-img{height:72px;width:auto;background:#fff;border:1px solid #ccc}.lp-amp-strip .lp-tape-cut{height:64px}.lp-tape-cut-full{background:var(--text-muted)}.lp-template-cell{position:relative;display:inline-block}.lp-template-img{display:block;background:#fff;border:1px solid var(--border);border-radius:2px;max-width:100%}@media print{.toolbar,.tab-bar,.lp-subtabs,.lp-main{display:none!important}}.sb-layout{display:flex;flex:1;overflow:hidden;height:100%}.sb-rack-list{width:200px;min-width:160px;background:var(--bg-surface-alt);border-right:1px solid var(--border-light);display:flex;flex-direction:column;overflow-y:auto}.sb-rack-list-header{padding:12px 16px;font-weight:700;font-size:10px;text-transform:uppercase;color:var(--text-secondary);letter-spacing:1.5px;border-bottom:1px solid var(--border-light)}.sb-rack-list-items{flex:1;overflow-y:auto;padding:6px;scrollbar-width:thin;scrollbar-color:transparent transparent}.sb-rack-list-items:hover{scrollbar-color:var(--scrollbar-thumb) transparent}.sb-rack-item{display:flex;align-items:center;gap:8px;padding:10px 12px;cursor:pointer;border-radius:8px;margin-bottom:2px;color:var(--text-secondary);font-size:13px;font-weight:500;transition:all .12s ease}.sb-rack-item:hover{background:var(--bg-elevated);color:var(--text-primary)}.sb-rack-item.selected{background:var(--accent-bg);border:1px solid color-mix(in srgb,var(--accent-fill) 30%,transparent);color:var(--text-primary)}.sb-rack-item-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sb-rack-item-delete{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:14px;padding:2px 4px;border-radius:4px;opacity:0;transition:all .12s}.sb-rack-item:hover .sb-rack-item-delete,.sb-rack-item-delete:focus-visible{opacity:1}.sb-rack-item-delete:hover{color:var(--accent)}.sb-add-rack{margin:8px;padding:8px;background:var(--accent-bg);border:1px solid color-mix(in srgb,var(--accent-fill) 20%,transparent);color:var(--text-secondary);border-radius:8px;cursor:pointer;font-size:13px;font-family:inherit;transition:all .12s}.sb-add-rack:hover{background:color-mix(in srgb,var(--accent-fill) 20%,transparent);color:var(--text-primary)}.sb-elevation{flex:1;overflow-y:auto;padding:24px;background:var(--bg-surface)}.sb-elevation-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-size:15px}.sb-rack-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.sb-print-steck{margin-left:auto;white-space:nowrap}.sb-print-rack-btn{white-space:nowrap;flex-shrink:0}.sb-rack-name-input{font-size:22px;font-weight:800;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--text-primary);padding:4px 8px;flex:1;font-family:inherit}.sb-rack-name-input:focus{border-color:var(--accent);background:var(--bg-input);outline:none}.sb-rack-location{font-size:14px;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--text-muted);padding:4px 8px;width:200px;font-family:inherit}.sb-rack-location:focus{border-color:var(--accent);background:var(--bg-input);outline:none}.sb-frames{display:flex;flex-direction:column;gap:8px}.sb-frame{background:var(--bg-body);border:1px solid var(--border);border-radius:8px;overflow:hidden;min-width:950px}.sb-frame-header{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--bg-elevated);border-bottom:1px solid var(--border);font-size:11px;color:var(--text-secondary)}.sb-frame-type{font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);font-size:10px}.sb-frame-label-input{flex:1;background:transparent;border:none;color:var(--text-secondary);font-size:12px;font-family:inherit;padding:2px 4px}.sb-frame-label-input:focus{color:var(--text-primary);background:var(--bg-input);border-radius:3px;outline:none}.sb-frame-delete{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:12px;padding:2px 6px;border-radius:4px}.sb-frame-delete:hover{color:var(--accent)}.sb-frame-drag{cursor:grab;color:var(--text-muted);font-size:14px;padding:0 4px}.sb-frame-drag:active{cursor:grabbing}.sb-panel-slots{display:flex;gap:4px;padding:4px 8px;height:110px;overflow-x:auto}.sb-frame-ma .sb-panel-slots{height:198px}.sb-fixed16-connectors{display:flex;gap:3px;padding:4px 8px;height:88px;justify-content:center;align-items:center;overflow-x:auto}.sb-frame-fixed16{min-width:950px}.sb-panel-slot{flex:1;min-width:240px;position:relative}.sb-empty-slot{border:2px dashed var(--border);border-radius:6px;display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-size:11px;min-height:50px;transition:all .15s;cursor:default}.sb-panel-slot-drag-over{outline:2px solid var(--accent);outline-offset:-2px;border-radius:6px}.sb-empty-slot.drag-over{border-color:var(--accent);background:var(--accent-bg);color:var(--accent)}.sb-panel{background:var(--bg-input);border:1px solid var(--border);border-radius:6px;height:100%;display:flex;flex-direction:column;position:relative;overflow:hidden}.sb-panel-header{display:flex;align-items:center;justify-content:space-between;padding:3px 8px;font-size:10px;cursor:grab;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.sb-panel-remove{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:10px;padding:1px 4px;border-radius:3px}.sb-panel-remove:hover{color:var(--accent)}.sb-connectors{display:flex;gap:3px;padding:4px 6px 6px;flex:1;justify-content:center;align-items:center}.sb-connectors.sb-wrap-2{display:grid;grid-template-columns:repeat(2,70px);justify-content:center}.sb-connectors.sb-wrap-3{display:grid;grid-template-columns:repeat(3,70px);justify-content:center}.sb-connector{flex:0 0 70px;width:70px;max-width:70px;border-radius:4px;height:70px;min-height:70px;max-height:70px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:10px;transition:all .12s;cursor:default;border:1px solid transparent;padding:2px;overflow:hidden;position:relative}.sb-connector.unassigned{background:var(--bg-body);border:1px dashed var(--border);color:var(--text-muted)}.sb-connector.unassigned.drag-over{border-color:var(--success);background:color-mix(in srgb,var(--success) 10%,transparent)}.sb-connector.assigned{background:color-mix(in srgb,var(--success) 12%,transparent);border:1px solid color-mix(in srgb,var(--success) 30%,transparent);color:var(--text-secondary);cursor:pointer}.sb-connector.assigned:hover{border-color:color-mix(in srgb,var(--success) 50%,transparent);background:color-mix(in srgb,var(--success) 20%,transparent)}.sb-conn-type{font-weight:700;font-size:10px;letter-spacing:.3px;padding:1px 4px;border-radius:3px}.sb-conn-cable{font-size:10px;font-weight:600;color:var(--text-secondary);max-width:100%;overflow:hidden;overflow-wrap:break-word;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.15;text-align:center;cursor:text}.sb-conn-menu{position:fixed;z-index:1000;min-width:150px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;padding:4px;box-shadow:var(--shadow-modal);display:flex;flex-direction:column}.sb-conn-menu-item{text-align:left;font-size:12px;color:var(--text-primary);padding:6px 10px;border-radius:5px;cursor:pointer}.sb-conn-menu-item:hover{background:var(--accent-bg)}.sb-conn-menu-danger:hover{background:color-mix(in srgb,var(--error) 15%,transparent);color:var(--error)}.sb-conn-cable-edit{font-size:11px;font-weight:600;color:var(--text-primary);background:var(--bg-input);border:1px solid var(--accent);border-radius:2px;padding:1px 3px;width:100%;font-family:inherit;outline:none;text-align:center}.sb-conn-end{font-size:10px;font-weight:700;padding:0 3px;border-radius:2px}.sb-conn-end-a{background:var(--accent-fill);color:var(--accent-fg)}.sb-conn-end-b{background:#27ae60;color:#1a1a1a}.sb-conn-patch{display:block;font-size:10px;color:var(--text-muted);max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1;margin-top:1px}.sb-palette{width:240px;min-width:200px;background:var(--bg-surface-alt);border-left:1px solid var(--border-light);display:flex;flex-direction:column;overflow-y:auto;scrollbar-width:thin;scrollbar-color:transparent transparent}.sb-palette:hover{scrollbar-color:var(--scrollbar-thumb) transparent}.sb-palette-section{border-bottom:1px solid var(--border-light)}.sb-palette-header{padding:10px 14px;font-weight:700;font-size:10px;text-transform:uppercase;color:var(--text-secondary);letter-spacing:1.5px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;-webkit-user-select:none;user-select:none}.sb-palette-header:hover{color:var(--text-primary)}.sb-panel-type{display:flex;align-items:center;gap:8px;padding:8px 14px;cursor:grab;color:var(--text-secondary);font-size:12px;font-weight:500;transition:all .12s;border-radius:6px;margin:2px 6px}.sb-panel-type:hover{background:var(--bg-elevated);color:var(--text-primary)}.sb-panel-type:active{cursor:grabbing;opacity:.6}.sb-panel-type-icon{width:24px;height:24px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;flex-shrink:0}.sb-cable-list{padding:4px 6px}.sb-cable-bundle-name{padding:6px 10px;font-size:11px;font-weight:700;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;gap:6px}.sb-cable-bundle-name:hover{color:var(--text-secondary)}.sb-cable-item{display:flex;align-items:center;gap:6px;padding:5px 10px 5px 20px;cursor:grab;color:var(--text-muted);font-size:11px;border-radius:4px;transition:all .12s}.sb-cable-item:hover{background:var(--bg-elevated);color:var(--text-primary)}.sb-cable-item:active{cursor:grabbing;opacity:.6}.sb-cable-selected{background:var(--accent-bg)!important;border:1px solid color-mix(in srgb,var(--accent-fill) 30%,transparent);color:var(--text-primary)}.sb-cable-check{accent-color:var(--accent);cursor:pointer;flex-shrink:0}.sb-hide-assigned{display:flex;align-items:center;gap:6px;padding:4px 8px;font-size:11px;color:var(--text-muted);cursor:pointer}.sb-cable-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.sb-cable-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sb-cable-type{color:var(--text-muted);font-size:10px}.sb-cable-end-toggle{font-size:10px;font-weight:700;padding:1px 5px;border-radius:3px;border:none;cursor:pointer}.sb-add-frame{display:flex;gap:8px;margin-top:12px}.sb-add-frame-btn{flex:1;padding:10px;background:var(--bg-body);border:2px dashed var(--border);border-radius:8px;color:var(--text-muted);font-size:12px;font-family:inherit;cursor:pointer;transition:all .15s;text-align:center}.sb-add-frame-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-bg)}.sb-add-frame-fixed{flex:1;display:flex;gap:4px;align-items:stretch}.sb-add-frame-fixed .sb-add-frame-btn{flex:1}.sb-add-frame-holes{width:52px;padding:0 6px;font:inherit;font-size:12px;color:var(--text-secondary);background:var(--bg-body);border:2px dashed var(--border);border-radius:8px;text-align:center}.sb-full-connector{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;min-height:40px;border-radius:4px;padding:4px 8px}.sb-full-connector.unassigned{background:var(--bg-body);border:1px dashed var(--border);color:var(--text-muted)}.sb-full-connector.assigned{background:color-mix(in srgb,var(--success) 12%,transparent);border:1px solid color-mix(in srgb,var(--success) 30%,transparent);color:var(--text-secondary);cursor:pointer}.sb-filter{margin:6px;padding:6px 10px;background:var(--bg-surface);border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);font-size:12px;font-family:inherit;width:calc(100% - 12px)}.sb-filter:focus{border-color:var(--accent);outline:none}.sb-print-pages{display:none}.sb-print-page{width:8in;margin:0 auto;padding:.25in 0;page-break-after:always}.sb-print-page:last-child{page-break-after:auto}.sb-print-header{display:flex;align-items:baseline;gap:16px;margin-bottom:16px;border-bottom:2px solid #333;padding-bottom:8px}.sb-print-rack-name{font-size:20px;font-weight:800;color:#000}.sb-print-rack-location{font-size:13px;color:#666}.sb-print-frames{display:flex;flex-direction:column;gap:6px}.sb-print-frame{border:1px solid #999;border-radius:4px;overflow:hidden}.sb-print-frame-header{display:flex;align-items:center;gap:10px;padding:3px 10px;background:#e8e8e8;border-bottom:1px solid #bbb;font-size:9px}.sb-print-frame-type{font-weight:700;text-transform:uppercase;color:#666;letter-spacing:.5px}.sb-print-frame-label{font-weight:600;color:#333;font-size:11px}.sb-print-connectors{display:flex;gap:2px;padding:4px 6px;min-height:56px;align-items:stretch}.sb-print-connectors-f16{justify-content:center}.sb-print-connectors-f16 .sb-print-conn{flex:1 1 0;width:auto;min-width:0}.sb-print-frame-ma .sb-print-connectors{min-height:80px}.sb-print-panel{flex:1;border:1px solid #ccc;border-radius:3px;display:flex;flex-direction:column;min-width:0}.sb-print-panel-full{background:#f5f5f5}.sb-print-panel-empty{flex:1;border:1px dashed #ddd;border-radius:3px;min-height:40px}.sb-print-panel-label{font-size:7px;color:#888;text-transform:uppercase;text-align:center;padding:2px 4px;border-bottom:1px solid #eee;letter-spacing:.3px;font-weight:600}.sb-print-panel-conns{display:flex;gap:2px;padding:3px;flex:1;align-items:center;justify-content:center}.sb-print-panel-conns.sb-print-wrap-2{display:grid;grid-template-columns:repeat(2,minmax(0,46px));justify-content:center}.sb-print-panel-conns.sb-print-wrap-3{display:grid;grid-template-columns:repeat(3,minmax(0,46px));justify-content:center}.sb-print-panel-conns.sb-print-wrap-2 .sb-print-conn,.sb-print-panel-conns.sb-print-wrap-3 .sb-print-conn{width:auto}.sb-print-conn{flex:0 1 46px;width:46px;min-width:0;text-align:center;padding:2px;border:1px solid #ddd;border-radius:2px;background:#fafafa}.sb-print-conn-assigned{background:#fff;border-color:#999}.sb-print-conn-type{font-size:7px;color:#999;font-weight:600;text-transform:uppercase}.sb-print-conn-cable{font-size:9px;font-weight:700;color:#000;white-space:nowrap}.sb-print-conn-end{font-size:6px;color:#888;font-weight:600}.sb-print-conn-patch{font-size:5.5px;color:#999;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sb-face-toggle{display:inline-flex;border:1px solid var(--border);border-radius:5px;overflow:hidden}.sb-face-toggle button{padding:4px 12px;font-size:11px;font-weight:600;font-family:inherit;background:var(--bg-input);color:var(--text-secondary);border:none;cursor:pointer}.sb-face-toggle button+button{border-left:1px solid var(--border)}.sb-face-toggle button:hover{background:var(--bg-hover);color:var(--text-primary)}.sb-face-toggle button.active{background:var(--accent-fill);color:var(--accent-fg)}.sb-connector.sb-conn-inside.assigned{background:color-mix(in srgb,var(--accent) 14%,transparent);border-color:color-mix(in srgb,var(--accent) 35%,transparent);cursor:default}.sb-connector.sb-conn-inside.assigned:hover{background:color-mix(in srgb,var(--accent) 22%,transparent);border-color:color-mix(in srgb,var(--accent) 55%,transparent)}.sb-connector.sb-conn-inside.unassigned.drag-over{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.sb-conn-jumper{font-size:9px;font-weight:600;color:var(--text-muted);max-width:100%;overflow:hidden;overflow-wrap:break-word;line-height:1.15}.sb-connector.sb-conn-nojumper{background:var(--bg-body);border:1px solid var(--border);opacity:.5}.sb-connector.sb-conn-nojumper:hover{background:var(--bg-body);border-color:var(--border)}.sb-conn-inside-flag{position:absolute;top:0;right:0;width:0;height:0;border-top:9px solid var(--accent);border-left:9px solid transparent}.sb-match-dialog{max-width:760px}.sb-match-list{display:flex;flex-direction:column;gap:2px;max-height:340px;overflow-y:auto}.sb-match-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:4px 6px;border-radius:6px;font-size:12px;cursor:pointer}.sb-match-row:hover{background:var(--bg-hover)}.sb-match-conn{font-weight:700;color:var(--text-primary)}.sb-match-pos{font-size:10px;color:var(--text-muted);white-space:nowrap}.sb-match-arrow{color:var(--text-muted)}.sb-match-cable{color:var(--text-secondary)}.sb-match-reason{font-size:10px;font-style:italic;color:var(--text-muted);white-space:nowrap}@media print{body{print-color-adjust:exact;-webkit-print-color-adjust:exact}.toolbar,.tab-bar,.lp-subtabs,.sb-rack-list,.sb-palette,.sb-elevation,.sb-layout{display:none!important}.sb-print-pages{display:block!important}.sb-print-page{padding:.3in .25in;width:100%}.sb-print-frame{page-break-inside:avoid}}.pb-layout{display:flex;flex:1;overflow:hidden;height:100%}.pb-sidebar{width:220px;min-width:180px;background:var(--bg-surface-alt);border-right:1px solid var(--border-light);display:flex;flex-direction:column;overflow-y:auto}.pb-sidebar-header{padding:10px 14px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);border-bottom:1px solid var(--border-light)}.pb-rack-select{padding:10px 12px;border-bottom:1px solid var(--border-light)}.pb-rack-select label{display:block;font-size:10px;color:var(--text-muted);margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.pb-rack-select select{width:100%;background:var(--bg-input);color:var(--text-secondary);border:1px solid var(--border);border-radius:4px;padding:5px 8px;font-size:12px;font-family:inherit}.pb-device-list-header{padding:8px 14px 4px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.pb-device-list{flex:1;overflow-y:auto;padding:4px 8px}.pb-device-item{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:6px;cursor:pointer;font-size:12px;color:var(--text-secondary);transition:all .1s}.pb-device-item:hover{background:var(--bg-hover)}.pb-device-item.selected{background:var(--accent-bg);color:var(--accent)}.pb-device-item-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pb-device-item-ports{font-size:10px;color:var(--text-muted)}.pb-item-tag{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--text-primary);background:#4db6ac26;border-radius:3px;padding:0 4px;margin-left:4px;flex-shrink:0}.pb-device-delete{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:14px;padding:0 4px;border-radius:4px;opacity:0;transition:opacity .15s}.pb-device-item:hover .pb-device-delete,.pb-device-item:focus-within .pb-device-delete,.pb-device-delete:focus-visible{opacity:1}.pb-device-delete:hover{color:var(--accent)}.pb-add-device-btn{margin:8px 12px;padding:6px 12px;background:var(--bg-input);color:var(--text-secondary);border:1px solid var(--border);border-radius:6px;cursor:pointer;font-size:11px;font-weight:600;font-family:inherit;text-align:center}.pb-add-device-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.pb-center{flex:1;overflow-y:auto;padding:24px;background:var(--bg-surface)}.pb-device-header{display:flex;align-items:baseline;gap:16px;margin-bottom:20px}.pb-device-name-input{font-size:22px;font-weight:800;color:var(--text-primary);background:transparent;border:1px solid transparent;border-radius:6px;padding:4px 8px;font-family:inherit;flex:1;min-width:0}.pb-device-abbr-input{font-size:13px;font-weight:700;color:var(--accent);background:var(--accent-bg);border:1px solid transparent;border-radius:4px;padding:4px 8px;width:80px;text-align:center;font-family:inherit}.pb-device-abbr-input::placeholder{color:var(--text-muted)}.pb-device-info{font-size:13px;color:var(--text-muted)}.pb-ports-container{display:flex;gap:20px;align-items:flex-start}.pb-ports-column{flex:1;max-width:500px}.pb-ports-col-header{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--accent);padding:0 0 8px 4px;border-bottom:1px solid var(--border-light);margin-bottom:4px}.pb-ports-divider{width:1px;min-height:200px;background:var(--border-light);align-self:stretch}.pb-port{display:flex;align-items:center;gap:8px;padding:4px 8px;border-radius:4px;font-size:12px;border:1px solid transparent;transition:all .1s;min-height:28px}.pb-port:hover{background:var(--bg-hover)}.pb-port-drag-over{border-color:var(--accent)!important;background:var(--accent-bg)!important}.pb-port-linked{background:var(--bg-surface-alt)}.pb-port-number{font-weight:700;color:var(--text-muted);min-width:48px;font-size:11px}.pb-port-arrow{color:var(--text-muted);font-size:11px}.pb-port-cable{flex:1;display:flex;align-items:center;gap:6px;background:var(--bg-input);padding:3px 8px;border-radius:4px;border:1px solid var(--border)}.pb-port-cable-name{flex:1;font-weight:600;color:var(--text-primary);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pb-port-steck{font-size:10px;color:var(--text-muted);background:var(--bg-body);padding:1px 4px;border-radius:2px;white-space:nowrap;margin-left:4px}.pb-port-unlink{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:14px;padding:0 2px;border-radius:3px}.pb-port-unlink:hover{color:var(--accent)}.pb-port-empty{flex:1;color:var(--text-muted);font-size:11px;font-style:italic;border:1px dashed var(--border-light);padding:3px 8px;border-radius:4px;cursor:text}.pb-port-empty:hover{border-color:var(--border);color:var(--text-muted)}.pb-port-input{flex:1;background:var(--bg-input);color:var(--text-primary);border:1px solid var(--accent);border-radius:4px;padding:3px 8px;font-size:12px;font-family:inherit;outline:none}.pb-cable-sidebar{width:240px;min-width:200px;background:var(--bg-surface-alt);border-left:1px solid var(--border-light);display:flex;flex-direction:column;overflow-y:auto}.pb-filter{margin:8px;padding:5px 8px;background:var(--bg-input);border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);font-size:11px;font-family:inherit}.pb-hide-linked{display:flex;align-items:center;gap:6px;padding:0 12px 8px;font-size:10px;color:var(--text-muted);cursor:pointer}.pb-cable-list{flex:1;overflow-y:auto;padding:0 4px}.pb-cable-bundle-name{display:flex;align-items:center;gap:4px;padding:4px 8px;font-size:11px;font-weight:600;color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none}.unbutton.pb-cable-bundle-name{padding:4px 8px;font-size:11px;font-weight:600;color:var(--text-muted)}.pb-cable-bundle-name:hover{color:var(--text-secondary)}.pb-cable-item{display:flex;align-items:center;gap:6px;padding:3px 8px 3px 20px;font-size:11px;color:var(--text-secondary);cursor:grab;border-radius:4px;transition:background .1s}.pb-cable-item:hover{background:var(--bg-hover)}.pb-cable-item:active{cursor:grabbing}.pb-cable-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.pb-cable-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pb-cable-type{font-size:10px;color:var(--text-muted)}.pb-add-dialog{background:var(--bg-elevated);border:1px solid var(--border);border-radius:12px;padding:24px;width:420px;max-width:90vw;box-shadow:var(--shadow-modal)}.pb-add-dialog h3{margin:0 0 16px;font-size:16px;color:var(--text-primary)}.pb-add-field{margin-bottom:12px}.pb-add-field label{display:block;font-size:10px;color:var(--text-muted);margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.pb-add-field input,.pb-add-field select{width:100%;background:var(--bg-input);color:var(--text-secondary);border:1px solid var(--border);border-radius:4px;padding:6px 8px;font-size:13px;font-family:inherit;box-sizing:border-box}.pb-add-row{display:flex;gap:12px}.pb-add-row .pb-add-field{flex:1}.pb-add-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.pb-device-link-list{padding:0 0 8px;border-bottom:1px solid var(--border-light);margin-bottom:4px}.pb-sidebar-device-name{padding:4px 10px;font-size:11px;color:var(--text-secondary);cursor:pointer;font-weight:600}.unbutton.pb-sidebar-device-name{display:block;padding:4px 10px;font-size:11px;font-weight:600;color:var(--text-secondary)}.pb-sidebar-device-name:hover{color:var(--accent)}.pb-sidebar-device-ports{padding:0 0 4px}.pb-sidebar-port{display:flex;align-items:center;gap:6px;padding:2px 10px 2px 20px;font-size:10px;color:var(--text-muted);cursor:grab}.pb-sidebar-port:hover{background:var(--bg-elevated);color:var(--text-primary)}.pb-sidebar-port-dir{font-weight:700;color:var(--text-muted);width:22px;text-align:right}.pb-sidebar-port-num{font-weight:600;color:var(--text-secondary);min-width:16px}.pb-sidebar-port-type{color:var(--text-muted);font-size:10px}.pb-sidebar-port-label{color:var(--text-muted);font-size:10px;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pb-switch-port{opacity:.85}.pb-sidebar-group-name{font-size:10px;color:var(--accent);font-weight:600;text-transform:uppercase;letter-spacing:.3px;padding:4px 12px 1px}.pb-sidebar-group-name span{font-size:10px;text-transform:none;letter-spacing:0}.pb-add-section-label{font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;padding:8px 0 4px;border-top:1px solid var(--border-light);margin-top:8px}.pb-slot-config{display:flex;flex-direction:column;gap:4px;padding:4px 0}.pb-slot-row{display:flex;align-items:center;gap:10px}.pb-slot-name{font-size:12px;font-weight:600;color:var(--text-secondary);min-width:60px}.pb-slot-select{flex:1;background:var(--bg-surface-alt);border:1px solid var(--border);color:var(--text-secondary);padding:4px 8px;border-radius:4px;font-size:12px}.pb-slot-preview{display:flex;flex-wrap:wrap;gap:4px;padding:6px 0}.pb-slot-preview-item{font-size:10px;color:var(--text-muted);background:var(--bg-surface-alt);padding:2px 8px;border-radius:10px;border:1px solid var(--border)}.pb-port-groups{display:flex;flex-direction:column;gap:6px;padding:0 20px;overflow-y:auto;flex:1}.pb-port-group{border:1px solid var(--border-light);border-radius:6px;overflow:hidden}.pb-port-group .pb-ports-container{gap:8px;padding:4px 8px}.pb-port-group .pb-ports-column{flex:1}.pb-port-group .pb-ports-divider{min-height:0}.pb-port-group-header{display:flex;align-items:center;gap:10px;padding:4px 12px;background:var(--bg-body);border-bottom:1px solid var(--border-light)}.pb-port-group-name{font-size:11px;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.5px}.pb-port-group-type{font-size:10px;color:var(--text-muted)}@media print{.pb-layout{display:none!important}}.pb-cable-tail{padding-left:34px;font-size:11px;opacity:.85}.pb-cable-tail .pb-cable-type{margin-left:auto;color:var(--accent)}.nl-root{display:flex;height:100%}.nl-main{flex:1;overflow-y:auto;padding:0 8px}.sld-scale{zoom:.7;max-width:100%;overflow-x:auto;padding:4px 0}.nl-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:10px;flex-wrap:wrap}.nl-toolbar-divider{width:1px;height:16px;background:var(--border);margin:0 4px}.nl-print-check{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--text-secondary);cursor:pointer;white-space:nowrap}.nl-legend{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;font-size:11px;color:var(--text-secondary)}.nl-legend-title{font-weight:500;color:var(--text-primary)}.nl-legend-item{display:flex;align-items:center;gap:5px}.nl-legend-swatch{width:12px;height:12px;border-radius:2px;flex-shrink:0}.nl-switch-list{display:flex;flex-direction:column;gap:16px;align-items:flex-start}.nl-switch-wrap{border-radius:10px;cursor:pointer}.nl-switch-wrap.focused{outline:2px solid var(--accent)}.empty-state.nl-empty{height:auto;padding:40px}.nl-flex{display:flex}.nl-flex-fixed{display:flex;flex-shrink:0}.nl-sidebar-filter{display:flex;align-items:center;gap:6px;padding:6px 12px;font-size:11px;color:var(--text-secondary);cursor:pointer;border-bottom:1px solid var(--border)}.nl-sidebar-empty{color:var(--text-secondary);font-size:12px;padding:16px 12px}.nl-vlan-popover{position:fixed;z-index:9999;background:var(--bg-elevated);border:1px solid var(--border);border-radius:4px;box-shadow:var(--shadow-popover)}.nl-vlan-popover-header{padding:4px 8px;font-size:10px;font-weight:600;color:var(--accent);border-bottom:1px solid var(--border);background:var(--bg-surface-alt)}.nl-vlan-popover-list{max-height:200px;overflow-y:auto}button.nl-vlan-row{display:flex;align-items:center;gap:6px;padding:3px 8px;cursor:pointer;color:var(--text-secondary);text-align:left}button.nl-vlan-row:hover{background:var(--bg-hover)}button.nl-vlan-row.selected{color:var(--text-primary)}.nl-vlan-check{width:12px;height:12px;border-radius:2px;border:1px solid var(--border-strong);background:transparent;display:flex;align-items:center;justify-content:center;flex-shrink:0}.nl-vlan-check.radio{border-radius:50%}.nl-vlan-row.selected .nl-vlan-check{border-color:var(--accent);background:var(--accent-fill)}.nl-vlan-check-dot{width:5px;height:5px;border-radius:50%;background:var(--accent-fg)}.nl-vlan-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.nl-vlan-row-label{font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rb-layout{display:flex;flex-direction:column;flex:1;overflow:hidden;height:100%}.rb-main-row{display:flex;flex:1;min-height:0;overflow:hidden}.rb-switch-drawer{flex-shrink:0;max-height:45%;display:flex;flex-direction:column;border-top:2px solid var(--border);background:var(--bg-elevated)}.rb-switch-drawer-head{display:flex;align-items:center;gap:10px;padding:6px 12px;border-bottom:1px solid var(--border-light)}.rb-switch-drawer-title{font-weight:700;font-size:13px;white-space:nowrap}.rb-switch-drawer-name{font-weight:700;font-size:13px;font-family:inherit;color:var(--text-primary);background:transparent;border:1px solid transparent;border-radius:4px;padding:2px 6px;width:160px}.rb-switch-drawer-name:hover{border-color:var(--border-light)}.rb-switch-drawer-name:focus{border-color:var(--accent);background:var(--bg-body);outline:none}.rb-switch-drawer-hint{font-size:11px;color:var(--text-muted);margin-right:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rb-switch-drawer-close{background:none;border:none;cursor:pointer;font-size:16px;line-height:1;color:var(--text-secondary);padding:2px 8px}.rb-switch-drawer-close:hover{color:var(--text-primary)}.rb-switch-drawer-body{overflow:auto;padding:6px 12px 10px}.rb-rack-list{width:200px;min-width:160px;background:var(--bg-surface-alt);border-right:1px solid var(--border-light);display:flex;flex-direction:column;overflow-y:auto}.rb-rack-list-header{padding:12px 16px;font-weight:700;font-size:10px;text-transform:uppercase;color:var(--text-secondary);letter-spacing:1.5px;border-bottom:1px solid var(--border-light)}.rb-rack-list-items{flex:1;overflow-y:auto;padding:6px;scrollbar-width:thin;scrollbar-color:transparent transparent}.rb-rack-list-items:hover{scrollbar-color:var(--scrollbar-thumb) transparent}.rb-rack-item{display:flex;align-items:center;gap:6px;padding:10px 12px;cursor:pointer;border-radius:8px;margin-bottom:2px;color:var(--text-secondary);font-size:13px;font-weight:500;transition:all .12s ease}.rb-rack-item:hover{background:var(--bg-elevated);color:var(--text-primary)}.rb-rack-item.selected{background:var(--accent-bg);border:1px solid color-mix(in srgb,var(--accent-fill) 30%,transparent);color:var(--text-primary)}.rb-rack-item.rb-drop-target{background:var(--accent-bg);outline:2px dashed var(--accent);outline-offset:-2px;color:var(--text-primary)}.rb-rack-item-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rb-rack-item-ru{font-size:10px;color:var(--text-muted);background:var(--bg-hover);padding:1px 6px;border-radius:4px}.rb-rack-item-delete{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:14px;padding:2px 4px;border-radius:4px;opacity:0;transition:all .12s}.rb-rack-item:hover .rb-rack-item-delete,.rb-rack-item-delete:focus-visible{opacity:1}.rb-rack-item-delete:hover{color:var(--accent)}.rb-add-rack{margin:8px;padding:8px;background:var(--accent-bg);border:1px solid color-mix(in srgb,var(--accent-fill) 20%,transparent);color:var(--text-secondary);border-radius:8px;cursor:pointer;font-size:13px;font-family:inherit;transition:all .12s}.rb-add-rack:hover{background:color-mix(in srgb,var(--accent-fill) 20%,transparent);color:var(--text-primary)}.rb-elevation{flex:1;display:flex;flex-direction:column;overflow:hidden;padding:0}.rb-elevation-scroll{flex:1;overflow-y:auto}.rb-rack-header{display:flex;align-items:center;gap:12px;margin-bottom:0;flex-shrink:0;background:var(--bg-surface);padding:16px 24px 12px;border-bottom:1px solid var(--border-light)}.rb-rack-faces{padding:16px 24px 24px}.rb-rack-location,.rb-rack-type{background:var(--bg-elevated);border:1px solid var(--border-light);color:var(--text-primary);padding:6px 10px;border-radius:6px;font-size:14px;font-family:inherit}.rb-rack-name-input{font-size:22px;font-weight:800;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--text-primary);padding:4px 8px;flex:1;min-width:180px;font-family:inherit}.rb-rack-name-input:focus{border-color:color-mix(in srgb,var(--accent-fill) 40%,transparent);background:var(--bg-input);outline:none}.rb-rack-location{min-width:140px;font-size:13px;color:var(--text-secondary)}.rb-rack-type{width:110px;font-size:13px;color:var(--text-secondary)}.rb-rack-stats{margin-left:auto;font-size:12px;color:var(--text-secondary);letter-spacing:.5px;font-variant-numeric:tabular-nums}.rb-rack-scale{display:inline-flex;align-items:stretch;flex-shrink:0;width:max-content;height:26px;background:var(--bg-elevated);border:1px solid var(--border-light);border-radius:6px;overflow:hidden;font-family:inherit}.rb-rack-scale-step,.rb-rack-scale-value{flex-shrink:0}.rb-rack-scale-step,.rb-rack-scale-value{background:transparent;border:none;border-right:1px solid var(--border-light);color:var(--text-secondary);padding:0;cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center;transition:background .1s ease,color .1s ease}.rb-rack-scale>:last-child{border-right:none}.rb-rack-scale-step{width:26px;font-size:16px;line-height:1}.rb-rack-scale-value{min-width:54px;padding:0 6px;font-size:12px;font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums;letter-spacing:.3px}.rb-rack-scale-step:hover:not(:disabled),.rb-rack-scale-value:hover{background:var(--bg-hover);color:var(--text-primary)}.rb-rack-scale-step:active:not(:disabled),.rb-rack-scale-value:active{background:var(--accent-bg)}.rb-rack-scale-step:disabled{opacity:.3;cursor:default}.rb-rack-scale-step:focus-visible,.rb-rack-scale-value:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.rb-rack-faces{display:flex;gap:32px;align-items:flex-start}.rb-face{display:flex;flex-direction:column;gap:6px}.rb-face-headers{display:flex;gap:12px;padding:0 8px}.rb-face-header{width:521px;text-align:center;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-primary);text-decoration:underline}.rb-face-front .rb-face-headers{padding-left:68px}.rb-ru-rail{display:grid;width:56px;gap:0;border-top:3px solid transparent;border-bottom:3px solid transparent;box-sizing:content-box}.rb-rack-columns{display:flex;gap:12px;background:#00000059;border:4px solid #000;border-radius:4px;padding:6px;width:max-content}.rb-rack-grid{display:grid;width:max-content;background:var(--bg-surface);border:3px solid currentColor;border-radius:0;padding:0;gap:0}.rb-ru-number{font-size:13px;font-weight:700;color:var(--text-primary);text-align:center;display:flex;align-items:center;justify-content:center;font-family:inherit;-webkit-user-select:none;user-select:none;font-variant-numeric:tabular-nums;border-bottom:1px solid rgba(0,0,0,.5);box-sizing:border-box}.rb-drop-zone{background:#fff;border-bottom:1px solid rgba(0,0,0,.5);border-radius:0;box-sizing:border-box;transition:background .1s,border-color .1s;display:flex;align-items:center;justify-content:center;position:relative}.rb-drop-zone-ru{font-size:28px;font-family:inherit;font-weight:400;color:#a6a6a6;opacity:1;-webkit-user-select:none;user-select:none;pointer-events:none;font-variant-numeric:tabular-nums}.rb-drop-zone.rb-drop-ok{background:color-mix(in srgb,var(--accent-fill) 18%,transparent);border-color:color-mix(in srgb,var(--accent-fill) 60%,transparent)}.rb-drop-zone.rb-drop-no{background:color-mix(in srgb,var(--error) 12%,transparent);border-color:color-mix(in srgb,var(--error) 40%,transparent)}.rb-item{display:flex;align-items:center;justify-content:center;padding:2px 6px;border-radius:0;font-size:11px;font-weight:600;cursor:grab;-webkit-user-select:none;user-select:none;position:relative;box-sizing:border-box;border-left:1px solid rgba(0,0,0,.5);border-right:1px solid rgba(0,0,0,.5);border-bottom:1px solid rgba(0,0,0,.5);border-top:none;overflow:hidden;text-align:center}.rb-item.rb-item-steck_frame{padding:0;border-left:none;border-right:none;border-top:none;border-bottom:1px solid rgba(0,0,0,.5);align-items:stretch;justify-content:stretch}.rb-item.rb-item-amp,.rb-item.rb-item-computer{padding:0;align-items:stretch;justify-content:stretch}.rb-item:active{cursor:grabbing}.rb-item input,.rb-item textarea,.rb-item select,.rb-item-edit-pop{text-shadow:none}.rb-panel{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}.rb-panel-label{position:relative;z-index:1}.rb-panel-vent{position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(90deg,rgba(0,0,0,.28) 0 2px,transparent 2px 8px)}.rb-panel-brush{position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(90deg,#00000080 0,#00000080 1px,#ffffff2e 1px,#ffffff2e 2px)}.rb-panel-mark{position:absolute;width:10px;height:10px;border:1.5px solid rgba(0,0,0,.65);border-radius:1px;z-index:1}.rb-panel-drawer{position:absolute;top:5px;left:50%;transform:translate(-50%);z-index:1;width:44px;height:44px;border-radius:4px;border:1px solid rgba(0,0,0,.55);background:#ffffff24;display:flex;align-items:flex-start;justify-content:center;padding-top:6px}.rb-panel-drawer:before{content:"";width:27px;height:16px;border-radius:2px;background:#000000b8}.rb-panel-kind-drawer{align-items:flex-end;padding-bottom:18px}.rb-panel-door{top:50%;right:8px;left:auto;transform:translateY(-50%) rotate(90deg);width:35px}.rb-panel-door:before{width:21px}.rb-panel-lacing{position:absolute;top:50%;left:-6px;right:-6px;transform:translateY(-50%);height:10px;background:#0009;z-index:1}.rb-panel-kind-lacing{align-items:flex-start;overflow:visible}.rb-painting,.rb-painting .rb-item,.rb-painting .rb-item:active{cursor:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'><path fill='%23222' stroke='%23fff' stroke-width='1' d='M16.56 8.94L7.62 0 6.21 1.41l2.38 2.38-5.15 5.15c-.59.59-.59 1.54 0 2.12l5.5 5.5c.29.29.68.44 1.06.44s.77-.15 1.06-.44l5.5-5.5c.59-.58.59-1.53 0-2.12zM5.21 10L10 5.21 14.79 10H5.21zM19 11.5s-2 2.17-2 3.5c0 1.1.9 2 2 2s2-.9 2-2c0-1.33-2-3.5-2-3.5z'/></svg>") 5 20,crosshair!important}.rb-item-content{display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.15;width:100%;overflow:hidden}.rb-item-label{font-weight:700;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;text-shadow:0 1px 1px rgba(0,0,0,.35)}.rb-item-subline{font-size:11px;font-weight:500;opacity:1;margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;text-shadow:0 1px 1px rgba(0,0,0,.35)}.rb-item-editing{z-index:50;overflow:visible}.rb-item-edit-pop{position:absolute;top:100%;left:0;margin-top:4px;min-width:240px;background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-light);border-radius:6px;padding:8px;box-shadow:var(--shadow-popover);display:flex;flex-direction:column;gap:6px;z-index:100;text-align:left}.rb-item-edit-row{display:flex;flex-direction:column;gap:3px;font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted)}.rb-item-edit-input{background:var(--bg-surface);border:1px solid var(--border-light);color:var(--text-primary);padding:4px 6px;border-radius:3px;font-size:12px;font-family:inherit;text-transform:none;letter-spacing:0}.rb-item-swatches{display:flex;gap:4px;flex-wrap:wrap}.rb-item-swatch{width:18px;height:18px;border:1px solid rgba(0,0,0,.6);border-radius:3px;cursor:pointer;padding:0}.rb-item-swatch:hover{transform:scale(1.15)}.rb-item-swatch-clear{background:var(--bg-surface);color:var(--text-muted);font-size:11px;line-height:1}.rb-item-edit-done{align-self:flex-end;background:color-mix(in srgb,var(--accent-fill) 20%,transparent);border:1px solid color-mix(in srgb,var(--accent-fill) 40%,transparent);color:var(--text-primary);padding:3px 10px;border-radius:4px;font-size:11px;cursor:pointer}.rb-item-edit-done:hover{background:color-mix(in srgb,var(--accent-fill) 35%,transparent)}.rb-item-delete{position:absolute;top:1px;right:1px;background:#0000004d;border:none;color:#ffffffd9;cursor:pointer;font-size:12px;width:16px;height:16px;border-radius:2px;opacity:0;transition:opacity .1s;padding:0;line-height:1}.rb-item:hover .rb-item-delete,.rb-item-delete:focus-visible{opacity:1}.rb-item-delete:hover{background:#b71c1c;color:#fff}.rb-item-dup{position:absolute;bottom:1px;right:1px;background:#0000004d;border:none;color:#ffffffd9;cursor:pointer;font-size:13px;width:16px;height:16px;border-radius:2px;opacity:0;transition:opacity .1s;padding:0;line-height:1}.rb-item:hover .rb-item-dup,.rb-item-dup:focus-visible{opacity:1}.rb-item-dup:hover{background:#2e7d32;color:#fff}.rb-steck-inline{display:grid;width:100%;height:100%;gap:0;background:transparent;padding:0;box-sizing:border-box}.rb-steck-fixed16{grid-template-columns:1fr}.rb-steck-fixed16 .rb-steck-panel-body{grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(2,1fr);grid-auto-flow:row}.rb-steck-fixed16 .rb-steck-row{border-top:none;border-right:1px solid rgba(0,0,0,.35)}.rb-steck-fixed16 .rb-steck-row:nth-child(n+9){border-top:1px solid rgba(0,0,0,.35)}.rb-steck-fixed16 .rb-steck-row:nth-child(8n){border-right:none}.rb-steck-panel{display:grid;grid-template-rows:auto 1fr;background:#f7f7f7;overflow:hidden;min-width:0;border-right:1px solid #000}.rb-steck-panel:last-child{border-right:none}.rb-steck-panel-empty{background:#0006}.rb-steck-panel-header{display:flex;align-items:center;justify-content:center;color:#fff;font-size:10px;font-weight:700;line-height:1.2;padding:0;border-bottom:1px solid #000;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 1px rgba(0,0,0,.4)}.rb-steck-panel-body{display:grid;grid-auto-rows:1fr;min-height:0}.rb-steck-row{display:flex;align-items:center;justify-content:center;background:#f7f7f7;color:#111;font-size:11px;font-weight:700;padding:0;cursor:pointer;min-width:0;overflow:hidden;border-top:1px solid rgba(0,0,0,.35)}.rb-steck-row:first-child{border-top:none}.rb-steck-row:hover{background:#e9e9e9}.rb-steck-row-empty{cursor:default;background:#eaeaea;color:#0006}.rb-steck-row-label{width:100%;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rb-steck-row-edit{width:100%;font-size:11px;font-weight:700;font-family:inherit;background:#fff;border:1px solid var(--accent, #F2A848);color:#111;padding:0 4px;border-radius:2px;box-sizing:border-box;text-align:center}.rb-palette{width:260px;min-width:220px;background:var(--bg-surface-alt);border-left:1px solid var(--border-light);overflow-y:auto;display:flex;flex-direction:column}.rb-palette-section{border-bottom:1px solid var(--border-light)}.rb-palette-header{display:block;padding:12px 16px;font-size:10px;font-weight:700;text-transform:uppercase;color:var(--text-secondary);letter-spacing:1.5px;cursor:pointer;-webkit-user-select:none;user-select:none}.rb-palette-header:hover{color:var(--text-primary)}.rb-palette-items{padding:0 8px 10px;display:flex;flex-direction:column;gap:4px}.rb-palette-tile{display:flex;align-items:center;gap:8px;padding:8px;background:var(--bg-elevated);border:1px solid var(--border-light);border-radius:6px;cursor:grab;transition:all .1s}.rb-palette-tile:hover{background:var(--bg-surface);border-color:color-mix(in srgb,var(--accent-fill) 30%,transparent)}.rb-palette-tile:active{cursor:grabbing}.rb-palette-tile-disabled{opacity:.4;cursor:not-allowed}.rb-palette-tile-disabled:hover{background:var(--bg-elevated);border-color:var(--border-light)}.rb-palette-tile-swatch{width:28px;height:28px;border-radius:4px;flex-shrink:0}.rb-palette-tile-text{flex:1;min-width:0}.rb-palette-tile-label{color:var(--text-primary);font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rb-palette-tile-sub{color:var(--text-muted);font-size:10px;margin-top:1px}.rb-palette-tile-placed{color:var(--text-muted);font-size:14px}.rb-palette-empty{padding:8px 12px;font-size:11px;color:var(--text-muted);font-style:italic}.rb-catalog-brand-header{display:flex;justify-content:space-between;padding:4px 8px;font-size:11px;font-weight:600;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.rb-catalog-brand-header-static{cursor:default}.rb-rack-print,.rb-rack-dup-btn{height:26px;padding:0 12px;background:var(--bg-elevated);border:1px solid var(--border-light);color:var(--text-primary);border-radius:6px;cursor:pointer;font-family:inherit;font-size:12px;font-weight:600;letter-spacing:.3px;transition:background .1s ease}.rb-rack-print:hover,.rb-rack-dup-btn:hover{background:var(--bg-hover)}.rb-rack-print:active,.rb-rack-dup-btn:active{background:var(--accent-bg)}.rb-rack-print:focus-visible,.rb-rack-dup-btn:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.rb-rack-scale-fit{padding:0 8px;font-size:11px}.rb-rack-notes{margin:8px 12px 0;padding:6px 8px;font:inherit;font-size:12px;color:var(--text-primary);background:var(--bg-elevated);border:1px solid var(--border-light);border-radius:6px;resize:vertical;min-height:30px}.rb-sw-add{width:100%;margin-top:6px;padding:4px 6px;font-size:12px;color:var(--text-secondary);background:var(--bg-elevated);border:1px solid var(--border-light);border-radius:6px}.rb-print-header,.rb-print-notes{display:none}.rb-print-all{position:fixed;left:-10000px;top:0}@media print{*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;color-adjust:exact!important}body{background:#fff!important}.toolbar,.tab-bar,.lp-subtabs,.dialog-overlay,.rb-rack-list,.rb-palette,.rb-rack-header,.rb-rack-notes,.rb-switch-drawer,.rb-item-delete,.rb-item-dup,.rb-item-edit-pop{display:none!important}.app,.rb-layout,.rb-main-row,.rb-elevation,.rb-elevation-scroll{display:block!important;overflow:visible!important;height:auto!important;background:#fff!important}.rb-rack-faces{zoom:var(--rb-print-scale, .5)!important;padding:0!important;gap:32px}.rb-elevation{padding:0!important}.rb-elevation-scroll{height:100vh!important;box-sizing:border-box!important;padding:.25in!important;display:flex!important;flex-direction:column!important;align-items:center!important;overflow:hidden!important}.rb-print-header{align-self:stretch}.rb-rack-faces{margin:auto 0!important}.rb-print-header{display:flex;justify-content:space-between;align-items:flex-end;padding:0 0 6px;margin:0 0 10px;border-bottom:2px solid #000;font-family:Helvetica Neue,Arial,sans-serif;color:#000}.rb-print-header-rack{font-family:Futura,Futura-Medium,sans-serif;font-size:22px;font-weight:700;line-height:1.1;letter-spacing:.5px}.rb-print-header-loc{font-size:11px;color:#555;margin-top:2px;letter-spacing:.5px}.rb-print-header-right{text-align:right;line-height:1.3}.rb-print-header-show{font-family:Futura,Futura-Medium,sans-serif;font-size:13px;font-weight:600;letter-spacing:.8px;color:#333}.rb-print-header-date{font-size:11px;color:#666}.rb-print-notes{display:block;align-self:stretch;font-family:Helvetica Neue,Arial,sans-serif;font-size:11px;line-height:1.4;color:#222;white-space:pre-wrap;padding:0 0 6px;margin:0 0 10px;border-bottom:1px solid #999}.rb-elevation:has(.rb-print-all) .rb-elevation-scroll{display:none!important}.rb-print-all{position:static!important;left:auto!important}.rb-print-page{height:100vh;box-sizing:border-box;padding:.25in;display:flex;flex-direction:column;align-items:center;overflow:hidden;page-break-after:always}.rb-print-page:last-child{page-break-after:auto}.rb-print-page .rb-print-header,.rb-print-page .rb-print-notes{align-self:stretch}.rb-print-page .rb-rack-faces{margin:auto 0!important}.rb-drop-zone-ru{display:none!important}.rb-drop-zone.rb-drop-ok,.rb-drop-zone.rb-drop-no{background:#fff!important;border-color:#00000080!important}}.network-container{padding:0;height:100%;display:flex;flex-direction:column;overflow:hidden;background:var(--bg-surface)}.network-container>.lp-subtabs{flex-shrink:0}.network-content{flex:1;overflow-y:auto;padding:12px 16px}.net-table{width:100%;border-collapse:collapse;font-size:12px}.net-table th{text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);padding:4px 6px;border-bottom:1px solid var(--border);white-space:nowrap;-webkit-user-select:none;user-select:none}.net-table td{padding:3px 6px;border-bottom:1px solid var(--border-light);vertical-align:middle}.net-table tr:hover{background:var(--bg-elevated)}.net-table input,.net-table select{background:transparent;border:1px solid transparent;color:var(--text-primary);padding:2px 4px;font-size:12px;width:100%;border-radius:4px}.net-table input:focus,.net-table select:focus{background:var(--bg-input);border-color:var(--accent);outline:none}.net-table select{cursor:pointer}.net-table input[type=checkbox]{width:auto;accent-color:var(--accent)}.net-table input[type=number]{width:70px}.net-table input[type=color]{width:28px;height:22px;padding:0;border:1px solid var(--border);cursor:pointer}.net-actions{display:flex;align-items:center;gap:8px;margin-bottom:10px;flex-wrap:wrap}.net-btn{padding:6px 16px;font-size:12px;font-weight:600;font-family:inherit;border:1px solid var(--border);background:var(--bg-input);color:var(--text-secondary);border-radius:6px;cursor:pointer;white-space:nowrap;transition:all .15s ease}.net-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.net-btn-primary{background:var(--accent-fill);color:var(--accent-fg);border-color:var(--accent);font-weight:600}.net-btn-primary:hover{background:#e09a3e;color:var(--accent-fg)}.net-btn-danger{color:var(--error);border-color:var(--border)}.net-btn-danger:hover{background:color-mix(in srgb,var(--error) 15%,transparent);color:var(--error)}.net-btn-accent{background:var(--accent-bg);border-color:var(--accent);color:var(--accent)}.net-btn-accent:hover{background:color-mix(in srgb,var(--accent) 20%,transparent);color:var(--accent)}.net-btn-sm{padding:2px 8px;font-size:11px}.switch-card{border:1px solid var(--border);border-radius:6px;margin-bottom:10px;overflow:hidden;cursor:grab}.switch-card.switch-drop-target{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 30%,transparent)}.switch-header{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-elevated);cursor:pointer;-webkit-user-select:none;user-select:none}.switch-header:hover{background:var(--bg-hover)}.switch-header.switch-focused{outline:1px solid var(--accent);outline-offset:-1px}.switch-chevron{font-size:10px;color:var(--text-muted);transition:transform .15s;width:14px;text-align:center}.switch-chevron.open{transform:rotate(90deg)}.switch-name{font-weight:500;color:var(--text-primary);font-size:13px}.switch-model{color:var(--text-muted);font-size:11px}.switch-port-count{color:var(--text-muted);font-size:11px;margin-left:auto}.switch-body{padding:8px 12px}.switch-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:6px;margin-bottom:10px}.switch-field label{display:block;font-size:10px;text-transform:uppercase;color:var(--text-muted);margin-bottom:2px}.switch-field input,.switch-field select{width:100%;background:var(--bg-input);border:1px solid var(--border);color:var(--text-primary);padding:4px 6px;font-size:12px;border-radius:4px}.switch-field input:focus,.switch-field select:focus{border-color:var(--accent);outline:none}.batch-toolbar{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--bg-elevated);border:1px solid var(--accent);border-radius:4px;margin-bottom:8px;font-size:11px}.batch-toolbar select{background:var(--bg-input);border:1px solid var(--border);color:var(--text-primary);padding:2px 6px;font-size:11px;border-radius:3px}.batch-count{color:var(--accent);font-weight:500}.config-cards{display:flex;flex-direction:column;gap:8px}.config-card{border:1px solid var(--border);border-radius:6px;padding:12px;background:var(--bg-elevated)}.config-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.config-card-name{font-weight:500;font-size:13px;color:var(--text-primary);margin-bottom:2px}.config-card-meta{font-size:11px;color:var(--text-muted)}.config-card-actions{display:flex;gap:6px;margin-bottom:4px}.deploy-creds-bar{display:flex;align-items:flex-end;gap:12px;margin-bottom:12px;padding:10px 12px;background:var(--bg-elevated);border-radius:6px;border:1px solid var(--border)}.deploy-creds-bar label{display:flex;flex-direction:column;gap:3px;font-size:11px;color:var(--text-muted)}.deploy-creds-input{background:var(--bg-surface);border:1px solid var(--border);border-radius:4px;padding:4px 8px;color:var(--text-primary);font-size:12px;width:140px}.deploy-creds-input:focus{border-color:var(--accent);outline:none}.deploy-status{font-size:10px;font-weight:600;text-transform:uppercase;padding:2px 8px;border-radius:10px;white-space:nowrap}.deploy-status-ready{background:var(--bg-hover);color:var(--text-secondary)}.deploy-status-deployed{background:#2d5a2d;color:#6fdc6f}.deploy-status-out-of-sync{background:#5a4a2d;color:#f6c27d}.deploy-status-deploying{background:#2d4a5a;color:#8fd0ec}.deploy-status-failed,.deploy-status-unreachable{background:#5a2d2d;color:#f1a7a7}.deploy-btn{background:#2d5a2d!important;color:#6fdc6f!important;border-color:#3a6a3a!important}.deploy-btn:hover:not(:disabled){background:#3a6a3a!important}.deploy-btn-all{background:#2d5a2d;color:#6fdc6f;border:1px solid #3a6a3a;border-radius:4px;padding:4px 12px;font-size:12px;cursor:pointer}.deploy-btn-all:hover:not(:disabled){background:#3a6a3a}.deploy-btn-all:disabled{opacity:.4;cursor:default}.deploy-diff{margin-top:8px;border:1px solid var(--border);border-radius:4px;overflow:hidden}.deploy-diff-header{font-size:11px;color:var(--text-muted);padding:6px 10px;background:var(--bg-body);border-bottom:1px solid var(--border)}.deploy-diff-body{max-height:300px;overflow-y:auto;font-family:SF Mono,Menlo,monospace;font-size:11px;line-height:1.5}.deploy-diff-line{padding:1px 10px;white-space:pre}.deploy-diff-marker{display:inline-block;width:14px;font-weight:700}.deploy-diff-added{background:color-mix(in srgb,var(--success) 15%,transparent);color:var(--success)}.deploy-diff-removed{background:color-mix(in srgb,var(--error) 15%,transparent);color:var(--error)}.deploy-diff-actions{padding:8px 10px;border-top:1px solid var(--border);background:var(--bg-body)}.deploy-log{margin-top:8px;background:var(--bg-surface);border:1px solid var(--border);border-radius:4px;padding:8px 10px;max-height:200px;overflow-y:auto;font-family:SF Mono,Menlo,monospace;font-size:11px;line-height:1.5}.deploy-log-line{color:var(--text-muted)}.deploy-log-error{color:var(--error)}.locate-btn{background:#2d4a5a!important;color:#8fd0ec!important;border-color:#3a5a6a!important}.locate-btn:hover:not(:disabled){background:#3a5a6a!important}.locate-btn-active{background:var(--accent-fill)!important;color:var(--accent-fg)!important;border-color:var(--accent)!important;animation:locate-pulse 1s ease-in-out infinite}@keyframes locate-pulse{0%,to{opacity:1}50%{opacity:.6}}@media (prefers-reduced-motion: reduce){.locate-btn-active{animation:none}}.vlan-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:4px;vertical-align:middle;border:1px solid var(--text-muted)}.layout-switches{display:flex;flex-wrap:wrap;gap:16px}.layout-switch-card{border:1px solid var(--border);border-radius:6px;padding:10px;background:var(--bg-elevated);min-width:340px}.layout-switch-title{font-weight:500;font-size:13px;color:var(--text-primary);margin-bottom:8px;display:flex;justify-content:space-between}.layout-ports{display:flex;flex-wrap:wrap;gap:3px}.layout-port{width:56px;height:40px;border-radius:3px;border:1px solid var(--border);background:var(--bg-input);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:10px;color:var(--text-primary);cursor:grab;-webkit-user-select:none;user-select:none;overflow:hidden}.layout-port:hover{border-color:var(--accent)}.layout-port.drag-over{border-color:var(--accent);box-shadow:0 0 6px color-mix(in srgb,var(--accent) 40%,transparent)}.layout-port-num{font-weight:600;font-size:10px}.layout-port-label{font-size:10px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:52px}.vlan-legend{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;font-size:11px}.vlan-legend-item{display:flex;align-items:center;gap:4px}.template-dropdown{position:relative;display:inline-block}.template-menu{position:absolute;top:100%;left:0;background:var(--bg-body);border:1px solid var(--border);border-radius:4px;min-width:320px;max-height:400px;overflow-y:auto;z-index:100;box-shadow:var(--shadow-popover)}.template-group-label{padding:6px 10px 2px;font-size:10px;text-transform:uppercase;color:var(--accent);letter-spacing:.5px}.template-menu .template-item{display:block;padding:4px 10px;cursor:pointer;font-size:12px;color:var(--text-primary)}.template-menu .template-item:hover{background:var(--bg-input)}.template-item-desc{font-size:10px;color:var(--text-muted)}.vlan-multi{position:relative;display:inline-block;width:100%}.vlan-multi-trigger{background:transparent;border:1px solid transparent;color:var(--text-primary);padding:2px 4px;font-size:12px;width:100%;text-align:left;cursor:pointer;border-radius:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vlan-multi-trigger:hover{border-color:var(--border)}.vlan-multi-dropdown{background:var(--bg-body);border:1px solid var(--border);border-radius:4px;min-width:180px;max-height:200px;overflow-y:auto;z-index:10000;box-shadow:var(--shadow-popover);padding:4px 0}.vlan-multi-option{display:flex;align-items:center;gap:6px;padding:4px 10px;cursor:pointer;font-size:12px}.vlan-multi-option:hover{background:var(--bg-input)}.net-cable-sidebar{width:220px;min-width:180px;background:var(--bg-surface-alt);border-left:1px solid var(--border-light);display:flex;flex-direction:column;overflow-y:auto}.net-cable-sidebar-header{padding:10px 12px;font-weight:700;font-size:10px;text-transform:uppercase;color:var(--text-secondary);letter-spacing:1.5px;border-bottom:1px solid var(--border-light)}.net-cable-sidebar-list{flex:1;overflow-y:auto;padding:4px;scrollbar-width:thin;scrollbar-color:transparent transparent}.net-cable-sidebar-list:hover{scrollbar-color:var(--scrollbar-thumb) transparent}.net-cable-sidebar-item{display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:6px;cursor:grab;font-size:12px;color:var(--text-secondary);transition:background .15s ease}.net-cable-sidebar-item:hover{background:var(--bg-elevated);color:var(--text-primary)}.net-cable-sidebar-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.net-cable-sidebar-type{color:var(--text-muted);font-size:10px}.net-cable-sidebar-end{font-size:10px;font-weight:700;padding:1px 4px;border-radius:3px;background:var(--accent-bg);color:var(--accent)}.net-print-container{padding:8px;background:#fff}.print-switch-label{display:inline-flex;border:.1pt solid black;margin-bottom:10px;background:#fff;color:#111;page-break-inside:avoid;break-inside:avoid}.print-switch-info{width:.63in;flex-shrink:0;border-right:.1pt solid black;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3px 2px;text-align:center;background:#f5f5f5}.print-switch-name{font-size:6pt;font-weight:700;color:#111;line-height:1.2}.print-switch-loc{font-size:4pt;color:#555;line-height:1.1;margin-top:1px}.print-switch-model{font-size:3.75pt;color:#888;line-height:1.1;margin-top:1px}.print-switch-ip{font-size:3.75pt;color:#555;line-height:1.1}.print-switch-ports{display:flex;align-items:stretch}.print-port-group{flex-shrink:0}.print-port-group-sfp{display:flex;align-items:flex-start;flex-shrink:0}.print-port-group-sfp .print-port-row{border-bottom:.1pt solid black}.print-port-divider{width:6px;align-self:stretch;background:#ddd}.print-port-row{display:flex}.print-port-group>.print-port-row:first-child{border-bottom:.1pt solid black}.print-port{width:.335in;flex-shrink:0;border-right:.1pt solid black;text-align:center}.print-port-row>.print-port:last-child{border-right:none}.print-port-label{font-size:4pt;font-weight:600;color:#111;padding:1px 0;height:.18in;display:flex;align-items:center;justify-content:center;border-bottom:.1pt solid black;word-break:break-word;overflow-wrap:break-word;line-height:1.05;overflow:hidden;background:#fff}.print-port-vlan{font-size:3pt;color:#222;padding:0 1px;height:.075in;line-height:.075in;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600;text-align:center}.tftp-section{border:1px solid var(--border);border-radius:6px;padding:12px 16px;margin-bottom:16px;background:var(--bg-surface)}.tftp-header{display:flex;align-items:center;justify-content:space-between}.tftp-title{display:flex;align-items:center;gap:8px;font-weight:600;font-size:13px}.tftp-dot{width:8px;height:8px;border-radius:50%;background:var(--border-strong);flex-shrink:0}.tftp-dot-on{background:var(--success);box-shadow:0 0 6px var(--success)}.tftp-port{font-weight:400;font-size:11px;color:var(--text-muted);margin-left:4px}.tftp-error{color:var(--error);font-size:11px;margin-top:6px}.tftp-filemap{margin-top:10px}.tftp-filemap-label{font-size:11px;color:var(--text-muted);margin-bottom:4px}.tftp-table{font-size:11px}.tftp-table code{background:var(--bg-surface);padding:1px 5px;border-radius:3px;font-size:11px;color:var(--accent)}.tftp-log{margin-top:10px}.tftp-log-entries{max-height:160px;overflow-y:auto;font-size:11px;font-family:SF Mono,Menlo,monospace;background:var(--bg-body);border-radius:4px;padding:4px 0}.tftp-log-entry{display:flex;gap:12px;padding:2px 8px;align-items:center}.tftp-log-entry:hover{background:var(--bg-hover)}.tftp-log-time{color:var(--text-muted);flex-shrink:0}.tftp-log-client{color:var(--text-muted);min-width:110px}.tftp-log-file{color:var(--text-primary);flex:1}.tftp-log-hit{color:var(--success);flex-shrink:0}.tftp-log-miss-label{color:var(--error);flex-shrink:0}.tftp-log-miss{opacity:.7}.net-count{color:var(--text-muted);font-size:11px}.empty-td{text-align:center;color:var(--text-muted);padding:20px}.net-empty{padding:40px}.mono{font-family:SF Mono,Menlo,monospace}.th-w28{width:28px}.th-w30{width:30px}.th-w36{width:36px}.th-w40{width:40px}.th-w45{width:45px}.th-w50{width:50px}.th-w55{width:55px}.th-w60{width:60px}.th-w70{width:70px}.th-w100{width:100px}.th-w120{width:120px}.th-w130{width:130px}@media print{*,*:before,*:after{color-adjust:exact!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}body,html{background:#fff!important;color:#000!important;margin:0!important;padding:0!important}.toolbar,.title-bar,.lp-subtabs,.sidebar,.bundle-tabs,header,nav,.net-cable-sidebar,.bundle-list,.App>:not(.main-content),.tab-bar,.production-bar{display:none!important}.App,.main-content,.network-container,.network-content{background:#fff!important;color:#000!important;padding:0!important;margin:0!important;overflow:visible!important}.net-print-container{display:block!important;padding:.3in .3in 0!important;background:#fff!important}.print-switch-label{border:.1pt solid black;margin-bottom:.12in}.net-actions,.net-sub-tabs{display:none!important}.net-devices-table{width:100%!important;font-size:8px!important;border-collapse:collapse!important;background:#fff!important;table-layout:fixed!important}.net-devices-table th{background:#333!important;color:#fff!important;padding:4px 5px!important;font-size:7px!important;text-transform:uppercase!important;letter-spacing:.3px!important;overflow:hidden!important}.net-devices-table td{padding:3px 5px!important;border-bottom:.5px solid #ccc!important;color:#000!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.net-devices-table th:nth-child(1),.net-devices-table td:nth-child(1){width:18%!important}.net-devices-table th:nth-child(2),.net-devices-table td:nth-child(2){width:8%!important}.net-devices-table th:nth-child(3),.net-devices-table td:nth-child(3){width:12%!important}.net-devices-table th:nth-child(4),.net-devices-table td:nth-child(4){display:none!important}.net-devices-table th:nth-child(5),.net-devices-table td:nth-child(5){width:12%!important}.net-devices-table th:nth-child(6),.net-devices-table td:nth-child(6){display:none!important}.net-devices-table th:nth-child(7),.net-devices-table td:nth-child(7){width:12%!important}.net-devices-table th:nth-child(8),.net-devices-table td:nth-child(8){width:12%!important}.net-devices-table th:nth-child(9),.net-devices-table td:nth-child(9){width:8%!important}.net-devices-table th:nth-child(10),.net-devices-table td:nth-child(10){width:10%!important}.net-devices-table th:nth-child(11),.net-devices-table td:nth-child(11){width:8%!important}.net-devices-table tr:nth-child(2n) td{background:#f5f5f5!important}.net-devices-table input,.net-devices-table select{border:none!important;background:transparent!important;padding:0!important;font-size:9px!important;color:#000!important;font-family:inherit!important}.net-devices-table .net-btn-danger{display:none!important}.net-devices-table th:last-child,.net-devices-table td:last-child{display:none!important}}.amp-grid{flex:1;min-height:0;overflow:auto;padding:12px 16px;background:var(--bg-surface)}.amp-title{font-size:15px;font-weight:600;margin:0;color:var(--text-primary)}.amp-count{font-size:12px;color:var(--text-muted)}.amp-empty{padding:32px;text-align:center;color:var(--text-muted);font-size:13px}.amp-table-wrap{width:100%}.amp-table{min-width:1100px}.amp-table thead th{vertical-align:middle}.amp-aes-head{text-align:center!important;color:var(--text-secondary)!important}.amp-id-col{width:58px}.amp-group-col{width:96px}.amp-out-col{width:96px;text-align:center!important}.amp-actions-col{width:54px}.amp-aes-ch{width:46px;text-align:center}.amp-block-start{border-left:1px solid var(--border)!important}.amp-out-col,.amp-out-cell{border-left:1px solid var(--border-light)}.amp-id input,.amp-out-cell input{text-align:center}.amp-id input{font-weight:600}.amp-out-cell{text-align:center;position:relative}.amp-out-cell input{padding-right:15px}.amp-na{color:var(--text-muted)}.amp-link-btn{position:absolute;right:1px;top:2px;bottom:2px;width:15px;border:none;background:transparent;color:var(--text-muted);font-size:10px;line-height:1;padding:0;cursor:pointer;opacity:.18;border-radius:3px}.amp-out-cell:hover .amp-link-btn,.amp-out-cell:focus-within .amp-link-btn{opacity:.6}.amp-link-btn:hover{opacity:1!important;background:var(--bg-elevated);color:var(--accent)}.amp-link-btn:focus-visible{opacity:1}.amp-link-btn.linked{opacity:1;color:var(--accent)}.amp-out-linked input{font-weight:600}.amp-group-cell{vertical-align:middle;border-right:1px solid var(--border)}.amp-group-select{cursor:pointer;width:100%}.amp-add-rack{font-size:12px;padding:2px 6px;border-radius:4px}.amp-import-msg{font-size:12px;color:var(--text-secondary);margin-left:4px}.amp-labels-view{display:flex;flex-wrap:wrap;gap:14px;padding:14px 2px;align-content:flex-start}.amp-label-card{background:#fff;padding:6px;border:1px solid var(--border);border-radius:4px;box-shadow:0 1px 3px #00000040}.amp-label-card img{display:block;height:116px;width:auto}.amp-aes-na{opacity:.35;background:repeating-linear-gradient(45deg,transparent,transparent 6px,rgba(128,128,128,.07) 6px,rgba(128,128,128,.07) 12px)}.amp-aes-na input:disabled{cursor:not-allowed;background:transparent}.amp-aes-patch{display:flex;flex-direction:column;gap:20px;padding:12px 2px}.amp-aes-block-hdr{font-size:13px;font-weight:700;margin-bottom:6px}.amp-aes-block-sub{font-weight:400;color:var(--text-muted)}.amp-aes-block-warn{font-weight:400;font-size:11px;color:var(--warning)}.amp-aes-stream{margin:0 0 10px 12px}.amp-aes-stream-hdr{display:flex;align-items:baseline;gap:12px;font-size:12px;padding:3px 8px;border-radius:3px;margin-bottom:3px}.amp-aes-stream-out{font-weight:700}.amp-aes-stream-desc{font-weight:600}.amp-aes-stream-len{margin-left:auto;font-size:11px;color:var(--text-muted)}.amp-aes-table td,.amp-aes-table th{white-space:nowrap}.amp-aes-cable{font-family:ui-monospace,monospace;font-size:11px;color:var(--text-secondary)}.amp-aes-src{white-space:nowrap}.amp-aes-src .amp-color{display:inline-block;vertical-align:middle}.amp-aes-src>input{display:inline-block;width:calc(100% - 26px);vertical-align:middle;font-weight:600}.amp-color .color-picker-label,.amp-color .color-picker-arrow{display:none}.amp-color .color-picker-btn{padding:2px;border:none;background:transparent;min-width:0}.amp-color .color-picker-swatch{width:14px;height:14px;border-radius:3px;display:block}.amp-add-row td{padding:2px 6px;border-bottom:1px solid var(--border)}.amp-add-row button{background:transparent;border:1px dashed var(--border);color:var(--text-muted);font-size:11px;padding:2px 10px;border-radius:3px;cursor:pointer}.amp-add-row button:hover{color:var(--accent);border-color:var(--accent)}.amp-actions{white-space:nowrap;text-align:center}.amp-actions button{background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:13px;padding:2px 4px;border-radius:3px}.amp-actions button:hover{color:var(--accent);background:var(--bg-elevated)}.amp-check-col,.amp-check-cell{width:30px;text-align:center;padding:0 4px}.amp-check-col input,.amp-check-cell input{cursor:pointer;margin:0;vertical-align:middle}.amp-row-selected>td{background:var(--accent-bg)}.amp-bulk-bar{display:flex;align-items:center;gap:14px;padding:6px 12px;margin-top:4px;background:var(--accent-bg);border:1px solid var(--accent);border-radius:5px}.amp-bulk-count{font-weight:700;color:var(--accent)}.amp-bulk-assign{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted)}.amp-bulk-assign select{font-size:12px;padding:2px 6px}.amp-ds10-section{margin-top:22px}.amp-ds10-head{display:flex;align-items:center;gap:12px;margin-bottom:6px}.amp-ds10-title{font-size:13px;font-weight:700;margin:0;color:var(--text-primary)}.amp-ds10-empty{margin:0}.amp-ds10-table{max-width:760px}.amp-ds10-unit-col{width:80px}.amp-ds10-ip-col{width:140px}.sip{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding:0 2px 24px}.sip-empty{display:flex;flex-direction:column;align-items:flex-start;gap:12px;max-width:520px;padding:24px 4px;color:var(--text-secondary);font-size:13px;line-height:1.5}.sip-bar{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 0;background:var(--bg-body);border-bottom:1px solid var(--border)}.sip-bar-info{display:flex;flex-direction:column;margin-right:auto;min-width:0}.sip-bar-info b{font-size:13px;overflow-wrap:anywhere}.sip-counts{font-size:11px;color:var(--text-muted)}.sip-toggle{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--text-secondary);cursor:pointer;white-space:nowrap}.sip-toggle input{accent-color:var(--accent-fill)}.sip-warn{margin:0;font-size:12px;color:var(--warning)}.sip-error{margin:0;font-size:12px;color:var(--error)}.sip-result{display:flex;flex-direction:column;gap:4px;padding:8px 10px;border:1px solid var(--border);border-radius:6px;background:var(--accent-bg);font-size:12px;color:var(--text-secondary)}.sip-result details ul{margin:4px 0;padding-left:18px}.sip-section{display:flex;flex-direction:column;gap:10px}.sip-section-h{margin:8px 0 0;font-size:15px;font-weight:700;color:var(--text-primary);padding-bottom:4px;border-bottom:1px solid var(--border)}.sip-rack{display:flex;flex-direction:column;gap:6px}.sip-rack-h{display:flex;align-items:center;gap:8px;padding:2px 0}.sip-rack-name{font-size:13px;font-weight:600;color:var(--text-secondary)}.sip-rack-n{font-size:11px;font-weight:600;color:var(--text-muted);background:var(--bg-elevated);border-radius:9px;padding:0 7px}.sip-rack-sel{margin-left:auto;font-size:11px;padding:2px 8px;background:none;border:1px solid var(--border);border-radius:5px;color:var(--text-secondary);cursor:pointer}.sip-rack-sel:hover{border-color:var(--accent);color:var(--accent)}.sip-tier-dot{flex:none;width:8px;height:8px;border-radius:50%;align-self:center}.sip-tier-high{background:var(--success)}.sip-tier-questionable{background:var(--warning)}.sip-tier-none{background:var(--text-muted)}.sip-rows{display:flex;flex-direction:column}.sip-rows>.sip-row+.sip-row{border-top:1px solid var(--border)}.sip-row{display:flex;align-items:center;gap:8px;padding:5px 8px;cursor:pointer;font-size:12px;color:var(--text-primary)}.sip-row:hover{background:var(--bg-hover)}.sip-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.sip-row-sel{background:var(--accent-bg);box-shadow:inset 3px 0 0 var(--accent)}.sip-row-done{opacity:.55;cursor:default}.sip-row-done:hover{background:none}.sip-row-na{cursor:default}.sip-qty{color:var(--text-muted);min-width:36px;text-align:right;flex:none}.sip-name{flex:none;white-space:nowrap}.sip-row-desc{flex:1 1 auto;min-width:0;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sip-row-match,.sip-row-pick{display:flex;align-items:center;gap:6px;flex:none}.sip-badge{padding:1px 7px;border-radius:10px;font-size:10px;font-weight:600;white-space:nowrap}.sip-tpl{color:var(--text-secondary);white-space:nowrap}.sip-dt{color:var(--text-muted);white-space:nowrap}.sip-nomatch{color:var(--text-muted);font-style:italic;white-space:nowrap}.sip-check{flex:none;width:18px;height:18px;border-radius:5px;border:1px solid var(--border);display:inline-flex;align-items:center;justify-content:center;font-size:12px;color:var(--accent-fg);background:var(--bg-input)}.sip-check.on{background:var(--accent-fill);border-color:var(--accent-fill)}.sip-done-badge{flex:none;font-size:11px;color:var(--accent);font-weight:600;white-space:nowrap}.sip-select{max-width:230px}.sip-cat-picker{max-width:170px}.sip-select,.sip-cat-picker{padding:3px 6px;font-size:12px;background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border);border-radius:5px}.dev-container{display:flex;flex-direction:column;height:100%;overflow:hidden;background:var(--bg-surface)}.dev-container>.lp-subtabs{flex-shrink:0}.dev-tab{flex:1;min-height:0;overflow-y:auto;padding:12px 16px;background:var(--bg-surface)}.dev-title{font-size:15px;font-weight:600;margin:0;color:var(--text-primary)}.dev-count{font-size:12px;color:var(--text-muted)}.dev-empty{padding:32px;text-align:center;color:var(--text-muted);font-size:13px}.dev-table .dev-rack-header td{background:var(--bg-elevated);font-weight:700;font-size:12px;color:var(--accent);padding:7px 8px;border-top:2px solid var(--accent);border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.5px}.dev-rack-count{margin-left:8px;font-weight:500;font-size:11px;color:var(--text-muted);text-transform:none;letter-spacing:0}.dev-model{color:var(--text-secondary)}.dev-ports{text-align:center;color:var(--text-muted)}.dev-cell-na{color:var(--text-muted)}.dev-badge{display:inline-block;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;padding:1px 6px;border-radius:3px;white-space:nowrap}.dev-badge-equipment{background:var(--accent-bg);color:var(--accent)}.dev-badge-patch_device{background:#64b5f62e;color:var(--text-primary)}.dev-badge-network_switch{background:#81c7842e;color:var(--text-primary)}.dev-badge-uncat{background:var(--bg-elevated);color:var(--text-muted);font-style:italic}.dev-cat-select{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;padding:1px 4px;border-radius:3px;border:none;max-width:120px;cursor:pointer}.dev-cat-select option{background:var(--bg-surface);color:var(--text-primary);text-transform:none}.dev-add-form{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:8px;margin-bottom:10px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:6px}.dev-add-form input,.dev-add-form select{padding:4px 8px;font-size:12px;background:var(--bg-input, var(--bg-surface));color:var(--text-primary);border:1px solid var(--border);border-radius:4px}.dev-del-cell{text-align:center}.dev-del-btn{background:none;border:none;color:var(--text-muted);font-size:14px;cursor:pointer;padding:0 4px;border-radius:3px;line-height:1}.dev-del-btn:hover{color:var(--error);background:color-mix(in srgb,var(--error) 12%,transparent)}.ni-dialog{width:560px;max-width:92vw;max-height:86vh;overflow-y:auto}.ni-dialog-wide{width:720px}.ni-sub{margin:0 0 14px;color:var(--text-muted);font-size:12px}.ni-error{color:var(--error);font-size:12px;margin:8px 0}.ni-prod-list{display:flex;flex-direction:column;gap:4px;margin:8px 0 16px}.ni-prod-row{text-align:left;padding:8px 12px;background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border);border-radius:6px;cursor:pointer;font-size:13px}.ni-prod-row:hover{border-color:var(--accent)}.ni-section{border:1px solid var(--border);border-radius:6px;margin-bottom:10px;background:var(--bg-elevated)}.ni-section-head{display:flex;align-items:center;gap:8px;padding:6px 8px;border-bottom:1px solid var(--border-light);flex-wrap:wrap}.ni-section-toggle{background:transparent;border:none;color:var(--text-primary);font-size:12px;cursor:pointer;display:flex;align-items:center;gap:6px;padding:2px 4px;flex:1;text-align:left}.ni-section-title{font-weight:600;font-size:13px}.ni-section-count{color:var(--text-muted);font-size:11px;margin-left:4px}.ni-section-controls{display:flex;gap:6px;align-items:center}.ni-section-controls select{background:var(--bg-input);border:1px solid var(--border);color:var(--text-primary);font-size:11px;padding:3px 6px;border-radius:3px}.ni-section-body{max-height:200px;overflow-y:auto;padding:4px 6px}.ni-row{display:flex;align-items:center;gap:8px;padding:3px 6px;font-size:12px;cursor:pointer;border-radius:3px}.ni-row:hover{background:var(--bg-input)}.ni-row input[type=checkbox]{accent-color:var(--accent)}.ni-row-num{font-family:SF Mono,Menlo,monospace;color:var(--text-muted);font-size:11px;min-width:36px}.ni-row-name{flex-shrink:0;font-weight:500;min-width:100px}.ni-row-meta{color:var(--text-muted);font-size:11px;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ni-dot{display:inline-block;width:10px;height:10px;border-radius:50%;border:1px solid var(--border)}.ni-foot-note{margin:10px 0 0;color:var(--text-muted);font-size:11px;font-style:italic}.ni-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.ni-result{list-style:none;padding:0;margin:8px 0 12px;font-size:12px;line-height:1.7}.ni-warnings{margin:8px 0;font-size:11px;color:var(--warning)}.ni-warnings summary{cursor:pointer;padding:4px 0}.ni-warnings ul{margin:4px 0 0 16px;padding:0}.te-wrap{display:flex;flex-direction:column;flex:1;overflow:hidden}.te-toolbar{display:flex;align-items:center;gap:12px;padding:8px 16px;border-bottom:1px solid var(--border-light);flex-shrink:0;background:var(--bg-surface)}.te-view-tabs{display:flex;gap:0;border:1px solid var(--border);border-radius:4px;overflow:hidden}.te-view-tab{background:var(--bg-surface);border:none;color:var(--text-muted);padding:4px 14px;font-size:12px;cursor:pointer;border-right:1px solid var(--border)}.te-view-tab:last-child{border-right:none}.te-view-tab.active{background:var(--accent-fill);color:var(--accent-fg);font-weight:600}.te-view-tab:hover:not(.active){background:var(--bg-surface)}.te-filter{background:var(--bg-surface);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);padding:5px 10px;font-size:13px;width:200px}.te-filter:focus{outline:none;border-color:var(--accent)}.te-count{margin-left:auto;color:var(--text-muted);font-size:12px}.te-saving-indicator{color:var(--accent);font-size:11px}.te-scroll{flex:1;overflow-y:auto;padding:16px 20px}.te-scroll::-webkit-scrollbar{width:6px}.te-scroll::-webkit-scrollbar-track{background:transparent}.te-scroll::-webkit-scrollbar-thumb{background:transparent;border-radius:3px}.te-scroll:hover::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb)}.te-category{margin-bottom:24px}.te-cat-title{font-size:24px;font-weight:700;color:var(--text-primary);margin:0 0 12px;padding-bottom:4px;border-bottom:2px solid var(--border-light)}.te-cable{margin-bottom:20px;border:1px solid var(--border-light);border-radius:6px;overflow:hidden;background:var(--bg-surface)}.te-cable-info{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;background:var(--bg-surface);border-bottom:1px solid var(--border-light)}.te-cable-details{display:flex;align-items:center;gap:16px}.te-cable-label{font-weight:700;font-size:13px;color:var(--text-primary);text-transform:uppercase}.te-cable-meta{color:var(--text-muted);font-size:12px}.te-cable-bundle{color:var(--accent);font-size:12px;font-weight:500}.te-cable-ends{display:flex;gap:16px}.te-end{font-size:11px;color:var(--text-muted);padding:2px 8px;border-radius:3px}.te-end b{color:var(--text-primary);margin-right:4px}.te-end-a,.te-end-b{background:var(--bg-elevated)}.te-tail-columns{display:flex;gap:0;overflow-x:auto}.te-tail-col{flex:0 0 auto;width:520px;border-right:1px solid var(--border-light)}.te-tail-col:last-child{border-right:none}.te-tail-col-header{display:grid;grid-template-columns:28px 1fr 1fr 1fr;gap:0 4px;padding:3px 8px;background:var(--bg-surface);border-bottom:1px solid var(--border-light)}.te-tail-col-header span{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}.te-tail-row{display:grid;grid-template-columns:28px 1fr 1fr 1fr;gap:0 4px;padding:2px 8px;align-items:center;min-height:26px;border-bottom:1px solid var(--border-light)}.te-row-even{background:var(--bg-surface)}.te-row-odd{background:var(--bg-surface-alt)}.te-row-dirty{box-shadow:inset 3px 0 0 var(--accent)}.te-td-num{color:var(--success);font-weight:700;font-size:11px;text-align:center}input.te-td-name{background:transparent;border:1px solid transparent;border-radius:3px;color:var(--text-primary);padding:1px 4px;font-size:12px;font-family:inherit;min-width:0;width:100%;box-sizing:border-box}input.te-td-name:hover{border-color:var(--border-light)}input.te-td-name:focus{outline:none;border-color:var(--accent);background:var(--bg-surface)}.te-td-patch,.te-td-patchb{display:flex;gap:2px;min-width:0}.te-patch-dev{background:transparent;border:1px solid transparent;border-radius:3px;color:var(--text-primary);padding:1px 4px;font-size:12px;font-family:inherit;flex:1;min-width:0;box-sizing:border-box}.te-patch-port{background:transparent;border:1px solid transparent;border-radius:3px;color:var(--text-primary);padding:1px 4px;font-size:12px;font-family:inherit;width:56px;text-align:center;flex-shrink:0;box-sizing:border-box}.te-patch-dev:hover,.te-patch-port:hover{border-color:var(--border-light)}.te-patch-dev:focus,.te-patch-port:focus{outline:none;border-color:var(--accent);background:var(--bg-surface)}.te-fill-cell{position:relative;display:flex;min-width:0}.te-fill-wrap{flex:1;min-width:0}.te-fill-wrap-port{flex-shrink:0}.te-fill-handle{position:absolute;right:-2px;bottom:-2px;width:12px;height:12px;background:var(--accent-fill);background-clip:padding-box;border:2px solid transparent;cursor:crosshair;opacity:0;z-index:2;transition:opacity .1s}.te-fill-cell:hover .te-fill-handle,.te-fill-cell:focus-within .te-fill-handle{opacity:1}.te-fill-hl,.te-fill-hl input{background:var(--accent-bg)!important}.te-body{display:flex;flex:1;min-height:0}.te-amps{width:220px;flex-shrink:0;display:flex;flex-direction:column;border-left:1px solid var(--border);background:var(--bg-surface)}.te-amps-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);padding:10px 12px 2px}.te-amps-hint{font-size:10.5px;color:var(--text-muted);padding:0 12px 8px;border-bottom:1px solid var(--border-light)}.te-amps-scroll{flex:1;overflow-y:auto;padding:6px 8px 16px}.te-amps-rack{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);padding:8px 4px 4px}.te-amp{margin-bottom:6px;border:1px solid var(--border-light);border-radius:6px;background:var(--bg-elevated);padding:5px 6px}.te-amp-head{display:flex;align-items:baseline;gap:6px;margin-bottom:4px;cursor:grab}.te-amp-head:active{cursor:grabbing}.te-amp-grip{color:var(--text-muted);font-size:10px;align-self:center}.te-amp-unit{font-size:12px;font-weight:700;color:var(--text-primary)}.te-amp-model{font-size:10.5px;color:var(--text-muted)}.te-amp-chips{display:flex;flex-direction:column;gap:3px}.te-amp-chip{display:flex;align-items:center;gap:6px;padding:3px 6px;border:1px solid var(--border-strong);border-radius:5px;background:var(--bg-input);cursor:grab;-webkit-user-select:none;user-select:none}.te-amp-chip:active{cursor:grabbing}.te-amp-chip:hover{border-color:var(--accent)}.te-amp-chip-port{flex-shrink:0;min-width:26px;text-align:center;font-size:10.5px;font-weight:700;background:var(--accent-fill);color:var(--accent-fg);border-radius:4px;padding:1px 4px}.te-amp-chip-zone{font-size:11.5px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.te-amps-empty{font-size:11.5px;color:var(--text-muted);padding:10px 6px}.te-td-patch.te-amp-target,.te-td-patchb.te-amp-target{outline:2px solid var(--accent);outline-offset:-2px;border-radius:4px;background:var(--accent-bg)}@media print{.te-amps{display:none!important}}.settings-page{display:flex;flex-direction:column;flex:1;overflow:hidden;background:var(--bg-body)}.settings-header{display:flex;align-items:center;gap:16px;padding:16px 24px;background:var(--bg-surface);border-bottom:1px solid var(--border-light)}.settings-production-select{display:flex;align-items:center;gap:8px;margin-left:auto}.settings-production-select label{font-weight:600;color:var(--text-secondary);text-transform:uppercase;font-size:10px;letter-spacing:1.2px}.settings-production-select select{padding:6px 12px;background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border);border-radius:6px;font-size:13px;font-weight:500;min-width:220px;font-family:inherit}.settings-header h2{font-size:18px;font-weight:700;color:var(--text-primary);margin:0}.settings-close-btn{background:var(--bg-input);border-color:var(--border)}.settings-file-section{display:flex;align-items:center;gap:8px;padding:8px 24px;background:var(--bg-surface);border-bottom:1px solid var(--border-light)}.settings-file-path{font-size:12px;color:var(--text-secondary);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-tabs{display:flex;gap:0;background:var(--bg-surface-alt);border-bottom:1px solid var(--border-light);padding:0 24px}.settings-tab{padding:8px 18px;background:transparent;border:none;color:var(--text-muted);font-size:12px;font-weight:600;font-family:inherit;cursor:pointer;border-bottom:2px solid transparent;transition:all .15s ease;text-transform:uppercase;letter-spacing:.5px}.settings-tab:hover{color:var(--text-secondary)}.settings-tab-active{color:var(--text-primary);border-bottom-color:var(--accent)}.settings-content{flex:1;overflow-y:auto;padding:24px}.settings-form{max-width:500px}.settings-form-group{display:flex;flex-direction:column;gap:4px;margin-bottom:16px}.settings-form-group label{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.settings-form-group input,.settings-form-group textarea,.settings-form-group select{width:100%;background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border);border-radius:5px;padding:7px 10px;font-size:13px;font-family:inherit}.settings-form-group textarea{resize:vertical}.settings-form-group input:focus,.settings-form-group textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-bg);background:var(--bg-input)}.settings-form-row{display:flex;gap:16px}.settings-form-row .settings-form-group{flex:1}.settings-form-actions{display:flex;align-items:center;gap:12px;margin-top:8px}.settings-saved{color:var(--success);font-size:12px;font-weight:600}.settings-table-wrap{max-width:700px}.settings-table-toolbar{margin-bottom:12px}.settings-inline-add{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding:10px 12px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px}.settings-inline-add input[type=text],.settings-inline-add input:not([type]){background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border);border-radius:5px;padding:5px 8px;font-size:13px;font-family:inherit}.settings-check-label{display:flex;align-items:center;gap:4px;color:var(--text-secondary);font-size:12px;font-weight:500;white-space:nowrap}.settings-table{width:100%;border-collapse:collapse;font-size:13px}.settings-table th{text-align:left;padding:8px 12px;font-size:10px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.8px;border-bottom:1px solid var(--border);background:var(--bg-body)}.settings-table td{padding:8px 12px;border-bottom:1px solid var(--border-light);color:var(--text-primary)}.settings-table tr:hover{background:var(--bg-elevated)}.settings-table td input{background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border);border-radius:5px;padding:4px 8px;font-size:13px;font-family:inherit;width:100%}.settings-table td input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-bg)}.settings-table td .settings-cell-input{width:100%;box-sizing:border-box;padding:2px 4px;border:1px solid transparent;border-radius:3px;background:transparent;color:inherit;font-family:inherit;font-size:12px}.settings-table td .settings-cell-input:focus{border-color:var(--accent)}.settings-td-readonly{color:var(--text-muted)}.settings-actions{display:flex;gap:6px;white-space:nowrap}.settings-swatch{display:inline-block;width:24px;height:24px;border-radius:4px;border:1px solid var(--border);vertical-align:middle}.settings-hex{font-family:SF Mono,Menlo,monospace;font-size:12px;color:var(--text-muted)}.settings-color-input-group{display:flex;align-items:center;gap:6px}.settings-color-input-group input[type=color]{width:32px;height:28px;padding:0;border:1px solid var(--border);border-radius:4px;background:transparent;cursor:pointer}.settings-info{color:var(--text-secondary);font-size:12px;margin-bottom:16px;line-height:1.5}.settings-empty{color:var(--text-muted);font-size:14px;padding:40px;text-align:center}.settings-empty-td{color:var(--text-muted)!important;font-style:italic;text-align:center!important}.settings-gear-btn{margin-left:auto;background:transparent;border:1px solid transparent;color:var(--text-muted);font-size:26px;padding:4px 10px;cursor:pointer;border-radius:6px;transition:all .15s ease;line-height:1}.settings-gear-btn:hover{color:var(--text-primary);background:var(--bg-input);border-color:var(--border)}.settings-gear-btn.active{color:var(--accent);background:var(--bg-input);border-color:var(--accent)}.settings-logo-area{display:flex;flex-direction:column;gap:8px}.settings-logo-preview{max-width:200px;max-height:80px;object-fit:contain;border:1px solid var(--border);border-radius:6px;padding:8px;background:#fff}.settings-logo-controls{display:flex;gap:8px}.settings-table-wrap:has(.settings-template-cables){max-width:none}.settings-template-cables{margin-top:24px;padding-top:16px;border-top:1px solid var(--border)}.settings-template-cables h3{font-size:14px;font-weight:600;color:var(--text-secondary);margin:0 0 12px}.tc-header-row{display:grid;grid-template-columns:160px 90px minmax(160px,1fr) minmax(160px,1fr) 150px;align-items:center;padding:6px 16px;background:var(--bg-elevated);border-bottom:1px solid var(--border);gap:0 8px;min-height:32px}.tc-header-row span{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--text-secondary)}.tc-row{grid-template-columns:160px 90px minmax(160px,1fr) minmax(160px,1fr) 150px}.tc-rows{max-height:500px;overflow-y:auto}.tc-spare-badge{font-size:10px;background:var(--accent-fill);color:var(--accent-fg);padding:2px 7px;border-radius:4px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.tc-spare-label{grid-column:1 / 3;padding-top:4px}.settings-row-selected{background:var(--accent-bg)!important}.settings-table tr.settings-row-selected:hover{background:var(--accent-bg)}.settings-table td select{background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border);border-radius:5px;padding:4px 8px;font-size:13px;font-family:inherit}@media print{.settings-page,.settings-gear-btn{display:none!important}}@media (max-width: 768px){.tab-bar{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:0;padding:0 8px}.tab-bar button{white-space:nowrap;flex-shrink:0;padding:10px 14px;font-size:11px}.toolbar{flex-wrap:wrap;gap:8px;padding:8px 12px}.toolbar-production-name{font-size:14px}.print-pages-wrap{flex-wrap:nowrap!important;flex-direction:column!important;align-items:center}.settings-tabs{flex-wrap:wrap}.settings-page{padding:12px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.mobile-sidebar-toggle,.mobile-sidebar-backdrop{display:none}@media (max-width: 480px){.app{overflow:hidden}.toolbar{padding:8px 12px;gap:6px}.toolbar-production-name{font-size:13px;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toolbar .btn{font-size:11px;padding:6px 10px}.tab-bar{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;scrollbar-width:none}.tab-bar::-webkit-scrollbar{display:none}.tab{padding:10px 14px;font-size:10px;letter-spacing:.3px;flex-shrink:0;cursor:default;-webkit-user-select:none;user-select:none}.tab[draggable]{-webkit-user-drag:none}.main-content{flex-direction:column}.bundle-list{width:100%!important;max-width:100%!important;min-width:100%!important;border-right:none;border-bottom:1px solid var(--border-light)}.main-content.mobile-detail-view .bundle-list{display:none}.main-content.mobile-detail-view .detail-panel{display:flex;flex-direction:column}.main-content:not(.mobile-detail-view) .detail-panel{display:none}.detail-panel{flex:1;overflow-y:auto}.bundle-header{padding:12px}.bh-row1{flex-wrap:wrap;gap:8px}.bh-name{font-size:18px;min-width:100%}.bh-field{width:100px}.bh-short{width:55px}.bh-row2{flex-wrap:wrap;gap:8px 12px}.bh-row3{flex-direction:column;gap:8px}.bh-end input{font-size:13px}.cable-header-row{display:none}.cable-row{display:flex!important;flex-direction:column!important;padding:12px;gap:4px;min-height:auto}.cr-label{font-size:15px;font-weight:700}.cr-type,.cr-end{font-size:13px}.cr-actions{justify-content:flex-start;margin-top:4px}.cr-color-cell{padding-top:4px}.ls-sidebar{position:fixed;left:-280px;top:0;bottom:0;width:280px!important;max-width:85vw!important;min-width:auto!important;z-index:1000;transition:left .25s ease;box-shadow:var(--shadow-modal)}body.mobile-sidebar-open .ls-sidebar{left:0}.mobile-sidebar-toggle{display:block;position:fixed;left:8px;top:50%;transform:translateY(-50%);z-index:999;background:var(--accent-fill);color:var(--accent-fg);border:none;border-radius:0 8px 8px 0;padding:12px 8px;font-size:16px;cursor:pointer;box-shadow:var(--shadow-popover)}.mobile-sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:999}.print-content{padding:8px}.bundle-sheet{transform-origin:top center;width:100%!important;max-width:100vw;overflow:hidden}.lp-subtabs{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap}.lp-subtabs::-webkit-scrollbar{display:none}.lp-subtab{white-space:nowrap;flex-shrink:0;font-size:12px;padding:8px 14px}.settings-file-section{flex-wrap:wrap;gap:8px}.settings-content{padding:12px}.settings-section h3{font-size:16px}.settings-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;scrollbar-width:none}.settings-tabs::-webkit-scrollbar{display:none}.settings-tab{white-space:nowrap;flex-shrink:0;font-size:11px;padding:8px 12px}.btn,.settings-tab,.tab,.lp-subtab{min-height:44px;display:inline-flex;align-items:center;justify-content:center}.bundle-list-item{min-height:48px;padding:12px 14px;font-size:14px}.ls-sidebar-item{min-height:44px;font-size:14px}.gear-btn{min-width:44px;min-height:44px;font-size:20px}.print-btn{min-height:44px;padding:8px 16px}.dialog-content,.modal-content{width:95vw!important;max-width:95vw!important;margin:10px}.sum-table-header,.sum-table-row,.cl-table-header,.cl-table-row,.tl-table-header,.tl-table-row{font-size:11px;gap:4px;padding:6px 8px}}.mobile-back-btn{display:none}@media (max-width: 480px){.mobile-back-btn{display:block;background:var(--bg-elevated);color:var(--accent);border:none;padding:12px 16px;font-size:15px;font-weight:600;font-family:inherit;cursor:pointer;border-bottom:1px solid var(--border);text-align:left}.mobile-back-btn:active{background:var(--bg-input)}}body{overscroll-behavior:contain}.ls-sidebar-scroll,.bundle-list-items,.print-content,.cable-rows,.detail-panel,.settings-content{-webkit-overflow-scrolling:touch}@supports (-webkit-touch-callout: none){.app{height:-webkit-fill-available}}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}@media (pointer: coarse){.btn,.settings-tab,.tab,.lp-subtab{min-height:44px;display:inline-flex;align-items:center;justify-content:center}.bundle-list-item{min-height:48px}.ls-sidebar-item{min-height:44px}*::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb)!important}}@media (prefers-reduced-motion: reduce){.ls-sidebar{transition:none}}:root{color-scheme:light;--bg-body: #eaeaea;--bg-surface: #ffffff;--bg-surface-alt: #f4f4f4;--bg-elevated: #d8d8d8;--bg-input: #ffffff;--bg-hover: #d0d0d0;--text-primary: #1a1a1a;--text-secondary: #444444;--text-muted: #616161;--border: #c0c0c0;--border-strong: #8f8f8f;--border-light: #d8d8d8;--accent: #7d560f;--accent-fill: #F2A848;--accent-fg: #1a1a1a;--accent-bg: rgba(125, 86, 15, .1);--success: #1b6e1f;--error: #b71c1c;--warning: #c44300;--shadow: 0 1px 3px rgba(0,0,0,.1);--shadow-popover: 0 6px 24px rgba(0,0,0,.25);--shadow-modal: 0 20px 60px rgba(0,0,0,.35);--scrollbar-thumb: rgba(0,0,0,.2);--scrollbar-hover: rgba(0,0,0,.35)}[data-theme=dark]{color-scheme:dark;--bg-body: #3a3a3a;--bg-surface: #333333;--bg-surface-alt: #383838;--bg-elevated: #444444;--bg-input: #505050;--bg-hover: #4a4a4a;--text-primary: #e0e0e0;--text-secondary: #bbbbbb;--text-muted: #a6a6a6;--border: #555555;--border-strong: #8a8a8a;--border-light: #444444;--accent: #F2A848;--accent-fill: #F2A848;--accent-fg: #1a1a1a;--accent-bg: rgba(242, 168, 72, .12);--success: #66bb6a;--error: #f1948a;--warning: #F2A848;--shadow: none;--shadow-popover: 0 6px 24px rgba(0,0,0,.5);--shadow-modal: 0 20px 60px rgba(0,0,0,.6);--scrollbar-thumb: rgba(255,255,255,.2);--scrollbar-hover: rgba(255,255,255,.35)}*{margin:0;padding:0;box-sizing:border-box}*::-webkit-scrollbar{width:6px;height:6px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:transparent;border-radius:3px;transition:background .3s}*:hover::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb)}*:hover::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-hover)}body{font-family:-apple-system,BlinkMacSystemFont,Helvetica Neue,Arial,sans-serif;font-size:13px;background:var(--bg-body);color:var(--text-primary);-webkit-font-smoothing:antialiased}.app{display:flex;flex-direction:column;height:100vh}.toolbar{display:flex;align-items:center;gap:10px;padding:10px 20px;background:var(--bg-elevated);border-bottom:2px solid var(--accent-fill);color-scheme:dark;--bg-body: #3a3a3a;--bg-surface: #333333;--bg-surface-alt: #383838;--bg-elevated: #444444;--bg-input: #505050;--bg-hover: #4a4a4a;--text-primary: #e0e0e0;--text-secondary: #bbbbbb;--text-muted: #a6a6a6;--border: #555555;--border-strong: #8a8a8a;--border-light: #444444;--accent: #F2A848;--accent-fill: #F2A848;--accent-fg: #1a1a1a;--accent-bg: rgba(242, 168, 72, .12)}.toolbar-production-name{font-weight:700;font-size:15px;color:var(--text-primary);letter-spacing:.3px}.toolbar-production-select{font-weight:700;font-size:15px;color:var(--text-primary);letter-spacing:.3px;background:transparent;border:none;cursor:pointer;font-family:inherit}.toolbar-production-select option{background:var(--bg-elevated);color:var(--text-primary)}.toolbar-spacer{flex:1}.toolbar-logo{height:44px;opacity:.85}.theme-toggle-btn{background:none;border:none;cursor:pointer;font-size:18px;padding:4px 6px;border-radius:6px;transition:background .15s;opacity:.7}.theme-toggle-btn:hover{background:var(--bg-hover);opacity:1}.btn{padding:6px 16px;background:var(--bg-input);color:var(--text-secondary);border:1px solid var(--border);border-radius:6px;cursor:pointer;font-size:12px;font-weight:600;font-family:inherit;white-space:nowrap;transition:all .15s ease}.btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border)}.btn:active{transform:scale(.97)}.btn-sm{padding:4px 12px;font-size:11px;border-radius:5px}.btn-save{background:#2e7d32;color:#e8f5e9;border-color:#43a047}.btn-save:hover{background:#27632a;color:#fff}.btn-danger{background:#b71c1c;color:#fff;border-color:#8e1515}.btn-danger:hover{background:#9e1818;color:#fff}.btn-accent{background:var(--accent-fill);color:var(--accent-fg);border-color:var(--accent)}.btn-accent:hover{background:#e09a3e;color:var(--accent-fg)}button:focus-visible,[role=button]:focus-visible,[role=option]:focus-visible,[role=checkbox]:focus-visible,[role=tab]:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.unbutton{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;padding:0;margin:0;font:inherit;color:inherit;text-align:inherit;cursor:pointer;width:100%}.tab-bar{display:flex;gap:0;background:var(--bg-surface);border-bottom:1px solid var(--border-light);padding:0 16px}.tab{padding:8px 20px;background:transparent;border:none;color:var(--text-muted);font-size:12px;font-weight:600;font-family:inherit;cursor:grab;border-bottom:2px solid transparent;border-left:2px solid transparent;transition:all .15s ease;text-transform:uppercase;letter-spacing:.5px}.tab:hover{color:var(--text-secondary)}.tab:active{cursor:grabbing}.tab-active{color:var(--text-primary);border-bottom-color:var(--accent);font-weight:700}.tab-dragging{opacity:.4;cursor:grabbing}.tab-drag-over{border-left-color:var(--accent)}.tab-divider{width:1px;background:var(--border);margin:6px 4px;flex-shrink:0}.tab-split-controls{margin-left:auto;display:flex;align-items:center;gap:6px;padding:3px 0;flex-shrink:0}.tab-split-btn{background:transparent;border:1px solid var(--border-strong);border-radius:5px;color:var(--text-muted);font-size:11px;font-weight:600;font-family:inherit;padding:4px 10px;cursor:pointer;text-transform:uppercase;letter-spacing:.5px;transition:all .15s ease}.tab-split-btn:hover{color:var(--text-primary);border-color:var(--accent)}.tab-split-select{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:4px 6px;max-width:150px}.tab-split-close{background:transparent;border:1px solid var(--border-strong);border-radius:5px;color:var(--text-muted);font-size:13px;line-height:1;font-family:inherit;padding:4px 8px;cursor:pointer}.tab-split-close:hover{color:var(--text-primary);border-color:var(--accent)}.tab.tab-split-active{border-bottom-color:var(--border-strong)}.tab-panes{display:flex;flex-direction:column;flex:1;min-height:0}.tab-panes-split{flex-direction:row}.tab-panes-split .ka-pane{min-width:0;overflow:hidden}.tab-panes-split .pane-left{order:0;flex:0 0 var(--split-ratio, 50%)}.tab-panes-split .pane-divider{order:1;flex:0 0 5px;cursor:col-resize;background:var(--border-strong);transition:background .15s ease}.tab-panes-split .pane-divider:hover{background:var(--accent)}.tab-panes-split .pane-right{order:2;flex:1 1 0}.lp-pane{display:flex;flex-direction:column;flex:1;min-height:0}.main-content{display:flex;flex:1;overflow:hidden}.detail-panel{flex:1;overflow-y:auto}.empty-state{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-size:15px;font-weight:500}input,select{font-family:inherit;background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border-strong);border-radius:5px;padding:5px 8px;font-size:13px;transition:all .15s ease}input:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 30%,transparent);background:var(--bg-input)}input::placeholder{color:var(--text-secondary)}input[type=checkbox]{accent-color:var(--accent);width:14px;height:14px}.dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:100}.dialog{background:var(--bg-elevated);border:1px solid var(--border);border-radius:12px;padding:24px;min-width:380px;box-shadow:var(--shadow-modal)}.dialog h3{margin-bottom:16px;font-size:16px;font-weight:700;color:var(--text-primary)}.dialog-message{margin:12px 0;color:var(--text-primary)}.dialog-form{display:flex;flex-direction:column;gap:10px}.dialog-form label{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.dialog-form input,.dialog-form select{width:100%}.dialog-buttons{display:flex;gap:8px;margin-top:20px;justify-content:flex-end}.pc-items{display:flex;flex-direction:column;gap:6px;max-height:320px;overflow-y:auto;margin-top:10px}.pc-item{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}.pc-progress{position:fixed;bottom:16px;right:16px;z-index:2000;background:var(--bg-elevated);border:1px solid var(--border-light);border-radius:8px;padding:8px 14px;font-size:12px;color:var(--text-secondary);box-shadow:0 2px 12px #0000004d}@media print{@page{size:portrait;margin:0}html,body,#root{margin:0!important;padding:0!important;height:auto!important;overflow:visible!important}.toolbar,.tab-bar,.lp-subtabs,.dialog-overlay,.settings-page,.settings-gear-btn,.pc-progress{display:none!important}.app{height:auto!important;overflow:visible!important;display:block!important}.tab-panes{display:block!important;height:auto!important;overflow:visible!important}.ka-pane{display:block!important;overflow:visible!important}.ka-pane.pane-print-hide,.pane-divider{display:none!important}.print-content{overflow:visible!important;display:block!important}}.undo-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:var(--bg-surface);color:var(--accent);border:1px solid var(--accent);padding:8px 20px;border-radius:6px;font-size:13px;font-weight:500;z-index:9999;pointer-events:none;animation:undo-fade 2s ease-out}@keyframes undo-fade{0%,70%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.license-gate{--lg-accent: #F2A848;position:fixed;top:0;right:0;bottom:0;left:0;overflow-y:auto;background:#16161d;color:#e8e8ec;padding:28px 36px 24px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-user-select:none;user-select:none}.license-gate h1{font-size:26px;margin:0;font-weight:700;letter-spacing:.5px}.lg-accent{color:var(--lg-accent)}.lg-version{margin:2px 0 14px;font-size:12px;color:#80808c}.lg-message{font-size:14px;color:#b9b9c3;margin:0 0 14px;min-height:20px}.lg-input{width:100%;box-sizing:border-box;min-height:96px;resize:none;background:#12121a;color:#e8e8ec;border:1px solid #34343f;border-radius:8px;padding:10px 12px;font:12px/1.5 ui-monospace,Menlo,monospace;-webkit-user-select:text;user-select:text}.lg-input:focus{outline:none;border-color:var(--lg-accent)}.lg-actions{display:flex;justify-content:flex-end;gap:10px;margin:14px 0 6px}.lg-btn{background:#26262f;color:#e8e8ec;border:1px solid #3a3a45;border-radius:8px;padding:8px 18px;font-size:13px;cursor:pointer}.lg-btn:hover{background:#2e2e39}.lg-btn-primary{background:var(--lg-accent);border-color:var(--lg-accent);color:#16161d;font-weight:600}.lg-btn-primary:hover{background:#f7b968}.lg-btn-primary:disabled{opacity:.4;cursor:default}.lg-error{background:#3a1d1d;border:1px solid #6e2f2f;color:#f0b6b6;border-radius:8px;padding:8px 12px;font-size:13px;margin:10px 0 0}.lg-accepted{padding:28px 0;text-align:center}.lg-accepted-name{font-size:16px;color:var(--lg-accent)}.lg-hint{margin-top:14px;font-size:11px;color:#6c6c78;word-break:break-all}.license-gate code{background:#12121a;border-radius:4px;padding:1px 5px;font-size:11px;-webkit-user-select:text;user-select:text}.lg-link{background:none;border:none;color:var(--lg-accent);font-size:inherit;cursor:pointer;padding:0;text-decoration:underline}.web-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-body);color:var(--text-primary);padding:24px}.web-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-modal);padding:28px;width:100%;max-width:420px}.web-card.web-card-wide{max-width:640px}.web-brand{display:flex;align-items:baseline;gap:8px;margin-bottom:18px}.web-brand h1{font-size:22px;margin:0}.web-brand span{color:var(--accent);font-size:13px;font-weight:600}.web-brand-logo{height:30px;display:block}.web-brand-logo-on-dark{display:none}[data-theme=dark] .web-brand-logo-on-dark{display:block}[data-theme=dark] .web-brand-logo-on-light{display:none}.web-form{display:flex;flex-direction:column;gap:12px}.web-form label{font-size:13px;color:var(--text-secondary);display:flex;flex-direction:column;gap:4px}.web-form input{background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border);border-radius:6px;padding:8px 10px;font-size:14px}.web-form input:focus{outline:2px solid var(--accent);outline-offset:1px}.web-error{color:var(--error);font-size:13px;padding:8px 10px;border:1px solid var(--error);border-radius:6px;background:color-mix(in srgb,var(--error) 8%,transparent)}.web-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.web-topline .web-user{color:var(--text-muted);font-size:13px}.web-show-list{display:flex;flex-direction:column;gap:8px;margin:14px 0}.web-show-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:8px;background:var(--bg-surface-alt);cursor:pointer;text-align:left;color:var(--text-primary);font:inherit;width:100%}.web-show-row:hover{border-color:var(--accent);background:var(--accent-bg)}.web-show-row .web-show-name{font-weight:600;flex:1}.web-show-row .web-show-meta{color:var(--text-muted);font-size:12px}.web-role-badge{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;border-radius:10px;border:1px solid var(--border-strong);color:var(--text-secondary)}.web-role-badge.web-role-admin{border-color:var(--accent);color:var(--accent)}.web-role-badge.web-role-editor{border-color:var(--success);color:var(--success)}.web-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.web-empty{color:var(--text-muted);font-size:14px;padding:18px 0;text-align:center}.web-lock-badge{font-size:12px;font-weight:600;padding:2px 10px;border-radius:10px;border:1px solid var(--warning);color:var(--warning);white-space:nowrap}.web-lock-banner{display:flex;align-items:center;justify-content:center;gap:14px;padding:8px 16px;background:color-mix(in srgb,var(--warning) 14%,var(--bg-surface));border-bottom:1px solid var(--warning);color:var(--text-primary);font-size:13px}.web-conflict-list{display:flex;flex-direction:column;gap:10px;max-height:320px;overflow-y:auto;margin-bottom:6px}.web-conflict{border:1px solid var(--border);border-radius:8px;padding:10px 12px;background:var(--bg-surface-alt)}.web-conflict-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:6px}.web-conflict-fields{width:100%;font-size:12px;border-collapse:collapse;margin-bottom:8px}.web-conflict-fields td{border:1px solid var(--border-light);padding:3px 8px;color:var(--text-secondary)}.web-conflict-fields td:first-child{color:var(--text-muted);width:30%}.web-radio{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text-primary);cursor:pointer}.web-admin-table{width:100%;border-collapse:collapse;font-size:13px}.web-admin-table th{text-align:left;color:var(--text-muted);font-weight:600;padding:6px 10px;border-bottom:1px solid var(--border);white-space:nowrap}.web-admin-table td{padding:6px 10px;border-bottom:1px solid var(--border-light);color:var(--text-primary)}.web-row-disabled td{opacity:.45}.web-admin-heading{font-size:15px;margin:20px 0 8px;color:var(--text-primary)}.web-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;color:var(--text-muted);background:var(--bg-body)}
