.port-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:10px 0}
.port-picker button{min-width:0;padding:7px 4px 9px;display:flex;flex-direction:column;align-items:center;gap:4px;background:#f5f6f3;border:1px solid #dce2d7;position:relative}
.port-picker button:hover{background:#ebf0e5;border-color:#9baa8c}
.port-picker button[aria-pressed=true]{background:#e9efe1;border-color:#6d845a;box-shadow:inset 0 0 0 1px #6d845a}
.port-picker button[aria-pressed=true]::after{content:'✓';position:absolute;top:4px;right:6px;color:#456035;font-size:11px}
.port-picture{width:100%;height:66px;display:grid;place-items:center}
.port-picture img{width:100%;height:100%;object-fit:contain}
.port-picture svg{width:58px;height:58px}
.port-picker button>span:last-child{font-size:10px;line-height:1.25;color:#35402f}
.port-scope{display:flex;gap:8px;justify-content:space-between;font-size:10px;color:#727e6a;margin-top:7px}
.port-scope output{font-size:9px;text-align:right}
.port-image-unavailable .port-picture::after{content:'Billede mangler';font-size:9px;color:#7b8775;text-align:center}

.channel-editor .port-picture{height:52px}
.channel-editor .port-picture svg{height:44px;width:44px}
.channel-editor .port-picker{gap:5px;margin-top:5px}
.lk37-settings .fields{grid-template-columns:1fr}
.lk37-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.lk37-picker .port-picture{display:flex;align-items:center;justify-content:center;flex:0 0 66px;overflow:hidden}.lk37-picker .port-picture img{height:66px;width:auto;max-width:100%}.lk37-picker button>span:not(.port-picture){font-size:11px}.lk37-picker small{font-size:9px;color:#727b6c}.lk37-picker button:disabled{opacity:.65;cursor:default;border-style:dashed;background:#f5f6f3}.lk37-coming{font-size:10px;color:#727b6c;border:1px dashed #bdc6b6;border-radius:4px;width:calc(100% - 12px);margin:0 6px}
.tape-preview{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:3px;margin:12px 0}.tape-preview span{padding:5px 2px;text-align:center;font:bold 10px Arial;overflow:hidden;text-overflow:ellipsis;border:1px solid #7b877533;min-width:0}
.cassette-options h4{display:flex;align-items:baseline;justify-content:space-between;font-size:11px;font-weight:500;margin:17px 0 7px}.cassette-options h4 small{font-weight:400;font-size:9px;color:#7b8775}.cassette-choice-grid{display:grid;gap:6px;margin:6px 0;grid-template-columns:minmax(0,1fr)}.cassette-choice-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.cassette-choice-grid.colors{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.cassette-choice-grid button{min-width:0;padding:7px 5px;background:#f5f6f3;display:flex;flex-direction:column;align-items:center;gap:4px;position:relative}.cassette-choice-grid button>span:not(.cassette-choice-image):not(.choice-spectrum):not(.choice-tape){font-size:10px;line-height:1.3}.cassette-choice-grid button>small{font-size:8px;color:#727b6c;line-height:1.3}.cassette-choice-grid button:hover{border-color:#9baa8c;background:#eef2e8}.cassette-choice-grid button[aria-pressed=true]{background:#e9efe1;border-color:#6d845a;box-shadow:inset 0 0 0 1px #6d845a}.cassette-choice-grid button[aria-pressed=true]::after{content:'✓';position:absolute;top:3px;right:5px;color:#456035;font-size:10px}.cassette-choice-image{display:grid;place-items:center;height:70px;width:100%}.cassette-choice-image img{width:100%;height:100%;object-fit:contain}.colors .cassette-choice-image{height:35px}.colors button{padding:5px 2px}.colors button>span:last-of-type{font-size:9px!important}.colors button>small{font-size:7px}.choice-spectrum{display:flex;width:100%;max-width:220px;height:15px;overflow:hidden;margin:7px 0}.choice-spectrum i{flex:1}.choice-tape{display:block;min-width:55px;max-width:100%;padding:3px 9px;background:#f8f8f2;color:#151916;border:1px solid #bfc6b8;font:bold 12px Arial}.choice-tape.inverse{background:#151916;color:#f8f8f2}.cassette-image-unavailable .cassette-choice-image::after{content:'Billede mangler';font-size:9px;color:#7b8775}.cassette-presets .button-row{margin-top:10px}.cassette-options .help{margin:9px 0}
/* Compact module identity, direct placement and connector choices. */
.inspector .compact-module-heading{align-items:center;gap:8px;margin-bottom:8px;padding-bottom:9px}.inspector .compact-module-heading h2{margin:0;font-size:18px;line-height:1.2}.compact-module-heading .type-badge{font-size:9px;padding:3px 6px}.compact-placement{margin:0 0 7px}.placement-line{display:grid;grid-template-columns:40px minmax(0,1fr);gap:8px;align-items:center;margin:5px 0}.placement-line>span,.direct-choice-field>p{font-size:10px;color:#76826d}.direct-choices{display:flex;gap:5px;flex-wrap:wrap}.direct-choices button{padding:6px 8px;min-height:30px;font-size:10px;line-height:1.3;background:#f5f6f3}.direct-choices button[aria-pressed=true]{background:#e9efe1;border-color:#6d845a;box-shadow:inset 0 0 0 1px #6d845a}.slot-choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.slot-choices button{font-size:12px;padding:4px}.frame-choices{max-height:102px;overflow:auto}.frame-choices button{min-width:39px}.inspector .compact-numbering{padding:8px 0 10px}.numbering-heading{display:flex;gap:8px;align-items:center;justify-content:space-between}.inspector .numbering-heading h3{margin:0}.numbering-heading output{font-size:10px;color:#76826d}.compact-numbering>.fields{margin:6px 0 0;gap:9px}.compact-numbering>.fields input{height:30px;padding:5px 7px;margin-top:3px}.direct-choice-field{margin:10px 0}.direct-choice-field>p{margin:0 0 5px}.direct-choice-field>.direct-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.lk37-settings>label{margin-top:9px}.lk37-settings .direct-choice-field>p{display:none}
@media(max-width:900px){.slot-choices button,.frame-choices button{min-height:36px}.direct-choice-field button{min-height:36px}}

/* Fixed image areas and separate captions keep images clear of their labels. */
.port-picker button,.cassette-choice-grid button{padding:0;gap:0;overflow:hidden}
.port-picture,.cassette-choice-image,.lk37-picker .port-picture{display:block;position:relative;width:100%;height:96px;flex:0 0 96px;margin:0;overflow:hidden}
.port-picture img,.cassette-choice-image img,.lk37-picker .port-picture img{position:absolute;inset:5px;width:calc(100% - 10px);height:calc(100% - 10px);max-width:none;object-fit:contain;object-position:center}
.port-picture svg{position:absolute;inset:8px;width:calc(100% - 16px);height:calc(100% - 16px)}
.colors .cassette-choice-image{height:47px;flex-basis:47px}
.channel-editor .port-picture{height:72px;flex-basis:72px}
.port-picker .choice-caption,.cassette-choice-grid .choice-caption{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;width:100%;min-height:42px;margin-top:auto;padding:7px 4px;background:#fff;border-top:1px solid #dce2d7;line-height:1.3}
.choice-caption>span{font-size:10px}.choice-caption>small{font-size:8px;color:#727b6c}.colors .choice-caption{min-height:37px;padding:5px 1px}.colors .choice-caption>span{font-size:9px}.colors .choice-caption>small{font-size:7px}
[aria-pressed=true]>.choice-caption{background:#f0f5e9}
.lk37-picker .lk37-coming{display:grid;place-items:center;border:0;border-radius:0}
.cassette-choice-grid .choice-spectrum{width:calc(100% - 16px);flex-shrink:0}.cassette-choice-grid .choice-tape{margin:0 0 8px}
.panel-strip-sample{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:calc(100% - 16px);margin:12px 8px;border:1px solid #7b877555;flex-shrink:0}.panel-strip-sample>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:7px 2px;text-align:center;font:bold 11px Arial}

.lk-catalog summary{cursor:pointer;font-size:12px;padding:10px 0}.lk-alternatives{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:8px}.lk-alternatives button:disabled{opacity:1;cursor:not-allowed;color:#53604f;border-color:#d7ddd2}.lk-alternatives .choice-caption small{font-size:10px;line-height:1.35}.lk-alternatives .port-picture{height:72px;flex-basis:72px}.lk-alternatives .port-picture>span{display:grid;place-items:center;height:100%;font-size:11px}
