.led-calculation-root{display:grid;gap:34px;max-width:1500px}.led-calculation-topbar{align-items:flex-start;margin-bottom:36px}.led-calculation-actions{display:flex;align-items:center;gap:18px}.led-calculation-actions>span{color:#8491a4;font-size:12px;font-weight:700}.led-calculation-loading,.led-load-error{min-height:360px;border:1px solid #e6edf4;border-radius:18px;background:#fbfcfe;display:grid;place-items:center;color:#7c8aa0;font-weight:700}.led-load-error{align-content:center;gap:12px}.led-load-error b{color:#17263a;font-size:18px}.led-load-error span{font-size:13px}.led-summary-panel{overflow:hidden;border:1px solid #dce8ee;border-radius:20px;background:linear-gradient(135deg,#effcfb 0,#f7fbff 48%,#fff 100%);box-shadow:0 14px 36px rgba(23,58,79,.06)}.led-summary-heading{display:flex;justify-content:space-between;align-items:flex-end;padding:26px 30px 22px;border-bottom:1px solid rgba(151,184,193,.28)}.led-summary-heading>div>span,.led-section-heading>div>span,.led-strip-table-card>header span{display:block;margin-bottom:5px;color:#00a9a4;font-size:11px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.led-summary-heading h2,.led-section-heading h2,.led-strip-table-card h3{margin:0;color:#102136;font-size:25px}.led-summary-heading>label{display:grid;gap:7px;color:#60738a;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.led-summary-heading>label>div{display:flex;align-items:center;border:1px solid #cfe0e6;border-radius:10px;background:#fff;overflow:hidden}.led-summary-heading input{width:78px;height:40px;border:0;padding:0 12px;color:#102136;font:800 16px Manrope,Arial,sans-serif;outline:0}.led-summary-heading em{padding-right:12px;color:#8190a3;font-size:13px;font-style:normal}.led-summary-grid{display:grid;grid-template-columns:repeat(5,1fr)}.led-summary-grid article{min-height:120px;padding:24px 30px;display:flex;flex-direction:column;border-right:1px solid rgba(151,184,193,.24)}.led-summary-grid article:last-child{border-right:0}.led-summary-grid small{color:#6f8296;font-size:12px;font-weight:800}.led-summary-grid b{margin:4px 0;color:#102136;font-size:31px;line-height:1}.led-summary-grid span{color:#92a0b1;font-size:11px}.led-groups-section{display:grid;gap:20px}.led-section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:28px}.led-section-heading p{max-width:720px;margin:7px 0 0;color:#7e8da1;font-size:13px}.led-groups-list{display:grid;gap:18px}.led-empty-state{min-height:290px;border:1px dashed #cddbe7;border-radius:18px;background:#fbfcfe;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.led-empty-state>span{width:48px;height:48px;border-radius:15px;background:#e4fafa;display:grid;place-items:center;color:#00b6b1;font-size:28px}.led-empty-state h3{margin:16px 0 6px;color:#17263a}.led-empty-state p{margin:0 0 20px;color:#8593a6;font-size:13px}.led-group-card{border:1px solid #e0e8f0;border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(24,48,72,.05);overflow:hidden}.led-group-card.has-errors{border-color:#f0d6d2}.led-group-heading{display:grid;grid-template-columns:48px minmax(260px,1fr) auto 34px;align-items:end;gap:15px;padding:20px 22px;background:#fafcfe;border-bottom:1px solid #e8eef4}.led-group-number{width:42px;height:42px;border-radius:12px;background:#112b45;color:#2bddcf;display:grid;place-items:center;font-size:12px;font-weight:900;letter-spacing:.08em}.led-group-heading label,.led-group-primary-grid label{display:grid;gap:7px;color:#687990;font-size:11px;font-weight:800}.led-group-heading input,.led-group-primary-grid input,.led-group-primary-grid select,.led-parameter-field input{height:42px;border:1px solid #dce5ee;border-radius:9px;background:#fff;padding:0 12px;color:#15263b;font:700 13px Manrope,Arial,sans-serif;outline:0}.led-group-heading input:focus,.led-group-primary-grid input:focus,.led-group-primary-grid select:focus,.led-parameter-field input:focus{border-color:#08bbb5;box-shadow:0 0 0 3px rgba(8,187,181,.1)}.led-delete-group{width:34px;height:34px;border:0;border-radius:9px;background:#f3f6f9;color:#9aa7b7;font-size:22px;cursor:pointer}.led-delete-group:hover{background:#fff0ee;color:#d55447}.led-mode{align-self:center;border-radius:999px;padding:7px 11px;font-size:10px;font-weight:900;white-space:nowrap}.led-mode-direct{background:#ddf8ed;color:#18815d}.led-mode-amplified{background:#e0f6fa;color:#087e8f}.led-mode-incomplete{background:#eef2f6;color:#68798e}.led-mode-error{background:#fff0ed;color:#bb4b41}.led-group-primary-grid{display:grid;grid-template-columns:minmax(360px,1.7fr) minmax(220px,.7fr);gap:16px;padding:22px}.led-group-primary-grid select{width:100%}.led-input-unit,.led-parameter-field>div{display:flex;align-items:center;border:1px solid #dce5ee;border-radius:9px;background:#fff;overflow:hidden}.led-input-unit input,.led-parameter-field>div input{min-width:0;width:100%;border:0;border-radius:0}.led-input-unit em,.led-parameter-field em{padding-right:11px;color:#8d9aac;font-size:11px;font-style:normal;font-weight:800}.led-group-result-strip{display:grid;grid-template-columns:repeat(5,1fr);margin:0 22px;border:1px solid #e7edf3;border-radius:12px;background:#f9fbfd}.led-group-result-strip>span{min-height:68px;padding:14px 16px;display:flex;flex-direction:column;justify-content:center;border-right:1px solid #e7edf3}.led-group-result-strip>span:last-child{border-right:0}.led-group-result-strip small{color:#8c99aa;font-size:10px;font-weight:800;text-transform:uppercase}.led-group-result-strip b{margin-top:3px;color:#24364d;font-size:13px}.led-group-details{margin:16px 22px 20px;border-top:1px solid #edf1f5}.led-group-details summary{padding:15px 2px 0;color:#53677f;font-size:12px;font-weight:900;cursor:pointer;list-style:none}.led-group-details summary::-webkit-details-marker{display:none}.led-group-details summary:after{content:'›';display:inline-block;margin-left:8px;color:#00aaa5;font-size:17px;transform:rotate(90deg)}.led-group-details[open] summary:after{transform:rotate(-90deg)}.led-group-details summary span{color:#9aa5b3;font-size:10px;font-weight:700}.led-parameter-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:17px}.led-parameter-columns fieldset{min-width:0;margin:0;border:1px solid #e3eaf1;border-radius:13px;padding:18px}.led-parameter-columns legend{padding:0 7px;color:#20344b;font-size:12px;font-weight:900}.led-parameter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.led-parameter-field{min-width:0;display:grid;gap:7px}.led-parameter-field>span{display:flex;align-items:center;justify-content:space-between;gap:7px;color:#66798f;font-size:10px;font-weight:800}.led-source{display:inline-flex;align-items:center;border-radius:999px;padding:3px 6px;font-size:8px;font-weight:900;letter-spacing:.02em;white-space:nowrap}.led-source-catalog{background:#e4f6ff;color:#247497}.led-source-manual{background:#fff0d9;color:#a16718}.led-source-calculated{background:#ede9ff;color:#6652a3}.led-source-default{background:#eef2f5;color:#788696}.led-channel-section{margin-top:16px;padding:18px;border-radius:13px;background:#f6f9fb}.led-channel-section h4{margin:0 0 12px;color:#23364c;font-size:12px}.led-channel-results{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.led-channel-results article{min-width:0;border:1px solid #e0e8ee;border-radius:10px;background:#fff;padding:12px;display:grid;grid-template-columns:auto 1fr;gap:2px 8px}.led-channel-results article>span{grid-row:1/3;width:30px;height:30px;border-radius:9px;background:#102b46;color:#20d4cc;display:grid;place-items:center;font-size:11px;font-weight:900}.led-channel-results b{color:#20354c;font-size:13px}.led-channel-results small{overflow:hidden;color:#8c99a9;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.led-channel-empty{color:#8c99aa;font-size:11px}.led-group-messages{display:grid;gap:7px;padding:0 22px 20px}.led-message{margin:0;border-radius:9px;padding:9px 12px;display:flex;gap:8px;font-size:10px}.led-message b{text-transform:uppercase}.led-message-error{background:#fff1ef;color:#a9443b}.led-message-warning{background:#fff8e8;color:#89631d}.led-specification{display:grid;gap:20px;padding-top:5px}.led-validity{border-radius:999px;padding:7px 11px;font-size:10px;font-weight:900}.led-validity.valid{background:#ddf8ed;color:#18815d}.led-validity.invalid{background:#fff0ed;color:#bb4b41}.led-spec-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:16px}.led-spec-card,.led-strip-table-card{border:1px solid #e1e9f0;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(27,52,78,.045);overflow:hidden}.led-spec-card{padding:20px}.led-spec-card>header{display:flex;align-items:center;justify-content:space-between;padding-bottom:14px;border-bottom:1px solid #edf1f5;color:#66798f;font-size:11px;font-weight:900;text-transform:uppercase}.led-spec-card>header b{color:#102b46;font-size:16px}.led-spec-card>p{position:relative;margin:12px 0 0;padding-right:55px;color:#718197;font-size:10px}.led-spec-card>p strong{display:block;color:#1f334b;font-size:11px}.led-spec-card>p>b{position:absolute;right:0;top:0;color:#163047}.led-spec-empty{padding-right:0!important;color:#98a5b5!important}.led-loxone-card>p{padding-right:0}.led-allocation-list{display:grid;gap:7px;margin-top:14px}.led-allocation-list>span{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:8px;border-radius:8px;background:#f5f8fa;padding:7px 9px;color:#40546c;font-size:10px}.led-allocation-list b{color:#00a8a3}.led-allocation-list em{color:#8290a1;font-style:normal}.led-strip-table-card>header{padding:19px 22px}.led-strip-table-card h3{font-size:20px}.led-strip-table{border-top:1px solid #e8edf2}.led-strip-row{display:grid;grid-template-columns:2fr repeat(3,.75fr);align-items:center;min-height:58px;border-bottom:1px solid #edf1f5;padding:0 22px;color:#42566f;font-size:11px}.led-strip-row:last-child{border-bottom:0}.led-strip-row>span:first-child{display:flex;flex-direction:column}.led-strip-row b{color:#20354c}.led-strip-row small{color:#8c99a9}.led-strip-head{min-height:39px;background:#f8fafc;color:#8391a3;font-size:9px;font-weight:900;text-transform:uppercase}.led-strip-empty{padding:24px;color:#8d9bad;font-size:11px}.nav a[data-nav="led-calculation"] .nav-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:1280px){.led-summary-grid article{padding:21px}.led-group-primary-grid{grid-template-columns:1.3fr .65fr}.led-spec-grid{grid-template-columns:1fr 1fr}.led-loxone-card{grid-row:span 2}.led-channel-results{grid-template-columns:repeat(2,1fr)}}
.led-source-required{background:#fff0ed;color:#b44a40}.led-amplifier-auto-note{min-height:96px;border-radius:10px;background:#f6f9fb;display:grid;place-items:center;padding:18px;color:#8290a1;font-size:11px;text-align:center}.led-connections-card{border:1px solid #e1e9f0;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(27,52,78,.045);overflow:hidden}.led-connections-card>header{padding:19px 22px}.led-connections-card>header span{display:block;margin-bottom:5px;color:#00a9a4;font-size:11px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.led-connections-card h3{margin:0;color:#102136;font-size:20px}.led-connections-list{border-top:1px solid #e8edf2}.led-connection-row{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(210px,1fr) 24px minmax(210px,1fr) 24px minmax(230px,1.1fr);align-items:center;gap:10px;min-height:82px;padding:13px 22px;border-bottom:1px solid #edf1f5}.led-connection-row:last-child{border-bottom:0}.led-connection-group,.led-connection-node{min-width:0;display:flex;flex-direction:column}.led-connection-group b,.led-connection-node b{overflow:hidden;color:#20354c;font-size:11px;text-overflow:ellipsis}.led-connection-group small,.led-connection-node small{overflow:hidden;color:#8997a8;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.led-connection-node{min-height:48px;justify-content:center;border:1px solid #dfe8ef;border-radius:10px;background:#f8fafc;padding:9px 12px}.led-connection-amplifier{border-color:#cdebed;background:#f1fbfb}.led-connection-strip{border-color:#dbe6f2;background:#f7faff}.led-connection-arrow{color:#00aaa5;font-size:20px;font-weight:900;text-align:center}.led-connection-direct{border-radius:999px;background:#ddf8ed;padding:7px 10px;color:#18815d;font-size:9px;font-weight:900;text-align:center}.led-connections-empty{border-top:1px solid #e8edf2;padding:24px;color:#8d9bad;font-size:11px}@media(max-width:1280px){.led-connection-row{grid-template-columns:1fr 24px 1fr 24px 1fr}.led-connection-group{grid-column:1/-1}}
.led-invalid-result-card{overflow:hidden;border:1px solid #f0d6d2;border-radius:16px;background:#fff8f7;box-shadow:0 8px 24px rgba(99,43,36,.045)}.led-invalid-result-card>header{padding:19px 22px;border-bottom:1px solid #f1dfdc}.led-invalid-result-card>header span{display:block;margin-bottom:5px;color:#bb4b41;font-size:11px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.led-invalid-result-card h3{margin:0;color:#532c28;font-size:20px}.led-invalid-result-card>p{margin:0;padding:18px 22px 10px;color:#765b58;font-size:12px}.led-invalid-result-card>ul{display:grid;gap:7px;margin:0;padding:4px 38px 20px;color:#9c4037;font-size:11px}
.led-group-result-strip{grid-template-columns:repeat(4,1fr)}.led-connections-card>header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.led-connections-card>header>small{color:#8997a8;font-size:10px}.led-connection-table-wrap{overflow-x:auto;border-top:1px solid #e8edf2}.led-connection-table{width:100%;min-width:1120px;border-collapse:collapse;color:#42566f;font-size:11px}.led-connection-table th{padding:12px 16px;background:#f8fafc;color:#8391a3;font-size:9px;font-weight:900;text-align:left;text-transform:uppercase}.led-connection-table th:nth-child(1){width:115px}.led-connection-table th:nth-child(2){width:205px}.led-connection-table th:nth-child(3){width:155px}.led-connection-table th:nth-child(4){width:205px}.led-connection-table th:nth-child(6){width:125px}.led-connection-table td{padding:15px 16px;border-top:1px solid #edf1f5;vertical-align:top}.led-connection-table td>b{display:block;color:#20354c;font-size:11px}.led-connection-table td>small,.led-connection-table td>em{display:block;margin-top:3px;color:#8997a8;font-size:9px;font-style:normal}.led-connection-table td>em{color:#00a39e;font-weight:800}.led-connection-power{white-space:nowrap}.led-connection-total td{border-top:1px solid #d7e6e9;background:#f1fbfb;color:#547083;font-weight:900}.led-connection-total td:last-child{color:#102b46;white-space:nowrap}@media(max-width:720px){.led-connections-card>header{align-items:flex-start;flex-direction:column;gap:7px}.led-connection-table{min-width:980px}}
.led-connection-table th:nth-child(1),.led-connection-table th:nth-child(3){width:220px}.led-connection-table th:nth-child(2),.led-connection-table th:nth-child(4){width:92px}.led-connection-table th:nth-child(5){width:auto}.led-connection-table td{vertical-align:middle}.led-connection-table tr:not(.led-connection-total) td{padding-top:9px;padding-bottom:9px}.led-connection-table .led-connection-start td{border-top-color:#dce7ed}.led-connection-device,.led-connection-strip-cell{background:#fbfcfe}.led-connection-device small,.led-connection-strip-cell small{max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.led-channel-code{display:inline-flex;min-width:44px;justify-content:center;border:1px solid #dce7ee;border-radius:7px;background:#f5f9fb;padding:5px 8px;color:#17344e;font-size:10px;font-weight:900;white-space:nowrap}.led-connection-power em{margin-top:5px!important;white-space:normal}.led-power-supply-card{border:1px solid #e1e9f0;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(27,52,78,.045);overflow:hidden}.led-power-supply-card>header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:19px 22px}.led-power-supply-card>header span{display:block;margin-bottom:5px;color:#00a9a4;font-size:11px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.led-power-supply-card h3{margin:0;color:#102136;font-size:20px}.led-power-supply-card>header>small{color:#8997a8;font-size:10px}.led-power-supply-table-wrap{overflow-x:auto;border-top:1px solid #e8edf2}.led-power-supply-table{width:100%;min-width:820px;border-collapse:collapse;color:#42566f;font-size:11px}.led-power-supply-table th{padding:12px 16px;background:#f8fafc;color:#8391a3;font-size:9px;font-weight:900;text-align:left;text-transform:uppercase}.led-power-supply-table td{padding:14px 16px;border-top:1px solid #edf1f5}.led-power-supply-table td>b,.led-power-supply-table td>small{display:block}.led-power-supply-table td>b{color:#20354c}.led-power-supply-table td>small{margin-top:3px;color:#8997a8;font-size:9px}.led-power-supply-total td{background:#f1fbfb;color:#547083;font-weight:900}.led-power-supply-total td:last-child{color:#102b46}.led-power-supply-missing{background:#fff1ef;color:#a9443b;font-weight:800}@media(max-width:720px){.led-power-supply-card>header{align-items:flex-start;flex-direction:column;gap:7px}}
.led-connection-table{min-width:1380px}.led-connection-table th:nth-child(1),.led-connection-table th:nth-child(4){width:205px}.led-connection-table th:nth-child(2),.led-connection-table th:nth-child(5){width:82px}.led-connection-table th:nth-child(3){width:225px}.led-connection-table th:nth-child(6){width:auto}.led-connection-table th:nth-child(7){width:125px}.led-connection-power-supply{background:#f1fbfb}.led-connection-power-supply b{color:#087e8f!important}.led-connection-power-supply small{max-width:245px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.led-connection-power-supply em{margin-top:5px!important;color:#5b7b88!important;font-weight:800}.led-connection-total-spacer{padding:0!important}
.led-calculation-actions{flex-wrap:wrap;justify-content:flex-end}.led-download-diagram{display:inline-flex;align-items:center;gap:9px;white-space:nowrap}.led-download-diagram small{border-radius:5px;background:#e5f8f7;padding:3px 5px;color:#008f8b;font-size:8px;font-weight:900;letter-spacing:.08em}.led-download-diagram i{width:13px;height:13px;border:2px solid #b9d7d6;border-top-color:#009f9a;border-radius:50%;animation:led-diagram-spin .7s linear infinite}.led-download-diagram:disabled{cursor:not-allowed;opacity:.58}@keyframes led-diagram-spin{to{transform:rotate(360deg)}}@media(max-width:720px){.led-calculation-actions{width:100%;justify-content:flex-start}.led-calculation-actions>span{width:100%}}
.led-power-supply-table{min-width:980px}.led-power-supply-table th:nth-child(1){width:31%}.led-power-supply-table th:nth-child(2){width:29%}.led-power-supply-table th:nth-child(3){width:17%}.led-power-supply-table th:nth-child(4){width:23%}.led-power-supply-table td{vertical-align:middle}.led-power-supply-table td>em{display:block;margin-top:5px;color:#5b7b88;font-size:9px;font-style:normal;font-weight:800}.led-power-supply-instance-start td{border-top-color:#dce7ed}.led-power-supply-device{background:#f1fbfb}.led-power-supply-device b{color:#087e8f!important}.led-power-supply-amplifier{background:#fbfcfe}.led-power-supply-load,.led-power-supply-instance-total{white-space:nowrap}.led-power-supply-instance-total b{font-size:13px}.led-power-supply-instance-total em{color:#00a39e!important}.led-power-supply-procurement-head td{padding-top:11px;padding-bottom:11px;background:#f8fafc;color:#8391a3;font-size:9px;font-weight:900;text-transform:uppercase}.led-power-supply-procurement td{padding-top:11px;padding-bottom:11px}.led-power-supply-procurement td:last-child{white-space:nowrap}@media(max-width:900px){.led-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.led-summary-grid article{border-bottom:1px solid rgba(151,184,193,.24)}.led-summary-grid article:nth-child(2n){border-right:0}.led-summary-grid article:last-child{border-bottom:0}}
.led-summary-grid{grid-template-columns:repeat(6,1fr)}.led-panels-section,.led-panels-list{display:grid;gap:22px}.led-panel-card{border:1px solid #d8e4ed;border-radius:20px;background:#f7fafc;box-shadow:0 14px 34px rgba(24,48,72,.06);overflow:visible}.led-panel-card.has-errors{border-color:#efd2cd}.led-panel-heading{position:relative;display:grid;grid-template-columns:auto minmax(230px,1fr) minmax(270px,.7fr) auto 36px;align-items:end;gap:14px;padding:20px 22px;border-bottom:1px solid #dfe8ef;border-radius:20px 20px 0 0;background:#eef5f8}.led-panel-number{align-self:center;border-radius:10px;background:#0d9d98;padding:9px 11px;color:#fff;font-size:10px;font-weight:900;letter-spacing:.08em;white-space:nowrap}.led-panel-heading>label{display:grid;gap:7px;color:#687990;font-size:11px;font-weight:800}.led-panel-heading>label input{height:42px;border:1px solid #cfdee8;border-radius:9px;background:#fff;padding:0 12px;color:#15263b;font:800 14px Manrope,Arial,sans-serif;outline:0}.led-delete-panel{width:36px;height:36px;border:0;border-radius:10px;background:#fff;color:#98a7b8;font-size:23px;cursor:pointer}.led-delete-panel:hover{background:#fff0ee;color:#d55447}.led-panel-power-picker{position:relative;z-index:4}.led-panel-power-picker>summary{height:42px;border:1px solid #cfdee8;border-radius:9px;background:#fff;padding:0 12px;display:flex;flex-direction:column;justify-content:center;cursor:pointer;list-style:none}.led-panel-power-picker>summary::-webkit-details-marker{display:none}.led-panel-power-picker>summary span{color:#76879b;font-size:9px;font-weight:800;text-transform:uppercase}.led-panel-power-picker>summary b{color:#173149;font-size:11px}.led-panel-power-options{position:absolute;right:0;top:48px;width:min(440px,80vw);max-height:320px;overflow:auto;border:1px solid #d8e4ed;border-radius:13px;background:#fff;padding:8px;box-shadow:0 18px 42px rgba(20,43,66,.18)}.led-panel-power-options label{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px;border-radius:9px;cursor:pointer}.led-panel-power-options label:hover{background:#f2f8fa}.led-panel-power-options input{width:17px;height:17px;accent-color:#00a9a4}.led-panel-power-options span{display:flex;min-width:0;flex-direction:column;color:#40546c;font-size:10px}.led-panel-power-options span b{color:#173149;font-size:11px}.led-panel-power-options em{color:#77889a;font-size:9px;font-style:normal;white-space:nowrap}.led-panel-power-options p{margin:8px;color:#8b98a8;font-size:11px}.led-panel-summary{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid #e2eaf0;background:#fff}.led-panel-summary>span{min-height:70px;padding:13px 22px;display:flex;flex-direction:column;justify-content:center;border-right:1px solid #e6edf2}.led-panel-summary>span:last-child{border-right:0}.led-panel-summary small{color:#8997a8;font-size:9px;font-weight:900;text-transform:uppercase}.led-panel-summary b{margin-top:3px;color:#173149;font-size:14px}.led-panel-groups{display:grid;gap:16px;padding:20px}.led-panel-card>.led-specification{padding:0 20px 22px}.led-panel-empty{min-height:130px;border:1px dashed #cbd9e3;border-radius:14px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#8a98a9;text-align:center}.led-panel-empty b{margin-bottom:5px;color:#2a3d53}.led-group-heading{grid-template-columns:48px minmax(260px,1fr) auto 34px;align-items:center}.led-group-collapse{width:48px;border:0;background:transparent;padding:0;display:grid;grid-template-columns:42px 6px;align-items:center;gap:2px;cursor:pointer}.led-group-collapse i{color:#00aaa5;font-size:16px;font-style:normal;transition:transform .15s}.led-group-card:not(.is-collapsed) .led-group-collapse i{transform:rotate(180deg)}.led-group-card.is-collapsed .led-group-heading{border-bottom:0}.led-group-collapsible[hidden]{display:none!important}@media(max-width:1200px){.led-summary-grid{grid-template-columns:repeat(3,1fr)}.led-panel-heading{grid-template-columns:auto minmax(220px,1fr) minmax(250px,1fr)}.led-panel-heading>.secondary-button{grid-column:2}.led-delete-panel{grid-column:3;justify-self:end}}@media(max-width:760px){.led-summary-grid{grid-template-columns:repeat(2,1fr)}.led-panel-heading{grid-template-columns:1fr;align-items:stretch}.led-panel-heading>.secondary-button,.led-delete-panel{grid-column:auto}.led-delete-panel{position:absolute;right:18px;top:18px}.led-panel-number{justify-self:start}.led-panel-summary{grid-template-columns:repeat(2,1fr)}.led-panel-summary>span:nth-child(2){border-right:0}.led-group-heading{grid-template-columns:48px 1fr 34px}.led-group-heading .led-mode{grid-column:2}.led-panel-power-options{left:0;right:auto;width:min(440px,calc(100vw - 72px))}}
.led-panel-heading{grid-template-columns:auto minmax(210px,1fr) minmax(230px,.9fr) minmax(240px,.8fr) auto 36px}.led-panel-heading>label select{width:100%;height:42px;border:1px solid #cfdee8;border-radius:9px;background:#fff;padding:0 34px 0 12px;color:#15263b;font:800 13px Manrope,Arial,sans-serif;outline:0}.led-panel-heading>label select:required:invalid{color:#8796a8}.led-panel-heading>label input:focus,.led-panel-heading>label select:focus{border-color:#08bbb5;box-shadow:0 0 0 3px rgba(8,187,181,.1)}.led-delete-panel{grid-column:-1}.led-panel-method-state{min-height:150px;margin:20px;border:1px dashed #c4d7e2;border-radius:14px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;color:#8493a5;text-align:center}.led-panel-method-state b{margin-bottom:6px;color:#243a50;font-size:15px}.led-panel-method-state span{max-width:700px;font-size:12px;line-height:1.6}.led-panel-method-state-dali{border-color:#d7d4ef;background:#faf9ff}.led-panel-method-state-dali b{color:#62539b}@media(max-width:1200px){.led-panel-heading{grid-template-columns:auto minmax(220px,1fr) minmax(250px,1fr)}.led-delete-panel{grid-column:3}.led-panel-heading>.secondary-button{grid-column:2}}@media(max-width:760px){.led-panel-heading{grid-template-columns:1fr}.led-panel-heading>.secondary-button,.led-delete-panel{grid-column:auto}.led-panel-method-state{margin:16px}}
.led-panel-heading{grid-template-columns:28px auto minmax(210px,1fr) minmax(230px,.9fr) minmax(240px,.8fr) auto 36px}.led-panel-collapse{align-self:center;width:28px;height:34px;border:0;background:transparent;color:#00aaa5;display:grid;place-items:center;cursor:pointer}.led-panel-collapse i{font-size:19px;font-style:normal;transition:transform .15s}.led-panel-card:not(.is-collapsed) .led-panel-collapse i{transform:rotate(180deg)}.led-panel-card.is-collapsed .led-panel-summary{border-bottom:0}.led-panel-collapsible[hidden]{display:none!important}.led-mode-dali{background:#eeeafd;color:#6654a2}.led-dali-device-list{display:grid;gap:8px}.led-dali-device-list article{border:1px solid #ddd8f1;border-radius:10px;background:#faf9ff;padding:10px 12px;display:flex;flex-direction:column}.led-dali-device-list span{color:#6654a2;font-size:9px;font-weight:900;text-transform:uppercase}.led-dali-device-list b{margin-top:3px;color:#26374d;font-size:11px}.led-dali-device-list small,.led-dali-device-list em{margin-top:3px;color:#7d8999;font-size:9px;font-style:normal}.led-dali-connection-table{min-width:1180px}.led-dali-connection-table th:nth-child(1){width:175px}.led-dali-connection-table th:nth-child(2){width:255px}.led-dali-connection-table th:nth-child(3){width:140px}.led-dali-connection-table th:nth-child(4){width:220px}.led-dali-connection-table th:nth-child(5){width:auto}.led-dali-connection-table th:nth-child(6){width:125px}.led-dali-connection-table td>em{display:block;margin-top:4px;color:#6654a2;font-size:9px;font-style:normal;font-weight:800}.led-dali-specification .led-spec-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:1200px){.led-panel-heading{grid-template-columns:28px auto minmax(220px,1fr) minmax(250px,1fr)}.led-panel-heading>.led-panel-power-picker{grid-column:3}.led-panel-heading>.secondary-button{grid-column:3}.led-delete-panel{grid-column:4}.led-dali-specification .led-spec-grid{grid-template-columns:1fr 1fr}}@media(max-width:760px){.led-panel-heading{grid-template-columns:28px 1fr}.led-panel-number{grid-column:2}.led-panel-heading>label,.led-panel-heading>.led-panel-power-picker,.led-panel-heading>.secondary-button{grid-column:1/-1}.led-delete-panel{grid-column:auto}.led-dali-specification .led-spec-grid{grid-template-columns:1fr}}
.led-summary-table-wrap{overflow-x:auto;border-top:1px solid rgba(151,184,193,.28)}.led-summary-table{width:100%;min-width:1040px;border-collapse:collapse;color:#42566f;font-size:11px}.led-summary-table th{padding:11px 16px;background:rgba(248,250,252,.72);color:#75879b;font-size:9px;font-weight:900;text-align:center;text-transform:uppercase}.led-summary-table th:first-child{text-align:left}.led-summary-table td{padding:13px 16px;border-top:1px solid rgba(151,184,193,.22);text-align:center;font-weight:800;white-space:nowrap}.led-summary-table td:first-child{text-align:left;white-space:normal}.led-summary-table td>b,.led-summary-table td>small{display:block}.led-summary-table td>b{color:#173149;font-size:12px}.led-summary-table td>small{margin-top:3px;color:#8494a6;font-size:9px;font-weight:700}.led-summary-table tbody tr:hover{background:rgba(255,255,255,.5)}.led-summary-table tfoot td{background:rgba(231,248,248,.72);color:#173149;font-weight:900}.led-dali-specification .led-dali-catalog-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.led-dali-load-card .led-power-supply-device{background:#f1faec}.led-dali-load-card .led-power-supply-device b{color:#367a24!important}.led-dali-load-card .led-power-supply-load em{color:#00a39e}.led-dali-catalog-summary+.led-strip-table-card{margin-top:-4px}@media(max-width:760px){.led-dali-specification .led-dali-catalog-summary{grid-template-columns:1fr}.led-summary-table{min-width:920px}}

/* Compact LED workspace: keep group inputs and their key result in one viewport. */
.led-calculation-root{gap:22px}
.led-calculation-topbar{margin-bottom:24px}
.led-panels-section,.led-panels-list{gap:14px}
.led-panel-card{border-radius:16px}
.led-panel-heading{gap:10px;padding:14px 16px;border-radius:16px 16px 0 0}
.led-panel-heading>label{gap:5px}
.led-panel-heading>label input,.led-panel-heading>label select,.led-panel-power-picker>summary{height:38px}
.led-panel-summary>span{min-height:58px;padding:10px 16px}
.led-panel-groups{gap:12px;padding:14px}
.led-panel-card>.led-specification{padding:0 14px 16px}
.led-group-card{border-radius:14px}
.led-group-heading{grid-template-columns:42px minmax(260px,1fr) auto 32px;gap:11px;padding:12px 14px}
.led-group-collapse{width:42px;grid-template-columns:36px 6px}
.led-group-number{width:36px;height:36px;border-radius:10px}
.led-delete-group{width:32px;height:32px}
.led-group-heading label,.led-group-primary-grid label{gap:5px}
.led-group-heading input,.led-group-primary-grid input,.led-group-primary-grid select,.led-parameter-field input{height:38px}
.led-group-primary-grid{grid-template-columns:minmax(320px,1.8fr) minmax(145px,.55fr) minmax(155px,.6fr);gap:11px;padding:14px}
.led-group-result-strip{grid-template-columns:repeat(5,minmax(0,1fr));margin:0 14px}
.led-group-result-strip>span{min-height:58px;padding:10px 12px}
.led-group-result-strip b{font-size:12px}
.led-cable-result b{color:#087e8f}
.led-group-details{margin:12px 14px 14px}
.led-group-details summary{padding-top:11px}
.led-parameter-columns{margin-top:13px}
.led-group-messages{padding:0 14px 14px}

@media(max-width:1100px){
  .led-group-primary-grid{grid-template-columns:minmax(280px,1fr) repeat(2,minmax(140px,.45fr))}
  .led-group-result-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
  .led-group-result-strip>span:nth-child(3){border-right:0}
  .led-group-result-strip>span:nth-child(-n+3){border-bottom:1px solid #e7edf3}
}

@media(max-width:760px){
  .led-calculation-root{gap:18px}
  .led-group-heading{grid-template-columns:42px 1fr 32px}
  .led-group-primary-grid{grid-template-columns:1fr}
  .led-group-result-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .led-group-result-strip>span{border-bottom:1px solid #e7edf3}
  .led-group-result-strip>span:nth-child(2n){border-right:0}
  .led-group-result-strip>span:last-child{grid-column:1/-1;border-bottom:0}
}

/* Add controls follow their lists and provide clear hover, focus and press feedback. */
.led-panel-heading{grid-template-columns:28px minmax(250px,1.15fr) minmax(230px,1fr) minmax(240px,.85fr) 36px}
.led-add-item-row{display:flex;justify-content:center}
.led-add-group-row{padding:2px 0}
.led-add-panel-row{padding-top:2px}
.led-add-item-button{min-height:44px;border:1px solid #bcdde0;border-radius:12px;background:#f2fbfb;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;gap:9px;color:#176f71;font:800 12px Manrope,Arial,sans-serif;cursor:pointer;box-shadow:0 5px 14px rgba(20,86,91,.06);transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .08s ease}
.led-add-item-button>span{width:22px;height:22px;border-radius:7px;background:#d9f3f2;display:grid;place-items:center;color:#008f8b;font-size:17px;line-height:1;transition:background-color .15s ease,color .15s ease}
.led-add-item-button:hover{border-color:#75c9c7;background:#e8f8f7;color:#0d5f61;box-shadow:0 8px 18px rgba(20,86,91,.11);transform:translateY(-1px)}
.led-add-item-button:hover>span{background:#00a39e;color:#fff}
.led-add-item-button:active{border-color:#53b8b5;background:#d9f2f1;box-shadow:inset 0 2px 5px rgba(16,88,91,.15);transform:translateY(1px) scale(.985)}
.led-add-item-button:focus-visible{outline:2px solid #008f8b;outline-offset:3px}
.led-panel-card.is-newly-added,.led-group-card.is-newly-added{animation:led-item-added .85s ease-out}
@keyframes led-item-added{0%{box-shadow:0 0 0 0 rgba(0,169,164,.38)}35%{box-shadow:0 0 0 5px rgba(0,169,164,.22)}100%{box-shadow:0 14px 34px rgba(24,48,72,.06)}}

@media(max-width:1200px){
  .led-panel-heading{grid-template-columns:28px minmax(220px,1fr) minmax(250px,1fr) 36px}
  .led-panel-heading>.led-panel-power-picker{grid-column:3}
  .led-delete-panel{grid-column:4}
}

@media(max-width:760px){
  .led-panel-heading{grid-template-columns:28px 1fr}
  .led-panel-heading>label:first-of-type{grid-column:2;padding-right:42px}
  .led-panel-heading>label:not(:first-of-type),.led-panel-heading>.led-panel-power-picker{grid-column:1/-1}
  .led-add-item-button{width:100%}
}

@media(prefers-reduced-motion:reduce){
  .led-add-item-button{transition:none}
  .led-panel-card.is-newly-added,.led-group-card.is-newly-added{animation:none;box-shadow:0 0 0 3px rgba(0,169,164,.2)}
}

/* Power Supply & Backup 100401. */
.led-group-heading{grid-template-columns:42px minmax(240px,1fr) minmax(220px,.75fr) auto 32px}
.led-backup-toggle{align-self:center;display:grid!important;grid-template-columns:18px 1fr;align-items:center;gap:5px 8px!important;min-width:0;color:#40566d!important;cursor:pointer}
.led-backup-toggle>input{width:18px!important;height:18px!important;margin:0;padding:0;accent-color:#00a9a4;box-shadow:none!important}
.led-backup-toggle>span{font-size:11px;font-weight:900}
.led-backup-toggle>small{grid-column:1/-1;max-width:300px;color:#a35a34;font-size:9px;font-weight:700;line-height:1.35}
.led-backup-toggle:has(input:disabled){cursor:not-allowed;opacity:.82}
.led-group-statuses{align-self:center;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}
.led-backup-power-card .led-power-supply-device{background:#f1f7ff}
.led-backup-power-card .led-power-supply-device b{color:#356b9b!important}
.led-summary-reserves{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px 12px}
.led-summary-reserves>label{display:grid;gap:7px;color:#60738a;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.led-summary-reserves>label>div{display:flex;align-items:center;border:1px solid #cfe0e6;border-radius:10px;background:#fff;overflow:hidden}
.led-panel-summary.has-backup-outputs{grid-template-columns:repeat(7,minmax(0,1fr))}
.led-panel-summary>span{min-width:0}
.led-panel-summary>span b{white-space:nowrap}
.led-panel-backup-output{background:#f8fbff}
.led-panel-backup-output small{color:#5480a5}

@media(max-width:1100px){
  .led-group-heading{grid-template-columns:42px minmax(220px,1fr) minmax(210px,.8fr) 32px}
  .led-group-statuses{grid-column:2/4;justify-content:flex-start}
  .led-panel-summary.has-backup-outputs{grid-template-columns:repeat(4,minmax(0,1fr))}
}

@media(max-width:760px){
  .led-group-heading{grid-template-columns:42px 1fr 32px}
  .led-backup-toggle,.led-group-statuses{grid-column:2/4;justify-content:flex-start}
  .led-delete-group{grid-column:3;grid-row:1}
  .led-summary-heading{align-items:stretch;flex-direction:column;gap:18px}
  .led-summary-reserves{justify-content:flex-start}
  .led-panel-summary.has-backup-outputs{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Unified LED visual system: neutral surfaces, one data accent and method-specific status chips. */
#led-calculation-page{
  --led-ink:#17263a;
  --led-muted:#5d6f82;
  --led-line:#dbe4e9;
  --led-surface:#fff;
  --led-surface-muted:#f4f7f8;
  --led-accent:#078d8a;
  --led-accent-soft:#e8f5f4;
  --led-direct:#196a50;
  --led-direct-soft:#e7f5ed;
  --led-amplified:#08758a;
  --led-amplified-soft:#e6f5f7;
  --led-dali:#5d4a86;
  --led-dali-soft:#f0ecfa;
  --led-warning:#805714;
  --led-warning-soft:#fff6df;
  --led-danger:#a9443b;
  --led-danger-soft:#fff0ed;
  color:var(--led-ink);
  font-family:Manrope,Arial,sans-serif;
}

/* Group heading: fixed metric cells and a status column pinned to the right. */
.led-group-heading{grid-template-columns:28px minmax(190px,260px) max-content minmax(180px,1fr) 32px;align-items:center;gap:10px;padding:10px 14px;background:var(--led-surface);border-color:var(--led-line)}
.led-group-collapse{align-self:center;width:28px;height:40px;padding:3px 0;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;transition:background-color .15s ease}
.led-group-collapse:hover{background:#e9eef0}
.led-group-collapse:focus-visible{outline:2px solid var(--led-accent);outline-offset:2px}
.led-group-number{width:auto;height:auto;border-radius:0;background:transparent;color:var(--led-muted);font-size:9px;line-height:1;font-weight:900;letter-spacing:.06em}
.led-group-collapse i{color:var(--led-accent);font-size:11px;line-height:1}
.led-group-name{min-width:0}
.led-group-name>input{width:100%;height:42px;box-sizing:border-box;border-color:var(--led-line);color:var(--led-ink);font:700 13px Manrope,Arial,sans-serif}
.led-group-meta{width:max-content;min-width:0;height:42px;margin:0;border:1px solid var(--led-line);border-radius:9px;background:var(--led-surface);display:grid;overflow:hidden}
.led-group-meta.is-rgbw{grid-template-columns:112px 166px}
.led-group-meta.is-dali{grid-template-columns:112px 120px 104px 166px}
.led-group-meta>div{min-width:0;padding:6px 11px;border-left:1px solid var(--led-line);display:flex;flex-direction:column;justify-content:center}
.led-group-meta>div:first-child{border-left:0}
.led-group-meta dt{overflow:hidden;color:var(--led-muted);font-size:9px;line-height:1.1;font-weight:800;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}
.led-group-meta dd{min-width:0;margin:3px 0 0;overflow:hidden;color:var(--led-ink);font-size:13px;line-height:1.05;font-weight:800;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}
.led-group-meta .led-group-meta-cable dd{color:var(--led-ink)}
.led-group-statuses{align-self:center;justify-self:end;min-height:42px;display:grid;align-content:center;justify-content:end;justify-items:end;gap:3px;padding:0;text-align:right}
.led-group-statuses .led-mode{align-self:auto;height:24px;box-sizing:border-box;border:1px solid currentColor;border-radius:999px;padding:0 8px;display:inline-flex;align-items:center;font-size:9px;line-height:1;font-weight:900}
.led-mode-direct{background:var(--led-direct-soft);color:var(--led-direct)}
.led-mode-amplified{background:var(--led-amplified-soft);color:var(--led-amplified)}
.led-mode-dali{background:var(--led-dali-soft);color:var(--led-dali)}
.led-mode-incomplete{border-color:var(--led-line)!important;background:#eef2f3;color:var(--led-muted)}
.led-mode-error{background:var(--led-danger-soft);color:var(--led-danger)}
.led-group-backup-row{min-width:0;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:3px 6px}
.led-backup-toggle{min-height:20px;display:flex!important;align-items:center;flex-wrap:wrap;gap:3px 6px!important;color:var(--led-ink)!important}
.led-backup-toggle>input{width:14px!important;height:14px!important;accent-color:var(--led-accent)}
.led-backup-toggle>span{font-size:9px;white-space:nowrap}
.led-backup-toggle>small{flex-basis:100%;max-width:240px;color:var(--led-danger);font-size:8px;text-align:right}

/* Shared RGBW/DALI typography and restrained neutral surfaces. */
.led-summary-panel,.led-panel-card,.led-group-card,.led-spec-card,.led-strip-table-card,.led-connections-card,.led-power-supply-card{border-color:var(--led-line);box-shadow:0 8px 22px rgba(23,38,58,.045)}
.led-summary-panel{background:var(--led-surface)}
.led-panel-card{background:var(--led-surface)}
.led-panel-heading{border-color:var(--led-line);background:#eef3f5}
.led-panel-summary,.led-group-card,.led-spec-card,.led-strip-table-card,.led-connections-card,.led-power-supply-card{background:var(--led-surface)}
.led-panel-card,.led-panel-heading,.led-panel-heading>label,.led-panel-power-picker,.led-panel-groups,.led-group-card{min-width:0;box-sizing:border-box}
.led-panel-heading>label,.led-group-primary-grid label,.led-parameter-field>span{color:var(--led-muted)}
.led-panel-heading>label input,.led-panel-heading>label select,.led-panel-power-picker>summary,.led-group-primary-grid input,.led-group-primary-grid select,.led-parameter-field input,.led-input-unit,.led-parameter-field>div{border-color:var(--led-line);background:var(--led-surface);color:var(--led-ink);font-family:Manrope,Arial,sans-serif}
.led-panel-heading>label input,.led-panel-heading>label select{width:100%;box-sizing:border-box}
.led-panel-heading>label input:focus,.led-panel-heading>label select:focus,.led-group-heading input:focus,.led-group-primary-grid input:focus,.led-group-primary-grid select:focus,.led-parameter-field input:focus{border-color:var(--led-accent);box-shadow:0 0 0 3px rgba(7,141,138,.12)}
.led-summary-heading>div>span,.led-section-heading>div>span,.led-strip-table-card>header span,.led-connections-card>header span,.led-power-supply-card>header span{color:var(--led-accent)}
.led-summary-heading h2,.led-section-heading h2,.led-strip-table-card h3,.led-connections-card h3,.led-power-supply-card h3,.led-panel-summary b,.led-summary-table td>b,.led-spec-card>header b,.led-strip-row b{color:var(--led-ink)}
.led-section-heading p,.led-summary-table td>small,.led-connections-card>header>small,.led-power-supply-card>header>small,.led-strip-row small,.led-spec-card>p,.led-panel-summary small{color:var(--led-muted)}
.led-panel-summary>span,.led-summary-table td,.led-summary-table th,.led-connection-table td,.led-connection-table th,.led-power-supply-table td,.led-power-supply-table th,.led-strip-row{border-color:var(--led-line)}
.led-summary-table th,.led-connection-table th,.led-power-supply-table th,.led-strip-head,.led-power-supply-procurement-head td{background:var(--led-surface-muted);color:var(--led-muted)}
.led-panel-backup-output{background:var(--led-surface)}
.led-panel-backup-output small{color:var(--led-muted)}
.led-delete-group,.led-delete-panel{background:#edf1f3;color:#8a98a7}
.led-delete-group:hover,.led-delete-panel:hover{background:var(--led-danger-soft);color:var(--led-danger)}

/* One reusable table surface for summary, RGBW, backup-power and DALI data. */
.led-data-table{border-collapse:collapse;background:var(--led-surface);color:var(--led-ink)}
.led-data-table th{border-color:var(--led-line);background:var(--led-surface-muted);color:var(--led-muted)}
.led-data-table tbody td{border-color:var(--led-line);background:var(--led-surface)!important}
.led-data-table tbody tr.led-data-total td,.led-data-table tfoot td{background:#eef3f5!important;color:var(--led-ink)}
.led-data-table tbody tr.led-power-supply-procurement-head td{background:var(--led-surface-muted)!important;color:var(--led-muted)}
.led-data-table tbody td.led-power-supply-missing{background:var(--led-danger-soft)!important;color:var(--led-danger)}

/* Technical cards use borders, not nested color surfaces. */
.led-connection-node,.led-connection-amplifier,.led-connection-strip,.led-connection-device,.led-connection-strip-cell,.led-connection-power-supply,.led-power-supply-device,.led-power-supply-amplifier,.led-backup-power-card .led-power-supply-device,.led-dali-load-card .led-power-supply-device{border-color:var(--led-line);background:var(--led-surface)}
.led-connection-node b,.led-connection-group b,.led-connection-table td>b,.led-power-supply-table td>b,.led-power-supply-device b,.led-backup-power-card .led-power-supply-device b,.led-dali-load-card .led-power-supply-device b{color:var(--led-ink)!important}
.led-connection-node small,.led-connection-group small,.led-connection-table td>small,.led-power-supply-table td>small,.led-power-supply-table td>em{color:var(--led-muted)}
.led-channel-code{border-color:var(--led-line);background:var(--led-surface);color:var(--led-ink)}
.led-connection-table td>em,.led-dali-connection-table td>em,.led-connection-power-supply em,.led-dali-load-card .led-power-supply-load em{color:var(--led-accent)!important}
.led-connection-total td,.led-power-supply-total td,.led-summary-table tfoot td{background:#eef3f5;color:var(--led-ink)}
.led-dali-device-list article{border-color:var(--led-line);background:var(--led-surface)}
.led-dali-device-list span{color:var(--led-accent)}
.led-dali-device-list b{color:var(--led-ink)}
.led-dali-device-list small,.led-dali-device-list em{color:var(--led-muted)}
.led-panel-method-state-dali{border-color:var(--led-line);background:var(--led-surface)}
.led-panel-method-state-dali b{color:var(--led-ink)}
.led-source,.led-source-manual,.led-source-calculated,.led-source-default{background:#edf1f3;color:var(--led-muted)}
.led-source-catalog{background:var(--led-accent-soft);color:var(--led-accent)}
.led-source-required{background:var(--led-danger-soft);color:var(--led-danger)}
.led-channel-results article>span{background:var(--led-ink);color:#fff}
.led-connection-arrow,.led-group-details summary:after,.led-panel-collapse{color:var(--led-accent)}

/* Semantic colors are reserved for statuses, warnings and errors. */
.led-message-warning{background:var(--led-warning-soft);color:var(--led-warning)}
.led-message-error,.led-power-supply-missing{background:var(--led-danger-soft);color:var(--led-danger)}
.led-invalid-result-card{border-color:#efd2cd;background:#fff8f7}
.led-group-card.has-errors,.led-panel-card.has-errors{border-color:#efd2cd}

/* Compact power tables. */
.led-power-supply-table{min-width:760px;table-layout:fixed}
.led-power-supply-table td{padding:10px 14px}
.led-power-supply-table th>small{display:block;margin-top:2px;color:var(--led-muted);font-size:8px;text-transform:none}
.led-standard-power-card .led-power-supply-table th:nth-child(1){width:37%}
.led-standard-power-card .led-power-supply-table th:nth-child(2){width:40%}
.led-standard-power-card .led-power-supply-table th:nth-child(3){width:23%}
.led-power-supply-capacity{display:block;margin-top:8px;padding-top:7px;border-top:1px solid var(--led-line)}
.led-power-supply-capacity>b{display:block;color:var(--led-ink);font-size:12px;font-variant-numeric:tabular-nums}
.led-power-supply-capacity>small{display:block;margin-top:2px;color:var(--led-muted);font-size:8px;font-weight:800}
.led-power-supply-total td{padding-top:9px;padding-bottom:9px}
.led-power-supply-total td>b,.led-power-supply-total td>small{display:block}
.led-power-supply-total td>small{margin-top:2px;color:var(--led-muted);font-size:8px}
.led-backup-power-card .led-power-supply-table{min-width:700px}
.led-backup-power-card .led-power-supply-table th:nth-child(1){width:24%}
.led-backup-power-card .led-power-supply-table th:nth-child(2){width:50%}
.led-backup-power-card .led-power-supply-table th:nth-child(3){width:26%}

@media(max-width:1150px){
  .led-group-heading{grid-template-columns:28px minmax(190px,240px) max-content 32px}
  .led-group-statuses{grid-column:2/4;grid-row:2;justify-self:end;padding:0}
  .led-delete-group{grid-column:4;grid-row:1}
}

@media(max-width:900px){
  .led-group-heading{grid-template-columns:28px minmax(0,1fr) 32px;padding:10px 12px}
  .led-group-name{grid-column:2}
  .led-group-meta{grid-column:2/4;grid-row:2;width:100%;height:auto;min-height:42px}
  .led-group-meta.is-rgbw{grid-template-columns:repeat(2,minmax(0,1fr))}
  .led-group-meta.is-dali{grid-template-columns:repeat(4,minmax(0,1fr))}
  .led-group-statuses{grid-column:2/4;grid-row:3;justify-self:end}
  .led-delete-group{grid-column:3;grid-row:1}
}

@media(max-width:560px){
  .led-group-meta.is-dali{grid-template-columns:repeat(2,minmax(0,1fr))}
  .led-group-meta.is-dali>div:nth-child(3){border-left:0;border-top:1px solid var(--led-line)}
  .led-group-meta.is-dali>div:nth-child(4){border-top:1px solid var(--led-line)}
}

.led-strip-procurement{display:flex;flex-direction:column;align-items:flex-start}
.led-strip-procurement b{font-size:12px}
.led-strip-procurement small{margin-top:2px}
