:root{--bg-dark: #0f172a;--bg-panel: #1e293b;--bg-card: #334155;--border-color: #475569;--border-highlight: #64748b;--text-main: #f8fafc;--text-muted: #cbd5e1;--text-dim: #94a3b8;--accent-cyan: #06b6d4;--accent-blue: #3b82f6;--accent-green: #10b981;--accent-amber: #f59e0b;--accent-red: #ef4444;--font-main: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "Fira Code", monospace}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-main);background-color:var(--bg-dark);color:var(--text-main);line-height:1.5;overflow-x:hidden;min-height:100vh}#app{display:flex;flex-direction:column;height:100vh;width:100vw}.header-nav{display:flex;align-items:center;justify-content:space-between;background:var(--bg-panel);border-bottom:2px solid var(--border-color);padding:.5rem 1.5rem;height:60px;z-index:100}.brand-badge{display:flex;align-items:center;gap:.75rem}.brand-logo{width:34px;height:34px;background:linear-gradient(135deg,var(--accent-cyan),var(--accent-blue));border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.2rem;color:#fff}.brand-title{font-weight:800;font-size:1.2rem;color:var(--text-main)}.brand-subtitle{font-size:.75rem;color:var(--accent-cyan);background:#06b6d41a;padding:2px 8px;border-radius:12px;border:1px solid rgba(6,182,212,.3)}.primary-tabs{display:flex;background:var(--bg-dark);padding:4px;border-radius:10px;border:1px solid var(--border-color);gap:4px}.tab-btn{padding:8px 16px;border:none;background:transparent;color:var(--text-muted);font-weight:600;font-size:.85rem;border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .2s ease}.tab-btn.active{background:linear-gradient(135deg,var(--accent-blue),#2563eb);color:#fff;box-shadow:0 4px 12px #2563eb66}.nav-controls{display:flex;align-items:center;gap:.75rem}.level-selector{display:flex;align-items:center;gap:.5rem;background:var(--bg-card);padding:4px 12px;border-radius:8px;border:1px solid var(--border-color)}.level-select-dropdown{background:transparent;color:var(--text-main);border:none;font-family:var(--font-main);font-weight:600;font-size:.85rem;cursor:pointer;outline:none}.nav-btn{padding:8px 14px;border-radius:8px;font-weight:600;font-size:.85rem;cursor:pointer;border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-main)}.nav-btn-icon{background:transparent;border:none;color:var(--text-main);font-family:var(--font-main);font-weight:700;font-size:.78rem;padding:4px 8px;border-radius:6px;cursor:pointer;transition:all .2s ease}.nav-btn-icon:hover:not(:disabled){background:var(--bg-dark);color:var(--accent-cyan)}.physical-workbench-layout{display:flex;flex:1;height:calc(100vh - 60px);overflow:hidden;background:var(--bg-dark);position:relative}.sidebar-header-row{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-color);padding-bottom:8px;margin-bottom:4px}.btn-sidebar-toggle{background:var(--bg-card);border:1px solid var(--border-color);color:var(--accent-cyan);font-size:.75rem;font-weight:800;width:26px;height:26px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.btn-sidebar-toggle:hover{background:var(--accent-cyan);color:#000}.left-wire-sidebar{width:235px;background:var(--bg-panel);border-right:2px solid var(--border-color);padding:14px;display:flex;flex-direction:column;gap:12px;z-index:20;transition:all .25s cubic-bezier(.4,0,.2,1);flex-shrink:0}.left-wire-sidebar.collapsed{width:48px;padding:10px 6px;align-items:center}.left-wire-sidebar.collapsed .sidebar-title,.left-wire-sidebar.collapsed .wire-color-spools,.left-wire-sidebar.collapsed>div:last-child{display:none}.sidebar-title{font-weight:800;font-size:.8rem;color:var(--accent-cyan);letter-spacing:.04em}.wire-color-spools{display:flex;flex-direction:column;gap:10px}.spool-btn{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--bg-card);border:2px solid var(--border-color);border-radius:10px;color:var(--text-main);cursor:pointer;transition:all .2s ease;text-align:left}.spool-btn:hover{border-color:var(--accent-cyan);transform:translate(3px)}.spool-btn.active{border-color:var(--accent-amber);background:#f59e0b26;box-shadow:0 0 12px #f59e0b4d}.spool-icon{font-size:1.2rem}.spool-info strong{display:block;font-size:.8rem}.spool-info small{font-size:.65rem;color:var(--text-muted)}.btn-eye-toggle{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-main);font-size:.85rem;width:32px;height:44px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.btn-eye-toggle:hover{border-color:var(--accent-cyan)}.btn-eye-toggle.hidden-color{opacity:.4;filter:grayscale(1)}.right-opdrachten-sidebar{width:380px;background:var(--bg-panel);border-left:2px solid var(--border-color);padding:14px;display:flex;flex-direction:column;gap:12px;z-index:20;transition:all .25s cubic-bezier(.4,0,.2,1);flex-shrink:0}.right-opdrachten-sidebar.collapsed{width:48px;padding:10px 6px;align-items:center}.right-opdrachten-sidebar.collapsed .sidebar-title,.right-opdrachten-sidebar.collapsed .assignment-stepper-tabs,.right-opdrachten-sidebar.collapsed .single-assignment-container{display:none}.assignment-stepper-tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px}.stepper-tab-btn{padding:6px 10px;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-muted);font-size:.75rem;font-weight:800;cursor:pointer;transition:all .2s ease;white-space:nowrap}.stepper-tab-btn:hover:not(:disabled){border-color:var(--accent-cyan);color:#fff}.stepper-tab-btn.active{background:var(--accent-blue);color:#fff;border-color:var(--accent-blue)}.stepper-tab-btn.locked{opacity:.45;cursor:not-allowed}.single-assignment-container{flex:1;overflow-y:auto;padding-right:4px}.assignment-card-focused{background:var(--bg-card);border:2px solid var(--border-color);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:10px}.assignment-badge-level{font-family:var(--font-mono);font-size:.65rem;font-weight:800;color:var(--accent-cyan);background:#06b6d426;padding:2px 8px;border-radius:4px;align-self:flex-start}.assignment-title-focused{font-size:1rem;font-weight:900;color:var(--text-main);margin-top:4px}.assignment-situation-box{background:#0f172a99;border:1px solid var(--border-color);border-radius:10px;padding:8px 10px;font-size:.75rem;color:#f8fafc;line-height:1.4}.assignment-goal-box{background:#3b82f61f;border:1px solid rgba(59,130,246,.35);border-radius:10px;padding:8px 10px;font-size:.75rem;color:#93c5fd;line-height:1.4}.assignment-goal-box strong{display:block;color:var(--accent-blue);margin-bottom:2px}.assignment-tips-section{display:flex;flex-direction:column;gap:8px}.assignment-tip-card{font-size:.75rem;color:#fef08a;background:#f59e0b26;padding:8px 10px;border-radius:8px;border:1px solid rgba(245,158,11,.35);animation:fadeIn .2s ease;line-height:1.4}.btn-ask-tip{padding:8px 12px;background:#f59e0b33;border:1px dashed var(--accent-amber);border-radius:8px;color:var(--accent-amber);font-size:.75rem;font-weight:700;cursor:pointer;transition:all .2s ease;text-align:center}.btn-ask-tip:hover{background:var(--accent-amber);color:#000}.preset-locked-notice{font-size:.68rem;font-weight:600;color:#94a3b8;background:#0f172a66;border:1px dashed var(--border-color);padding:6px 8px;border-radius:8px;text-align:center;line-height:1.3}.btn-load-preset{padding:10px 14px;background:linear-gradient(135deg,var(--accent-amber),#d97706);border:none;border-radius:8px;color:#000;font-size:.8rem;font-weight:800;cursor:pointer;transition:all .2s ease;text-align:center}.btn-load-preset:hover{box-shadow:0 4px 12px #f59e0b66;transform:translateY(-1px)}.btn-check-circuit{padding:10px 16px;background:linear-gradient(135deg,var(--accent-green),#059669);border:none;border-radius:8px;color:#fff;font-size:.85rem;font-weight:900;cursor:pointer;transition:all .2s ease;text-align:center;box-shadow:0 4px 12px #10b9814d}.btn-check-circuit:hover{transform:translateY(-2px);box-shadow:0 6px 18px #10b98180}.validation-feedback-box{margin-top:10px;padding:10px 12px;border-radius:10px;font-size:.75rem;font-weight:600;line-height:1.4;animation:fadeIn .25s ease}.validation-feedback-box.pass{background:#10b9812e;border:2px solid #10b981;color:#a7f3d0}.validation-feedback-box.fail{background:#ef44442e;border:2px solid #ef4444;color:#fca5a5}.main-rack-center{flex:1;display:flex;flex-direction:column;position:relative;overflow:hidden}.fault-checker-panel{background:#0f172a;border-bottom:2px solid var(--border-color);padding:8px 16px;display:flex;flex-direction:column;gap:6px;z-index:30}.fault-checker-header{display:flex;align-items:center;justify-content:space-between;font-weight:700;font-size:.8rem;color:var(--text-main)}.status-badge{padding:2px 8px;border-radius:12px;font-size:.7rem;font-weight:800}.status-badge.danger{background:#ef444433;color:#ef4444;border:1px solid #ef4444}.status-badge.success{background:#10b98133;color:#10b981;border:1px solid #10b981}.btn-toggle-test-mode{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-main);padding:4px 10px;border-radius:6px;font-size:.75rem;cursor:pointer;font-weight:600}.fault-checker-body{display:flex;flex-direction:column;gap:8px;margin-top:4px}.diagnostic-card.alert-short{background:#ef444426;border:1px solid #ef4444;border-radius:8px;padding:8px 12px;display:flex;align-items:center;gap:10px;color:#fee2e2;font-size:.8rem}.diagnostic-section{display:flex;flex-direction:column;gap:4px}.section-label{font-size:.7rem;font-weight:700;color:#94a3b8}.net-tags-row{display:flex;flex-wrap:wrap;gap:6px}.net-chip{padding:2px 8px;border-radius:4px;font-size:.7rem;font-family:var(--font-mono)}.net-chip.live{background:#10b98126;color:#34d399;border:1px solid #10b981}.net-chip.floating{background:#f59e0b26;color:#fbbf24;border:1px solid #f59e0b}.workbench-outer-viewport{flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;width:100%;padding:4px}.aluminium-rack-workbench{position:relative;background:linear-gradient(180deg,#cbd5e1,#94a3b8);border:6px solid #64748b;border-radius:12px;display:grid;grid-template-columns:240px 1fr;gap:16px;padding:16px;box-shadow:inset 0 0 20px #0000004d;width:1726px;height:820px;flex-shrink:0;transform-origin:center center;transition:none}.brink-vm16rt-power-panel{background:#f8fafc;border:3px solid #64748b;border-radius:10px;padding:14px 10px;display:flex;flex-direction:column;justify-content:space-between;align-items:center;box-shadow:0 10px 25px #0000004d;color:#0f172a;height:776px!important}.vm16rt-header{text-align:center;width:100%}.brink-logo-badge{display:flex;align-items:center;justify-content:center;gap:4px}.vm16rt-subhead{font-size:.62rem;font-family:var(--font-mono);font-weight:700;color:#64748b;margin-top:2px}.estop-container{display:flex;flex-direction:column;align-items:center}.estop-button{width:54px;height:54px;border-radius:50%;background:radial-gradient(circle,#ef4444 40%,#991b1b);border:4px solid #fef08a;cursor:pointer;box-shadow:0 6px 14px #0006;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:.8rem;color:#fff;transition:all .2s ease}.estop-button.pressed{background:radial-gradient(circle,#7f1d1d 40%,#450a0a);transform:scale(.92);box-shadow:inset 0 4px 8px #000c}.vm16rt-section-divider{width:100%;height:1px;background:#cbd5e1;margin:4px 0}.vm16rt-subpanel{width:100%;display:flex;flex-direction:column;align-items:center;gap:4px}.subpanel-title{font-size:.65rem;font-weight:700;color:#475569}.rotary-switch-box{display:flex;flex-direction:column;align-items:center;gap:2px}.rotary-knob{width:44px;height:44px;border-radius:50%;background:radial-gradient(circle,#334155 40%,#0f172a);border:3px solid #64748b;cursor:pointer;position:relative;transition:transform .3s ease}.rotary-knob .knob-line{width:5px;height:18px;background:#ef4444;position:absolute;top:3px;left:17px;border-radius:2px}.rotary-knob.active{transform:rotate(45deg)}.rotary-labels{display:flex;gap:24px;font-size:.7rem;font-weight:800;color:#64748b}.abb-mcb-container{width:100%;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:8px;padding:6px 10px;display:flex;align-items:center;justify-content:space-between}.mcb-lever-switch{width:36px;height:42px;background:#cbd5e1;border:2px solid #94a3b8;border-radius:4px;position:relative;cursor:pointer;display:flex;align-items:center;justify-content:center}.mcb-lever-handle{width:26px;height:18px;background:#334155;color:#fff;font-size:.65rem;font-weight:800;border-radius:3px;display:flex;align-items:center;justify-content:center;transition:transform .2s ease}.mcb-lever-switch.tripped .mcb-lever-handle{background:#b91c1c;transform:translateY(10px)}.status-led{width:12px;height:12px;border-radius:50%;background:#94a3b8;border:2px solid #64748b}.status-led.active{background:#10b981;box-shadow:0 0 12px #10b981}.vm16rt-terminal-block{width:100%;display:flex;flex-direction:column;gap:6px;background:#e2e8f0;padding:10px;border-radius:8px;border:1px solid #cbd5e1}.term-group-title{font-size:.65rem;font-weight:800;color:#334155;text-align:center}.power-sockets-row{display:flex;justify-around:space-around;align-items:center;width:100%;padding:4px 0}.power-socket-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.power-socket-tag-top{font-family:var(--font-mono);font-size:.6rem;font-weight:800;color:#475569}.power-socket-tag-bottom{font-family:var(--font-mono);font-size:.65rem;font-weight:800;color:#0f172a;white-space:nowrap;margin-top:2px}.vertical-rack-slots-grid-2x8,.vertical-rack-slots-grid-2x7{display:grid;grid-template-columns:repeat(7,190px);grid-template-rows:repeat(2,380px);gap:16px}.vertical-rack-slot-box{background:#0f172a66;border:3px dashed #64748b;border-radius:10px;position:relative;display:flex;align-items:center;justify-content:center;width:190px;height:380px;transition:all .2s ease}.vertical-rack-slot-box.move-target-slot{border-color:var(--accent-cyan)!important;background:#06b6d426!important;box-shadow:0 0 16px #06b6d466}.btn-empty-slot-add{background:transparent;border:none;color:#94a3b8;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;transition:all .2s ease}.btn-empty-slot-add:hover{color:#f8fafc;transform:scale(1.05)}.tall-vertical-brink-panel{position:absolute;inset:0;background:#fff;border:2px solid #94a3b8;border-radius:8px;padding:10px 8px;box-shadow:0 8px 20px #00000040;display:flex;flex-direction:column;align-items:center;color:#0f172a;transition:border-color .2s ease,box-shadow .2s ease}.tall-vertical-brink-panel.active-actuated-panel{border:3px solid #10b981!important;box-shadow:0 0 18px #10b98173!important}.tall-vertical-brink-panel.is-being-moved{border:3px solid var(--accent-cyan)!important;box-shadow:0 0 24px #06b6d499!important;animation:pulseMove 1.2s infinite ease-in-out}@keyframes pulseMove{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}.actuated-state-badge{position:absolute;top:28px;right:10px;background:#10b981;color:#fff;font-family:var(--font-mono);font-weight:800;font-size:.6rem;padding:2px 6px;border-radius:4px;box-shadow:0 2px 6px #10b98166;animation:fadeIn .2s ease}.vertical-panel-header{width:100%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #cbd5e1;padding-bottom:4px}.btn-move-brink-panel{background:#06b6d42e;border:1.5px solid var(--accent-cyan);color:var(--accent-cyan);font-weight:900;font-size:.85rem;width:24px;height:24px;border-radius:6px;cursor:grab;display:flex;align-items:center;justify-content:center;transition:all .15s ease;box-shadow:0 2px 6px #06b6d440}.btn-move-brink-panel:hover,.btn-move-brink-panel.active-moving{background:var(--accent-cyan);color:#0f172a;transform:scale(1.15);box-shadow:0 4px 10px #06b6d480}.btn-remove-brink-panel{background:#ef44442e;border:1.5px solid #ef4444;color:#ef4444;font-weight:900;font-size:.95rem;width:24px;height:24px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;box-shadow:0 2px 6px #ef444440}.btn-remove-brink-panel:hover{background:#ef4444;color:#fff;transform:scale(1.15);box-shadow:0 4px 10px #ef444480}.vertical-control-area{height:75px;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;gap:4px}.yellow-tape-sticker-vertical{background:#fef08a;color:#000;font-family:var(--font-mono);font-weight:800;font-size:.65rem;padding:2px 8px;border:1px solid #eab308;border-radius:3px;box-shadow:0 2px 4px #00000026}.vertical-symbol-area{height:70px;display:flex;align-items:center;justify-content:center;width:100%;opacity:.85;border-top:1px dashed #cbd5e1;margin-top:2px}.terminal-jack.brink-jack{position:absolute;width:36px;height:36px;transform:translate(-50%,-50%);border-radius:50%;cursor:pointer;z-index:10;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 8px #0000004d;transition:box-shadow .15s ease}.terminal-jack.brink-jack.static-jack{position:relative!important;left:auto!important;top:auto!important;transform:none!important}.terminal-jack.brink-jack .jack-core{width:14px;height:14px;border-radius:50%;background:radial-gradient(circle,#fde047 30%,#ca8a04);border:2px solid #854d0e;pointer-events:none}.terminal-jack.brink-jack.brown{background:#b45309!important;border:3px solid #78350f!important}.terminal-jack.brink-jack.blue{background:#2563eb!important;border:3px solid #1d4ed8!important}.terminal-jack.brink-jack.black{background:#0f172a!important;border:3px solid #334155!important}.terminal-jack.brink-jack.green-yellow{background:linear-gradient(135deg,#16a34a 50%,#eab308 50%)!important;border:3px solid #15803d!important}.terminal-jack.brink-jack:hover{box-shadow:0 0 16px #f59e0b,0 0 4px #fff!important}.terminal-jack.selected{box-shadow:0 0 20px #f59e0b,0 0 8px #fff!important;border-color:#f59e0b!important}.terminal-label{position:absolute;bottom:-18px;font-family:var(--font-mono);font-size:.65rem;font-weight:800;color:#0f172a;white-space:nowrap;pointer-events:none;background:#ffffffd9;padding:1px 4px;border-radius:3px}.wires-svg-layer{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:15}.wire-path{fill:none;stroke-width:7px;stroke-linecap:round;pointer-events:stroke;cursor:pointer;transition:stroke-width .15s ease}.wire-path:hover{stroke-width:10px;filter:drop-shadow(0 0 6px currentColor)}.wire-path.live-energized-wire{stroke-width:8px;filter:drop-shadow(0 0 8px #f59e0b) drop-shadow(0 0 4px #fef08a);animation:electricPulse 1.8s infinite ease-in-out}@keyframes electricPulse{0%{filter:drop-shadow(0 0 6px #f59e0b) drop-shadow(0 0 2px #fef08a)}50%{filter:drop-shadow(0 0 12px #f59e0b) drop-shadow(0 0 6px #ffffff)}to{filter:drop-shadow(0 0 6px #f59e0b) drop-shadow(0 0 2px #fef08a)}}.current-flow-overlay{stroke-dasharray:10 14;stroke-linecap:round;pointer-events:none;filter:drop-shadow(0 0 6px #fde047)}.current-flow-overlay.flow-forward{animation:flowForwardAnim .75s linear infinite}.current-flow-overlay.flow-reverse{animation:flowReverseAnim .75s linear infinite}@keyframes flowForwardAnim{0%{stroke-dashoffset:48}to{stroke-dashoffset:0}}@keyframes flowReverseAnim{0%{stroke-dashoffset:0}to{stroke-dashoffset:48}}.bottom-module-tray{height:165px;background:var(--bg-panel);border-top:2px solid var(--border-color);padding:12px 18px;display:flex;flex-direction:column;gap:8px;z-index:40}.tray-header-title{display:flex;align-items:center;gap:8px;font-weight:800;font-size:.8rem;color:var(--accent-cyan)}.tray-scroll-container{display:flex;align-items:center;gap:10px;overflow-x:auto;overflow-y:hidden;padding-bottom:8px;scrollbar-width:thin;scrollbar-color:var(--accent-cyan) rgba(15,23,42,.8)}.tray-scroll-container::-webkit-scrollbar{height:8px;display:block!important}.tray-scroll-container::-webkit-scrollbar-track{background:#0f172acc;border-radius:4px}.tray-scroll-container::-webkit-scrollbar-thumb{background:linear-gradient(90deg,var(--accent-cyan),var(--accent-blue));border-radius:4px;border:1px solid rgba(255,255,255,.1);box-shadow:0 0 6px #06b6d466}.tray-scroll-container::-webkit-scrollbar-thumb:hover{background:#38bdf8}.tray-module-card{min-width:120px;height:88px;background:var(--bg-card);border:2px solid var(--border-color);border-radius:8px;padding:6px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;position:relative;flex-shrink:0}.tray-module-card:hover{border-color:var(--accent-cyan);transform:translateY(-3px);background:#475569;box-shadow:0 4px 12px #06b6d440}.tray-card-icon-svg{width:42px;height:42px;display:flex;align-items:center;justify-content:center}.tray-card-name{font-size:.72rem;font-weight:800;color:var(--text-main);text-align:center;margin-top:2px}.tray-card-yellow-tag{background:#fef08a;color:#000;font-family:var(--font-mono);font-size:.58rem;font-weight:800;padding:1px 4px;border-radius:2px}.tray-hover-popover{position:absolute;bottom:96px;left:50%;transform:translate(-50%) translateY(10px);width:260px;background:#0f172a;border:2px solid var(--accent-cyan);border-radius:10px;padding:10px 12px;box-shadow:0 10px 30px #0009;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,transform .2s ease;z-index:200;text-align:left}.tray-hover-popover:after{content:"";position:absolute;bottom:-8px;left:50%;transform:translate(-50%);border-width:8px 8px 0;border-style:solid;border-color:var(--accent-cyan) transparent;display:block;width:0}.tray-module-card:hover .tray-hover-popover{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.popover-header{font-size:.8rem;font-weight:800;color:var(--accent-cyan);border-bottom:1px solid var(--border-color);padding-bottom:4px;margin-bottom:6px}.popover-desc{font-size:.7rem;color:var(--text-muted);line-height:1.35;margin-bottom:8px}.popover-footer{display:flex;flex-direction:column;gap:4px;font-size:.65rem}.popover-wires{font-family:var(--font-mono);color:#cbd5e1}.popover-action{font-weight:700;color:var(--accent-amber)}.naslagwerk-container{padding:24px;max-width:1400px;margin:0 auto;overflow-y:auto;height:calc(100vh - 60px);position:relative}.naslagwerk-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;background:var(--bg-panel);padding:16px 20px;border-radius:12px;border:1px solid var(--border-color)}.naslagwerk-header h2{font-size:1.3rem;font-weight:800;color:var(--text-main)}.naslagwerk-header p{font-size:.85rem;color:var(--text-muted)}.naslagwerk-search-box{display:flex;align-items:center;gap:8px;background:var(--bg-dark);border:1px solid var(--border-color);padding:8px 14px;border-radius:10px;width:340px}.naslagwerk-search-input{background:transparent;border:none;outline:none;color:var(--text-main);font-family:var(--font-main);font-size:.85rem;width:100%}.naslagwerk-filter-bar{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.filter-chip{padding:6px 14px;border-radius:20px;border:1px solid var(--border-color);background:var(--bg-panel);color:var(--text-muted);font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease}.filter-chip:hover{border-color:var(--accent-cyan);color:var(--text-main)}.filter-chip.active{background:var(--accent-blue);color:#fff;border-color:var(--accent-blue)}.naslagwerk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:20px;padding-bottom:40px}.naslagwerk-card.clickable-card{background:var(--bg-panel);border:2px solid var(--border-color);border-radius:12px;padding:18px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 4px 12px #0003;transition:all .2s ease;cursor:pointer}.naslagwerk-card.clickable-card:hover{border-color:var(--accent-cyan);transform:translateY(-3px);box-shadow:0 8px 24px #06b6d440}.naslagwerk-card-header{display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid var(--border-color);padding-bottom:10px;margin-bottom:12px}.naslagwerk-photo-frame{width:80px;height:100px;background:#fff;border-radius:8px;overflow:hidden;border:2px solid #cbd5e1;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 8px #00000040;flex-shrink:0;position:relative;transition:transform .2s ease,border-color .2s ease}.naslagwerk-photo-img{width:100%;height:100%;object-fit:contain}.photo-zoom-badge{position:absolute;bottom:0;inset-x:0;background:#0f172ae6;color:var(--accent-cyan);font-size:.55rem;font-weight:800;text-align:center;padding:2px 0}.naslagwerk-svg-mini{width:36px;height:36px;opacity:.85}.naslagwerk-title{font-size:1rem;font-weight:800;color:var(--text-main)}.naslagwerk-tape-tag{background:#fef08a;color:#000;font-family:var(--font-mono);font-weight:800;font-size:.65rem;padding:2px 6px;border-radius:4px}.naslagwerk-card-body{display:flex;flex-direction:column;gap:10px;flex:1}.naslagwerk-section{background:var(--bg-dark);padding:10px 12px;border-radius:8px;border:1px solid var(--border-color)}.naslagwerk-section.alert-section{background:#f59e0b1a;border-color:#f59e0b4d}.naslagwerk-section-title{font-size:.75rem;font-weight:800;color:var(--accent-cyan);margin-bottom:2px}.naslagwerk-text{font-size:.75rem;color:var(--text-muted);line-height:1.4}.naslagwerk-terminals-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px}.naslagwerk-term-chip{padding:2px 8px;border-radius:4px;font-family:var(--font-mono);font-size:.65rem;font-weight:700;border:1px solid var(--border-color);background:var(--bg-card)}.naslagwerk-term-chip.brown{border-color:#b45309;color:#fde68a}.naslagwerk-term-chip.blue{border-color:#2563eb;color:#93c5fd}.naslagwerk-term-chip.black{border-color:#475569;color:#f8fafc}.naslagwerk-term-chip.green-yellow{border-color:#16a34a;color:#86efac}.naslagwerk-card-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--border-color);padding-top:12px;margin-top:12px}.naslagwerk-family-tag{font-family:var(--font-mono);font-size:.7rem;font-weight:800;color:var(--text-dim)}.btn-add-to-board{padding:6px 12px;background:linear-gradient(135deg,var(--accent-blue),#2563eb);border:none;border-radius:6px;color:#fff;font-size:.75rem;font-weight:700;cursor:pointer}.btn-add-to-board:hover{box-shadow:0 4px 10px #2563eb66}.lightbox-portal-wrapper{position:fixed;inset:0;z-index:9999}.lightbox-overlay{position:fixed;inset:0;background:#0f172ae0;backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:24px;animation:fadeIn .2s ease}.lightbox-content{background:var(--bg-panel);border:2px solid var(--accent-cyan);border-radius:16px;width:920px;max-width:95vw;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 25px 60px #000000e6;padding:28px}.lightbox-close-btn{position:absolute;top:18px;right:18px;background:#ef4444;border:2px solid #b91c1c;color:#fff;font-size:1.3rem;font-weight:900;width:44px;height:44px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:20;box-shadow:0 4px 12px #ef444466}.lightbox-close-btn:hover{transform:scale(1.1);background:#dc2626;box-shadow:0 6px 16px #ef444499}.lightbox-grid{display:grid;grid-template-columns:340px 1fr;gap:28px}.lightbox-photo-container{background:#fff;border-radius:12px;padding:20px;border:3px solid #cbd5e1;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 8px 20px #0000004d}.lightbox-big-img{width:100%;height:400px;object-fit:contain}.lightbox-photo-caption{font-family:var(--font-mono);font-size:.7rem;font-weight:700;color:#64748b;margin-top:12px;text-align:center}.lightbox-details{display:flex;flex-direction:column;justify-content:space-between}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}
