/* Compact, bounded company → station → charger policy graph. */
.company-policy-navigation{padding:20px}.policy-tabs{gap:8px;margin-bottom:18px}.policy-tabs button{font-size:12px;padding:9px 13px}.policy-tree-toolbar,.policy-tree-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.policy-tree-breadcrumb{display:flex;align-items:center;gap:8px;min-width:0;overflow-wrap:anywhere}.policy-tree-breadcrumb .textbutton{color:var(--blue);background:transparent;padding:6px 0}.policy-tree-search{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.policy-tree-search input,.policy-tree-search select{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;padding:8px 10px;max-width:100%;min-width:0}.policy-tree-search input{width:210px}.policy-network{position:relative;margin:16px 0;padding:0 18px 0 30px}.policy-wires{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.policy-wires path{stroke:var(--line);stroke-width:1.5;fill:none}.policy-wires path.is-active{stroke:var(--blue)}.policy-tree-parent{display:flex;flex-direction:column;align-items:center;gap:24px;margin-bottom:28px;position:relative}.policy-tree-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 18px;position:relative}.policy-node{display:flex;flex-direction:column;align-items:center;gap:5px;background:var(--surface);color:var(--ink);border:1px solid transparent;padding:10px;border-radius:12px;min-width:0;width:100%;text-align:center;overflow-wrap:anywhere;box-shadow:none}.policy-tree-parent .policy-node{width:min(260px,100%)}.policy-node:hover{border-color:var(--line);filter:none;background:var(--bg)}.policy-node.is-selected{border-color:var(--blue);background:var(--accent-soft)}.policy-node strong{font-size:13px;line-height:1.5}.policy-node small{font-size:11px;font-weight:400;color:var(--muted);line-height:1.6}.policy-art{width:66px;height:43px;color:var(--blue);flex:none}.policy-art-station{width:54px;height:43px}.policy-origin{display:inline-block;color:var(--blue);background:var(--accent-soft);border-radius:20px;padding:3px 8px;font-size:10px;font-weight:500}.policy-origin.is-override{color:var(--orange);background:var(--warning-soft,var(--bg))}.policy-tree-footer{padding-top:16px;border-top:1px solid var(--line)}.policy-tree-legend,.policy-tree-pagination{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:11px;color:var(--muted)}.policy-tree-legend span{display:flex;align-items:center;gap:6px}.policy-tree-legend i{width:7px;height:7px;border-radius:50%;background:var(--blue)}.policy-tree-legend i.is-override{background:var(--orange)}.policy-tree-empty{grid-column:1/-1;text-align:center;padding:24px}.policy-direct-select{margin:16px 0;font-size:12px;color:var(--muted)}.policy-direct-select summary{cursor:pointer;margin-bottom:12px}.policy-selected-heading{display:flex;align-items:center;gap:14px}.policy-selected-heading h2{margin:3px 0;font-size:17px;overflow-wrap:anywhere}.policy-selected-heading p{margin:0;color:var(--muted);font-size:12px}.policy-selected-detail{padding:16px 20px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1300px){.policy-tree-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:800px){.policy-tree-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.policy-tree-search{width:100%}.policy-tree-search label:first-child{flex:1}.policy-tree-search input{width:100%}.policy-network{padding-right:0}}
@media(max-width:480px){.company-policy-navigation{padding:14px}.policy-tree-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 8px}.policy-network{padding-left:24px}.policy-node{padding:8px 4px}.policy-tree-search label:last-child{width:100%}.policy-tree-search select{width:100%}.policy-tree-pagination{gap:7px}.policy-tabs{gap:5px}.policy-tabs button{padding:8px;font-size:11px}.policy-tree-footer{gap:12px}}

.policy-tree-grid.few-nodes{grid-template-columns:repeat(var(--policy-node-count),minmax(0,1fr));max-width:calc(var(--policy-node-count)*240px);margin-left:auto;margin-right:auto}
@media(max-width:480px){.policy-tree-grid.few-nodes{grid-template-columns:repeat(2,minmax(0,1fr))}.policy-tree-grid.few-nodes:has(>.policy-node:only-child){grid-template-columns:minmax(0,240px);justify-content:center}}
