.topbar-status{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.topbar .sub{margin-top:8px;color:rgba(244,247,255,.92);font-size:13px;font-weight:850;letter-spacing:.055em;text-shadow:0 1px 12px rgba(17,29,86,.35)}.traffic-summary{display:grid;gap:3px;min-width:318px;padding:8px 10px;border:1px solid rgba(255,255,255,.25);border-radius:13px;background:rgba(13,23,76,.18);box-shadow:inset 0 1px 0 rgba(255,255,255,.1);backdrop-filter:blur(12px)}.traffic-row{display:grid;grid-template-columns:68px minmax(88px,1fr) minmax(88px,1fr);align-items:center;gap:8px;min-height:22px;font-variant-numeric:tabular-nums}.traffic-label{color:rgba(239,244,255,.78);font-size:11px;font-weight:800;letter-spacing:.04em}.traffic-value{display:flex;align-items:center;gap:4px;white-space:nowrap;font:800 12px/1 ui-monospace,SFMono-Regular,Consolas,monospace}.traffic-value b{font:inherit}.traffic-download{color:#89efdf}.traffic-upload{color:#f9d48a}.traffic-summary.is-loading .traffic-value{color:rgba(255,255,255,.72)}.traffic-summary.is-stale{border-color:rgba(249,212,138,.6)}.traffic-summary.is-stale .traffic-label{color:#f9d48a}.device-live{min-width:150px}.device-live .traffic-row{grid-template-columns:68px minmax(52px,1fr);gap:7px}.device-live-value{justify-content:flex-end}.device-live-dot{width:7px;height:7px;border-radius:50%;background:#71e5bd;box-shadow:0 0 0 4px rgba(113,229,189,.15)}.device-live .traffic-value b{color:#fff;font-size:13px}.device-live-offline{color:#ff9da7}.device-live-offline .device-live-dot{background:#ff6875;box-shadow:0 0 0 4px rgba(255,104,117,.15)}.device-live.is-stale{border-color:rgba(249,212,138,.55)}.device-live.is-stale>.traffic-row:first-child .device-live-dot{background:#f9d48a}.load-gauges{display:flex;align-items:center;gap:7px;min-height:63px;padding:5px 8px;border:1px solid rgba(255,255,255,.22);border-radius:13px;background:rgba(13,23,76,.18);box-shadow:inset 0 1px 0 rgba(255,255,255,.1);backdrop-filter:blur(12px)}.load-gauge{--gauge-color:#71e5bd;--gauge-pct:0deg;position:relative;display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:conic-gradient(var(--gauge-color) var(--gauge-pct),rgba(255,255,255,.13) 0)}.load-gauge:before{content:'';position:absolute;inset:5px;border-radius:50%;background:#3c4ca5;box-shadow:inset 0 1px 2px rgba(0,0,0,.17)}.load-gauge>span{position:relative;z-index:1;display:grid;justify-items:center;color:#eaf0ff;font-size:8px;font-weight:850;line-height:1.05}.load-gauge b{margin-top:2px;color:#fff;font:850 10px/1 ui-monospace,SFMono-Regular,Consolas,monospace;font-variant-numeric:tabular-nums}.load-gauges.is-stale{border-color:rgba(249,212,138,.6)}
    .wifi-device-profile-card{border:1px solid #d9e0fb;background:linear-gradient(135deg,#fbfcff,#f4f7ff);box-shadow:0 12px 26px rgba(79,93,194,.12)}.wifi-device-profile-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.wifi-device-profile-title{display:flex;align-items:center;gap:8px;color:#35458f;font-size:19px;font-weight:900;letter-spacing:-.02em}.wifi-device-status-dot{width:9px;height:9px;border-radius:50%;background:#58d6ae;box-shadow:0 0 0 5px rgba(88,214,174,.14)}.wifi-device-profile-state{display:inline-flex;align-items:center;min-height:28px;padding:4px 10px;border:1px solid #b8edda;border-radius:999px;background:#ecfff7;color:#087b54;font-size:12px;font-weight:850;white-space:nowrap}.wifi-device-profile-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:14px;color:#68769a;font-size:12px;font-weight:750}.wifi-capability{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border:1px solid #cfd8fa;border-radius:999px;background:#fff;color:#5364b9;white-space:nowrap}.wifi-device-profile-note{margin-top:10px;font-size:11px}.wifi-profile-options{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:10px;padding:9px 10px;border:1px solid #dfe5fb;border-radius:10px;background:#fff;color:#68769a;font-size:12px}.wifi-profile-options .wifi-profile-chip{display:inline-flex;align-items:center;min-height:22px;padding:3px 8px;border-radius:999px;background:#f1f4ff;color:#5565b7;font-weight:800}@media(max-width:780px){.wifi-device-profile-head{display:block}.wifi-device-profile-state{margin-top:10px}}
    @media(max-width:780px){.topbar-status{width:100%;justify-content:space-between}.traffic-summary{flex:1;min-width:0}.console-live{display:flex}}@media(max-width:470px){.topbar-status{display:block}.traffic-summary{width:100%;margin-top:8px}.load-gauges{display:inline-flex;margin-top:8px}.console-live{display:none}.traffic-row{grid-template-columns:62px minmax(0,1fr) minmax(0,1fr);gap:5px}.traffic-value{font-size:11px}}

/* 复用系统配置已选中 Tab 的蓝紫渐变 */
    .proxy-console > div[id^="proxy-pane-"] .table-wrap,.device-results-table,.egress-console .table-wrap{
      border-color:#ccd5fb;
      border-radius:12px;
      background:#fff;
      box-shadow:0 10px 24px rgba(82,92,207,.13),inset 0 1px 0 rgba(255,255,255,.9);
    }
    .proxy-console > div[id^="proxy-pane-"] .table-wrap thead th,.device-results-table thead th,.egress-console .table-wrap thead th{
      position:sticky;top:0;z-index:2;
      padding:12px 12px;
      border-top:0;
      border-bottom:1px solid rgba(178,195,255,.56);
      background:linear-gradient(135deg,#605ce1,#4c8bdf);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.22),inset 0 -1px 0 rgba(31,65,162,.18),0 6px 14px rgba(82,92,207,.22);
      color:#fff;
      font-size:11px;
      font-weight:850;
      letter-spacing:.045em;
      line-height:1.2;
      text-shadow:0 1px 7px rgba(34,43,115,.25);
    }
    .proxy-console > div[id^="proxy-pane-"] .table-wrap thead th:not(:last-child),.device-results-table thead th:not(:last-child),.egress-console .table-wrap thead th:not(:last-child){border-right:1px solid rgba(221,230,255,.2)}
    .proxy-console > div[id^="proxy-pane-"] .table-wrap thead th:first-child,.device-results-table thead th:first-child,.egress-console .table-wrap thead th:first-child{box-shadow:inset 3px 0 0 rgba(255,255,255,.55),inset 0 1px 0 rgba(255,255,255,.22),inset 0 -1px 0 rgba(31,65,162,.18),0 6px 14px rgba(82,92,207,.22)}
    .proxy-console > div[id^="proxy-pane-"] .table-wrap thead th:last-child,.device-results-table thead th:last-child,.egress-console .table-wrap thead th:last-child{box-shadow:inset -1px 0 0 rgba(255,255,255,.16),inset 0 1px 0 rgba(255,255,255,.22),inset 0 -1px 0 rgba(31,65,162,.18),0 6px 14px rgba(82,92,207,.22)}
    .proxy-console > div[id^="proxy-pane-"] .table-wrap tbody tr:first-child td,.device-results-table tbody tr:first-child td,.egress-console .table-wrap tbody tr:first-child td{border-top:0}
    .proxy-console > div[id^="proxy-pane-"] .table-wrap tbody tr:hover td,.device-results-table tbody tr:hover td,.egress-console .table-wrap tbody tr:hover td{background:linear-gradient(90deg,#f6f8ff,#fcfdff)}
    @media(max-width:780px){.proxy-console > div[id^="proxy-pane-"] .table-wrap thead th,.device-results-table thead th,.egress-console .table-wrap thead th{padding:11px 9px;font-size:10px;letter-spacing:.025em}}
    .egress-index-badge,.device-egress-badge{display:inline-flex;align-items:center;justify-content:center;min-height:27px;padding:4px 10px;border:1px solid #ccd5fb;border-radius:999px;background:linear-gradient(135deg,#eef1ff,#f9faff);color:#5261bd;font:850 12px/1.15 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:nowrap;box-shadow:0 3px 9px rgba(82,97,189,.1)}
    .device-egress-badge.is-ap{border-color:#f2bf56;background:linear-gradient(135deg,#fff8d9,#ffedb0);color:#975a08;box-shadow:0 4px 11px rgba(199,133,26,.2)}.device-egress-badge.is-ap:before{content:'AP';display:inline-grid;place-items:center;width:15px;height:15px;margin-right:5px;border-radius:5px;background:rgba(151,90,8,.14);font-size:8px;letter-spacing:.02em}.device-results-table .mini-btn.ap-locked{border-color:#e0b35a;background:#f7e9c1;color:#8b6415;cursor:not-allowed;opacity:.88}.device-results-table .mini-btn.ap-locked:disabled{pointer-events:none}
    .egress-index-badge{min-width:66px;border-color:#bfcafb;background:linear-gradient(135deg,#e8edff,#f5f7ff);color:#4757b7;box-shadow:0 5px 12px rgba(78,92,188,.14)}
    .device-ip-route{display:flex;align-items:center;gap:7px;min-width:0;white-space:nowrap}.device-ip-route svg{width:14px;height:14px;flex:none;fill:none;stroke:#7181c7;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.device-ip-route .device-ip-badge{flex:none}
    .device-toolbar{gap:10px}.device-toolbar-right{margin-left:0;flex-wrap:nowrap}.device-toolbar #dev-msg{display:none;align-items:center;gap:10px;flex:1 1 0;min-width:0;max-width:none;margin:0!important;padding:6px 8px;white-space:nowrap;overflow:hidden}.device-toolbar #dev-msg-text{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.device-toolbar #dev-msg button{flex:none;margin-left:auto}.device-host-cell{overflow:hidden;white-space:nowrap}.device-host-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .device-results-table th:nth-child(1),.device-results-table td:nth-child(1){width:18%!important;white-space:nowrap;word-break:keep-all}.device-results-table th:nth-child(2),.device-results-table td:nth-child(2){width:16%!important}.device-results-table th:nth-child(3),.device-results-table td:nth-child(3){width:13%!important}.device-results-table th:nth-child(4),.device-results-table td:nth-child(4){width:10%!important}.device-results-table th:nth-child(5),.device-results-table td:nth-child(5){width:6%!important}.device-results-table th:nth-child(6),.device-results-table td:nth-child(6){width:7%!important}.device-results-table th:nth-child(7),.device-results-table td:nth-child(7){width:10%!important}.device-results-table th:nth-child(8),.device-results-table td:nth-child(8){width:15%!important;white-space:nowrap;word-break:keep-all}.device-results-table td:nth-child(8) .mini-btn{white-space:nowrap}
    .proxy-tabs{padding:5px;border-radius:14px;background:linear-gradient(115deg,#f3f5ff,#fbfcff);box-shadow:inset 0 1px 0 rgba(255,255,255,.86)}.proxy-tabs .seg-tab{display:flex;align-items:center;justify-content:center;gap:7px;min-height:40px;font-weight:800;letter-spacing:.01em}.proxy-tabs .seg-tab.active{color:#fff;border-color:transparent;background:linear-gradient(135deg,#605ce1,#4c8bdf);box-shadow:0 6px 14px rgba(82,92,207,.22)}.proxy-out-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:7px;background:#fff1c8;color:#b77910;line-height:1;box-shadow:inset 0 1px 0 rgba(255,255,255,.75)}.proxy-out-icon svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.proxy-tabs .seg-tab.active .proxy-out-icon{background:rgba(255,255,255,.17);color:#fff}.proxy-tab-badge{display:inline-flex;align-items:center;min-height:18px;padding:2px 6px;border:1px solid transparent;border-radius:999px;font-size:10px;font-weight:900;line-height:1;letter-spacing:0;white-space:nowrap}.proxy-tab-badge.out{border-color:#c9c7ff;background:#ecebff;color:#5b56c8}.proxy-tab-badge.l2tp{border-color:#9ee8c8;background:#e8fbf2;color:#078454}.proxy-tab-badge.sstp{border-color:#9bdcf3;background:#e7f8fe;color:#057fae}.proxy-tabs .seg-tab.active .proxy-tab-badge{border-color:rgba(255,255,255,.38);background:rgba(255,255,255,.17);color:#fff}
    .public-notice{display:flex;align-items:center;flex:1 1 260px;min-width:190px;max-width:430px;height:36px;padding:0 10px;border:1px solid #dce4f4;border-radius:9px;background:#fff;color:#5f6f91;font-size:12px;font-weight:700;overflow:hidden}.public-notice-dot{width:7px;height:7px;flex:none;margin-right:7px;border-radius:50%;background:#6271d9;box-shadow:0 0 0 4px rgba(98,113,217,.11)}.public-notice-viewport{height:22px;min-width:0;flex:1;overflow:hidden}.public-notice-track{transition:transform .42s cubic-bezier(.2,.8,.2,1);will-change:transform}.public-notice-item{display:flex;align-items:center;height:22px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.public-notice-track a{color:#5262bd;font-weight:850;text-decoration:none}.public-notice-track a:hover{text-decoration:underline}.proxy-toolbar #vpn-msg,.vpn-toolbar #vpn-msg{order:-1;display:none;align-items:center;gap:6px;min-width:0;max-width:42%;margin:0 auto 0 0!important;padding:6px 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.proxy-toolbar #vpn-msg-text,.vpn-toolbar #vpn-msg-text{min-width:0;overflow:hidden;text-overflow:ellipsis}.proxy-toolbar #vpn-msg button,.vpn-toolbar #vpn-msg button{flex:none}@media(prefers-reduced-motion:reduce){.public-notice-track{transition:none}}@media(max-width:780px){.public-notice{order:3;flex-basis:100%;max-width:none}.device-toolbar #dev-msg{order:3;flex-basis:100%;max-width:100%}.proxy-toolbar #vpn-msg,.vpn-toolbar #vpn-msg{max-width:100%;flex-basis:100%}}

.status-network-card{overflow:hidden}.pve-network-chart{position:relative;min-height:248px;margin-top:4px;padding:12px 14px 8px;border:1px solid #dce4f8;border-radius:14px;background:linear-gradient(180deg,#fbfcff 0%,#f4f7ff 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}.pve-network-chart svg{display:block;width:100%;height:250px;overflow:visible}.pve-network-empty{display:grid;place-items:center;min-height:222px;color:var(--muted);font-size:12px}.pve-network-grid{stroke:#d8e0f2;stroke-width:1;stroke-dasharray:3 5}.pve-network-axis{fill:#7d8aaa;font:11px ui-monospace,SFMono-Regular,Consolas,monospace}.pve-network-axis-x{font-size:10px}.pve-network-area{stroke:none}.pve-network-area-in{fill:rgba(61,194,153,.24)}.pve-network-area-out{fill:rgba(65,126,205,.35)}.pve-network-line{fill:none;stroke-width:2.2;stroke-linejoin:round;stroke-linecap:round}.pve-network-line-in{stroke:#20a679}.pve-network-line-out{stroke:#286db4}.pve-network-legend{display:flex;align-items:center;justify-content:flex-end;gap:16px;margin:3px 4px 0;color:#53637f;font-size:11px;font-weight:750}.pve-network-legend-item{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.pve-network-legend-item i{display:inline-block;width:9px;height:9px;border-radius:50%;box-shadow:0 0 0 3px rgba(82,97,189,.08)}.pve-network-legend-item b{color:#344a72;font:800 11px ui-monospace,SFMono-Regular,Consolas,monospace}.pve-network-legend-in i{background:#20a679}.pve-network-legend-out i{background:#286db4}@media(max-width:600px){.pve-network-chart{padding:9px 7px 7px}.pve-network-chart svg{height:220px}.pve-network-legend{justify-content:flex-start;gap:10px;flex-wrap:wrap}}
