.route-users { margin-bottom: var(--space-6); }
.route-users .panel-header { flex-wrap: wrap; }
.route-users .data-table { min-width: 960px; }
.route-switches { display: flex; align-items: center; gap: var(--space-4); }
.switch-control { display: inline-flex; align-items: center; gap: var(--space-2); min-height: 36px; border: 0; background: transparent; padding: var(--space-1) 0; font-size: var(--text-sm); white-space: nowrap; }
.switch-track { position: relative; width: 30px; height: 18px; border-radius: 20px; background: var(--line-strong); display: block; flex: 0 0 auto; }
.switch-track::after { content: ''; position: absolute; width: 12px; height: 12px; top: 3px; left: 3px; border-radius: 50%; background: var(--surface); transition: transform .12s ease; }
.switch-control[aria-checked=true] .switch-track { background: var(--accent); }
.switch-control[aria-checked=true] .switch-track::after { transform: translateX(12px); }
.switch-control:disabled { cursor: not-allowed; opacity: .55; }
.route-mode { display: inline-flex; align-items: center; padding: var(--space-1) var(--space-2); border: 1px solid var(--line); border-radius: var(--radius-sm); font-size: var(--text-xs); background: var(--surface-muted); }
.route-mode.ai { color: var(--accent); border-color: var(--line-strong); background: var(--accent-tint); }
.route-mode.full { color: var(--nav-ink); border-color: var(--nav-bg); background: var(--nav-bg); }
.route-note { white-space: normal; max-width: 270px; line-height: 1.5; }
.egress-table { min-width: 1120px; }
.egress-table .row-actions { gap: var(--space-2); }
.egress-table .cell-name { max-width: 180px; }
.egress-actions { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.egress-checks { display: grid; gap: var(--space-1); font-size: var(--text-xs); }
.egress-checks > span { display: flex; align-items: center; gap: var(--space-2); }
.status-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--muted); display: inline-block; flex: 0 0 auto; }
.status-dot.healthy { background: var(--accent); }.status-dot.warning { background: var(--warning); }.status-dot.danger { background: var(--danger); }
.capacity-value { font-weight: 600; }.capacity-value.shared { color: var(--warning); }
.section-gap { margin-top: var(--space-6); }
.import-box { padding: var(--space-4); border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface-muted); margin-bottom: var(--space-6); }
.import-box .field { margin-bottom: var(--space-3); }.import-box .field small { line-height: 1.65; }
.input-action { display: flex; align-items: flex-start; gap: var(--space-2); }.input-action input { min-width: 0; }
.check-row { display: flex; align-items: flex-start; gap: var(--space-3); font-size: var(--text-sm); padding: var(--space-2) 0; }
.check-row input { width: 16px; height: 16px; min-height: 0; margin: 3px 0 0; accent-color: var(--accent); flex: 0 0 auto; }
.check-row span { display: block; }.check-row small { display: block; color: var(--muted); font-size: var(--text-xs); margin-top: var(--space-1); line-height: 1.6; }
.check-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--space-3); }
.form-section-title { font-size: var(--text-sm); font-weight: 650; padding-bottom: var(--space-3); margin-bottom: var(--space-4); border-bottom: 1px solid var(--line); }
.credential-note { margin: var(--space-2) 0 var(--space-4); }
.egress-preview { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-4); margin: var(--space-4) 0; padding: var(--space-4); background: var(--surface-muted); border: 1px solid var(--line); border-radius: var(--radius-sm); }
.egress-preview > div { min-width: 0; }.egress-preview small { color: var(--muted); font-size: var(--text-xs); display: block; margin-bottom: var(--space-2); }.egress-preview strong { font-size: var(--text-base); font-weight: 600; overflow-wrap: anywhere; }.egress-preview p { margin-top: var(--space-1); font-size: var(--text-xs); color: var(--muted); overflow-wrap: anywhere; }
.affected-list { margin: var(--space-3) 0 var(--space-5); padding: 0; display: flex; gap: var(--space-2); list-style: none; flex-wrap: wrap; }
.affected-list li { padding: var(--space-1) var(--space-2); font-size: var(--text-xs); border-radius: var(--radius-sm); background: var(--surface-muted); border: 1px solid var(--line); overflow-wrap: anywhere; }
.egress-detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-6); }
.egress-detail-grid .definition-list > div { grid-template-columns: 100px minmax(0,1fr); }
.check-result { padding: var(--space-3) 0; border-bottom: 1px solid var(--line); }.check-result:last-child { border-bottom: 0; }.check-result header { display: flex; justify-content: space-between; gap: var(--space-3); }.check-result p { color: var(--muted); font-size: var(--text-xs); margin-top: var(--space-2); overflow-wrap: anywhere; }
.routing-grid { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(330px,.8fr); gap: var(--space-6); align-items: start; }
.routing-grid .panel + .panel { margin-top: 0; }
.rule-service-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--space-3); margin-bottom: var(--space-5); }
.rule-service { border: 1px solid var(--line); border-radius: var(--radius-sm); padding: var(--space-3); }
.rule-service:has(input:checked) { background: var(--accent-tint); border-color: var(--line-strong); }.rule-service .check-row { padding: 0; }
.rule-meta { display: flex; flex-wrap: wrap; gap: var(--space-3) var(--space-6); padding: var(--space-4) var(--space-6); border-bottom: 1px solid var(--line); font-size: var(--text-xs); color: var(--muted); }.rule-meta strong { color: var(--ink); font-weight: 550; }
.rule-textarea { font-family: var(--mono); font-size: var(--text-sm); min-height: 108px; }
.rule-actions { display: flex; justify-content: space-between; gap: var(--space-3); flex-wrap: wrap; align-items: center; }
.rule-update { padding: var(--space-4); background: var(--surface-muted); border: 1px solid var(--line); border-radius: var(--radius-sm); margin-top: var(--space-5); }.rule-update h3 { margin-bottom: var(--space-2); }.rule-update p { font-size: var(--text-xs); color: var(--muted); line-height: 1.7; }.rule-update .egress-actions { margin-top: var(--space-3); }.rule-update details { margin-top: var(--space-3); font-size: var(--text-xs); }.rule-update summary { color: var(--accent); cursor: pointer; }.rule-update pre { font-family: var(--mono); overflow: auto; max-height: 180px; font-size: var(--text-xs); white-space: pre-wrap; overflow-wrap: anywhere; }
.diagnostic-stack { display: grid; gap: var(--space-6); }
.diagnostic-result { border-top: 1px solid var(--line); margin-top: var(--space-5); padding-top: var(--space-4); }.diagnostic-result .definition-list > div { grid-template-columns: 96px minmax(0,1fr); }.diagnostic-result .notice { margin-top: var(--space-4); margin-bottom: 0; }.diagnostic-result h3 { margin-bottom: var(--space-3); }
.path-summary { display: flex; align-items: center; gap: var(--space-2); flex-wrap: wrap; font-size: var(--text-xs); margin-bottom: var(--space-4); }.path-summary span { padding: var(--space-1) var(--space-2); border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface-muted); }.path-summary b { color: var(--muted); font-weight: 400; }
.test-sub-result { margin-top: var(--space-3); padding: var(--space-3); border: 1px solid var(--line); border-radius: var(--radius-sm); }.test-sub-result header { display: flex; justify-content: space-between; gap: var(--space-3); font-size: var(--text-sm); }.test-sub-result p { margin-top: var(--space-2); color: var(--muted); font-size: var(--text-xs); overflow-wrap: anywhere; }
.egress-loading { display: flex; gap: var(--space-3); align-items: center; color: var(--muted); font-size: var(--text-sm); padding: var(--space-4) 0; }
.inline-error { color: var(--danger); font-size: var(--text-xs); margin-top: var(--space-2); overflow-wrap: anywhere; }
@media(max-width:1180px) { .routing-grid { grid-template-columns: minmax(0,1fr); }.diagnostic-stack { grid-template-columns: repeat(2,minmax(0,1fr)); }.route-users .data-table { min-width: 960px; } }
@media(max-width:720px) { .check-grid,.rule-service-grid,.egress-detail-grid,.diagnostic-stack { grid-template-columns: minmax(0,1fr); }.egress-preview { gap: var(--space-3); padding: var(--space-3); }.route-switches { gap: var(--space-3); }.rule-meta { padding: var(--space-4); }.rule-actions > .egress-actions { width: 100%; }.input-action { flex-wrap: wrap; }.input-action input { flex: 1 1 100%; }.routing-grid { gap: var(--space-5); }.check-row { min-height: 44px; }.switch-control { min-height: 44px; } }

.connection-context { margin-bottom: var(--space-3); }.connection-context > div { grid-template-columns: 96px minmax(0,1fr); padding: var(--space-2) 0; font-size: var(--text-xs); }
.test-sub-result header { flex-wrap: wrap; }.test-sub-result header strong { min-width: 0; overflow-wrap: anywhere; }
