Files
netwatch/app/assets/css/floor-infrastructure-list.css
2026-04-09 08:36:28 +02:00

172 lines
2.7 KiB
CSS

.floor-infra {
padding: 25px;
}
.toolbar {
display: flex;
gap: 10px;
margin-bottom: 15px;
}
.filter-form {
display: flex;
align-items: center;
gap: 10px;
flex-wrap: wrap;
margin-bottom: 18px;
}
.filter-form select {
padding: 8px 10px;
border-radius: 4px;
border: 1px solid #ccc;
}
.infra-plan {
padding: 15px;
margin-bottom: 28px;
background: #f7f7f7;
border: 1px dashed #ccc;
border-radius: 6px;
}
.infra-plan-header {
display: flex;
align-items: center;
justify-content: space-between;
gap: 10px;
}
.infra-plan-header h2 {
margin: 0;
}
.infra-plan-tools {
display: flex;
gap: 6px;
}
.infra-floor-canvas {
position: relative;
margin-top: 12px;
width: 100%;
min-height: 560px;
border: 1px solid #d4d4d4;
border-radius: 8px;
background: #fff;
overflow: hidden;
touch-action: none;
cursor: grab;
}
.infra-floor-canvas.is-dragging {
cursor: grabbing;
}
.infra-floor-scene {
position: absolute;
left: 0;
top: 0;
transform-origin: 0 0;
will-change: transform;
}
.infra-floor-svg {
position: absolute;
left: 0;
top: 0;
object-fit: fill;
pointer-events: none;
opacity: 0.22;
}
.infra-floor-overlay {
position: absolute;
left: 0;
top: 0;
z-index: 2;
}
.infra-overlay-marker {
pointer-events: auto;
}
.infra-room-shape {
fill: rgba(60, 102, 164, 0.06);
stroke: rgba(60, 102, 164, 0.55);
stroke-width: 1.4;
}
.infra-room-label {
fill: rgba(34, 59, 95, 0.9);
font-size: 18px;
font-weight: 700;
text-anchor: middle;
dominant-baseline: middle;
pointer-events: none;
}
.infra-connection-path {
fill: none;
stroke: rgba(212, 97, 54, 0.8);
stroke-linecap: round;
stroke-linejoin: round;
stroke-dasharray: 6 5;
}
.infra-node {
cursor: move;
}
.infra-node-label {
font-size: 13px;
fill: #223a61;
font-weight: 600;
pointer-events: none;
}
.infra-node--patchpanel .infra-node-shape {
fill: rgba(13, 110, 253, 0.25);
stroke: #0d6efd;
stroke-width: 2;
}
.infra-node--outlet .infra-node-shape {
fill: rgba(25, 135, 84, 0.25);
stroke: #198754;
stroke-width: 2;
}
.infra-section {
margin-bottom: 30px;
}
.infra-table {
width: 100%;
border-collapse: collapse;
margin-top: 10px;
}
.infra-table th,
.infra-table td {
padding: 10px;
border-bottom: 1px solid #ddd;
}
.floor-plan-hint {
margin: 8px 0 0;
font-size: 0.85em;
color: #444;
}
.empty-state {
padding: 20px;
background: #fafafa;
border: 1px dashed #ccc;
border-radius: 6px;
}
.actions .button-small {
margin-right: 6px;
}