.network-toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:end;margin:16px 0}.network-toolbar label{display:grid;gap:6px;font-size:12px;color:#62566f}.network-toolbar input,.network-toolbar select,.network-detail input,.network-detail select{min-height:39px;border:1px solid #ded5e8;border-radius:8px;padding:8px 10px;font:inherit;min-width:0;background:white;color:#30293a}.network-toolbar .network-check{display:flex;align-items:center;gap:7px;min-height:39px}.network-check input{min-height:0}.network-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}.network-layout .coverage-map-canvas{height:540px;margin-top:0}.network-detail{padding:18px;min-width:0}.network-detail form{display:grid;gap:10px;margin-top:15px}.network-detail label{display:grid;gap:5px;font-size:12px;color:#62566f}.network-port-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;margin:16px 0}.network-port-grid button{height:34px;border:1px solid #b6dccd;border-radius:7px;background:#eaf8f1;color:#21654b;font:600 12px system-ui;cursor:pointer}.network-port-grid .occupied{background:#eee5fa;border-color:#cfb9e9;color:#60378a}.network-port-grid .conflict{background:#fff0ef;border-color:#eba6a2;color:#a3322d}.network-port-grid button[aria-pressed=true]{outline:3px solid #f29b50;outline-offset:1px}.network-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:11px;color:#655a70;margin:10px 0}.network-warning{padding:10px;background:#fff4dd;color:#75511b;border-radius:8px;font-size:12px;line-height:1.5;margin:10px 0}.network-error{font-size:12px;color:#a82d39;min-height:18px;white-space:pre-wrap}.network-client{border-top:1px solid #ede8f2;padding:12px 0;font-size:12px}.network-client small{display:block;color:#83778d;margin-top:4px}.network-cto-badge{min-width:48px;padding:6px 8px;border:2px solid white;border-radius:9px;color:white;background:#27886b;font:bold 11px system-ui;box-shadow:0 2px 8px #0003;white-space:nowrap}.network-cto-badge.full{background:#bb533f}.network-cto-badge.maintenance{background:#a57519}.network-cto-badge.planned{background:#778093}.network-cto-picker{width:100%;min-height:40px;margin-bottom:12px}.network-capacity-list{display:flex;gap:10px;flex-wrap:wrap;margin:15px 0}.network-capacity-list button{padding:12px;border:1px solid #e3d8ed;border-radius:9px;background:white;text-align:left;color:#573475;cursor:pointer}.network-capacity-list small{display:block;margin-top:4px;color:#7f728a}.network-detail details{margin-top:16px;border-top:1px solid #e9e1f0;padding-top:14px}.network-detail summary{cursor:pointer;color:#60398b;font-size:12px;font-weight:bold}.network-counts{display:flex;gap:10px;flex-wrap:wrap;color:#62566f;font-size:12px;margin:10px 0}.network-layout>.panel{min-width:0}.network-client .btn{margin-top:7px;padding:7px 10px;font-size:11px}.network-empty{padding:24px;text-align:center;color:#81718d}.network-map-note{font-size:12px;line-height:1.6;color:#766782;margin-top:12px}@media(max-width:1080px){.network-layout{grid-template-columns:1fr}.network-layout .coverage-map-canvas{height:390px}.network-port-grid{grid-template-columns:repeat(8,minmax(0,1fr))}.network-toolbar>label{flex:1;min-width:140px}}@media(max-width:480px){.network-port-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.network-toolbar{align-items:stretch}.network-toolbar>label{width:100%;flex:auto}.network-layout .coverage-map-canvas{height:330px}}

.network-port-grid button.reserved{background:#fff1bf;border-color:#d49b17;color:#725000}.reservation-panel{margin-top:24px;border-top:1px solid #ece5f3;padding-top:16px}.reservation-panel form{display:grid;gap:12px}.reservation-panel label{display:grid;gap:6px}.reservation-panel select{max-width:100%;width:100%;padding:10px;border:1px solid #ddd;border-radius:8px}.reservation-panel .network-client{overflow-wrap:anywhere}
