.igr-card__actions{display:flex;justify-content:flex-end;margin-top:14px}
.igr-traffic__heading-actions{display:flex;align-items:center;gap:12px}
.igr-stale-banner,.igr-error-box{margin-bottom:16px;padding:12px 14px;border:1px solid #efaaaa;border-radius:10px;background:var(--redbg);color:var(--red);font-size:.82rem}
.igr-traffic-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:14px}
.igr-traffic-health-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:16px}
.igr-traffic-status-card{min-height:112px;padding:17px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow-sm)}
.igr-traffic-status-card strong{display:block;margin:9px 0 5px;font-size:1.35rem;overflow-wrap:anywhere}
.igr-traffic-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:850}
.igr-traffic-detail{display:block;color:var(--muted);font-size:.76rem}
.igr-traffic-status-primary{border-top:4px solid #315bb5}
.igr-health-card{min-height:90px}.igr-health-card.health-ok{border-color:#8ed5b8;background:var(--greenbg);color:var(--green)}.igr-health-card.health-ko{border-color:#efaaaa;background:var(--redbg);color:var(--red)}
.igr-traffic-toolbar{display:flex;align-items:end;flex-wrap:wrap;gap:12px;padding:16px;margin-bottom:16px}
.igr-traffic-field{flex:1 1 190px;min-width:165px}.igr-traffic-field--limit{flex:0 1 100px;min-width:90px}
.igr-traffic-field label{display:block;margin-bottom:6px;color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;font-weight:850}
.igr-traffic-field input,.igr-traffic-field select{width:100%;min-height:39px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--text);font:inherit}
.igr-input-row{display:flex;gap:7px}.igr-input-row input{min-width:0}
.igr-traffic-actions{display:flex;gap:8px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:39px;padding:8px 13px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--text);font-weight:800;cursor:pointer}.button-primary{background:#315bb5;border-color:#315bb5;color:#fff}.button-small{min-width:auto}
.igr-traffic-panel{padding:20px;margin-bottom:16px}.igr-panel-meta{display:flex;gap:15px;color:var(--muted);font-size:.74rem}.igr-traffic-table-wrap{max-height:calc(100vh - 320px)}
.igr-traffic-table{min-width:900px;table-layout:fixed}.igr-traffic-table th:nth-child(1){width:125px}.igr-traffic-table th:nth-child(2){width:210px}.igr-traffic-table th:nth-child(3){width:115px}
.cell-time strong,.cell-time small{display:block}.cell-time small{margin-top:3px;color:var(--muted)}.cell-device{overflow-wrap:anywhere}.vehicle-plate{display:block;margin-top:4px;color:#315bb5;font-size:.72rem;font-weight:850}.packet-type{display:inline-flex;padding:3px 7px;border-radius:6px;background:#eaf0ff;color:#2048ad;font-family:ui-monospace,monospace;font-weight:800}.cell-payload code{display:block;white-space:pre-wrap;overflow-wrap:anywhere;background:transparent;padding:0;color:#344054}.position-row{display:flex;justify-content:space-between;gap:10px;margin-top:7px;padding-top:7px;border-top:1px dashed var(--line);font-size:.72rem;color:var(--muted)}.position-row a{font-weight:800;text-decoration:none;color:#315bb5}
@media(max-width:920px){.igr-traffic-status-grid{grid-template-columns:repeat(2,1fr)}.igr-traffic__heading-actions{align-items:flex-end;flex-direction:column}}
@media(max-width:620px){.igr-traffic-status-grid,.igr-traffic-health-grid{grid-template-columns:1fr 1fr}.igr-traffic-status-card{min-height:96px;padding:13px}.igr-traffic-status-card strong{font-size:1.05rem}.igr-traffic-toolbar{padding:13px}.igr-traffic-field{flex-basis:100%}.igr-traffic-actions{width:100%}.igr-traffic-actions .button{flex:1}.igr-panel-meta{display:block}.igr-traffic-panel{padding:14px}}
