.documentation-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.documentation-actions .btn{font-size:11px;flex:1;min-width:110px}.diagram-annotation{position:absolute;z-index:2;pointer-events:none}.diagram-annotation>svg{display:block;overflow:visible}.annotation-tools{position:absolute;left:0;top:-22px;display:flex;gap:3px;pointer-events:auto}.annotation-tools button{background:var(--tone-2);color:var(--tone-8);border:1px solid var(--line);border-radius:4px;min-width:24px;height:22px;font-size:13px}.annotation-tools button[data-annotation-drag]{cursor:grab;touch-action:none}.annotation-tools button:hover{background:var(--tone-4)}.annotation-list{max-height:42vh;overflow:auto}.port-map-stats{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0;padding:14px;border:1px solid var(--line);border-radius:8px}.port-map-stats span{font-size:11px;color:var(--tone-8)}.port-map-stats b{font-size:18px;margin-right:4px;color:var(--tone-9)}.port-map-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;max-height:52vh;overflow:auto;padding:2px}.port-map-port{min-height:80px;text-align:left;padding:10px;border:1px solid var(--line);border-radius:7px;background:var(--tone-2);min-width:0}.port-map-port strong,.port-map-port span,.port-map-port small{display:block;overflow-wrap:anywhere}.port-map-port strong{font:12px var(--mono);color:var(--tone-9)}.port-map-port span,.port-map-port small{font-size:10px;color:var(--tone-8);margin-top:7px;line-height:1.4}.port-map-port.used{border-top:3px solid #4b8565}.port-map-port.free{border-top:3px solid #8692a2}.port-map-port.disabled{opacity:.6;border-top:3px solid #ba7769}.port-map-port.pending{border-style:dashed;opacity:.55}.port-map-port:hover:not(.pending){background:var(--tone-3);border-color:var(--tone-7)}#modal:has(.port-map-grid){width:min(900px,94vw)}#modal:has(#annotation-form){width:min(640px,94vw)}.edge:where(:not(.selected):not(:hover)){stroke:var(--cable-color,var(--tone-6))}
@media(max-width:680px){.port-map-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.port-map-port{padding:8px}.documentation-actions .btn{min-width:95px}}
