/* SB CMMS v2.1 — árvore dinâmica de locais e ativos. */
.asset-tree-controls{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.asset-view-switch{display:inline-flex;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#fff}
.asset-view-switch button{border:0;background:#fff;color:var(--muted);padding:9px 12px;font-weight:800;cursor:pointer}
.asset-view-switch button.active{background:var(--accent2);color:var(--brand-blue)}
.tree-layout{display:grid;grid-template-columns:minmax(420px,1.35fr) minmax(300px,.65fr);gap:14px;align-items:start}
.tree-panel,.tree-detail{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.tree-panel-head{padding:12px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(220px,1fr) 170px;gap:8px;background:#fbfcfd}
.tree-toolbar{display:flex;gap:7px;padding:10px 12px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.tree-scroll{max-height:calc(100vh - 350px);min-height:420px;overflow:auto;padding:9px 6px 18px}
.tree-branch{min-width:max-content}
.tree-row{display:grid;grid-template-columns:22px 26px minmax(250px,1fr) auto;align-items:center;gap:5px;padding:5px 8px;border-radius:6px;border:1px solid transparent;min-height:37px;cursor:pointer;margin:1px 0}
.tree-row:hover{background:#f4f8fc;border-color:#dbe8f2}.tree-row.selected{background:#e9f2fb;border-color:#9fc1e3}
.tree-row.drag-over{background:#eaf8ef;border-color:#72c98a}
.tree-toggle{border:0;background:transparent;color:#46657c;font-size:14px;cursor:pointer;width:22px;height:22px;padding:0}.tree-toggle.empty{visibility:hidden}
.tree-icon{width:24px;height:24px;display:grid;place-items:center;border-radius:5px;background:#edf3f7;color:#31566f;font-size:12px;font-weight:900}
.tree-icon.asset{background:#eaf8ef;color:#14833b}.tree-icon.tgl{background:#e9f2fb;color:#2f69b3}.tree-icon.company{background:#eff0ff;color:#5146a5}
.tree-label{min-width:0}.tree-label strong{display:block;font-size:12.5px;color:#173b56;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-label span{display:block;font-size:10.5px;color:var(--muted);margin-top:1px}
.tree-badges{display:flex;gap:4px;align-items:center;padding-left:8px}.tree-count{font-size:10px;background:#eef2f6;color:#516879;border-radius:4px;padding:3px 5px;font-weight:800}
.tree-children{margin-left:22px;border-left:1px dashed #cdd9e1;padding-left:6px}
.tree-unassigned{margin-top:10px;padding-top:8px;border-top:1px solid var(--line)}
.tree-detail-head{padding:15px 16px;background:#f8fafb;border-bottom:1px solid var(--line)}
.tree-detail-head .eyebrow{font-size:10px;color:var(--muted);font-weight:850;text-transform:uppercase;letter-spacing:.08em}.tree-detail-head h2{margin:4px 0 2px;font-size:18px;color:var(--brand-blue-deep)}
.tree-detail-body{padding:14px 16px}.tree-detail-actions{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}
.tree-path{font-size:11px;line-height:1.6;color:#47657a;background:#f3f8fb;border-left:3px solid var(--brand-blue);padding:8px 10px;border-radius:4px;margin-bottom:12px}
.tree-facts{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tree-fact{border:1px solid var(--line);border-radius:6px;padding:9px;background:#fff}.tree-fact span{font-size:9.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.tree-fact strong{display:block;font-size:12px;margin-top:3px;color:#173b56;word-break:break-word}
.tree-note{margin-top:12px;font-size:11px;line-height:1.55;color:var(--muted)}
.tree-empty{padding:38px 20px;text-align:center;color:var(--muted);font-size:12px}
.tag-provisional{background:#fff3e8;color:#b54708;border-radius:4px;padding:3px 5px;font-size:9px;font-weight:850}.criticality-pending{background:#fff8e7;color:#8a5700;border-radius:4px;padding:3px 5px;font-size:9px;font-weight:850}
.location-path-preview{margin-top:6px;padding:8px 9px;border:1px solid var(--line);border-radius:5px;background:#f8fafb;font-size:11px;color:var(--muted);line-height:1.45}
.tree-drop-help{font-size:10.5px;color:var(--muted);padding:0 12px 10px}.tree-drop-help strong{color:#31566f}
.import-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.import-summary div{border:1px solid var(--line);border-radius:6px;padding:9px;text-align:center}.import-summary strong{display:block;font-size:18px;color:var(--brand-blue-deep)}
@media(max-width:1100px){.tree-layout{grid-template-columns:1fr}.tree-scroll{max-height:600px}.tree-detail{position:static}}
@media(max-width:700px){.tree-panel-head{grid-template-columns:1fr}.tree-layout{display:block}.tree-detail{margin-top:12px}.tree-facts{grid-template-columns:1fr}.tree-row{grid-template-columns:22px 26px minmax(180px,1fr)}.tree-badges{display:none}.tree-children{margin-left:12px}}
