#app.menu-collapsed{grid-template-columns:76px 1fr}#app.menu-collapsed aside{width:76px}#app.menu-collapsed .brand b,#app.menu-collapsed nav .nav-label,#app.menu-collapsed nav summary span,#app.menu-collapsed aside footer{display:none}#app.menu-collapsed .brand{padding:12px;justify-content:center}#app.menu-collapsed nav{padding:12px 8px}#app.menu-collapsed nav button{font-size:0;text-align:center;padding:12px 4px}#app.menu-collapsed nav button .nav-icon{font-size:20px}
.nav-group{border-bottom:1px solid #153547;padding:5px 0}.nav-group summary{cursor:pointer;color:#6fa3b8;text-transform:uppercase;font-size:10px;font-weight:800;letter-spacing:1px;padding:9px 13px;list-style:none}.nav-group summary::after{content:'⌄';float:right}.nav-group[open] summary::after{content:'⌃'}.nav-group button{width:100%}.nav-icon{display:inline-block;width:24px;text-align:center;margin-right:5px}
.map-workspace{display:grid;grid-template-columns:300px 1fr;gap:10px;min-height:0}.element-tree{background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:auto;height:calc(100vh - 275px);min-height:520px}.tree-head{position:sticky;top:0;background:var(--panel);padding:14px;border-bottom:1px solid var(--line);z-index:2}.tree-head h3{margin:0 0 10px}.tree-head input{width:100%;background:#071b28;color:var(--text);border:1px solid var(--line);padding:9px;border-radius:8px}.tree-project{padding:10px 13px;border-bottom:1px solid var(--line)}.tree-project summary{font-weight:800;cursor:pointer}.tree-network{padding:8px 4px 3px 15px}.tree-type{padding:5px 0;color:var(--muted);cursor:pointer}.tree-item{display:block;width:100%;text-align:left;background:transparent;border:0;color:var(--text);padding:6px 8px;border-radius:6px}.tree-item:hover{background:#164158}.tree-count{float:right;background:#173b4c;padding:1px 6px;border-radius:9px;font-size:10px}
body.map-fullscreen{overflow:hidden}body.map-fullscreen #map{display:block!important;position:fixed;inset:0;z-index:1000;background:var(--bg);padding:8px;max-width:none}body.map-fullscreen #map .map-tools{margin:0 0 7px}body.map-fullscreen #map .map-workspace,body.map-fullscreen #map .element-tree,body.map-fullscreen #networkMap{height:calc(100vh - 155px);min-height:0}body.map-fullscreen .map-filter-panel{margin-bottom:6px}.map-fab{position:absolute;right:22px;top:17px;z-index:1001}
.detail-drawer{position:fixed;right:0;top:0;height:100vh;width:min(720px,96vw);background:var(--panel);border-left:1px solid var(--line);z-index:1200;transform:translateX(105%);transition:.25s;box-shadow:-20px 0 60px #0008;overflow:auto}.detail-drawer.open{transform:none}.drawer-head{position:sticky;top:0;background:var(--panel);display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid var(--line);z-index:2}.drawer-body{padding:16px}.fiber-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px}.fiber-card{border:1px solid var(--line);border-left:5px solid var(--fiber-color,#38bdf8);border-radius:8px;padding:9px;background:#0a1d2a}.fiber-card select,.fiber-card input{width:100%;margin-top:5px}.project-row{display:grid;grid-template-columns:1fr auto;gap:10px;padding:10px;border-bottom:1px solid var(--line)}
@media(max-width:1000px){.map-workspace{grid-template-columns:230px 1fr}.element-tree{height:420px;min-height:0}}
@media(max-width:760px){#app.menu-collapsed{display:block}.map-workspace{display:block}.element-tree{display:none}.map-workspace.tree-open .element-tree{display:block;position:absolute;left:10px;right:10px;z-index:900;height:55vh}.map-fab{position:static;margin-bottom:6px}body.map-fullscreen #map .map-workspace,body.map-fullscreen #networkMap{height:calc(100vh - 205px)}.detail-drawer{width:100vw}.fiber-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.fiber-grid{grid-template-columns:1fr}}
.map-workspace .element-tree{position:relative!important;width:auto!important;z-index:3}#app.menu-collapsed .map-workspace .element-tree{width:auto!important}
.tree-management{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.tree-management button{padding:9px 8px;font-size:12px}.node-map-popup{display:grid;gap:4px;min-width:190px}.node-map-popup strong{font-size:14px}.node-map-popup small{display:block}.popup-actions{display:flex;gap:6px;margin-top:6px}.popup-actions button{padding:6px 8px;font-size:12px}
.ops-dialog{width:min(760px,94vw);max-height:90vh;padding:0;border:1px solid #2d6376;border-radius:12px;background:var(--panel);color:var(--text);box-shadow:0 20px 70px #0009}.ops-dialog::backdrop{background:#00131dcc}.ops-dialog.ops-wide{width:min(1380px,97vw)}.ops-head{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;border-bottom:1px solid var(--line)}.ops-head h2{margin:2px 0}.ops-head>button{font-size:18px}.ops-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line)}.ops-summary div{display:grid;grid-template-columns:120px 1fr;gap:10px;padding:12px 18px;background:var(--panel)}.ops-summary span{color:var(--muted)}.ops-link{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;padding:15px 18px;border-bottom:1px solid var(--line)}.ops-link label{display:grid;gap:5px}.ops-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:18px}.ops-actions button{min-height:42px}.ops-toolbar{display:flex;gap:10px;align-items:end;padding:14px 18px;flex-wrap:wrap}.ops-toolbar label{display:grid;gap:4px}.ops-toolbar input{width:110px}.ops-table-wrap{overflow:auto;max-height:65vh}.ops-table{width:100%;border-collapse:collapse;white-space:nowrap}.ops-table th,.ops-table td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left}.ops-table th{position:sticky;top:0;background:#123546;z-index:2}.ops-table tbody tr:nth-child(even){background:#ffffff08}.ops-table td small{display:block;color:var(--muted)}.port-status{padding:4px 9px;border-radius:14px;background:#475569}.port-status.free{background:#166534;color:#dcfce7}.port-status.used{background:#9a3412;color:#ffedd5}.connection-map{display:grid;gap:12px;padding:20px;max-height:70vh;overflow:auto}.connection-row{display:grid;grid-template-columns:minmax(100px,1fr) auto minmax(150px,1.4fr) auto minmax(100px,1fr);align-items:center;gap:12px;border:1px solid var(--line);border-radius:10px;padding:14px;text-align:center}.connection-row div{display:grid}.connection-row small{color:var(--muted)}
@media(max-width:700px){.ops-summary,.ops-actions{grid-template-columns:1fr}.ops-link{grid-template-columns:1fr}.connection-row{grid-template-columns:1fr}.connection-row>span{transform:rotate(90deg)}}
.kml-form{display:grid;gap:13px;padding:18px}.kml-form label{display:grid;gap:6px}.kml-form input,.kml-form select{width:100%}.kml-file{padding:14px;border:1px dashed var(--line);border-radius:9px}.kml-form p{margin:0;color:var(--muted);font-size:13px}
