/* Compact inventory cards: horizontal information groups, pixel styling. */
.node-grid:not(.list){grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.node-grid:not(.list) .node-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;padding:16px}
.node-grid:not(.list) .card-heading{grid-column:1/-1;order:0;padding:0;min-height:36px}
.node-grid:not(.list) .card-tags{grid-column:1/-1;order:1;margin:0;min-height:0}
.node-grid:not(.list) .meters{grid-column:1/-1;order:2;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:3px 0}
.node-grid:not(.list) .route-panel{grid-column:1/-1;order:3;margin:0}
.node-grid:not(.list) .card-network{grid-column:1/-1;order:4;margin:0;padding:8px 10px;gap:16px}
.node-grid:not(.list) .node-facts{grid-column:1/-1;order:5;margin:0}
.node-grid:not(.list) .traffic-inventory{grid-column:1/-1;order:6}
.node-grid:not(.list) .card-bottom{grid-column:1/-1;order:8;margin:0;font-size:12px}
.node-grid:not(.list) .latency-panel{grid-column:1/-1;order:7;margin:0;padding-top:8px}
.node-header-actions{display:flex;flex-wrap:nowrap;max-width:none;gap:5px}
.node-grid:not(.list) .resource-grid .meter-label{font-size:14px;margin-bottom:6px;flex-wrap:nowrap;gap:3px}
.node-grid:not(.list) .resource-grid .metric-foot{font-size:16px;white-space:normal;overflow:visible;text-overflow:clip;margin-top:3px}
.node-grid:not(.list) .resource-miner{width:25px;height:22px;right:0;bottom:12px}
.node-grid:not(.list) .resource-meter .meter-label{padding-right:24px}
.node-grid:not(.list) .card-network>div{grid-template-columns:auto minmax(0,1fr);gap:2px 7px;font-size:14px}
.node-grid:not(.list) .card-network>div>strong{text-align:right;font-size:14px}
.node-grid:not(.list) .card-network>div>small{font-size:12px}
.node-grid:not(.list) .route-badge{flex-direction:row;align-items:center;gap:6px;padding:6px}
.node-grid:not(.list) .route-badge>span:first-child{font-size:12px;flex-shrink:0}
.node-grid:not(.list) .route-evidence-list{flex:1}
.node-grid:not(.list) .route-caption,.node-grid:not(.list) .traffic-note{display:none}
.node-grid:not(.list) .traffic-inventory .meter-label>span{display:none}
.node-grid:not(.list) .traffic-inventory .meter-label{justify-content:flex-end;margin:0;font-size:12px}
.node-grid:not(.list) .traffic-inventory .meter{margin:0}
.node-grid:not(.list) .latency-heading{font-size:12px;margin-bottom:5px}
.node-grid:not(.list) .latency-heading small{font-size:12px}
.node-grid:not(.list) .latency-note{font-size:11px;margin-top:5px}
.node-grid:not(.list) .latency-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px;padding:3px 0}
.node-grid:not(.list) .ping-summary{grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);font-size:14px}
.node-grid:not(.list) .ping-history{grid-column:1;margin:0;height:8px;min-height:8px;max-height:8px;gap:2px}
.node-grid:not(.list) .ping-history .ping-block{height:8px;max-height:8px}
.node-grid:not(.list) .loss-track-row{grid-column:2;display:block!important;margin:0;height:8px}
.node-grid:not(.list) .loss-track-row>span:first-child,.node-grid:not(.list) .loss-track-row>small{display:none}
.node-grid:not(.list) .loss-track{height:8px}
@media(max-width:1000px){.node-grid:not(.list){grid-template-columns:minmax(0,1fr)}}
@media(max-width:550px){.node-grid:not(.list) .node-card{padding:12px;gap:7px 8px}.node-grid:not(.list) .meters{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}.node-grid:not(.list) .route-badge{gap:3px;padding:5px 3px}.node-grid:not(.list) .route-badge>span:first-child{font-size:11px}.node-grid:not(.list) .route-badge .route-item-label{font-size:11px;gap:2px}.node-grid:not(.list) .route-item-icon{width:12px;height:12px}.node-header-actions>.badge{font-size:12px;padding:2px 3px}.node-grid:not(.list) .node-meta{max-width:160px}}

/* Hardware capacities are data, never truncate them. */
.node-grid .resource-grid .metric-foot{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;line-height:1.6;min-height:1.6em}
.node-grid .resource-grid .meter-label{flex-wrap:wrap}
/* Three compact cards on desktop, moderate centered width. */
@media(min-width:1250px){
.shell,.nav-wrap{max-width:1500px;width:94%;padding-left:18px;padding-right:18px}
.node-grid:not(.list){grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.node-grid:not(.list) .node-card{padding:12px;gap:7px 9px}
.node-grid:not(.list) .meters{gap:7px;grid-template-columns:repeat(2,minmax(0,1fr))}
.node-grid:not(.list) .node-name{font-size:15px}
.node-grid:not(.list) .node-meta{font-size:12px}
.node-grid:not(.list) .route-badge{padding:5px 3px;gap:3px}
.node-grid:not(.list) .route-badge>span:first-child{font-size:11px}
.node-grid:not(.list) .route-badge .route-item-label{font-size:11px;gap:2px}
.node-grid:not(.list) .route-item-icon{width:12px;height:12px}
.node-grid:not(.list) .card-network{gap:10px;padding:7px}
.node-grid:not(.list) .node-header-actions .badge{font-size:11px;padding:2px 3px}
}
@media(min-width:1550px){.node-grid:not(.list) .meters{grid-template-columns:repeat(4,minmax(0,1fr))}.node-grid:not(.list) .resource-grid .meter-label{font-size:12px}.node-grid:not(.list) .resource-grid .meter-label strong{font-size:12px}}
@media(min-width:1250px){.node-grid:not(.list) .meters{grid-template-columns:repeat(4,minmax(0,1fr))}.node-grid:not(.list) .resource-grid .meter-label,.node-grid:not(.list) .resource-grid .meter-label strong{font-size:12px}.node-grid:not(.list) .resource-meter .meter-label{padding-right:0}.node-grid:not(.list) .resource-miner{width:20px;height:18px;right:0;bottom:10px;opacity:.9}.node-grid:not(.list) .resource-meter .meter-label strong{padding-right:20px}}

/* Readable hardware information at three cards per row. */
.node-grid:not(.list) .meters{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}
.node-grid:not(.list) .resource-grid .meter-label,.node-grid:not(.list) .resource-grid .meter-label strong{font-size:16px;line-height:1.5;font-weight:400;text-shadow:none}
.node-grid:not(.list) .resource-grid .metric-foot{display:block;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;font-size:16px;line-height:1.5;color:var(--ink);text-shadow:none}
.node-grid:not(.list) .resource-grid .metric-foot>span{display:block;white-space:normal;overflow-wrap:anywhere}
.node-grid:not(.list) .resource-meter .meter-label strong{padding-right:28px}
.node-grid:not(.list) .resource-miner{width:25px;height:22px;opacity:1}
/* Match neighboring labels and tighten the two-column hardware block. */
.node-grid:not(.list) .meters{gap:5px 12px;margin:0}
.node-grid:not(.list) .resource-grid .meter-label,.node-grid:not(.list) .resource-grid .meter-label strong{font-size:14px;line-height:1.4;margin-bottom:4px;font-weight:400}
.node-grid:not(.list) .resource-grid .metric-foot{font-size:14px;line-height:1.35;margin-top:2px;min-height:0}
.node-grid:not(.list) .resource-grid .metric-foot>span{line-height:1.35}
/* Balanced upload/download slots and readable route item icons. */
.node-grid:not(.list) .card-network{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:0}
.node-grid:not(.list) .card-network>div{display:grid;grid-template-columns:minmax(0,1fr);gap:3px;padding:8px 10px;min-width:0}
.node-grid:not(.list) .card-network>div+div{border-left:1px solid var(--line)}
.node-grid:not(.list) .card-network>div>span{font-size:12px;line-height:1.4;color:var(--muted)}
.node-grid:not(.list) .card-network>div>strong{text-align:left;font-size:14px;font-weight:400;line-height:1.5;white-space:nowrap;font-variant-numeric:tabular-nums}
.node-grid:not(.list) .card-network>div>small{grid-column:1;font-size:12px;line-height:1.4;white-space:normal;overflow-wrap:anywhere;color:var(--muted)}
.node-grid:not(.list) .route-badge{padding:5px 6px;gap:5px;min-height:34px}
.node-grid:not(.list) .route-badge .route-item-label{gap:4px}
.node-grid:not(.list) .route-badge .route-item-icon{width:20px;height:20px;flex:0 0 20px;filter:drop-shadow(1px 1px #0004)}
@media(max-width:400px){.node-grid:not(.list) .route-badge{gap:3px;padding:4px 3px}.node-grid:not(.list) .route-badge .route-item-label{gap:2px}.node-grid:not(.list) .route-badge .route-item-icon{width:17px;height:17px;flex-basis:17px}}
