:root{--bg-main: #0b111e;--bg-surface: #111b2d;--bg-card: rgba(22, 33, 56, .75);--bg-card-hover: rgba(28, 43, 72, .9);--bg-glass: rgba(17, 27, 45, .85);--border-color: rgba(66, 153, 225, .18);--border-focus: #38bdf8;--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-muted: #64748b;--text-inverse: #0b111e;--accent-primary: #0284c7;--accent-secondary: #0ea5e9;--accent-glow: rgba(14, 165, 233, .35);--color-success: #10b981;--color-success-bg: rgba(16, 185, 129, .15);--color-warning: #f59e0b;--color-warning-bg: rgba(245, 158, 11, .15);--color-danger: #ef4444;--color-danger-bg: rgba(239, 68, 68, .15);--color-info: #3b82f6;--color-info-bg: rgba(59, 130, 246, .15);--color-purple: #8b5cf6;--color-purple-bg: rgba(139, 92, 246, .15);--font-family: "Outfit", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .25);--shadow-md: 0 8px 24px rgba(0, 0, 0, .35);--shadow-lg: 0 16px 40px rgba(0, 0, 0, .45);--shadow-glow: 0 0 25px var(--accent-glow);--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--radius-full: 9999px;--transition-fast: .2s cubic-bezier(.4, 0, .2, 1);--transition-normal: .3s cubic-bezier(.4, 0, .2, 1)}[data-theme=light]{--bg-main: #f4f7fb;--bg-surface: #ffffff;--bg-card: rgba(255, 255, 255, .95);--bg-card-hover: #ffffff;--bg-glass: rgba(255, 255, 255, .9);--border-color: rgba(148, 163, 184, .25);--border-focus: #0284c7;--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #94a3b8;--text-inverse: #ffffff;--accent-primary: #0284c7;--accent-secondary: #0369a1;--accent-glow: rgba(2, 132, 199, .2);--shadow-sm: 0 2px 8px rgba(15, 23, 42, .06);--shadow-md: 0 8px 20px rgba(15, 23, 42, .08);--shadow-lg: 0 16px 36px rgba(15, 23, 42, .12)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-family);background-color:var(--bg-main);color:var(--text-primary);line-height:1.6;min-height:100vh;display:flex;flex-direction:column;background-image:radial-gradient(at 0% 0%,rgba(14,165,233,.12) 0px,transparent 50%),radial-gradient(at 100% 100%,rgba(139,92,246,.08) 0px,transparent 50%);background-attachment:fixed;overflow-x:hidden}.app-header{background:var(--bg-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:100;padding:.85rem 1.5rem;transition:var(--transition-normal)}.header-container{max-width:1400px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.logo-group{display:flex;align-items:center;gap:.85rem;text-decoration:none;color:var(--text-primary);cursor:default;-webkit-user-select:none;user-select:none}.logo-badge{background:linear-gradient(135deg,var(--accent-primary),#38bdf8);color:#fff;width:44px;height:44px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.3rem;box-shadow:0 4px 14px var(--accent-glow)}.logo-text h1{font-size:1.2rem;font-weight:700;letter-spacing:-.02em;display:flex;align-items:center;gap:.5rem}.logo-tag{background:var(--color-warning-bg);color:var(--color-warning);font-size:.7rem;font-weight:800;padding:.2rem .5rem;border-radius:var(--radius-full);border:1px solid rgba(245,158,11,.3);text-transform:uppercase}.logo-text p{font-size:.78rem;color:var(--text-secondary)}.nav-tabs{display:flex;align-items:center;gap:.4rem;background:#0003;padding:.3rem;border-radius:var(--radius-md);border:1px solid var(--border-color);flex-wrap:wrap}[data-theme=light] .nav-tabs{background:#0000000a}.nav-tab-btn{background:transparent;border:none;color:var(--text-secondary);font-family:inherit;font-size:.88rem;font-weight:600;padding:.55rem 1rem;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:var(--transition-fast)}.nav-tab-btn:hover{color:var(--text-primary);background:#ffffff0d}.nav-tab-btn.active{color:#fff;background:var(--accent-primary);box-shadow:0 2px 10px var(--accent-glow)}.header-actions{display:flex;align-items:center;gap:.6rem}.btn-icon{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-primary);width:38px;height:38px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition-fast)}.btn-icon:hover{border-color:var(--accent-secondary);color:var(--accent-secondary);transform:translateY(-2px)}.app-main{flex:1;max-width:1400px;width:100%;margin:0 auto;padding:1.8rem 1.5rem 3.5rem}.tab-pane{display:none;animation:fadeIn .35s ease-out forwards}.tab-pane.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.hero-banner{background:linear-gradient(135deg,#0ea5e926,#8b5cf61a);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:2rem 2.5rem;margin-bottom:2rem;position:relative;overflow:hidden}.hero-banner:before{content:"";position:absolute;top:-50%;right:-20%;width:300px;height:300px;background:radial-gradient(circle,var(--accent-glow) 0%,transparent 70%);pointer-events:none}.hero-badge{display:inline-flex;align-items:center;gap:.5rem;background:var(--color-info-bg);color:#38bdf8;font-size:.8rem;font-weight:700;padding:.3rem .8rem;border-radius:var(--radius-full);margin-bottom:.8rem;border:1px solid rgba(56,189,248,.25)}.hero-title{font-size:2rem;font-weight:800;line-height:1.25;margin-bottom:.6rem}.hero-desc{color:var(--text-secondary);max-width:800px;font-size:.98rem}.selection-dashboard-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem 1.8rem;margin-bottom:1.8rem;display:flex;flex-direction:column;gap:1.2rem;box-shadow:var(--shadow-sm)}.selection-row{display:flex;flex-direction:column;gap:.6rem}.selection-row-header{display:flex;align-items:center;justify-content:space-between}.selection-row-title{font-size:.92rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#38bdf8;display:flex;align-items:center;gap:.5rem}.segmented-control-group{display:flex;flex-wrap:wrap;gap:.6rem}.segmented-btn{background:var(--bg-surface);border:1.5px solid var(--border-color);color:var(--text-secondary);padding:.65rem 1.1rem;border-radius:var(--radius-md);font-family:inherit;font-size:.88rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:.55rem;transition:var(--transition-fast)}.segmented-btn:hover{background:var(--bg-card-hover);color:var(--text-primary);border-color:var(--accent-secondary);transform:translateY(-1px)}.segmented-btn.active{background:linear-gradient(135deg,var(--accent-primary),#0284c7);border-color:#38bdf8;color:#fff;box-shadow:0 4px 14px var(--accent-glow)}.view-mode-toggle-box{background:#00000040;padding:.4rem;border-radius:var(--radius-md);border:1px solid var(--border-color);display:inline-flex;gap:.4rem;align-self:flex-start}.view-mode-btn{background:transparent;border:none;color:var(--text-secondary);padding:.5rem 1rem;border-radius:var(--radius-sm);font-family:inherit;font-size:.84rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;transition:var(--transition-fast)}.view-mode-btn.active{background:#38bdf8;color:#0b111e;box-shadow:0 2px 8px #38bdf866}.wizard-container{display:grid;grid-template-columns:1fr 380px;gap:2rem;align-items:start}@media (max-width: 1024px){.wizard-container{grid-template-columns:1fr}}.wizard-card{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-md)}.wizard-steps-indicator{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem;position:relative}.wizard-steps-indicator:before{content:"";position:absolute;top:18px;left:30px;right:30px;height:3px;background:var(--border-color);z-index:1}.step-item{display:flex;flex-direction:column;align-items:center;gap:.4rem;position:relative;z-index:2;cursor:pointer}.step-circle{width:36px;height:36px;border-radius:var(--radius-full);background:var(--bg-surface);border:2px solid var(--border-color);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;transition:var(--transition-fast)}.step-item.active .step-circle{background:var(--accent-primary);border-color:#38bdf8;color:#fff;box-shadow:0 0 14px var(--accent-glow)}.step-item.completed .step-circle{background:var(--color-success);border-color:var(--color-success);color:#fff}.step-label{font-size:.78rem;font-weight:600;color:var(--text-secondary)}.step-item.active .step-label{color:var(--text-primary)}.wizard-section-title{font-size:1.3rem;font-weight:700;margin-bottom:1.2rem;display:flex;align-items:center;gap:.6rem;color:var(--text-primary)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.2rem;margin-bottom:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-label{font-size:.88rem;font-weight:600;color:var(--text-secondary);display:flex;align-items:center;justify-content:space-between}.form-input,.form-select{background:var(--bg-surface);border:1px solid var(--border-color);color:var(--text-primary);font-family:inherit;font-size:.95rem;padding:.75rem 1rem;border-radius:var(--radius-md);transition:var(--transition-fast);width:100%}.form-input:focus,.form-select:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px #38bdf82e}.radio-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;margin-bottom:1.5rem}.radio-card{border:1px solid var(--border-color);background:var(--bg-surface);padding:1.1rem;border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-fast);display:flex;flex-direction:column;gap:.5rem;position:relative}.radio-card:hover{border-color:var(--accent-secondary);background:var(--bg-card-hover);transform:translateY(-2px)}.radio-card.selected{border-color:#38bdf8;background:#0ea5e91f;box-shadow:0 0 16px #0ea5e933}.radio-card-header{display:flex;align-items:center;gap:.6rem;font-weight:700;font-size:.95rem}.radio-card-icon{font-size:1.2rem;color:#38bdf8}.radio-card-desc{font-size:.8rem;color:var(--text-secondary)}.checkbox-card{display:flex;align-items:flex-start;gap:.85rem;background:var(--bg-surface);border:1px solid var(--border-color);padding:1rem 1.2rem;border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-fast);margin-bottom:.8rem}.checkbox-card:hover{border-color:var(--accent-secondary)}.checkbox-card input[type=checkbox]{accent-color:var(--accent-primary);width:18px;height:18px;margin-top:.2rem;cursor:pointer}.checkbox-card-info h4{font-size:.92rem;font-weight:700;margin-bottom:.2rem}.checkbox-card-info p{font-size:.8rem;color:var(--text-secondary)}.wizard-btn-bar{display:flex;align-items:center;justify-content:space-between;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.4rem;font-family:inherit;font-size:.92rem;font-weight:700;border-radius:var(--radius-md);cursor:pointer;border:none;transition:var(--transition-fast);text-decoration:none}.btn-primary{background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));color:#fff;box-shadow:0 4px 14px var(--accent-glow)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 18px var(--accent-glow)}.btn-secondary{background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--bg-card-hover);border-color:var(--text-secondary)}.btn-success{background:var(--color-success);color:#fff}.live-summary-card{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.8rem;position:sticky;top:90px;box-shadow:var(--shadow-md)}.category-badge-box{background:linear-gradient(135deg,#0284c733,#8b5cf626);border:2px solid #38bdf8;border-radius:var(--radius-md);padding:1.2rem;text-align:center;margin-bottom:1.5rem;position:relative;overflow:hidden}.category-badge-box.cat-A{border-color:var(--color-success);background:var(--color-success-bg)}.category-badge-box.cat-B{border-color:var(--color-warning);background:var(--color-warning-bg)}.category-badge-box.cat-C{border-color:var(--color-danger);background:var(--color-danger-bg)}.cat-label{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.cat-value{font-size:2.5rem;font-weight:900;line-height:1.1;color:var(--text-primary)}.cat-sub{font-size:.82rem;color:var(--text-secondary);margin-top:.2rem}.quick-checklist{list-style:none;display:flex;flex-direction:column;gap:.8rem}.quick-checklist li{font-size:.85rem;display:flex;align-items:flex-start;gap:.6rem;color:var(--text-secondary)}.quick-checklist li i{margin-top:.2rem;font-size:.9rem}.results-header{background:linear-gradient(135deg,#0ea5e933,#10b98126);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.8rem 2rem;margin-bottom:2rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1.5rem}.results-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem;margin-bottom:2rem}.req-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1.4rem;transition:var(--transition-fast);display:flex;flex-direction:column;gap:.8rem;position:relative}.req-card:hover{border-color:var(--border-focus);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.req-card-top{display:flex;align-items:center;justify-content:space-between}.req-title{font-size:.95rem;font-weight:700;display:flex;align-items:center;gap:.5rem}.r81-ref-badge{background:#38bdf829;color:#38bdf8;font-family:var(--font-mono);font-size:.78rem;font-weight:700;padding:.25rem .65rem;border-radius:var(--radius-full);border:1px solid rgba(56,189,248,.35);cursor:pointer;transition:var(--transition-fast);display:inline-flex;align-items:center;gap:.35rem;text-decoration:none}.r81-ref-badge:before{content:"📖";font-size:.8rem}.r81-ref-badge:hover{background:var(--accent-primary);color:#fff;transform:scale(1.06);box-shadow:0 0 12px var(--accent-glow)}.req-main-text{font-size:1.05rem;font-weight:700;color:var(--text-primary);line-height:1.35}.req-desc{font-size:.83rem;color:var(--text-secondary)}.r81-explorer-layout{display:grid;grid-template-columns:320px 1fr;gap:2rem;align-items:start}@media (max-width: 900px){.r81-explorer-layout{grid-template-columns:1fr}}.r81-sidebar{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.4rem;position:sticky;top:90px}.r81-nav-list{list-style:none;display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.r81-nav-item{padding:.75rem 1rem;border-radius:var(--radius-md);border:1px solid transparent;color:var(--text-secondary);font-size:.88rem;font-weight:600;cursor:pointer;transition:var(--transition-fast);display:flex;align-items:center;justify-content:space-between}.r81-nav-item:hover{background:var(--bg-surface);color:var(--text-primary)}.r81-nav-item.active{background:var(--accent-primary);color:#fff;box-shadow:0 2px 10px var(--accent-glow)}.r81-content-view{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:2.2rem;box-shadow:var(--shadow-md)}.r81-article-header{border-bottom:1px solid var(--border-color);padding-bottom:1.2rem;margin-bottom:1.5rem}.r81-article-title{font-size:1.6rem;font-weight:800;margin-bottom:.4rem}.r81-article-body{font-size:.95rem;line-height:1.8;color:var(--text-secondary);white-space:pre-line}.r81-article-body strong{color:var(--text-primary)}.filters-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:1.8rem}.filter-pills{display:flex;flex-wrap:wrap;gap:.5rem}.filter-pill{background:var(--bg-surface);border:1px solid var(--border-color);color:var(--text-secondary);font-family:inherit;font-size:.84rem;font-weight:600;padding:.45rem 1rem;border-radius:var(--radius-full);cursor:pointer;transition:var(--transition-fast);display:inline-flex;align-items:center;gap:.4rem}.filter-pill:hover,.filter-pill.active{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.detectors-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.5rem}.detector-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.6rem;display:flex;flex-direction:column;gap:1rem;transition:var(--transition-fast);position:relative}.detector-card:hover{border-color:#38bdf8;transform:translateY(-4px);box-shadow:var(--shadow-md)}.detector-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.detector-icon-badge{width:48px;height:48px;border-radius:var(--radius-md);background:#0ea5e926;color:#38bdf8;display:flex;align-items:center;justify-content:center;font-size:1.4rem;flex-shrink:0}.detector-name{font-size:1.08rem;font-weight:700;line-height:1.3}.detector-badge{font-size:.72rem;font-weight:800;padding:.2rem .6rem;border-radius:var(--radius-full);background:var(--color-purple-bg);color:var(--color-purple);border:1px solid rgba(139,92,246,.3);align-self:flex-start}.detector-props-table{width:100%;font-size:.84rem;border-collapse:collapse}.detector-props-table tr td:first-child{color:var(--text-muted);font-weight:600;width:38%;padding:.35rem 0}.detector-props-table tr td:last-child{color:var(--text-primary);padding:.35rem 0}.pros-cons-box{background:var(--bg-surface);border-radius:var(--radius-md);padding:.85rem;font-size:.8rem;display:flex;flex-direction:column;gap:.45rem}.pro-item{color:var(--color-success);display:flex;gap:.4rem}.con-item{color:var(--color-danger);display:flex;gap:.4rem}.wiring-lab-container{display:grid;grid-template-columns:1fr 360px;gap:2rem;align-items:start}@media (max-width: 1024px){.wiring-lab-container{grid-template-columns:1fr}}.simulator-board{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-md)}.sim-schema-visualizer{background:var(--bg-surface);border:2px solid var(--border-color);border-radius:var(--radius-lg);padding:1.8rem;min-height:380px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.circuit-interactive-svg{width:100%;height:320px}.switch-interactive-btn{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-primary);padding:.6rem 1rem;border-radius:var(--radius-md);font-size:.84rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;transition:var(--transition-fast)}.switch-interactive-btn.active{background:var(--color-danger-bg);border-color:var(--color-danger);color:var(--color-danger)}.multimeter-card{background:linear-gradient(135deg,#1e293b,#0f172a);border:2px solid #38bdf8;border-radius:var(--radius-lg);padding:1.8rem;box-shadow:0 0 25px #38bdf833;display:flex;flex-direction:column;gap:1.2rem}.meter-screen{background:#022c22;border:2px solid #059669;border-radius:var(--radius-md);padding:1rem 1.2rem;text-align:right;font-family:var(--font-mono);box-shadow:inset 0 2px 8px #0009}.meter-value{font-size:2.2rem;font-weight:800;color:#34d399;text-shadow:0 0 10px rgba(52,211,153,.5)}.meter-unit{font-size:.9rem;color:#a7f3d0}.meter-status-badge{text-align:center;padding:.75rem;border-radius:var(--radius-md);font-weight:800;font-size:1rem;letter-spacing:.03em;text-transform:uppercase}.meter-status-badge.status-ok{background:var(--color-success-bg);color:var(--color-success);border:1px solid var(--color-success)}.meter-status-badge.status-alarm{background:var(--color-danger-bg);color:var(--color-danger);border:1px solid var(--color-danger);animation:pulseAlarm 1s infinite alternate}.meter-status-badge.status-tamper{background:var(--color-warning-bg);color:var(--color-warning);border:1px solid var(--color-warning)}@keyframes pulseAlarm{0%{box-shadow:0 0 5px #ef444466}to{box-shadow:0 0 20px #ef4444e6}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:1.5rem;opacity:0;visibility:hidden;transition:var(--transition-normal)}.modal-backdrop.open{opacity:1;visibility:visible}.modal-dialog{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);max-width:680px;width:100%;max-height:88vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);transform:scale(.95);transition:var(--transition-normal)}.modal-dialog.modal-wide{max-width:860px}.modal-backdrop.open .modal-dialog{transform:scale(1)}.official-table-callout{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1.1rem;display:flex;flex-direction:column;gap:.75rem;transition:var(--transition-fast)}.official-table-callout:hover{border-color:#38bdf8;box-shadow:0 4px 12px #38bdf814}.sim-btn-wrapper{position:relative;display:inline-flex;align-items:center}.btn-help-sup{position:absolute;top:-8px;right:-8px;background:#0284c7;color:#fff;border:2px solid var(--bg-card);border-radius:999px;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:800;cursor:pointer;box-shadow:0 2px 8px #00000040;transition:var(--transition-fast);padding:0;z-index:5}[data-theme=light] .btn-help-sup{border-color:#fff;background:#0284c7}.btn-help-sup:hover{background:#38bdf8;color:#fff;transform:scale(1.2);box-shadow:0 0 12px #38bdf8b3}.modal-table-tabs{display:flex;gap:.5rem;margin-bottom:1.2rem;border-bottom:1px solid var(--border-color);padding-bottom:.6rem;overflow-x:auto}.modal-table-tab{background:var(--bg-surface);border:1px solid var(--border-color);color:var(--text-secondary);padding:.5rem .9rem;border-radius:var(--radius-sm);font-size:.85rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.4rem;transition:var(--transition-fast);white-space:nowrap}.modal-table-tab:hover{color:var(--text-primary);border-color:#38bdf8}.modal-table-tab.active{background:#0ea5e9;border-color:#38bdf8;color:#fff}.modal-header{padding:1.4rem 1.8rem;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between}.modal-title{font-size:1.25rem;font-weight:800;display:flex;align-items:center;gap:.6rem}.modal-body{padding:1.4rem 1.6rem;overflow-y:auto;font-size:.92rem;line-height:1.6;color:var(--text-secondary)}.modal-official-table{width:100%;border-collapse:collapse;background:var(--bg-card);border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border-color);margin-top:.8rem;font-size:.88rem}[data-theme=light] .modal-official-table{border:1px solid #cbd5e1;background:#fff}.modal-official-table th{background:var(--bg-surface);border:1px solid var(--border-color);padding:.75rem .9rem;font-weight:700;color:var(--text-primary);text-align:center}[data-theme=light] .modal-official-table th{background:#f1f5f9;border:1px solid #cbd5e1;color:#0f172a}.modal-official-table td{border:1px solid var(--border-color);padding:.65rem .9rem;text-align:center;color:var(--text-primary)}[data-theme=light] .modal-official-table td{border:1px solid #e2e8f0}.modal-official-table tr.active-row{background:#38bdf824!important;font-weight:700}[data-theme=light] .modal-official-table tr.active-row{background:#e0f2fe!important}.badge-oui{display:inline-flex;align-items:center;gap:.35rem;background:#22c55e26;color:#16a34a;padding:.2rem .6rem;border-radius:999px;font-weight:700;font-size:.82rem;border:1px solid rgba(34,197,94,.3)}[data-theme=dark] .badge-oui{background:#22c55e33;color:#4ade80;border-color:#22c55e66}.dash-muted{color:var(--text-muted);font-weight:400}.modal-footer{padding:1rem 1.6rem;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1.5rem}.bar-item{margin-bottom:1rem}.bar-header{display:flex;justify-content:space-between;font-size:.85rem;font-weight:600;margin-bottom:.35rem}.bar-track{height:10px;background:#ffffff14;border-radius:var(--radius-full);overflow:hidden}[data-theme=light] .bar-track{background:#00000014}.bar-fill{height:100%;border-radius:var(--radius-full);transition:width 1s ease-out}.app-footer{background:var(--bg-surface);border-top:1px solid var(--border-color);padding:1.5rem;text-align:center;font-size:.84rem;color:var(--text-muted);margin-top:auto}@media (max-width: 1024px){.header-container{flex-direction:column;align-items:stretch;gap:.9rem}.nav-tabs{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:.35rem;width:100%}.nav-tabs::-webkit-scrollbar{display:none}.nav-tab-btn{flex-shrink:0;white-space:nowrap;font-size:.82rem;padding:.5rem .85rem}.wiring-lab-container,.wizard-container{grid-template-columns:1fr;gap:1.5rem}}@media (max-width: 768px){.app-header{padding:.6rem .9rem}.logo-badge{width:38px;height:38px;font-size:1.1rem}.logo-text h1{font-size:1.02rem}.logo-text p{font-size:.7rem}#btn-open-bibliography{font-size:.75rem!important;padding:.35rem .6rem!important}.app-main{padding:1rem .8rem 2.5rem}.hero-banner{padding:1.3rem 1.1rem;margin-bottom:1.2rem;border-radius:var(--radius-md)}.hero-title{font-size:1.35rem;line-height:1.3}.hero-desc{font-size:.86rem}.hero-badge{font-size:.74rem;padding:.25rem .65rem}.selection-dashboard-card{padding:1rem;gap:1rem;border-radius:var(--radius-md)}.segmented-control-group{gap:.4rem}.segmented-btn{flex:1 1 calc(50% - .4rem);font-size:.8rem;padding:.55rem .6rem;justify-content:center;text-align:center}.view-mode-toggle-box{width:100%;display:flex}.view-mode-btn{flex:1;justify-content:center;font-size:.78rem;padding:.45rem .5rem}.sim-btn-wrapper{width:100%;display:flex}.sim-btn-wrapper .btn{width:100%;justify-content:center;font-size:.84rem}.simulator-board{padding:1rem;border-radius:var(--radius-md)}.sim-schema-visualizer{padding:.6rem;min-height:240px;border-radius:var(--radius-md)}.circuit-interactive-svg{height:auto;min-height:200px;max-height:280px}#wiring-test-buttons-bar{gap:.5rem!important}#wiring-test-buttons-bar .switch-interactive-btn{flex:1 1 calc(50% - .35rem);font-size:.78rem;padding:.55rem .6rem;text-align:center;justify-content:center}#wiring-test-buttons-bar #btn-sim-reset{flex:1 1 100%;margin-left:0!important;margin-top:.3rem}.filters-bar{flex-direction:column;align-items:stretch;gap:.8rem}.filter-pills{overflow-x:auto;flex-wrap:nowrap;padding-bottom:.35rem;-webkit-overflow-scrolling:touch;scrollbar-width:none}.filter-pills::-webkit-scrollbar{display:none}.filter-pill{flex-shrink:0;white-space:nowrap;font-size:.78rem;padding:.4rem .8rem}.detectors-grid{grid-template-columns:1fr;gap:1.1rem}.detector-card{padding:1.1rem;border-radius:var(--radius-md)}.wizard-card{padding:1.2rem 1rem;border-radius:var(--radius-md)}.wizard-steps-indicator{margin-bottom:1.4rem}.wizard-steps-indicator:before{left:20px;right:20px}.step-circle{width:30px;height:30px;font-size:.82rem}.step-label{font-size:.68rem;text-align:center}.radio-cards-grid{grid-template-columns:1fr;gap:.75rem}.radio-card{padding:.9rem 1rem}.r81-explorer-layout{grid-template-columns:1fr;gap:1.2rem}.r81-sidebar{position:static;padding:1rem}.r81-content-view{padding:1.2rem 1rem}.r81-article-title{font-size:1.25rem}.r81-requirements-grid{grid-template-columns:1fr;gap:1rem}.stats-grid{grid-template-columns:1fr;gap:1.2rem}.modal-backdrop{padding:.5rem}.modal-dialog{width:100%!important;max-width:100%!important;max-height:94vh!important;margin:0 auto;border-radius:var(--radius-md)}.modal-header{padding:.85rem 1rem}.modal-title{font-size:1.05rem}.modal-body{padding:1rem;max-height:calc(94vh - 120px)}.modal-footer{padding:.75rem 1rem}.modal-official-table{font-size:.78rem;display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;width:100%}.modal-official-table th,.modal-official-table td{padding:.5rem .6rem}.app-footer{padding:1.2rem 1rem;font-size:.78rem}}.header-left-group{display:flex;align-items:center;gap:1rem}.hub-home-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.45rem .9rem;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-family);font-weight:700;font-size:.85rem;cursor:pointer;transition:all var(--transition-fast)}.hub-home-btn:hover{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary);transform:translateY(-1px)}.module-switcher-nav{display:flex;align-items:center;gap:.5rem;background:var(--bg-surface);padding:.3rem .4rem;border-radius:var(--radius-full);border:1px solid var(--border-color)}.mod-switch-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .9rem;border-radius:var(--radius-full);border:none;background:transparent;color:var(--text-secondary);font-family:var(--font-family);font-size:.84rem;font-weight:700;cursor:pointer;transition:all var(--transition-fast)}.mod-switch-btn:hover{color:var(--text-primary)}.mod-switch-btn.active{background:var(--accent-primary);color:#fff;box-shadow:var(--shadow-sm)}.sub-nav-wrapper{width:100%;border-top:1px solid var(--border-color);background:var(--bg-glass)}.hub-hero{text-align:center;max-width:860px;margin:1rem auto 2.5rem;padding:2.5rem 1.5rem 1.5rem}.hub-hero-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem 1rem;background:#0ea5e91f;color:#0284c7;border:1px solid rgba(14,165,233,.25);border-radius:var(--radius-full);font-size:.85rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;margin-bottom:1rem}.hub-hero-title{font-size:2.6rem;font-weight:900;line-height:1.2;margin-bottom:1rem;background:linear-gradient(135deg,var(--text-primary) 30%,#0284c7 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.hub-hero-subtitle{font-size:1.08rem;color:var(--text-secondary);line-height:1.6}.hub-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.8rem;margin-bottom:3.5rem}.hub-card{position:relative;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:2.2rem 1.8rem;display:flex;flex-direction:column;box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:all var(--transition-normal);overflow:hidden}.hub-card:hover{transform:translateY(-6px);border-color:var(--border-focus);box-shadow:var(--shadow-lg)}.hub-card.featured{border-color:#f59e0b66;background:linear-gradient(180deg,rgba(245,158,11,.05) 0%,var(--bg-card) 100%)}.hub-card-tag{position:absolute;top:1.2rem;right:1.2rem;font-size:.75rem;font-weight:800;padding:.25rem .6rem;background:#94a3b826;color:var(--text-secondary);border-radius:var(--radius-full)}.hub-card-tag.tag-new{background:#f59e0b2e;color:#d97706;border:1px solid rgba(245,158,11,.35)}.hub-card-icon{width:64px;height:64px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.8rem;color:#fff;margin-bottom:1.4rem;box-shadow:0 8px 16px #00000026}.hub-card-title{font-size:1.45rem;font-weight:800;color:var(--text-primary);margin-bottom:.8rem}.hub-card-desc{font-size:.92rem;color:var(--text-secondary);line-height:1.6;margin-bottom:1.5rem}.hub-card-features{list-style:none;padding:0;margin:0 0 2rem;display:flex;flex-direction:column;gap:.55rem;flex-grow:1}.hub-card-features li{display:flex;align-items:center;gap:.6rem;font-size:.88rem;color:var(--text-primary)}.hub-card-features li i{color:#10b981;font-size:.85rem}.hub-card-btn{width:100%;padding:.85rem 1.2rem;font-size:.95rem;font-weight:800;justify-content:space-between;border-radius:var(--radius-md)}.eclairage-tabs-bar{display:flex;align-items:center;gap:.6rem;margin-bottom:1.8rem;border-bottom:1px solid var(--border-color);padding-bottom:.8rem;overflow-x:auto;-webkit-overflow-scrolling:touch}.eclairage-tab-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.1rem;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);font-family:var(--font-family);font-size:.88rem;font-weight:700;cursor:pointer;white-space:nowrap;transition:all var(--transition-fast)}.eclairage-tab-btn:hover{color:var(--text-primary);border-color:#f59e0b}.eclairage-tab-btn.active{background:#f59e0b;color:#fff;border-color:#f59e0b;box-shadow:0 4px 12px #f59e0b40}.eclairage-layout-grid{display:grid;grid-template-columns:420px 1fr;gap:1.8rem;align-items:start}.eclairage-form-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.8rem;box-shadow:var(--shadow-md)}.form-title{font-size:1.25rem;font-weight:800;color:var(--text-primary);display:flex;align-items:center;gap:.6rem;margin-bottom:.4rem}.form-subtitle{font-size:.86rem;color:var(--text-secondary);margin-bottom:1.4rem;line-height:1.5}.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.checkbox-label{display:flex;align-items:flex-start;gap:.75rem;font-size:.88rem;color:var(--text-primary);cursor:pointer;line-height:1.4}.checkbox-label input{margin-top:.2rem;accent-color:#f59e0b;width:17px;height:17px}.empty-state-card{background:var(--bg-card);border:2px dashed var(--border-color);border-radius:var(--radius-lg);padding:3.5rem 2rem;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.empty-icon{width:70px;height:70px;border-radius:var(--radius-full);background:#f59e0b1f;color:#f59e0b;display:flex;align-items:center;justify-content:center;font-size:2rem;margin-bottom:1.2rem}.empty-state-card h3{font-size:1.3rem;font-weight:800;margin-bottom:.6rem}.empty-state-card p{font-size:.92rem;color:var(--text-secondary);max-width:500px;line-height:1.6}.result-card-premium{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-lg)}.result-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem;border-bottom:1px solid var(--border-color);padding-bottom:1.4rem;margin-bottom:1.4rem;flex-wrap:wrap}.result-title-group h2{font-size:1.55rem;font-weight:900;color:var(--text-primary);margin-top:.4rem}.rules-citation{font-size:.86rem;color:#0284c7;font-weight:600;margin-top:.3rem}.category-badge-box{background:linear-gradient(135deg,#0284c7,#0ea5e9);color:#fff;padding:.8rem 1.4rem;border-radius:var(--radius-md);text-align:center;box-shadow:0 4px 14px #0284c74d;min-width:120px}.category-badge-box .cat-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;opacity:.9}.category-badge-box .cat-value{font-size:2.2rem;font-weight:900;line-height:1;margin:.2rem 0}.category-badge-box .cat-sub{font-size:.75rem;font-weight:700}.alert-info-box{background:#0ea5e914;border-left:4px solid #0284c7;padding:.9rem 1.2rem;border-radius:var(--radius-sm);display:flex;align-items:center;gap:.8rem;font-size:.92rem;color:var(--text-primary);margin-bottom:1.8rem}.pillars-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.4rem;margin-bottom:1.8rem}.pillar-card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1.4rem;display:flex;flex-direction:column}.pillar-header{display:flex;align-items:center;gap:.6rem;margin-bottom:1rem}.pillar-header i{font-size:1.3rem}.pillar-fire .pillar-header i{color:#ef4444}.pillar-lighting .pillar-header i{color:#f59e0b}.pillar-tech .pillar-header i{color:#10b981}.pillar-header h3{font-size:1.15rem;font-weight:800;color:var(--text-primary)}.metric-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.8rem;gap:.5rem}.metric-label{font-size:.85rem;color:var(--text-secondary);font-weight:600}.metric-pill{padding:.25rem .65rem;border-radius:var(--radius-full);font-size:.82rem;font-weight:800;border:1px solid}.pillar-desc{font-size:.86rem;color:var(--text-primary);line-height:1.5;margin-bottom:1rem}.pillar-bullet-list{display:flex;flex-direction:column;gap:.5rem;font-size:.82rem;color:var(--text-secondary)}.bullet-item{display:flex;align-items:flex-start;gap:.5rem}.bullet-item i{color:#10b981;margin-top:.2rem}.bullet-item.highlight{color:#ef4444;font-weight:700}.bullet-item.highlight i{color:#ef4444}.sub-section-box{margin-top:.8rem;padding:.8rem;background:var(--bg-card);border-radius:var(--radius-sm);border:1px solid var(--border-color)}.sub-section-box h4{font-size:.88rem;font-weight:800;color:#f59e0b;margin-bottom:.3rem;display:flex;align-items:center;gap:.4rem}.sub-section-box p{font-size:.82rem;color:var(--text-secondary);line-height:1.4;margin:0}.pmr-box{background:#10b98114;border:1px solid rgba(16,185,129,.2);border-radius:var(--radius-sm);padding:.9rem;margin-top:.8rem}.pmr-box h4{font-size:.88rem;font-weight:800;color:#10b981;margin-bottom:.5rem;display:flex;align-items:center;gap:.4rem}.pmr-box ul{padding-left:1.1rem;margin:0;font-size:.8rem;color:var(--text-secondary);line-height:1.5}.exploitant-card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1.4rem;margin-bottom:1.5rem;break-inside:avoid;page-break-inside:avoid}.exploitant-header{display:flex;align-items:center;gap:.6rem;margin-bottom:1rem}.exploitant-header i{font-size:1.2rem;color:#0284c7}.exploitant-header h3{font-size:1.1rem;font-weight:800}.exploitant-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.2rem;break-inside:avoid;page-break-inside:avoid}.exploitant-grid-full{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem;break-inside:avoid;page-break-inside:avoid}.exp-box{background:var(--bg-main);border:1px solid var(--border-color);border-radius:8px;padding:.9rem 1.1rem;break-inside:avoid;page-break-inside:avoid}.exp-box-title{display:flex;align-items:center;gap:.5rem;font-size:.88rem;font-weight:800;color:#0284c7;margin-bottom:.5rem;border-bottom:1px solid var(--border-color);padding-bottom:.35rem}.exp-box p{font-size:.8rem;color:var(--text-secondary);line-height:1.5;margin:0}.exp-col{break-inside:avoid;page-break-inside:avoid}.exp-col strong{display:flex;align-items:center;gap:.4rem;color:var(--text-primary);font-size:.88rem;margin-bottom:.3rem}.exp-col p{font-size:.82rem;color:var(--text-secondary);line-height:1.5;margin:0}.dynamic-questions-card{background:#0284c70d;border:1.5px solid #0284c7;border-radius:8px;padding:.9rem 1.1rem;margin-top:1rem;margin-bottom:.5rem;animation:fadeIn .25s ease-in-out}.dyn-q-header{display:flex;align-items:center;gap:.5rem;color:#0284c7;font-size:.88rem;font-weight:800;margin-bottom:.7rem;text-transform:uppercase;letter-spacing:.02em}.searchable-combobox{position:relative;width:100%}.combobox-input-wrapper{position:relative;display:flex;align-items:center}.combobox-icon{position:absolute;left:1rem;color:var(--text-secondary);font-size:.95rem;pointer-events:none;z-index:2}.combobox-input{width:100%;padding-left:2.6rem!important;padding-right:4.2rem!important;font-weight:600;text-overflow:ellipsis;background:var(--bg-surface);border:1.5px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);height:46px;font-size:.92rem;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.combobox-input:focus{border-color:#0284c7;box-shadow:0 0 0 3px #0284c72e;outline:none}.combobox-actions{position:absolute;right:.6rem;display:flex;align-items:center;gap:.2rem;z-index:2}.combobox-clear-btn,.combobox-toggle-btn{background:transparent;border:none;color:var(--text-secondary);width:28px;height:28px;border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.82rem;transition:background var(--transition-fast),color var(--transition-fast)}.combobox-clear-btn:hover{background:#ef44441f;color:#ef4444}.combobox-toggle-btn:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.combobox-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--bg-surface);border:1.5px solid var(--border-color);border-radius:var(--radius-md);box-shadow:0 12px 32px #00000038;max-height:340px;overflow-y:auto;z-index:1000;animation:fadeIn .15s ease-out}.combobox-group-title{padding:.55rem .95rem;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#0284c7;background:var(--bg-surface);border-bottom:1px solid var(--border-color);border-top:1px solid var(--border-color);display:flex;align-items:center;gap:.5rem;-webkit-user-select:none;user-select:none}.combobox-group-title:first-child{border-top:none}.combobox-item{display:flex;align-items:center;gap:.8rem;padding:.7rem .9rem;cursor:pointer;transition:background var(--transition-fast);border-bottom:1px solid rgba(203,213,225,.2)}.combobox-item:last-child{border-bottom:none}.combobox-item:hover,.combobox-item.selected{background:#0284c71f}.combobox-item-badge{background:#0284c7;color:#fff;font-size:.75rem;font-weight:800;padding:.22rem .55rem;border-radius:4px;min-width:58px;text-align:center;flex-shrink:0}.combobox-item-badge.special{background:#6366f1}.combobox-item-info{flex:1;min-width:0}.combobox-item-title{font-size:.88rem;font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.combobox-item-desc{font-size:.77rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.combobox-empty{padding:1.8rem 1rem;text-align:center;color:var(--text-secondary);font-size:.88rem}.export-bar{display:flex;justify-content:flex-end;margin-top:1rem}.category-filter-pills{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.8rem}.cat-pill{background:var(--bg-surface);border:1px solid var(--border-color);color:var(--text-secondary);padding:.45rem .9rem;border-radius:var(--radius-full);font-size:.82rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;transition:all .2s ease}.cat-pill:hover{border-color:#0284c7;color:#0284c7}.cat-pill.active{background:#0284c7;color:#fff;border-color:#0284c7;box-shadow:0 2px 8px #0284c740}.glossary-item-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1.2rem;display:flex;gap:1rem;align-items:flex-start;transition:transform .2s ease,box-shadow .2s ease;position:relative}.glossary-item-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:#0284c7}.glossary-badge{background:linear-gradient(135deg,#0284c7,#0ea5e9);color:#fff;font-weight:900;font-size:.95rem;padding:.4rem .8rem;border-radius:var(--radius-sm);min-width:70px;text-align:center;cursor:pointer;transition:transform .15s ease}.glossary-badge:hover{transform:scale(1.05)}.glossary-info{flex:1}.glossary-category-tag{display:inline-block;font-size:.72rem;text-transform:uppercase;font-weight:800;letter-spacing:.04em;padding:.15rem .5rem;border-radius:4px;margin-bottom:.4rem}.tag-cat-eclairage{background:#0284c71f;color:#0284c7}.tag-cat-ssi_alarme{background:#ef44441f;color:#dc2626}.tag-cat-zones{background:#f59e0b1f;color:#d97706}.tag-cat-pmr{background:#10b9811f;color:#059669}.tag-cat-equipements{background:#8b5cf61f;color:#7c3aed}.glossary-info h4{font-size:1.05rem;font-weight:800;color:var(--text-primary);margin-bottom:.35rem}.glossary-info p{font-size:.86rem;color:var(--text-secondary);line-height:1.6;margin:0 0 .5rem}.glossary-ref-badge{font-size:.78rem;color:var(--text-muted);display:inline-flex;align-items:center;gap:.35rem;background:var(--bg-surface);padding:.2rem .55rem;border-radius:4px;border:1px solid var(--border-color)}.abbr-link{color:inherit;font-weight:700;border-bottom:1.5px dotted #0284c7;cursor:pointer;padding:0 2px;border-radius:3px;transition:all .15s ease-in-out;display:inline-block}.abbr-link:hover{background:#0284c726;color:#0284c7;border-bottom-style:solid;transform:translateY(-1px)}.abbr-modal-dialog{max-width:580px}.abbr-modal-badge{background:linear-gradient(135deg,#0284c7,#0ea5e9);color:#fff;font-weight:900;font-size:.95rem;padding:.35rem .75rem;border-radius:var(--radius-sm);letter-spacing:.05em}.abbr-modal-detail-box{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1rem 1.2rem;margin-top:1rem}.abbr-modal-detail-box strong{color:var(--text-primary);display:block;font-size:.85rem;margin-bottom:.3rem}.abbr-modal-detail-box p{color:var(--text-secondary);font-size:.86rem;line-height:1.6;margin:0}.table-responsive-box{overflow-x:auto;overflow-y:visible;padding-bottom:.5rem;padding-top:.5rem;position:relative}.help-tooltip-trigger{display:inline-flex;align-items:center;justify-content:center;margin-left:.4rem;color:#0284c7;font-size:.95rem;cursor:pointer;position:relative;vertical-align:middle;outline:none;transition:transform .15s ease,color .15s ease}.help-tooltip-trigger:hover,.help-tooltip-trigger:focus{color:#0369a1;transform:scale(1.2)}.help-tooltip-bubble{visibility:hidden;opacity:0;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(-4px);background:#fff;color:#0f172a;border:1px solid #cbd5e1;box-shadow:0 12px 30px #00000040,0 4px 10px #0000001a;border-radius:8px;padding:.85rem 1rem;width:270px;font-size:.8rem;font-weight:400;line-height:1.5;text-align:left;z-index:9999;pointer-events:none;transition:opacity .2s ease,transform .2s ease,visibility .2s ease;white-space:normal}[data-theme=dark] .help-tooltip-bubble{background:#1e293b;color:#f8fafc;border-color:#334155;box-shadow:0 12px 30px #0009}.help-tooltip-bubble:after{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border-width:6px;border-style:solid;border-color:transparent transparent #ffffff transparent}[data-theme=dark] .help-tooltip-bubble:after{border-color:transparent transparent #1e293b transparent}.help-tooltip-bubble strong{display:block;color:#0284c7;font-size:.85rem;font-weight:800;margin-bottom:.35rem;border-bottom:1px solid rgba(148,163,184,.3);padding-bottom:.3rem}.help-tooltip-trigger:hover .help-tooltip-bubble,.help-tooltip-trigger:focus .help-tooltip-bubble{visibility:visible;opacity:1;transform:translate(-50%) translateY(0)}th:first-child .help-tooltip-bubble{left:0;transform:translate(0) translateY(-4px)}th:first-child .help-tooltip-bubble:after{left:14px;transform:none}th:first-child .help-tooltip-trigger:hover .help-tooltip-bubble,th:first-child .help-tooltip-trigger:focus .help-tooltip-bubble{transform:translate(0) translateY(0)}th:last-child .help-tooltip-bubble{left:auto;right:0;transform:translate(0) translateY(4px)}th:last-child .help-tooltip-bubble:after{left:auto;right:12px;transform:none}th:last-child .help-tooltip-trigger:hover .help-tooltip-bubble,th:last-child .help-tooltip-trigger:focus .help-tooltip-bubble{transform:translate(0) translateY(0)}.pmr-examples-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(440px,1fr));gap:1.8rem;margin-bottom:2rem}.pmr-case-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.8rem;display:flex;flex-direction:column;box-shadow:var(--shadow-md)}.case-header{margin-bottom:1.2rem}.case-tag{display:inline-flex;align-items:center;gap:.4rem;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;padding:.25rem .65rem;border-radius:var(--radius-full);margin-bottom:.5rem}.case-tag.tag-rdc{background:#0284c726;color:#0284c7;border:1px solid rgba(2,132,199,.3)}.case-tag.tag-etage{background:#10b98126;color:#059669;border:1px solid rgba(16,185,129,.3)}.case-header h4{font-size:1.2rem;font-weight:800;color:var(--text-primary);margin-bottom:.3rem}.case-header p{font-size:.86rem;color:var(--text-secondary);line-height:1.5;margin:0}.case-plan-mockup{background:#fff;border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1rem;margin-bottom:1.2rem;box-shadow:inset 0 2px 6px #0000000a}.pmr-svg-diagram{filter:drop-shadow(0 2px 4px rgba(0,0,0,.06))}.picto-rules-table{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:.8rem 1rem;display:flex;flex-direction:column;gap:.8rem}.picto-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:.6rem;border-bottom:1px solid var(--border-color)}.picto-row:last-child{border-bottom:none;padding-bottom:0}.picto-desc strong{display:block;font-size:.88rem;color:var(--text-primary);margin-bottom:.15rem}.picto-desc span{font-size:.78rem;color:var(--text-secondary);line-height:1.4;display:block}.picto-badge-visual{display:flex;align-items:center;gap:.5rem;padding:.5rem .85rem;border-radius:var(--radius-sm);font-size:1.1rem;flex-shrink:0}.picto-badge-visual.picto-green{background:#15803d;color:#fff;box-shadow:0 2px 6px #15803d4d}.cctv-calc-summary{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.4rem}.cctv-nav-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.1rem;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);font-family:var(--font-family);font-size:.88rem;font-weight:700;cursor:pointer;white-space:nowrap;transition:all var(--transition-fast)}.cctv-nav-btn:hover{color:var(--text-primary);border-color:#0284c7}.cctv-nav-btn.active{background:#0284c7;color:#fff;border-color:#0284c7;box-shadow:0 4px 12px #0284c740}.cctv-lieux-selector-bar{display:flex;gap:.8rem;margin-bottom:2rem;overflow-x:auto;padding-bottom:.6rem;-webkit-overflow-scrolling:touch}.cctv-lieu-btn{display:inline-flex;align-items:center;gap:.6rem;padding:.75rem 1.2rem;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);font-family:var(--font-family);font-size:.9rem;font-weight:700;cursor:pointer;white-space:nowrap;transition:all var(--transition-fast)}.cctv-lieu-btn:hover{color:var(--text-primary);border-color:#0284c7;transform:translateY(-2px)}.cctv-lieu-btn.active{background:#0284c7;color:#fff;border-color:#0284c7;box-shadow:0 4px 14px #0284c74d}.cctv-lieu-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:2.2rem;box-shadow:var(--shadow-lg)}.cctv-lieu-header{display:flex;align-items:flex-start;gap:1.4rem;margin-bottom:2rem}.lieu-badge-icon{width:60px;height:60px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.8rem;flex-shrink:0}.lieu-tag{display:inline-block;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;padding:.25rem .65rem;border-radius:var(--radius-full);margin-bottom:.4rem}.lieu-title{font-size:1.6rem;font-weight:900;color:var(--text-primary);margin-bottom:.4rem}.lieu-finalite{font-size:.95rem;color:var(--text-secondary);line-height:1.5}.cctv-rules-comparison-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:2rem}.cctv-rules-col{border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-surface);overflow:hidden}.col-banner{display:flex;align-items:center;gap:.6rem;padding:.9rem 1.2rem;font-weight:800;font-size:1rem}.col-banner.allow-banner{background:#10b98126;color:#059669;border-bottom:2px solid #10b981}.col-banner.deny-banner{background:#ef444426;color:#dc2626;border-bottom:2px solid #ef4444}.rules-list{padding:1.2rem;display:flex;flex-direction:column;gap:1rem}.cctv-rule-item{display:flex;align-items:flex-start;gap:.8rem}.rule-icon{width:28px;height:28px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:.85rem;flex-shrink:0;margin-top:.1rem}.cctv-rule-item.allow .rule-icon{background:#10b98133;color:#10b981}.cctv-rule-item.deny .rule-icon{background:#ef444433;color:#ef4444}.rule-text strong{display:block;font-size:.9rem;color:var(--text-primary);margin-bottom:.15rem}.rule-text p{font-size:.82rem;color:var(--text-secondary);line-height:1.4;margin:0}.cctv-procedures-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}.procedure-card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1.4rem}.procedure-card h4{font-size:1.05rem;font-weight:800;margin-bottom:.8rem;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.procedure-badge{display:inline-block;padding:.25rem .65rem;background:#0284c71f;color:#0284c7;border-radius:var(--radius-sm);font-size:.82rem;font-weight:700;margin-bottom:.8rem}.procedure-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.6rem;font-size:.85rem;color:var(--text-secondary);line-height:1.5}.procedure-item strong{color:var(--text-primary);font-size:.88rem}.procedure-item p{font-size:.84rem;color:var(--text-secondary);margin-top:.2rem;line-height:1.4}.cctv-recours-bar{background:#94a3b814;border-radius:var(--radius-sm);padding:.9rem 1.2rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.8rem}.recours-label{font-size:.86rem;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.recours-list{display:flex;gap:.5rem;flex-wrap:wrap}.cctv-badge-recours{font-size:.78rem;font-weight:700;background:var(--bg-card);border:1px solid var(--border-color);padding:.25rem .6rem;border-radius:var(--radius-full);color:var(--text-secondary)}.legal-signboard-official{background:#fff!important;color:#0f172a!important;border:4px solid #0284c7;border-radius:var(--radius-md);padding:2rem;box-shadow:0 10px 30px #0000001f;font-family:Inter,sans-serif}.signboard-header{display:flex;align-items:center;gap:1.2rem;border-bottom:2px solid #0284c7;padding-bottom:1rem;margin-bottom:1.2rem}.signboard-icon{width:55px;height:55px;background:#0284c7;color:#fff;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:1.8rem}.signboard-title-group h3{font-size:1.25rem;font-weight:900;color:#0f172a;letter-spacing:.03em;margin:0}.signboard-title-group span{font-size:.8rem;color:#64748b;font-weight:600}.signboard-body{font-size:.92rem;line-height:1.6}.signboard-body p{margin-bottom:.8rem}.signboard-rights-box{background:#f8fafc;border:1px solid #cbd5e1;border-radius:var(--radius-sm);padding:1rem;margin:1rem 0}.signboard-rights-box ul{list-style:none;padding:0;margin:.5rem 0 0;display:flex;flex-direction:column;gap:.35rem;font-size:.88rem}.signboard-footer-legal{font-size:.78rem;color:#64748b;border-top:1px solid #e2e8f0;padding-top:.8rem;margin-top:1rem}@media (max-width: 1024px){.eclairage-layout-grid{grid-template-columns:1fr}.hub-hero-title{font-size:2.2rem}}@media (max-width: 768px){.app-header .header-container{flex-direction:column;align-items:stretch;gap:.8rem;padding:.75rem 1rem}.header-left-group{justify-content:space-between;width:100%}.module-switcher-nav{overflow-x:auto;width:100%;justify-content:flex-start;border-radius:var(--radius-md)}.mod-switch-btn{white-space:nowrap;padding:.4rem .7rem;font-size:.78rem}.hub-hero{padding:1.5rem 1rem 1rem;margin-bottom:1.5rem}.hub-hero-title{font-size:1.7rem}.hub-cards-grid{grid-template-columns:1fr;gap:1.2rem}.form-row-2{grid-template-columns:1fr;gap:.8rem}.pillars-grid{grid-template-columns:1fr}.result-header{flex-direction:column}.category-badge-box{width:100%}.cctv-calc-summary{grid-template-columns:1fr}}@media (max-width: 480px){.segmented-btn{flex:1 1 100%;text-align:left;justify-content:flex-start}#wiring-test-buttons-bar .switch-interactive-btn{flex:1 1 100%;justify-content:flex-start}.meter-screen{padding:.8rem .6rem}.meter-value{font-size:1.9rem}.hero-title{font-size:1.18rem}.wizard-section-title{font-size:1.1rem}.hub-card{padding:1.5rem 1.2rem}}@media print{@page{size:A4 portrait;margin:1.2cm}.app-header,.hub-home-btn,.module-switcher-nav,.wizard-steps-indicator,.wizard-btn-bar,.filters-bar,.selection-dashboard-card,.app-footer,.nav-tabs,.eclairage-tabs-bar,.btn,.export-bar,.header-actions{display:none!important}body{background:#fff!important;color:#000!important;font-size:10pt}.exploitant-card,.exp-col,.pillar-card,.pillar-body,.sub-section-box,.pmr-box,.result-card-premium,.result-header,.pillars-grid,.alert-info-box,.alert-warning-box,.req-card,.pmr-case-card,.picto-rules-table,.picto-row,.wizard-card,.obligation-box,.site-summary-grid,.signatures-grid,.sig-box,.table-responsive-box,table,tr,td,th{break-inside:avoid!important;page-break-inside:avoid!important}.wizard-card,.result-card-premium,.req-card,.pillar-card,.exploitant-card{border:1px solid #94a3b8!important;box-shadow:none!important;background:#fff!important;color:#000!important;margin-bottom:1.2rem!important}h1,h2,h3,h4,h5,.section-title,.result-header,.pillar-header,.exploitant-header{break-after:avoid!important;page-break-after:avoid!important}}
