:root{--bg:#f5f7ff;--card:rgba(255,255,255,.88);--text:#17213a;--muted:#6e7894;--line:#e4e8f3;--primary:#5b5ce2;--primary-2:#7c4dff;--cyan:#22b8f0;--success:#17a673;--danger:#e5484d;--warning:#e9922f;--ink:#1e2448;--shadow:0 14px 38px rgba(53,66,126,.11)}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;min-height:100vh;font-family:"DM Sans","Segoe UI",system-ui,sans-serif;color:var(--text);background:radial-gradient(circle at 2% 0,rgba(130,105,255,.18),transparent 31rem),radial-gradient(circle at 97% 10%,rgba(34,184,240,.18),transparent 28rem),linear-gradient(180deg,#fbfcff 0,#f4f6ff 65%,#eef2ff 100%)}body:before,body:after{content:"";position:fixed;z-index:-1;border-radius:999px;filter:blur(12px);pointer-events:none}body:before{width:360px;height:360px;right:-160px;bottom:12%;background:rgba(147,197,253,.28)}body:after{width:280px;height:280px;left:-120px;bottom:4%;background:rgba(196,181,253,.23)}
.wrap{max-width:1420px;margin:0 auto;padding:26px 20px 48px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:18px;padding:21px 24px;border-radius:22px;color:#fff;background:linear-gradient(112deg,#2c346f 0%,#5350c9 49%,#497cdd 100%);box-shadow:0 20px 42px rgba(66,70,184,.24);position:relative;overflow:hidden}.topbar:after{content:"";position:absolute;width:310px;height:310px;right:-84px;top:-202px;border:46px solid rgba(255,255,255,.1);border-radius:50%}.topbar>*,.topbar>div{position:relative;z-index:1}.title{font-size:25px;font-weight:800;letter-spacing:-.035em}.title:before{content:"";display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:10px;background:#72e6c1;box-shadow:0 0 0 5px rgba(114,230,193,.18)}.sub{font-size:11px;margin-top:7px;color:rgba(240,244,255,.75);letter-spacing:.1em}.console-live{display:flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.12);color:#fff;font-size:11px;font-weight:750;letter-spacing:.07em;backdrop-filter:blur(10px)}.console-live span{width:8px;height:8px;border-radius:50%;background:#72e6c1;box-shadow:0 0 0 4px rgba(114,230,193,.18)}
.actions,.inline-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.system-row{display:grid;grid-template-columns:240px auto;gap:12px;align-items:end}button{border:1px solid transparent;border-radius:10px;padding:9px 14px;cursor:pointer;font:650 13px/1.25 inherit;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border .18s ease}button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 7px 16px rgba(56,68,142,.14)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(34,184,240,.35);outline-offset:2px}button:disabled{opacity:.45;cursor:not-allowed}.mini-btn{padding:6px 10px;border-radius:8px;font-size:12px}.primary{background:linear-gradient(135deg,#655ce7,#7b55df);color:#fff;box-shadow:0 5px 13px rgba(91,92,226,.23)}.secondary{background:#fff;color:#4b5681;border-color:#e0e5f2}.secondary:hover:not(:disabled){background:#f4f5ff;border-color:#c9ccff}.danger{background:#fff1f2;color:#c73744;border-color:#ffd3d8}.wifi-state-on{background:#e9fbf4;color:#11785c;border-color:#bcebd9}.wifi-state-off{background:#fff0f1;color:#c73744;border-color:#ffd2d6}.wifi-state-unknown{background:#f1f3f8;color:#66708d}
.tabs{display:flex;gap:7px;margin-bottom:18px;flex-wrap:wrap;padding:7px;border:1px solid rgba(223,227,242,.9);border-radius:16px;background:rgba(255,255,255,.76);box-shadow:0 8px 24px rgba(68,78,139,.06);backdrop-filter:blur(12px)}.tab{padding:9px 12px;border:1px solid transparent;border-radius:10px;text-decoration:none;color:#6a7595;font:700 12px/1.2 inherit;transition:.18s ease}.tab:hover{background:#f1f2ff;color:#5b5ce2}.tab.active{background:linear-gradient(135deg,#615de4,#7955da);color:#fff;box-shadow:0 5px 12px rgba(91,92,226,.2)}
.card{background:var(--card);border:1px solid rgba(225,229,243,.9);border-radius:18px;padding:18px;box-shadow:var(--shadow);backdrop-filter:blur(14px)}.row-card,.system-item{border:1px solid #e8ebf5;border-radius:13px;padding:14px;margin-bottom:12px;background:rgba(252,253,255,.82);transition:border-color .18s ease,box-shadow .18s ease}.row-card:hover,.system-item:hover{border-color:#cbd0ff;box-shadow:0 8px 20px rgba(73,83,167,.07)}.row-head{font-weight:780;color:#2b3555;margin-bottom:12px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field-grid.cols-3{grid-template-columns:repeat(3,1fr)}.field-grid.cols-4{grid-template-columns:repeat(4,1fr)}.field-grid.cols-1{grid-template-columns:1fr}label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:650;color:#68738f}input,select,textarea{width:100%;border:1px solid #dfe4f0;border-radius:9px;padding:9px 10px;font:14px/1.35 inherit;background:rgba(255,255,255,.94);color:#293450;transition:border .15s ease,box-shadow .15s ease}input:hover,select:hover,textarea:hover{border-color:#b9c0f2}textarea{min-height:120px}.message{margin-bottom:16px;padding:11px 13px;border:1px solid;border-radius:12px}.message.ok{background:#ecfbf5;border-color:#c4ecda;color:#167658}.message.warn{background:#fff8e9;border-color:#fae1ae;color:#a56a11}
.table-wrap{overflow:auto;border:1px solid #e4e8f2;border-radius:14px;background:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}table{width:100%;table-layout:fixed;border-collapse:collapse;background:transparent}th,td{word-break:break-word;padding:12px 14px;border-bottom:1px solid #edf0f6;text-align:left;font-size:13px;vertical-align:top}th{position:sticky;top:0;z-index:1;background:#f7f8fd;color:#68738f;font-size:11px;font-weight:800;letter-spacing:.055em;text-transform:uppercase}tbody tr{transition:background .15s ease}tbody tr:hover td{background:#f8f8ff}.wifi-row-off td{background:#f8f9fc}.mini-select{padding:6px 8px;border:1px solid #dfe4f0;border-radius:8px;background:#fff;color:#36415f;font-size:13px}.ui-select{appearance:none;-webkit-appearance:none;min-height:36px;padding:8px 36px 8px 12px!important;border:1px solid #d6def1!important;border-radius:10px!important;background-color:#fff!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%235263bd' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 11px center!important;background-size:14px!important;color:#354365!important;font-weight:750;box-shadow:0 3px 10px rgba(67,82,157,.07);cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.ui-select:hover{border-color:#aebbf0!important;background-color:#fcfdff!important;box-shadow:0 5px 13px rgba(67,82,157,.11)}.ui-select:focus-visible{border-color:#7d8ee1!important;box-shadow:0 0 0 3px rgba(91,92,226,.14)!important}.ui-select:disabled{opacity:.58;cursor:not-allowed}.egress-select-box .egress-target-select{min-height:32px;padding:6px 34px 6px 9px!important;border:0!important;border-radius:8px!important;background-color:transparent!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%235263bd' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 9px center!important;background-size:14px!important;box-shadow:none!important}.egress-select-box .egress-target-select:hover{background-color:rgba(238,241,255,.72)!important}.egress-select-box .egress-target-select:focus-visible{box-shadow:0 0 0 3px rgba(91,92,226,.14)!important}#proxy-table th:nth-child(1){width:10%}#proxy-table th:nth-child(2){width:8%}#proxy-table th:nth-child(3){width:20%}#proxy-table th:nth-child(4){width:16%}#proxy-table th:nth-child(5){width:10%}#proxy-table th:nth-child(6){width:14%}#proxy-table th:nth-child(7){width:22%}#proxy-table th:nth-child(2),#proxy-table td:nth-child(2){white-space:nowrap;word-break:keep-all}#proxy-table td:nth-child(4) .inline-actions,#proxy-table td:nth-child(5) .inline-actions{flex-wrap:nowrap}pre{white-space:pre-wrap;word-break:break-word;background:#252a51;color:#e9edff;padding:14px;border-radius:11px;overflow:auto}.empty,.empty-cell{color:var(--muted);padding:20px 0}.empty-cell{text-align:center;padding:24px}.modal{position:fixed;inset:0;z-index:30}.modal-mask{position:absolute;inset:0;background:rgba(37,42,81,.3);backdrop-filter:blur(6px)}.modal-panel{position:relative;max-width:1100px;margin:40px auto;background:#fff;border:1px solid rgba(255,255,255,.8);border-radius:18px;padding:18px;box-shadow:0 24px 70px rgba(49,56,117,.24);max-height:calc(100vh - 80px);overflow:auto}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.system-list{display:grid;gap:12px}.system-item .k{color:var(--muted);font-size:12px;margin-bottom:6px}.system-item .v{font-weight:700;color:#33405e}.latency-good,.dev-online{color:#169b6a;font-weight:700}.latency-mid,.dev-assign-manual{color:#d98218;font-weight:700}.latency-bad,.dev-offline{color:#d6404b;font-weight:700}.dev-assign-auto{color:#5965c9;font-weight:700}.seg-tabs{display:flex;gap:8px;position:relative;z-index:5}.seg-tab{flex:1;display:flex;align-items:center;justify-content:center;background:#f7f8fd;color:#697493;border:1px solid #e1e6f2;padding:8px 10px;border-radius:9px;font-size:13px;cursor:pointer;text-decoration:none}.seg-tab.active{background:#eef0ff;color:#5a59ce;border-color:#cfd2ff}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}@media(max-width:1100px){.field-grid,.field-grid.cols-3,.field-grid.cols-4,.system-row{grid-template-columns:1fr}.modal-panel{margin:12px;max-height:calc(100vh - 24px)}}@media(max-width:640px){.wrap{padding:12px}.topbar{padding:17px}.title{font-size:20px}.tabs{padding:5px;gap:4px}.tab{padding:8px 9px;font-size:11px}.card{padding:13px}.console-live{display:none}button{min-height:36px}}
#proxy-table .op-import,#proxy-table .op-share,#proxy-table .op-edit,#proxy-table .op-check{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:1px solid transparent;color:#fff;font-weight:750;box-shadow:0 4px 10px rgba(33,43,89,.12)}#proxy-table .op-import{background:linear-gradient(135deg,#655ce7,#8857e8);border-color:#7668e8}#proxy-table .op-share{background:linear-gradient(135deg,#168ccc,#24b8d9);border-color:#209ecb}#proxy-table .op-edit{background:linear-gradient(135deg,#e68a25,#f0ad3f);border-color:#e69b33}#proxy-table .op-check{background:linear-gradient(135deg,#119d73,#29bb8b);border-color:#1ca97e}#proxy-table .op-import:hover,#proxy-table .op-share:hover,#proxy-table .op-edit:hover,#proxy-table .op-check:hover{color:#fff;filter:brightness(1.05);transform:translateY(-1px);box-shadow:0 7px 15px rgba(33,43,89,.2)}
.proxycheck-ip-badge{display:inline-flex;align-items:center;gap:6px;margin-left:3px;padding:3px 9px;border:1px solid #aee7d2;border-radius:999px;background:#eafaf3;color:#087352;font:800 12px/1.35 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.02em;box-shadow:0 2px 7px rgba(23,166,115,.12)}.proxycheck-ip-dot{width:6px;height:6px;border-radius:50%;background:#16a979;box-shadow:0 0 0 3px rgba(22,169,121,.15)}.proxycheck-ip-badge.is-unknown{border-color:#dbe1ed;background:#f5f7fb;color:#68738f;font-family:inherit;font-weight:700}
.proxy-tag-cell{display:flex;align-items:center;gap:7px;min-width:0;font-weight:800;color:#354463}.proxy-tag-badge,.vpn-name-badge,.proxy-type-badge,.vpn-port-badge{display:inline-flex;align-items:center;min-height:25px;padding:3px 9px;border:1px solid #cfd8fb;border-radius:999px;background:linear-gradient(135deg,#edf0ff,#f7f8ff);color:#4652b2;font:850 12px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:nowrap;box-shadow:0 2px 7px rgba(80,95,190,.1)}.vpn-name-badge{border-color:#c9e4f3;background:linear-gradient(135deg,#eaf9fc,#f2f5ff);color:#216f8c}.proxy-type-badge{border-color:#d5cbfb;background:linear-gradient(135deg,#f3efff,#f8f7ff);color:#654db4;text-transform:uppercase}.vpn-port-badge{border-color:#b8e8d5;background:linear-gradient(135deg,#ecfbf4,#f5fffb);color:#087352}.front-proxy-badge{display:inline-flex;align-items:center;min-height:21px;padding:0 7px;border:1px solid #b9dce8;border-radius:999px;background:linear-gradient(135deg,#e8f8fb,#eef3ff);color:#18758d;font-size:10px;font-weight:850;white-space:nowrap;letter-spacing:.03em}
.quick-links{display:flex;align-items:center;gap:5px;flex-wrap:wrap;padding:4px 5px 4px 9px;border:1px solid #e1e6f2;border-radius:13px;background:linear-gradient(110deg,#f7f9ff,#fff);box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}.quick-links-label{margin-right:3px;color:#77839f;font-size:11px;font-weight:850;letter-spacing:.04em;white-space:nowrap}.quick-link{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:0 9px;border:1px solid transparent;border-radius:8px;color:#586789;font-size:11px;font-weight:850;letter-spacing:.025em;text-decoration:none;transition:.18s ease}.quick-link:hover{color:#4e58c8;background:#eef1ff;border-color:#dbe1fb;transform:translateY(-1px)}.quick-link-help{color:#7b5910;background:linear-gradient(135deg,#fff4c7,#ffed9d);border-color:#f4dc75}.quick-link-help:hover{color:#6a4b05;background:#ffefa8;border-color:#efcf57}.proxy-tag-cell{flex-wrap:nowrap;white-space:nowrap}.proxy-tag-cell>span:first-child{white-space:nowrap;word-break:keep-all}#proxy-table th:nth-child(1),#proxy-table td:nth-child(1){width:12%;white-space:nowrap;word-break:keep-all}#proxy-table th:nth-child(6),#proxy-table td:nth-child(6){width:8%}#proxy-table th:nth-child(7),#proxy-table td:nth-child(7){width:9%}#proxy-table th:nth-child(8),#proxy-table td:nth-child(8){width:25%;white-space:nowrap;word-break:keep-all}#proxy-table td:nth-child(8) .inline-actions{flex-wrap:nowrap}.proxy-console>div[id^="proxy-pane-"] .table-wrap th,.proxy-console>div[id^="proxy-pane-"] .table-wrap td{padding:9px 11px}.proxy-console>div[id^="proxy-pane-"] .mini-btn{padding:5px 9px}.proxy-console>div[id^="proxy-pane-"] .mini-select{padding:5px 7px}@media(max-width:780px){.quick-links{width:100%;padding:6px}.quick-links-label{width:100%;margin:0 0 1px}.quick-link{flex:1;min-width:58px}.proxy-console>div[id^="proxy-pane-"] .table-wrap th,.proxy-console>div[id^="proxy-pane-"] .table-wrap td{padding:8px 9px}}
.proxy-bulk-actions{justify-content:flex-end!important}.proxy-view-toggle{display:inline-flex;align-items:center;min-height:34px;gap:6px;padding:0 9px;border:1px solid #e0e6f1;border-radius:9px;background:#fff;color:#53617e;font-size:13px;font-weight:700;white-space:nowrap}.proxy-view-toggle input{width:15px;height:15px;padding:0;accent-color:#625ee2}.proxy-bulk-import,.proxy-bulk-export{border:1px solid transparent!important;color:#fff!important;font-weight:800}.proxy-bulk-import{background:linear-gradient(135deg,#655ce7,#8957e8)!important;border-color:#7668e8!important;box-shadow:0 5px 12px rgba(97,91,223,.19)}.proxy-bulk-export{background:linear-gradient(135deg,#168dcc,#25b9d8)!important;border-color:#209ecb!important;box-shadow:0 5px 12px rgba(24,147,204,.18)}.proxy-bulk-import:hover:not(:disabled),.proxy-bulk-export:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-1px);box-shadow:0 8px 16px rgba(41,56,119,.18)}.vpn-pagination{align-items:center;justify-content:space-between;gap:10px;margin-top:12px;padding:9px 10px;border:1px solid #e0e6f2;border-radius:12px;background:linear-gradient(110deg,#fbfcff,#f4f7ff)}.vpn-page-info{color:#667492;font-size:12px;font-weight:750;white-space:nowrap}.vpn-page-actions{gap:6px;flex-wrap:wrap;justify-content:flex-end}.vpn-page-actions .mini-btn{min-width:30px}.vpn-page-actions .primary{box-shadow:0 4px 10px rgba(91,92,226,.18)}@media(max-width:780px){.proxy-bulk-actions{align-items:stretch!important}.proxy-bulk-actions button{flex:1}.proxy-view-toggle{justify-content:center}.vpn-pagination{align-items:stretch;flex-direction:column}.vpn-page-actions{justify-content:flex-start}}
.loss-panel{margin-top:12px;padding:14px;border:1px solid #dfe5f2;border-radius:14px;background:linear-gradient(135deg,#fbfcff,#f5f7ff);color:#273451;box-shadow:inset 0 1px 0 rgba(255,255,255,.88)}.loss-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.loss-state{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:850}.loss-state:before{content:'';width:8px;height:8px;border-radius:50%;background:#8792ad;box-shadow:0 0 0 4px rgba(135,146,173,.13)}.loss-progress-text{font:800 13px/1 ui-monospace,SFMono-Regular,Consolas,monospace;color:#506084;font-variant-numeric:tabular-nums}.loss-progress{height:8px;overflow:hidden;margin:12px 0 10px;border-radius:999px;background:#e4e8f4;box-shadow:inset 0 1px 2px rgba(43,55,91,.1)}.loss-progress-bar{display:block;width:100%;height:100%;border-radius:inherit;transform:scaleX(0);transform-origin:left center;background:linear-gradient(90deg,#5c61df,#21b4c5);transition:transform .26s ease-out}.loss-meta{min-height:19px;color:#52607f;font-size:12px;font-weight:650;line-height:1.55}.loss-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:12px}.loss-metrics>div{min-width:0;padding:9px 10px;border:1px solid rgba(221,226,241,.9);border-radius:10px;background:rgba(255,255,255,.75)}.loss-metrics span{display:block;overflow:hidden;color:#74809a;font-size:11px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.loss-metrics strong{margin-top:3px;color:#253452;font:850 15px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;font-variant-numeric:tabular-nums}.loss-metrics em{margin:0 3px;color:#9aa4b9;font-style:normal}.loss-detail{min-height:19px;margin-top:11px;color:#6f7b95;font-size:12px;line-height:1.55;word-break:break-word}.loss-panel.is-running{border-color:#bfcdf9;background:linear-gradient(135deg,#f9faff,#eff5ff)}.loss-panel.is-running .loss-state{color:#354caf}.loss-panel.is-running .loss-state:before{background:#5367e8;box-shadow:0 0 0 4px rgba(83,103,232,.13);animation:lossPulse 1.35s ease-in-out infinite}.loss-panel.is-completed{border-color:#bfe8d8;background:linear-gradient(135deg,#f8fffc,#eefbf5)}.loss-panel.is-completed .loss-state{color:#117553}.loss-panel.is-completed .loss-state:before{background:#1baf79;box-shadow:0 0 0 4px rgba(27,175,121,.14)}.loss-panel.is-cancelled{border-color:#f3d9a7;background:#fffaf0}.loss-panel.is-cancelled .loss-state{color:#9d6814}.loss-panel.is-cancelled .loss-state:before{background:#e5a329;box-shadow:0 0 0 4px rgba(229,163,41,.14)}.loss-panel.is-failed{border-color:#f1c4cb;background:#fff7f8}.loss-panel.is-failed .loss-state{color:#b62b3d}.loss-panel.is-failed .loss-state:before{background:#d64354;box-shadow:0 0 0 4px rgba(214,67,84,.13)}.loss-panel.is-failed .loss-progress-bar{background:#d64354}@keyframes lossPulse{50%{opacity:.5;box-shadow:0 0 0 7px rgba(83,103,232,0)}}@media(prefers-reduced-motion:reduce){.loss-progress-bar{transition:none}.loss-panel.is-running .loss-state:before{animation:none}}@media(max-width:780px){.loss-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.loss-metrics>div:last-child{grid-column:span 2}}
.advanced-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:14px;padding:18px 19px;border:1px solid #d9dfff;border-radius:16px;background:radial-gradient(circle at 93% 14%,rgba(80,103,232,.18),transparent 35%),linear-gradient(135deg,#f8f9ff,#eff3ff);box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}.advanced-eyebrow{margin-bottom:5px;color:#5968ca;font-size:11px;font-weight:850;letter-spacing:.09em;text-transform:uppercase}.advanced-hero h3{margin:0;color:#26345d;font-size:19px;line-height:1.2}.advanced-hero p{max-width:600px;margin:7px 0 0;color:#63708e;font-size:13px;line-height:1.6}.advanced-hero-note,.advanced-group-tag{flex:none;border:1px solid #ccd5fb;border-radius:999px;background:rgba(255,255,255,.75);color:#5261bd;font-size:11px;font-weight:800;line-height:1;padding:7px 9px;white-space:nowrap}.advanced-toolbar{position:sticky;top:8px;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;padding:10px 12px;border:1px solid #e1e5f2;border-radius:13px;background:rgba(255,255,255,.86);box-shadow:0 8px 20px rgba(65,77,143,.08);backdrop-filter:blur(12px)}.advanced-bulk-actions{display:flex;gap:8px;flex-wrap:wrap}.advanced-group{padding:0;overflow:hidden;border-color:#e1e6f2;background:#fff;box-shadow:0 7px 18px rgba(59,70,124,.045)}.advanced-group:hover{border-color:#cbd4fa;box-shadow:0 10px 24px rgba(66,78,148,.09)}.advanced-group-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:14px 16px;border-bottom:1px solid #edf0f7;background:linear-gradient(100deg,#fbfcff,#f7f8ff)}.advanced-group .k{margin:0;color:#29375a;font-size:14px;font-weight:850}.advanced-group-head p{margin:4px 0 0;color:#72809c;font-size:12px;line-height:1.45}.advanced-group .field-grid{padding:14px 16px}.advanced-group .field-grid+.field-grid{margin-top:0!important;padding-top:0}.advanced-group label{min-height:72px;justify-content:space-between;padding:10px 11px;border:1px solid #e5e9f3;border-radius:11px;background:#fcfdff;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.advanced-group label:hover{border-color:#bec9f5;background:#fff;box-shadow:0 4px 12px rgba(72,86,160,.07)}.advanced-group label>span{font-size:13px!important;font-weight:760}.advanced-group select{min-height:36px;padding-top:7px;padding-bottom:7px;background:#fff}.advanced-group-network{border-color:#cdd7fc}.advanced-group-network .advanced-group-head{background:linear-gradient(100deg,#f4f7ff,#edf3ff)}.advanced-unavailable{opacity:.78}.advanced-unavailable .advanced-group-head{border-bottom:0;background:#fafbfe}.advanced-unavailable .advanced-group-tag{border-color:#e0e4ed;background:#f4f6fa;color:#7e899d}@media(max-width:780px){.advanced-hero{display:block;padding:16px}.advanced-hero-note{display:inline-flex;margin-top:12px}.advanced-toolbar{position:static;align-items:stretch;flex-direction:column}.advanced-toolbar .primary{width:100%}.advanced-bulk-actions{display:grid;grid-template-columns:1fr 1fr}.advanced-bulk-actions button{min-height:40px}.advanced-group-head{padding:13px}.advanced-group .field-grid{padding:12px}.advanced-group label{min-height:auto}}
.proxy-console{padding:16px}.proxy-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:5px;border-radius:14px;background:linear-gradient(110deg,#f4f6ff,#fafbff)}.proxy-tabs .seg-tab{min-height:38px;font-weight:800}.proxy-toolbar,.vpn-toolbar{min-height:54px;padding:9px 10px;border:1px solid #e2e7f3;border-radius:13px;background:linear-gradient(105deg,#fbfcff,#f6f8ff);box-shadow:0 5px 14px rgba(61,75,138,.05)}.proxy-toolbar .primary{box-shadow:0 5px 12px rgba(91,92,226,.2)}.vpn-toolbar{justify-content:flex-end!important;gap:9px!important;overflow-x:auto}.vpn-toolbar label{flex:none;flex-direction:row;align-items:center;min-height:34px;margin-right:0!important;padding:0 9px;border:1px solid #e0e6f1;border-radius:9px;background:#fff;color:#53617e;white-space:nowrap}.vpn-toolbar input{width:15px;height:15px;padding:0;accent-color:#625ee2}.vpn-bulk-disable,.vpn-bulk-enable,.vpn-bulk-refresh{border:1px solid transparent!important;color:#fff!important;font-weight:800;white-space:nowrap}.vpn-bulk-disable{background:linear-gradient(135deg,#d94d5e,#ed7281)!important;border-color:#dc5a6a!important;box-shadow:0 5px 12px rgba(214,67,84,.17)}.vpn-bulk-enable{background:linear-gradient(135deg,#109a70,#28ba89)!important;border-color:#1ba47a!important;box-shadow:0 5px 12px rgba(21,160,114,.17)}.vpn-bulk-refresh{background:linear-gradient(135deg,#168dcc,#24b8d8)!important;border-color:#209ecb!important;box-shadow:0 5px 12px rgba(28,151,203,.17)}.vpn-bulk-disable:hover:not(:disabled),.vpn-bulk-enable:hover:not(:disabled),.vpn-bulk-refresh:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-1px);box-shadow:0 8px 16px rgba(41,56,119,.18)}.tcp-latency{display:inline-flex;align-items:center;min-width:67px;min-height:28px;padding:4px 9px;border:1px solid transparent;border-radius:999px;font:800 12px/1 ui-monospace,SFMono-Regular,Consolas,monospace;font-variant-numeric:tabular-nums;white-space:nowrap}.tcp-latency.latency-good{border-color:#b8e8d5;background:#edfbf4;color:#087352}.tcp-latency.latency-mid{border-color:#f5d99c;background:#fff8e8;color:#a66506}.tcp-latency.latency-bad{border-color:#f3c6ce;background:#fff2f4;color:#ba2d40}.tcp-latency.latency-unknown{border-color:#e0e5ef;background:#f5f7fa;color:#77829a}.tcp-latency.latency-loading{border-color:#cbd5ff;background:#f0f4ff;color:#4f5ecb}.vpn-status,.vpn-link{display:inline-flex;align-items:center;min-height:26px;padding:4px 8px;border:1px solid transparent;border-radius:999px;font-size:12px;font-weight:800;white-space:nowrap}.vpn-status.is-enabled,.vpn-link.is-online{border-color:#b9e8d6;background:#ecfbf4;color:#117755}.vpn-status.is-disabled,.vpn-link.is-idle{border-color:#e0e5ed;background:#f5f7fa;color:#75809a}.vpn-link.is-offline{border-color:#f3d3ad;background:#fff8eb;color:#9a6610}.vpn-act-refresh,.vpn-act-edit,.vpn-act-disable,.vpn-act-enable{border:1px solid transparent!important;color:#fff!important;font-weight:750}.vpn-act-refresh{background:linear-gradient(135deg,#168dcc,#21b4d8);border-color:#209ecb!important}.vpn-act-edit{background:linear-gradient(135deg,#e68a25,#f0ad3f);border-color:#e69b33!important}.vpn-act-disable{background:linear-gradient(135deg,#dc5667,#ef7884);border-color:#df6372!important}.vpn-act-enable{background:linear-gradient(135deg,#119d73,#29bb8b);border-color:#1ca97e!important}.vpn-act-refresh:hover:not(:disabled),.vpn-act-edit:hover:not(:disabled),.vpn-act-disable:hover:not(:disabled),.vpn-act-enable:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-1px)}#proxy-pane-pptp .table-wrap,#proxy-pane-l2tp .table-wrap,#proxy-pane-sstp .table-wrap{border-color:#dfe5f2;box-shadow:0 7px 18px rgba(59,70,124,.055)}#proxy-pane-pptp tbody tr:hover td,#proxy-pane-l2tp tbody tr:hover td,#proxy-pane-sstp tbody tr:hover td{background:#f7f9ff}@media(max-width:780px){.proxy-console{padding:13px}.proxy-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.proxy-toolbar{align-items:stretch}.proxy-toolbar button{flex:1 1 calc(50% - 5px)}.vpn-toolbar{padding:8px;gap:7px!important}.vpn-toolbar label{min-height:38px}.tcp-latency{min-width:60px;padding:4px 7px}}
.status-console{padding:16px;background:radial-gradient(circle at 100% 0,rgba(98,95,226,.13),transparent 27%),var(--card)}.status-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px;padding:18px 19px;border:1px solid #dce2fa;border-radius:16px;background:linear-gradient(120deg,#fbfcff,#f1f4ff);box-shadow:inset 0 1px 0 rgba(255,255,255,.88)}.status-eyebrow,.status-section-kicker{margin-bottom:5px;color:#5968ca;font-size:11px;font-weight:850;letter-spacing:.09em;text-transform:uppercase}.status-hero h2{margin:0;color:#26345d;font-size:20px;line-height:1.2}.status-hero p{margin:6px 0 0;color:#687695;font-size:13px;line-height:1.55}.status-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.status-auto-refresh{flex-direction:row;align-items:center;min-height:36px;padding:0 10px;border:1px solid #dde4f2;border-radius:9px;background:rgba(255,255,255,.8);color:#53617e;white-space:nowrap}.status-auto-refresh input{width:15px;height:15px;padding:0;accent-color:#625ee2}.status-dashboard{display:grid;gap:12px}.status-section{padding:0;overflow:hidden;border:1px solid #e1e6f3;border-radius:15px;background:#fff;box-shadow:0 7px 19px rgba(57,70,130,.055)}.status-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid #edf0f7;background:linear-gradient(100deg,#fcfdff,#f6f8ff)}.status-section-head h3{margin:0;color:#2c395d;font-size:15px;line-height:1.25}.status-section-hint{border:1px solid #dce3f3;border-radius:999px;background:#f7f9fd;color:#6c7895;font-size:11px;font-weight:800;padding:6px 8px;white-space:nowrap}.pve-device-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px 16px}.status-metric{min-width:0;padding:11px;border:1px solid #e6eaf3;border-radius:11px;background:#fcfdff}.status-metric-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.status-metric-top span,.pve-k{color:#72809c;font-size:12px;font-weight:700}.status-metric-top strong,.pve-v{overflow:hidden;color:#2c3a5b;font:850 15px/1.25 ui-monospace,SFMono-Regular,Consolas,monospace;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.status-meter,.status-mini-meter{height:6px;overflow:hidden;margin-top:9px;border-radius:999px;background:#e6eaf4}.status-meter span,.status-mini-meter span{display:block;width:100%;height:100%;border-radius:inherit;transform:scaleX(0);transform-origin:left center;background:linear-gradient(90deg,#625ee2,#20b5c8);transition:transform .26s ease-out}.status-metric.is-warn .status-meter span{background:linear-gradient(90deg,#e5a12a,#f1bd4a)}.status-metric.is-high .status-meter span{background:linear-gradient(90deg,#d84d5e,#ec7684)}.status-meter.is-empty{opacity:.38}.status-vm-grid{gap:12px;padding:14px 16px}.status-vm-grid .pve-vm-card{padding:14px;border:1px solid #e3e8f3;border-radius:13px;background:linear-gradient(145deg,#fff,#f8f9ff);box-shadow:0 5px 14px rgba(56,69,131,.045)}.status-vm-grid .pve-vm-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.status-vm-grid .pve-vm-name{color:#2c395d;font-size:14px;font-weight:850}.status-service{display:inline-flex;align-items:center;border:1px solid transparent;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:850}.status-service.latency-good{border-color:#b9e8d6;background:#ecfbf4;color:#117755}.status-service.latency-mid{border-color:#f1d9a8;background:#fff8eb;color:#9a6610}.status-vm-grid .pve-vm-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.status-mini-meter{height:5px;margin-top:7px}.status-note{padding:11px 13px;border:1px solid #e2e7f3;border-radius:12px;background:#f8f9fd;color:#687695;font-size:12px;line-height:1.6}@media(max-width:780px){.status-console{padding:13px}.status-hero{display:block;padding:16px}.status-actions{margin-top:14px}.status-actions #pve-refresh-btn{flex:1}.pve-device-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px}.status-vm-grid{grid-template-columns:1fr;padding:12px}.status-section-head{padding:13px}.status-vm-grid .pve-vm-grid{gap:10px}}@media(max-width:430px){.pve-device-grid{grid-template-columns:1fr}.status-actions{align-items:stretch}.status-auto-refresh{justify-content:center}.status-actions #pve-refresh-btn{width:100%}}

.vpn-transfer-panel{overflow:hidden;max-width:720px!important;padding:0;border-color:#d8dfff;border-radius:22px;background:radial-gradient(circle at 96% 3%,rgba(70,127,232,.19),transparent 31%),radial-gradient(circle at 3% 0,rgba(120,83,222,.14),transparent 26%),#fff;box-shadow:0 32px 90px rgba(42,50,112,.3)}.vpn-transfer-head{position:relative;min-height:76px;padding:18px 20px;border-bottom:1px solid #e6eafe;background:linear-gradient(108deg,#f9faff 0%,#eff3ff 57%,#eef8ff 100%)}.vpn-transfer-head:after{content:'';position:absolute;right:74px;bottom:0;width:104px;height:3px;border-radius:999px 999px 0 0;background:linear-gradient(90deg,#665ce5,#28b7d7)}.vpn-transfer-head .row-head{margin:2px 0 0;color:#26365e;font-size:20px;font-weight:880;letter-spacing:-.025em}.vpn-transfer-kicker{color:#586ac4;font:850 10px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.12em}.vpn-transfer-close{min-width:62px;min-height:34px;border-color:#ced8f2;background:rgba(255,255,255,.8);color:#53639b;font-weight:800}.vpn-transfer-tabs{margin:16px 20px 0;padding:5px;gap:5px;border:1px solid #dce3f8;border-radius:13px;background:linear-gradient(100deg,#f2f4ff,#fafbff);box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}.vpn-transfer-tabs .seg-tab{min-height:39px;border-color:transparent;background:transparent;color:#657495;font-weight:850;letter-spacing:.015em}.vpn-transfer-tabs .seg-tab:hover:not(.active){background:#e7ebfa;color:#4559ad}.vpn-transfer-tabs .seg-tab.active{border-color:transparent;background:linear-gradient(135deg,#615de3,#4d91df);color:#fff;box-shadow:0 6px 14px rgba(76,98,205,.25)}.vpn-transfer-pane{margin:14px 20px 20px!important;padding:14px;border:1px solid #e2e7f5;border-radius:15px;background:linear-gradient(145deg,#fdfdff,#f7f9ff);box-shadow:inset 0 1px 0 rgba(255,255,255,.92)}.vpn-transfer-options{gap:10px!important;margin-bottom:12px!important}.vpn-transfer-options>div,.vpn-import-option{border-color:#dbe3f4!important;border-radius:10px!important;background:#fff!important;box-shadow:0 2px 8px rgba(70,83,145,.035)}.vpn-transfer-options select{color:#405383;font-weight:800}.vpn-transfer-note{position:relative;margin-bottom:12px!important;padding:11px 12px 11px 31px!important;border-radius:10px!important;font-size:12px;line-height:1.55}.vpn-transfer-note:before{content:'';position:absolute;left:13px;top:17px;width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 0 4px rgba(190,132,26,.12)}.vpn-transfer-textarea{box-sizing:border-box;border-color:#d7e0f4!important;border-radius:12px!important;background:#fff!important;color:#31415f!important;box-shadow:inset 0 1px 3px rgba(53,65,122,.035);font:13px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace!important}.vpn-transfer-textarea:focus{border-color:#7d8ee7!important;box-shadow:0 0 0 3px rgba(95,92,224,.14)!important}.vpn-transfer-actions{padding-top:12px;border-top:1px solid #e6eaf5}.vpn-transfer-actions button{min-height:38px;padding-inline:16px;font-weight:850}.vpn-transfer-progress{padding:12px;border:1px solid #d7e5fb;border-radius:11px;background:#f4f8ff}.vpn-transfer-progress>div:first-child{height:8px!important;background:#e2e9f8!important}.vpn-transfer-progress #vpn-bulk-import-progress-text{margin-top:8px!important;color:#50628e!important}.vpn-transfer-panel input[type=checkbox]{accent-color:#625ee2}@media(max-width:640px){.vpn-transfer-panel{margin:16px!important;border-radius:18px}.vpn-transfer-head{padding:16px}.vpn-transfer-tabs{margin:13px 13px 0}.vpn-transfer-pane{margin:12px 13px 13px!important;padding:11px}.vpn-transfer-options{grid-template-columns:1fr!important}.vpn-transfer-options>div{min-height:40px!important}.vpn-transfer-actions button{flex:1}.vpn-import-option{padding:0 10px!important}}@media(prefers-reduced-motion:reduce){.vpn-transfer-tabs .seg-tab,.vpn-transfer-textarea{transition:none!important}}
#vpn-bulk-import-text{box-sizing:border-box;border-color:#d7e0f4!important;border-radius:12px!important;background:#fff!important;color:#31415f!important;box-shadow:inset 0 1px 3px rgba(53,65,122,.035);font:13px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace!important}#vpn-bulk-import-text:focus{border-color:#7d8ee7!important;box-shadow:0 0 0 3px rgba(95,92,224,.14)!important}
.proxy-editor-panel{max-width:920px!important;padding:0;overflow:hidden;border-color:#d8e1f7;border-radius:21px;background:radial-gradient(circle at 98% 2%,rgba(38,177,214,.16),transparent 27%),radial-gradient(circle at 2% 0,rgba(100,91,225,.14),transparent 31%),#fff;box-shadow:0 30px 86px rgba(42,51,111,.28)}.proxy-editor-form{padding:0}.proxy-editor-head{position:sticky;top:0;z-index:3;min-height:78px;padding:18px 20px;border-bottom:1px solid #e6ebf7;background:linear-gradient(110deg,#fbfcff,#eef3ff);box-shadow:0 4px 12px rgba(54,68,137,.045)}.proxy-editor-head .row-head{margin:2px 0 0;color:#293a63;font-size:20px;font-weight:880;letter-spacing:-.025em}.proxy-editor-kicker{color:#566bc5;font:850 10px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.13em}.proxy-editor-head .inline-actions{gap:8px}.proxy-editor-save,.proxy-editor-reset,.proxy-editor-close{min-height:36px;padding:9px 14px;font-size:13px;font-weight:850}.proxy-editor-close{border-color:#cfdaf1;background:rgba(255,255,255,.86);color:#516399}.proxy-editor-grid{padding:17px 20px 20px;gap:11px;background:linear-gradient(145deg,#fcfdff,#f8faff)}.proxy-editor-grid .proxy-field{min-height:78px;justify-content:space-between;padding:10px 11px;border:1px solid #e2e8f4;border-radius:12px;background:rgba(255,255,255,.9);box-shadow:0 2px 7px rgba(52,67,131,.025);transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.proxy-editor-grid .proxy-field:hover{border-color:#bdcbf2;background:#fff;box-shadow:0 6px 16px rgba(58,77,151,.08)}.proxy-editor-grid .proxy-field>span{color:#5d6d91;font-size:12px;font-weight:820;letter-spacing:.01em}.proxy-editor-grid .proxy-field input,.proxy-editor-grid .proxy-field select{min-height:36px;padding:7px 9px;border-color:#dce4f2;background:#fff;color:#344563}.proxy-editor-grid .proxy-field input:focus,.proxy-editor-grid .proxy-field select:focus{border-color:#8495ea;box-shadow:0 0 0 3px rgba(92,96,225,.12)}.proxy-editor-grid .proxy-field:nth-child(-n+3){border-color:#cedafa;background:linear-gradient(145deg,#f9fbff,#f1f5ff)}.proxy-editor-grid .proxy-field:nth-child(1)>span,.proxy-editor-grid .proxy-field:nth-child(2)>span,.proxy-editor-grid .proxy-field:nth-child(3)>span{color:#4e60b6}.proxy-editor-grid .proxy-field:has(input:disabled){background:#f5f7fc}.proxy-editor-grid .proxy-field:has(input:disabled) input{color:#66748f}.proxy-editor-grid .proxy-field[style*="display: none"]{display:none!important}@media(max-width:780px){.proxy-editor-panel{margin:14px!important;border-radius:17px}.proxy-editor-head{position:relative;align-items:flex-start;padding:15px}.proxy-editor-head .inline-actions{margin-top:9px}.proxy-editor-grid{grid-template-columns:1fr!important;padding:13px}.proxy-editor-grid .proxy-field{min-height:72px}.proxy-editor-head .inline-actions button{flex:1}.proxy-editor-save,.proxy-editor-close{min-height:40px}}
.device-egress-badge.is-direct{border-color:transparent;background:linear-gradient(135deg,#477c93,#5d9dac);color:#fff;box-shadow:0 4px 10px rgba(56,68,136,.13)}.vpn-comment-cell{max-width:0;white-space:nowrap}.vpn-comment-cell>span{display:inline-block;max-width:calc(100% - 31px);overflow:hidden;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.vpn-comment-edit{display:inline-grid;place-items:center;width:25px;min-width:25px;height:25px;margin-left:5px;padding:0;border:1px solid #cfdbf3;border-radius:8px;background:#f7f9ff;color:#5266b3;vertical-align:middle}.vpn-comment-edit:hover:not(:disabled){border-color:#9baeed;background:#eef2ff;color:#4457ad}.vpn-comment-edit svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.proxy-console #proxy-pane-pptp table,.proxy-console #proxy-pane-l2tp table,.proxy-console #proxy-pane-sstp table{table-layout:fixed}.proxy-console #proxy-pane-pptp th:nth-child(3),.proxy-console #proxy-pane-l2tp th:nth-child(3){width:10%!important}.proxy-console #proxy-pane-pptp th:nth-child(7),.proxy-console #proxy-pane-l2tp th:nth-child(7){width:11%!important}.proxy-console #proxy-pane-pptp th:last-child,.proxy-console #proxy-pane-l2tp th:last-child,.proxy-console #proxy-pane-sstp th:last-child{width:18%!important}.proxy-console #proxy-pane-sstp th:nth-child(3){width:7%!important}.proxy-console #proxy-pane-sstp th:nth-child(8){width:10%!important}
.proxy-addr-cell{max-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.proxy-comment-cell{max-width:0;white-space:nowrap}.proxy-comment-cell>span{display:inline-block;max-width:calc(100% - 31px);overflow:hidden;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.proxy-comment-edit{display:inline-grid;place-items:center;width:25px;min-width:25px;height:25px;margin-left:5px;padding:0;border:1px solid #cfdbf3;border-radius:8px;background:#f7f9ff;color:#5266b3;vertical-align:middle}.proxy-comment-edit:hover:not(:disabled){border-color:#9baeed;background:#eef2ff;color:#4457ad}.proxy-comment-edit svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.proxy-console #proxy-pane-other #proxy-table th:nth-child(3),.proxy-console #proxy-pane-other #proxy-table td:nth-child(3){width:12%!important}.proxy-console #proxy-pane-other #proxy-table th:nth-child(4),.proxy-console #proxy-pane-other #proxy-table td:nth-child(4){width:12%!important}.proxy-console #proxy-pane-other #proxy-table th:nth-child(9),.proxy-console #proxy-pane-other #proxy-table td:nth-child(9){width:29%!important;white-space:nowrap;word-break:keep-all}.proxy-console #proxy-pane-other #proxy-table td:nth-child(9) .inline-actions{flex-wrap:nowrap}.proxy-console #proxy-pane-other #proxy-table .op-import{background:linear-gradient(135deg,#655ce7,#4d91df);border-color:#6570df}.proxy-console #proxy-pane-other #proxy-table .op-import{min-width:78px}.proxy-console #proxy-pane-other #proxy-table .op-edit,.proxy-console #proxy-pane-other #proxy-table .op-check{min-width:44px}
/* System console: configuration, DNS benchmark and guidebook */
.tabs .tab{display:inline-flex;align-items:center;gap:7px}.nav-icon{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;flex:none}.nav-icon svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.proxy-view-toggle{flex-direction:row!important;flex-wrap:nowrap!important;width:auto!important}.proxy-view-toggle input,.proxy-view-toggle span{flex:none!important;white-space:nowrap!important}
.system-console{padding:16px;background:radial-gradient(circle at 100% 0,rgba(46,186,222,.13),transparent 31%),radial-gradient(circle at 0 0,rgba(108,93,227,.12),transparent 27%),var(--card)}.system-tabs{padding:5px;border-radius:14px;background:linear-gradient(115deg,#f3f5ff,#fbfcff);box-shadow:inset 0 1px 0 rgba(255,255,255,.86)}.system-tabs .seg-tab{min-height:40px;font-weight:800;letter-spacing:.01em}.system-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)}.system-config-card,.dns-console-card,.usage-doc-shell{margin:0;padding:0;overflow:hidden;border-color:#e0e6f4;background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(248,250,255,.9));box-shadow:0 10px 26px rgba(58,73,143,.06)}.system-config-card:hover,.dns-console-card:hover{border-color:#c8d4f8}.system-section-heading,.dns-console-head,.usage-doc-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:19px 20px;border-bottom:1px solid #e8edf7;background:linear-gradient(110deg,#fcfdff,#f2f6ff)}.system-section-kicker{display:block;margin-bottom:6px;color:#5968ca;font-size:10px;font-weight:850;letter-spacing:.11em;line-height:1;text-transform:uppercase}.system-section-heading h3,.dns-console-head h3,.usage-doc-topline h3{margin:0;color:#27365b;font-size:19px;line-height:1.25;letter-spacing:-.02em}.system-section-heading p,.dns-console-head p,.usage-doc-topline p{max-width:650px;margin:7px 0 0;color:#70809c;font-size:13px;line-height:1.6}.system-section-tag{flex:none;display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border:1px solid #cfdafb;border-radius:999px;background:rgba(255,255,255,.8);color:#5262bd;font-size:11px;font-weight:850;white-space:nowrap}.system-config-card>.field-grid{padding:16px 20px 0}.system-config-card>.field-grid+.field-grid{padding-top:0}.system-config-card label,.dns-console-card label{min-height:76px;justify-content:space-between;padding:10px 11px;border:1px solid #e5eaf4;border-radius:11px;background:#fcfdff;transition:.18s ease}.system-config-card label:hover,.dns-console-card label:hover{border-color:#bdcaf4;background:#fff;box-shadow:0 5px 14px rgba(65,83,164,.07)}.system-config-card input,.system-config-card select,.dns-console-card select{min-height:38px;background:#fff}.system-config-actions{padding:15px 20px;border-top:1px solid #e8edf7;background:#fbfcff}.dns-console-card>.field-grid{padding:16px 20px 0}.dns-console-actions{padding:0 20px}.dns-console-note{flex:1;min-width:0;padding:10px 12px;border:1px solid #dce5f7;border-radius:10px;background:#f6f8ff;color:#637393;font-size:12px;line-height:1.6}.dns-console-note:before{content:'提示';display:inline-flex;margin-right:7px;color:#5364c5;font-weight:850}.dns-console-actions .primary{min-width:92px;min-height:40px}.dns-results-table{margin:14px 20px 20px!important}.dns-results-table th{background:#f6f8ff}.usage-doc-shell{border:1px solid #dfe6f4;border-radius:15px}.usage-doc-topline{background:radial-gradient(circle at 95% 7%,rgba(58,180,220,.15),transparent 32%),linear-gradient(110deg,#fcfdff,#f1f5ff)}.usage-doc-title{margin:18px 20px 0;padding:13px 14px;border:1px solid #cdd9fb;border-radius:11px;background:linear-gradient(100deg,#eff3ff,#f9fbff);color:#354b93;font-size:15px;font-weight:850;line-height:1.6;white-space:pre-wrap;word-break:break-word}.usage-doc-body{min-height:280px;margin:14px 20px 20px;padding:17px 18px;border:1px solid #222b55;border-radius:12px;background:linear-gradient(145deg,#20274d,#2d396b);color:#edf1ff;font:13px/1.8 ui-monospace,SFMono-Regular,Consolas,monospace;box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 7px 18px rgba(32,43,85,.16)}.usage-doc-body a{color:#a9d9ff;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}.usage-doc-body a:hover{color:#fff1a8}@media(max-width:780px){.system-console{padding:13px}.system-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.system-tabs .seg-tab{min-height:39px}.system-section-heading,.dns-console-head,.usage-doc-topline{padding:16px;display:block}.system-section-tag{margin-top:12px}.system-config-card>.field-grid,.dns-console-card>.field-grid{padding-left:16px;padding-right:16px}.system-config-actions{padding:13px 16px;gap:10px}.system-config-actions button{flex:1;min-height:40px}.dns-console-actions{padding:0 16px;align-items:stretch!important;flex-direction:column}.dns-console-actions .primary{width:100%}.dns-results-table{margin:14px 16px 16px!important}.usage-doc-title{margin:15px 16px 0}.usage-doc-body{min-height:220px;margin:12px 16px 16px;padding:14px;font-size:12px}}

/* Device and egress operations consoles */
.device-ip-badge,.device-mac-badge,.egress-subnet-badge,.egress-current-badge{display:inline-flex;align-items:center;min-height:27px;padding:4px 9px;border:1px solid transparent;border-radius:999px;font:800 12px/1.15 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:nowrap}.device-ip-badge{border-color:#c9d8fb;background:#f0f4ff;color:#4260ae}.device-mac-cell{display:flex;align-items:center;gap:6px;min-width:0;white-space:nowrap}.device-mac-badge{border-color:#b9e1ed;background:#ecfafd;color:#14718a}.device-copy-btn{display:inline-grid;place-items:center;width:27px;min-width:27px;height:27px;padding:0;border:1px solid #cbd6ef;border-radius:8px;background:#fff;color:#4d62aa}.device-copy-btn:hover:not(:disabled),.device-copy-btn.is-copied{border-color:#8dd5bd;background:#ecfbf4;color:#087352}.device-copy-btn svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.egress-subnet-badge{border-color:#c9d8fb;background:linear-gradient(135deg,#f1f4ff,#f8f9ff);color:#465daf}.egress-current-badge{color:#fff;box-shadow:0 4px 10px rgba(56,68,136,.13)}.egress-current-pptp{background:linear-gradient(135deg,#695be3,#8462e7)}.egress-current-l2tp{background:linear-gradient(135deg,#177fbe,#27add0)}.egress-current-sstp{background:linear-gradient(135deg,#0d9a75,#28b888)}.egress-current-out{background:linear-gradient(135deg,#5063bb,#7589df)}.egress-current-direct{background:linear-gradient(135deg,#477c93,#5d9dac)}.egress-current-block{background:linear-gradient(135deg,#c94c5b,#de6977)}.egress-current-unknown{background:linear-gradient(135deg,#8792ad,#a2aabe)}
.proxy-type-badge.type-socks{border-color:#b9e8d6;background:#ecfbf4;color:#087352}.proxy-type-badge.type-http{border-color:#bcdaf2;background:#edf8ff;color:#176b9e}.proxy-type-badge.type-shadowsocks{border-color:#d9c7fb;background:#f4efff;color:#7147bd}.proxy-type-badge.type-vmess{border-color:#b9e1ed;background:#ecfafd;color:#11728c}.proxy-type-badge.type-vless{border-color:#c8dcfb;background:#f0f5ff;color:#375fae}.proxy-type-badge.type-trojan{border-color:#f2c6ce;background:#fff1f3;color:#b33146}.proxy-type-badge.type-hysteria2{border-color:#f1d39e;background:#fff8e9;color:#a46609}.proxy-type-badge.type-tuic{border-color:#c7dfbd;background:#f0faec;color:#417a2c}.proxy-type-badge.type-default{border-color:#dfe4ef;background:#f6f8fb;color:#68738f}.vpn-remote-cell{white-space:nowrap;overflow:visible}.vpn-remote-inline{display:flex;align-items:center;gap:6px;min-width:max-content}.vpn-remote-text{display:inline;flex:none;overflow:visible;text-overflow:clip}.vpn-remote-badge{display:inline-flex;align-items:center;gap:4px;flex:none;min-height:22px;margin:0;padding:3px 8px;border:1px solid transparent;border-radius:999px;font-size:11px;font-weight:850;line-height:1;white-space:nowrap;text-decoration:none;cursor:pointer}.vpn-remote-badge:hover{filter:brightness(1.03);transform:translateY(-1px);box-shadow:0 3px 8px rgba(62,78,141,.13)}.vpn-remote-badge svg{width:13px;height:13px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.vpn-remote-badge.tone-gold{border-color:#f0cf77;background:#fff7d9;color:#9a6503}.vpn-remote-badge.tone-blue{border-color:#bcdaf2;background:#edf8ff;color:#176b9e}.vpn-remote-badge.tone-pink{border-color:#f4bfcd;background:#fff0f4;color:#bd3c63}.vpn-remote-badge.tone-green{border-color:#b9e8d6;background:#ecfbf4;color:#087352}.vpn-remote-badge.tone-purple{border-color:#d7c7fb;background:#f4efff;color:#7048b8}.vpn-remote-badge.tone-gray{border-color:#dfe4ef;background:#f5f7fa;color:#68738f}.dev-domain-badge-rules{display:grid;gap:8px}.dev-domain-badge-rule{display:grid;grid-template-columns:minmax(150px,1.1fr) minmax(120px,.8fr) minmax(180px,1.3fr) 100px auto;gap:8px;align-items:center;padding:9px;border:1px solid #e3e8f3;border-radius:10px;background:#fbfcff}.dev-domain-badge-rule input,.dev-domain-badge-rule select{min-height:34px;padding:6px 8px}@media(max-width:780px){.dev-domain-badge-rule{grid-template-columns:1fr 1fr}.dev-domain-badge-rule select,.dev-domain-badge-rule button{width:100%}}
.device-console,.egress-console{padding:16px;background:radial-gradient(circle at 100% 0,rgba(35,183,201,.13),transparent 29%),radial-gradient(circle at 0 0,rgba(98,94,226,.12),transparent 25%),var(--card)}.device-console-head,.egress-console-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px;padding:19px 20px;border:1px solid #dce4f6;border-radius:16px;background:linear-gradient(120deg,#fcfdff,#f1f5ff);box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}.ops-kicker{display:block;margin-bottom:6px;color:#5668c7;font-size:10px;font-weight:850;letter-spacing:.12em;line-height:1;text-transform:uppercase}.device-console-head h2,.egress-console-head h2{margin:0;color:#29395f;font-size:20px;line-height:1.25;letter-spacing:-.025em}.device-console-head p,.egress-console-head p{margin:7px 0 0;color:#70809c;font-size:13px;line-height:1.55}.device-online-badge,.ops-head-badge{flex:none;display:inline-flex;align-items:center;min-height:32px;padding:0 11px;border:1px solid #b7ead7;border-radius:999px;background:#ecfbf4;color:#087754;font-size:12px;font-weight:850;white-space:nowrap;box-shadow:0 4px 11px rgba(22,158,113,.1)}.device-online-badge:before{content:'';width:7px;height:7px;margin-right:7px;border-radius:50%;background:#1aad7a;box-shadow:0 0 0 4px rgba(26,173,122,.12)}.ops-head-badge{border-color:#cad7fb;background:#f2f5ff;color:#5262bd;box-shadow:none}.device-toolbar,.egress-toolbar{min-height:56px;padding:10px;border:1px solid #e1e7f3;border-radius:13px;background:linear-gradient(105deg,#fbfcff,#f6f8ff);box-shadow:0 5px 14px rgba(61,75,138,.05)}.device-toolbar-actions{gap:8px}.device-action-refresh,.device-action-groups{border-color:#d4ddf6!important;background:#fff!important;color:#4d5f9b!important;font-weight:800}.device-action-refresh{color:#326ba9!important}.device-action-groups{color:#6659bb!important}.device-action-wipe{font-weight:800}.device-group-filter{min-height:36px;border-color:#d6def1!important;background:#fff}.device-toolbar #dev-msg{margin-left:auto!important}.device-results-table{border-color:#dfe6f3;box-shadow:0 7px 18px rgba(59,70,124,.055)}.device-results-table th{background:#f5f8ff}.device-results-table tbody tr:hover td{background:#f7f9ff}.device-pagination{padding:10px 11px;border:1px solid #e4e9f4;border-radius:12px;background:rgba(251,252,255,.86)}.device-page-info{font-weight:700;color:#657492!important}.device-pagination-actions{gap:8px}.device-pagination-actions .mini-select{min-height:34px}.egress-toolbar{gap:8px!important;overflow-x:auto}.egress-message{display:flex;align-items:center;min-height:36px;padding:0 10px;border:1px solid #dce4f4;border-radius:9px;background:#fff;color:#5f6f91!important;font-size:12px;font-weight:700}.egress-message:before{content:'';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)}.egress-bulk{min-height:36px;border:1px solid transparent!important;color:#fff!important;font-size:12px;font-weight:800}.egress-clear{background:linear-gradient(135deg,#d45161,#ec7582)!important;box-shadow:0 5px 12px rgba(214,67,84,.16)}.egress-type-pptp{background:linear-gradient(135deg,#695be3,#8462e7)!important}.egress-type-l2tp{background:linear-gradient(135deg,#177fbe,#27add0)!important}.egress-type-sstp{background:linear-gradient(135deg,#0d9a75,#28b888)!important}.egress-type-out{background:linear-gradient(135deg,#5063bb,#7589df)!important}.egress-type-direct{background:linear-gradient(135deg,#477c93,#5d9dac)!important}.egress-type-block{background:linear-gradient(135deg,#c94c5b,#de6977)!important}.egress-bulk:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-1px);box-shadow:0 8px 16px rgba(41,56,119,.18)}.egress-console .table-wrap{border-color:#dfe6f3;box-shadow:0 7px 18px rgba(59,70,124,.055)}.egress-console th{background:#f5f8ff}.egress-console tbody tr:hover td{background:#f7f9ff}.egress-current{color:#334664;font-weight:850}.egress-select-box{min-width:190px;padding:4px 6px;border:1px solid #e0e6f3;border-radius:10px;background:#fcfdff}.egress-select-box:focus-within{border-color:#9eacec;box-shadow:0 0 0 3px rgba(91,92,226,.11)}.egress-select-box .mini-select{border:0!important;background:transparent!important;box-shadow:none!important}@media(max-width:780px){.device-console,.egress-console{padding:13px}.device-console-head,.egress-console-head{display:block;padding:16px}.device-online-badge,.ops-head-badge{margin-top:12px}.device-toolbar{align-items:stretch!important;flex-direction:column}.device-toolbar-actions{width:100%}.device-toolbar #dev-msg{width:100%;margin:0!important}.device-toolbar-actions button,.device-toolbar-actions select{flex:1 1 auto}.device-action-wipe{width:100%}.device-pagination{align-items:stretch!important;flex-direction:column}.device-pagination-actions{justify-content:space-between}.egress-toolbar{padding:8px;justify-content:flex-start!important}.egress-message{min-width:220px!important}.egress-select-box{min-width:165px}}

/* OUT table density and tunnel editor consistency */
.proxy-console #proxy-pane-other #proxy-table{table-layout:fixed}.proxy-console #proxy-pane-other #proxy-table th:nth-child(1),.proxy-console #proxy-pane-other #proxy-table td:nth-child(1){width:10%!important}.proxy-console #proxy-pane-other #proxy-table th:nth-child(2),.proxy-console #proxy-pane-other #proxy-table td:nth-child(2){width:7%!important}.proxy-console #proxy-pane-other #proxy-table th:nth-child(3),.proxy-console #proxy-pane-other #proxy-table td:nth-child(3){width:12%!important}.proxy-console #proxy-pane-other #proxy-table th:nth-child(4),.proxy-console #proxy-pane-other #proxy-table td:nth-child(4){width:10%!important}.proxy-console #proxy-pane-other #proxy-table th:nth-child(5),.proxy-console #proxy-pane-other #proxy-table td:nth-child(5){width:12%!important}.proxy-console #proxy-pane-other #proxy-table th:nth-child(6),.proxy-console #proxy-pane-other #proxy-table td:nth-child(6){width:12%!important;white-space:nowrap;word-break:keep-all}.proxy-console #proxy-pane-other #proxy-table th:nth-child(7),.proxy-console #proxy-pane-other #proxy-table td:nth-child(7){width:9%!important}.proxy-console #proxy-pane-other #proxy-table th:nth-child(8),.proxy-console #proxy-pane-other #proxy-table td:nth-child(8){width:8%!important}.proxy-console #proxy-pane-other #proxy-table th:nth-child(9),.proxy-console #proxy-pane-other #proxy-table td:nth-child(9){width:20%!important;white-space:nowrap;word-break:keep-all}.proxy-console #proxy-pane-other #proxy-table td:nth-child(6) .inline-actions,.proxy-console #proxy-pane-other #proxy-table td:nth-child(9) .inline-actions{flex-wrap:nowrap;gap:6px}.proxy-console #proxy-pane-other #proxy-table td:nth-child(6) .mini-btn{flex:none;padding-inline:7px}.proxy-console #proxy-pane-other #proxy-table .op-import{min-width:76px;padding-inline:8px}.proxy-console #proxy-pane-other #proxy-table .op-edit{min-width:42px;padding-inline:8px}.proxy-console #proxy-pane-other #proxy-table .op-check{min-width:62px;padding-inline:8px}.proxy-editor-grid .proxy-comment-field{grid-column:1/-1;min-height:70px;background:linear-gradient(105deg,#eff5ff,#fafcff);border-color:#bfd0fb}.proxy-editor-grid .proxy-comment-field>span{color:#4058af}.vpn-editor-panel{overflow:hidden!important;padding:0!important;border-color:#d8e1f7!important;border-radius:21px!important;background:radial-gradient(circle at 97% 3%,rgba(38,177,214,.16),transparent 27%),radial-gradient(circle at 2% 0,rgba(100,91,225,.14),transparent 31%),#fff!important;box-shadow:0 30px 86px rgba(42,51,111,.28)!important}.vpn-editor-head{position:sticky;top:0;z-index:3;min-height:78px;padding:18px 20px;border-bottom:1px solid #e6ebf7;background:linear-gradient(110deg,#fbfcff,#eef3ff);box-shadow:0 4px 12px rgba(54,68,137,.045)}.vpn-editor-head .row-head{margin:2px 0 0;color:#293a63;font-size:20px;font-weight:880;letter-spacing:-.025em}.vpn-editor-kicker{color:#566bc5;font:850 10px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.13em}.vpn-editor-head .inline-actions{gap:8px}.vpn-editor-save,.vpn-editor-close{min-height:36px;font-weight:850}.vpn-editor-close{border-color:#cfdaf1;background:rgba(255,255,255,.86);color:#516399}.vpn-editor-content{padding:17px 20px 20px;background:linear-gradient(145deg,#fcfdff,#f8faff)}.vpn-editor-grid{gap:11px}.vpn-editor-grid label{min-height:76px;justify-content:space-between;padding:10px 11px;border:1px solid #e2e8f4;border-radius:12px;background:rgba(255,255,255,.9);box-shadow:0 2px 7px rgba(52,67,131,.025);transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.vpn-editor-grid label:hover{border-color:#bdcbf2;background:#fff;box-shadow:0 6px 16px rgba(58,77,151,.08)}.vpn-editor-grid label>span{color:#5d6d91;font-size:12px;font-weight:820;letter-spacing:.01em}.vpn-editor-grid input,.vpn-editor-grid select{min-height:36px;padding:7px 9px;border-color:#dce4f2;background:#fff;color:#344563}.vpn-editor-grid input:focus,.vpn-editor-grid select:focus{border-color:#8495ea;box-shadow:0 0 0 3px rgba(92,96,225,.12)}.vpn-editor-content>.vpn-editor-grid:first-child label{border-color:#cedafa;background:linear-gradient(145deg,#f9fbff,#f1f5ff)}.vpn-editor-content>.vpn-editor-grid:first-child label>span{color:#4e60b6}.vpn-editor-grid label:has(input[readonly]){background:#f5f7fc}.vpn-editor-grid label:has(input[readonly]) input{color:#66748f}.vpn-editor-comment label{border-color:#c8d7fb;background:linear-gradient(105deg,#eff4ff,#fafcff)}.vpn-editor-comment label>span{color:#4259b4}@media(max-width:780px){.proxy-console #proxy-pane-other #proxy-table th:nth-child(9),.proxy-console #proxy-pane-other #proxy-table td:nth-child(9){width:auto!important}.vpn-editor-panel{margin:14px!important;border-radius:17px!important}.vpn-editor-head{position:relative;align-items:flex-start;padding:15px}.vpn-editor-head .inline-actions{margin-top:9px}.vpn-editor-content{padding:13px}.vpn-editor-grid{grid-template-columns:1fr!important}.vpn-editor-grid label{min-height:72px}.vpn-editor-head .inline-actions button{flex:1}.vpn-editor-save,.vpn-editor-close{min-height:40px}}
/* Performance: a full-screen backdrop blur makes large configuration pages
   expensive to composite whenever an editor opens. The denser tint preserves
   visual separation without forcing a full-viewport blur pass. */
.modal-mask{background:rgba(34,40,81,.46)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}

/* Unified OUT bulk transfer dialog */
.egress-current-path{display:flex;align-items:center;gap:7px;min-width:0;white-space:nowrap}.egress-current-path .egress-current-badge,.egress-current-path .proxy-type-badge{flex:none}.egress-path-arrow{width:15px;height:15px;flex:none;fill:none;stroke:#7181c7;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.egress-current-address{display:inline-flex;align-items:center;min-width:0;max-width:230px;min-height:27px;padding:4px 9px;overflow:hidden;border:1px solid #c7d9f5;border-radius:999px;background:linear-gradient(135deg,#edf6ff,#f6f9ff);color:#376aab;text-overflow:ellipsis;font:800 12px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;box-shadow:0 3px 9px rgba(58,108,178,.1)}@media(max-width:780px){.egress-current-path{gap:5px}.egress-current-address{max-width:110px}}
.out-bulk-transfer-panel{max-width:820px!important}.out-bulk-transfer-pane{padding:16px!important}.out-bulk-summary{min-height:42px;margin:0 0 12px!important}.out-bulk-summary.is-error{border-color:#f3c4cc!important;background:#fff1f3!important;color:#b52f43!important}.out-bulk-summary.is-error:before{box-shadow:0 0 0 4px rgba(213,73,91,.12)!important}.out-bulk-rules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:11px}.out-bulk-rules>div{min-width:0;padding:11px 12px;border:1px solid #dfe6f5;border-radius:11px;background:#fff;box-shadow:0 3px 9px rgba(57,72,139,.035)}.out-bulk-rules strong{display:block;margin-bottom:4px;color:#4054ac;font-size:12px;font-weight:880}.out-bulk-rules span{display:block;color:#6b7895;font-size:12px;line-height:1.55}.out-bulk-protocols{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:13px}.out-bulk-protocols span{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border:1px solid #cfd9f7;border-radius:999px;background:linear-gradient(135deg,#f0f3ff,#f8faff);color:#5362b8;font:800 10px/1.1 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:nowrap}.out-bulk-transfer-pane>form>label,.out-bulk-transfer-pane>label{display:block;margin:0 0 7px;color:#52617f;font-size:12px;font-weight:820}.out-bulk-textarea{width:100%;min-height:300px!important;max-height:48vh;resize:vertical;white-space:pre!important;overflow:auto!important}.out-bulk-actions{justify-content:flex-end!important;gap:9px!important}.out-bulk-actions .primary{min-width:142px}.out-bulk-actions .secondary{min-width:92px}@media(max-width:640px){.out-bulk-transfer-panel{max-width:none!important}.out-bulk-transfer-pane{padding:12px!important}.out-bulk-rules{grid-template-columns:1fr}.out-bulk-textarea{min-height:240px!important;max-height:42vh}.out-bulk-actions{align-items:stretch;flex-direction:column-reverse}.out-bulk-actions button{width:100%}}
.device-vendor-btn{display:inline-grid;place-items:center;width:27px;min-width:27px;height:27px;padding:0;border:1px solid #cbd6ef;border-radius:8px;background:#fff;color:#6a58c5;transition:border-color .18s ease,background .18s ease,color .18s ease,opacity .18s ease}.device-vendor-btn:hover:not(:disabled){border-color:#bcb0ff;background:#f2efff;color:#5845c8}.device-vendor-btn.is-loading{opacity:.55;cursor:wait}.device-vendor-btn svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.device-vendor-badge{display:inline-flex;align-items:center;min-height:27px;max-width:100px;padding:4px 8px;overflow:hidden;border:1px solid #cfc6fb;border-radius:999px;background:#f3f1ff;color:#604cc8;font:800 11px/1 ui-monospace,SFMono-Regular,Consolas,monospace;text-overflow:ellipsis;white-space:nowrap}.device-vendor-badge.is-unknown{border-color:#f1b8c0;background:#fff0f2;color:#c63c4c}.device-remark-cell{max-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.device-remark-cell>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* Single OUT import feedback states */
.vpn-transfer-note.is-error{background:#fff1f3!important;border-color:#f3c4cc!important;color:#b52f43!important}.vpn-transfer-note.is-error:before{box-shadow:0 0 0 4px rgba(213,73,91,.12)!important}

/* P228 visual refresh: brighter, high-signal metric cards and control surfaces. */
.topbar-status{gap:14px!important;align-items:stretch!important}
.load-gauges{display:grid!important;grid-template-columns:repeat(2,minmax(132px,1fr))!important;min-width:286px!important;min-height:104px!important;padding:8px!important;gap:8px!important;border:1px solid rgba(179,218,255,.42)!important;border-radius:18px!important;background:linear-gradient(135deg,rgba(14,29,101,.74),rgba(46,74,173,.72) 55%,rgba(28,166,196,.46))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 12px 26px rgba(12,31,104,.22)!important;backdrop-filter:blur(14px)!important}
.load-gauge{width:auto!important;height:86px!important;min-width:0!important;display:flex!important;align-items:flex-start!important;justify-content:center!important;flex-direction:column!important;padding:13px 15px!important;overflow:hidden!important;border:1px solid rgba(185,225,255,.34)!important;border-radius:15px!important;background:linear-gradient(145deg,rgba(255,255,255,.2),rgba(255,255,255,.06))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 5px 14px rgba(12,30,104,.17)!important}
.load-gauge:before{inset:1px!important;border-radius:14px!important;background:linear-gradient(145deg,rgba(32,50,134,.7),rgba(29,80,165,.46))!important;box-shadow:none!important}
.load-gauge>span{display:flex!important;align-items:flex-start!important;justify-content:center!important;gap:7px!important;color:rgba(238,247,255,.86)!important;font-size:11px!important;font-weight:850!important;line-height:1.1!important;letter-spacing:.03em!important}
.load-gauge b{margin-top:0!important;color:#fff!important;font-size:24px!important;line-height:1!important;letter-spacing:-.04em!important;text-shadow:0 2px 12px rgba(0,0,0,.22)}
.load-gauge:after{content:'';position:absolute;right:12px;top:12px;width:7px;height:7px;border-radius:50%;background:#72e6c1;box-shadow:0 0 0 4px rgba(114,230,193,.15),0 0 12px rgba(114,230,193,.72)}
.load-gauges.is-stale{border-color:rgba(249,212,138,.72)!important}.load-gauges.is-stale .load-gauge:after{background:#f9d48a;box-shadow:0 0 0 4px rgba(249,212,138,.15),0 0 12px rgba(249,212,138,.62)}
.traffic-summary{min-height:104px!important;align-content:center!important;padding:12px 14px!important;border-radius:18px!important;border-color:rgba(179,218,255,.38)!important;background:linear-gradient(145deg,rgba(15,30,103,.64),rgba(38,75,165,.48))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 12px 26px rgba(12,31,104,.18)!important}
.traffic-summary .traffic-row{min-height:29px!important}.traffic-summary .traffic-label{font-size:11px!important;color:rgba(239,246,255,.84)!important}.traffic-summary .traffic-value{font-size:13px!important;text-shadow:0 1px 9px rgba(0,0,0,.18)}.device-live{min-width:174px!important}.device-live .traffic-row{min-height:32px!important}.device-live .traffic-value b{font-size:18px!important}.device-live .device-live-dot{width:8px!important;height:8px!important}

/* Wireless console: a luminous two-card layout with readable controls. */
#tp-wifi-panel{padding:24px!important;border-color:#cbd8fb!important;background:radial-gradient(circle at 100% 0,rgba(79,151,243,.2),transparent 35%),radial-gradient(circle at 0 100%,rgba(105,90,232,.14),transparent 37%),linear-gradient(145deg,#fdfdff,#f2f6ff)!important;box-shadow:0 18px 38px rgba(60,77,158,.12)!important}
#tp-wifi-panel .tp-wifi-layout{grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr)!important;gap:18px!important}
#tp-wifi-panel .tp-wifi-layout>section,#tp-wifi-panel .tp-wifi-layout>aside{padding:25px!important;border-radius:20px!important;box-shadow:0 12px 26px rgba(58,78,156,.1),inset 0 1px 0 rgba(255,255,255,.9)!important}
#tp-wifi-panel .tp-wifi-layout>section{border-color:#bdcffb!important;background:linear-gradient(145deg,#fff,#f0f5ff)!important}
#tp-wifi-panel .tp-wifi-layout>aside{border-color:#b8e5ed!important;background:linear-gradient(155deg,#edfbff,#eef3ff 70%,#f8f4ff)!important}
#tp-wifi-panel .eyebrow{color:#5268c5!important;font-size:10px!important;font-weight:900!important;letter-spacing:.15em!important}
#tp-wifi-panel .tp-wifi-layout>section>div:nth-child(2){margin:10px 0 22px!important}
#tp-wifi-panel .tp-wifi-layout>section>div:nth-child(2)>div:first-child{color:#25396a!important;font-size:24px!important;letter-spacing:-.03em}
#tp-wifi-panel #tp-wifi-state{min-height:32px!important;padding:5px 12px!important;border-color:#9de4c8!important;background:#e9fff5!important;color:#087653!important;box-shadow:0 4px 10px rgba(20,163,114,.1)}
#tp-wifi-panel .field-grid{gap:14px!important}#tp-wifi-panel .field-grid label{min-height:92px!important;justify-content:space-between!important;padding:13px!important;border-color:#d5e0f7!important;border-radius:13px!important;background:rgba(255,255,255,.82)!important;box-shadow:0 5px 13px rgba(71,92,166,.06)!important}
#tp-wifi-panel .field-grid label>span{color:#52658f!important;font-size:12px!important;font-weight:850!important}#tp-wifi-panel .field-grid input{min-height:47px!important;border-color:#cbd8f3!important;background:#fff!important;color:#253b69!important;font-size:16px!important;font-weight:750!important;letter-spacing:.02em!important;box-shadow:inset 0 1px 3px rgba(55,75,139,.05)}
#tp-wifi-panel #tp-wifi-password{font-family:ui-monospace,SFMono-Regular,Consolas,monospace!important;letter-spacing:.08em!important}#tp-wifi-panel #tp-wifi-save{min-height:43px!important;padding-inline:19px!important;font-size:13px!important;box-shadow:0 8px 17px rgba(85,83,218,.22)!important}#tp-wifi-panel .tp-wifi-layout>aside button{min-height:45px!important;font-size:13px!important;box-shadow:0 7px 15px rgba(216,70,90,.17)!important}

/* Advanced functions: stronger hierarchy, bright active surfaces and compact cards. */
#system-pane-advanced{padding-top:2px!important}#system-pane-advanced .advanced-hero{min-height:112px!important;padding:23px 24px!important;border-color:#bfcdf8!important;border-radius:20px!important;background:radial-gradient(circle at 92% 15%,rgba(72,145,241,.32),transparent 36%),linear-gradient(120deg,#fdfdff,#eef3ff 62%,#eafaff)!important;box-shadow:0 14px 30px rgba(75,91,181,.13),inset 0 1px 0 rgba(255,255,255,.92)!important}
#system-pane-advanced .advanced-eyebrow{color:#5366c8!important;font-size:10px!important;letter-spacing:.16em!important}#system-pane-advanced .advanced-hero h3{color:#263b78!important;font-size:24px!important;letter-spacing:-.035em!important}#system-pane-advanced .advanced-hero p{color:#617294!important;font-size:13px!important}#system-pane-advanced .advanced-hero-note{border-color:#a8dced!important;background:#edfbff!important;color:#14718a!important;box-shadow:0 4px 10px rgba(28,148,183,.1)}
#system-pane-advanced .advanced-toolbar{margin-bottom:16px!important;padding:12px 14px!important;border-color:#cfdafb!important;border-radius:15px!important;background:linear-gradient(110deg,rgba(255,255,255,.96),rgba(239,245,255,.96))!important;box-shadow:0 8px 18px rgba(65,80,153,.1)!important}.advanced-toolbar .primary{min-height:42px!important;font-size:13px!important}.advanced-bulk-actions .secondary{min-height:40px!important;border-color:#cbd8f1!important;color:#4e62a9!important;background:#fff!important}.advanced-bulk-actions .secondary:hover:not(:disabled){background:#eef3ff!important}
#system-pane-advanced .advanced-group{border-color:#cbd7f7!important;border-radius:17px!important;background:linear-gradient(145deg,#fff,#f8faff)!important;box-shadow:0 10px 24px rgba(65,82,156,.08)!important}.advanced-group:hover{border-color:#9eafea!important;box-shadow:0 14px 28px rgba(65,82,156,.13)!important}.advanced-group-head{padding:17px 19px!important;border-bottom-color:#e2e8f8!important;background:linear-gradient(105deg,#f8faff,#edf4ff)!important}.advanced-group .k{color:#304683!important;font-size:15px!important}.advanced-group-head p{color:#6c7b9b!important}.advanced-group-tag{border-color:#b9c9fa!important;background:#f3f5ff!important;color:#5264be!important}.advanced-group .field-grid{padding:16px 19px!important;gap:10px!important}.advanced-group label{min-height:76px!important;padding:11px 12px!important;border-color:#dce5f6!important;border-radius:12px!important;background:#fff!important}.advanced-group label:hover{border-color:#aebff2!important;background:#fafdff!important;box-shadow:0 6px 14px rgba(66,87,164,.1)!important}.advanced-group label>span{color:#52658f!important;font-size:13px!important}.advanced-group select{min-height:38px!important;border-color:#d5e0f4!important;color:#324b83!important;font-weight:750!important}.advanced-unavailable{opacity:.7!important;filter:saturate(.75)}

@media(max-width:780px){.load-gauges{min-width:0!important;width:100%!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}.traffic-summary,.device-live{min-height:88px!important}.load-gauge{height:72px!important;padding:10px 12px!important}.load-gauge b{font-size:20px!important}#tp-wifi-panel{padding:15px!important}#tp-wifi-panel .tp-wifi-layout{grid-template-columns:1fr!important}#tp-wifi-panel .tp-wifi-layout>section,#tp-wifi-panel .tp-wifi-layout>aside{padding:18px!important}#system-pane-advanced .advanced-hero{padding:18px!important}.advanced-group-head{padding:14px!important}.advanced-group .field-grid{padding:13px!important}}
@media(max-width:470px){.topbar-status{display:grid!important;grid-template-columns:1fr!important}.load-gauges{grid-template-columns:1fr 1fr!important}.traffic-summary,.device-live{width:100%!important;margin-top:0!important}.load-gauge>span{font-size:10px!important}.load-gauge b{font-size:19px!important}}
.load-gauge:before{display:none!important}.load-gauge{border:2px solid transparent!important;background:linear-gradient(145deg,rgba(255,255,255,.2),rgba(255,255,255,.06)) padding-box,conic-gradient(var(--gauge-color) var(--gauge-pct),rgba(255,255,255,.13) 0) border-box!important}

/* P229 visual refresh: replace the small rings with high-contrast metric cards
   and give proxy diagnostics a clear, task-first hierarchy. */
.topbar-status{gap:12px!important;align-items:stretch!important}
.load-gauges{display:grid!important;grid-template-columns:repeat(2,minmax(142px,1fr))!important;gap:10px!important;min-width:306px!important;min-height:102px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important}
.load-gauge{position:relative!important;display:flex!important;align-items:flex-start!important;justify-content:center!important;flex-direction:column!important;width:auto!important;height:102px!important;min-width:0!important;padding:15px 18px 14px 21px!important;overflow:hidden!important;border:1px solid rgba(255,255,255,.7)!important;border-radius:16px!important;background:#fff!important;color:#253365!important;box-shadow:0 12px 24px rgba(9,22,77,.2),inset 0 1px 0 rgba(255,255,255,.95)!important}
.load-gauge:before{content:''!important;display:block!important;position:absolute!important;inset:auto 0 0 0!important;width:auto!important;height:5px!important;border-radius:0!important;background:var(--metric-accent)!important;box-shadow:0 -3px 12px var(--metric-glow)!important}
.load-gauge:after{content:'1 MIN'!important;position:absolute!important;right:13px!important;top:12px!important;width:auto!important;height:auto!important;border:1px solid var(--metric-border)!important;border-radius:999px!important;padding:3px 6px!important;background:var(--metric-soft)!important;color:var(--metric-accent)!important;font:900 9px/1 ui-monospace,SFMono-Regular,Consolas,monospace!important;letter-spacing:.08em!important;box-shadow:none!important}
.load-gauge:nth-child(1){--metric-accent:#e5486f;--metric-soft:#fff0f4;--metric-border:#ffc8d5;--metric-glow:rgba(229,72,111,.35)}
.load-gauge:nth-child(2){--metric-accent:#3977df;--metric-soft:#edf4ff;--metric-border:#c4d8ff;--metric-glow:rgba(57,119,223,.35)}
.load-gauge:nth-child(2):after{content:'15 MIN'!important}
.load-gauge>span{position:relative!important;z-index:1!important;display:flex!important;align-items:flex-start!important;flex-direction:column!important;gap:8px!important;color:#657295!important;font-size:11px!important;font-weight:850!important;line-height:1.1!important;letter-spacing:.04em!important}
.load-gauge b{margin:0!important;color:#1f2d67!important;font:900 27px/1 ui-monospace,SFMono-Regular,Consolas,monospace!important;letter-spacing:-.05em!important;text-shadow:none!important;font-variant-numeric:tabular-nums!important}
.load-gauges.is-stale{border-color:transparent!important}.load-gauges.is-stale .load-gauge{filter:saturate(.68)}.load-gauges.is-stale .load-gauge:after{color:#a56a11!important;border-color:#f3d28d!important;background:#fff8e9!important}

#system-pane-check{padding-top:2px!important}
#system-pane-check>.system-list{gap:16px!important}
#system-pane-check .proxycheck-shell,#system-pane-check .stability-shell{padding:0!important;overflow:hidden!important;border-color:#cbd8f6!important;border-radius:20px!important;background:linear-gradient(145deg,#fff,#f5f8ff)!important;box-shadow:0 16px 32px rgba(58,77,157,.11),inset 0 1px 0 rgba(255,255,255,.95)!important}
#system-pane-check .proxycheck-heading{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:16px!important;padding:20px 22px 17px!important;border-bottom:1px solid #e1e8f8!important;background:linear-gradient(105deg,#f6f8ff,#edf5ff 58%,#f4f0ff)!important}
#system-pane-check .proxycheck-title{margin:0!important;color:#293d84!important;font-size:22px!important;font-weight:900!important;letter-spacing:-.03em!important}
#system-pane-check .proxycheck-subtitle{margin:6px 0 0!important;color:#667597!important;font-size:13px!important;line-height:1.5!important}
#system-pane-check .proxycheck-chip{flex:none!important;margin-top:2px!important;padding:6px 10px!important;border:1px solid #b9c9fa!important;border-radius:999px!important;background:#eef2ff!important;color:#5266bf!important;font-size:11px!important;font-weight:900!important;letter-spacing:.04em!important;white-space:nowrap!important}
#system-pane-check .proxycheck-controls{padding:18px 22px 0!important;gap:14px!important}
#system-pane-check .proxycheck-controls label{padding:12px!important;border:1px solid #dce5f6!important;border-radius:13px!important;background:rgba(255,255,255,.86)!important;box-shadow:0 5px 13px rgba(71,92,166,.05)!important}
#system-pane-check .proxycheck-controls label>span{color:#59698d!important;font-size:12px!important;font-weight:850!important}
#system-pane-check .proxycheck-controls select{min-height:42px!important;border-color:#cfdafa!important;color:#314b8d!important;font-weight:750!important;background:#fff!important}
#system-pane-check .proxycheck-actions{margin:14px 22px 0!important;padding:13px 0!important;border-top:1px solid #e3e9f7!important}
#system-pane-check .proxycheck-actions>div{color:#7180a0!important;font-size:12px!important;line-height:1.55!important}
#system-pane-check #proxycheck-run{min-width:104px!important;min-height:42px!important;border-radius:11px!important;background:linear-gradient(135deg,#e5486f,#c946a2)!important;box-shadow:0 8px 18px rgba(216,70,104,.22)!important}
#system-pane-check .proxycheck-meta{margin:0 22px!important;padding:10px 12px!important;border:1px solid #dbe4f5!important;border-radius:11px!important;background:#f8faff!important;color:#667597!important;font-size:12px!important;font-weight:750!important}
#system-pane-check .proxycheck-results{margin:12px 22px 22px!important;border-color:#d9e2f4!important;border-radius:14px!important;box-shadow:none!important}
#system-pane-check .proxycheck-results th{padding:11px 13px!important;background:linear-gradient(105deg,#eef3ff,#f6f1ff)!important;color:#52629a!important;border-bottom:1px solid #d6e0f4!important;font-size:10px!important}
#system-pane-check .proxycheck-results td{padding:12px 13px!important;color:#3d4d70!important;border-bottom-color:#edf1f8!important}
#system-pane-check .proxycheck-results tbody tr:hover td{background:#f8f9ff!important}
#system-pane-check .stability-heading{padding-bottom:15px!important;background:linear-gradient(105deg,#f8fbff,#eef9ff 58%,#f4f0ff)!important}
#system-pane-check .stability-heading .k{margin:0!important;color:#293d84!important;font-size:18px!important;font-weight:900!important}
#system-pane-check .stability-chip{border-color:#b5e3e1!important;background:#ecfbfa!important;color:#137e7d!important}
#system-pane-check .stability-shell>.field-grid,#system-pane-check .stability-shell>.actions{margin-left:22px!important;margin-right:22px!important}
#system-pane-check .stability-shell>.field-grid:first-of-type{padding-top:18px!important}
@media(max-width:780px){.load-gauges{min-width:0!important;width:100%!important}.load-gauge{height:88px!important;padding:13px 14px 12px 16px!important}.load-gauge b{font-size:23px!important}#system-pane-check .proxycheck-heading{padding:17px 16px 15px!important}#system-pane-check .proxycheck-controls{padding:15px 16px 0!important}#system-pane-check .proxycheck-actions{margin-inline:16px!important}#system-pane-check .proxycheck-meta{margin-inline:16px!important}#system-pane-check .proxycheck-results{margin:10px 16px 16px!important}#system-pane-check .stability-shell>.field-grid,#system-pane-check .stability-shell>.actions{margin-inline:16px!important}}

/* P230: unify load cards with the traffic and device metric cards. */
.load-gauges{display:grid!important;grid-template-columns:repeat(2,minmax(132px,1fr))!important;min-width:286px!important;min-height:104px!important;padding:8px!important;gap:8px!important;border:1px solid rgba(179,218,255,.38)!important;border-radius:18px!important;background:linear-gradient(145deg,rgba(15,30,103,.64),rgba(38,75,165,.48))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 12px 26px rgba(12,31,104,.18)!important;backdrop-filter:blur(14px)!important}
.load-gauge{height:86px!important;padding:12px 13px!important;border:1px solid rgba(185,225,255,.32)!important;border-radius:14px!important;background:linear-gradient(145deg,rgba(255,255,255,.15),rgba(255,255,255,.045))!important;color:#fff!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 5px 14px rgba(12,30,104,.16)!important}
.load-gauge:before{inset:auto 0 0 0!important;width:auto!important;height:3px!important;border-radius:0 0 13px 13px!important;background:var(--metric-accent)!important;box-shadow:none!important}
.load-gauge:after{top:10px!important;right:10px!important;width:auto!important;height:auto!important;padding:3px 5px!important;border:1px solid rgba(180,220,255,.32)!important;border-radius:999px!important;background:rgba(255,255,255,.1)!important;color:#bfe7ff!important;font-size:8px!important;letter-spacing:.08em!important;box-shadow:none!important}
.load-gauge:nth-child(1){--metric-accent:#72e6c1;--metric-soft:rgba(114,230,193,.14);--metric-border:rgba(114,230,193,.4);--metric-glow:rgba(114,230,193,.25)}
.load-gauge:nth-child(2){--metric-accent:#72b3ff;--metric-soft:rgba(114,179,255,.14);--metric-border:rgba(114,179,255,.4);--metric-glow:rgba(114,179,255,.25)}
.load-gauge>span{color:rgba(239,246,255,.82)!important;font-size:10px!important;gap:6px!important;letter-spacing:.03em!important}
.load-gauge b{color:#fff!important;font-size:24px!important;text-shadow:0 2px 10px rgba(0,0,0,.2)!important}
.load-gauges.is-stale{border-color:rgba(249,212,138,.55)!important}.load-gauges.is-stale .load-gauge{filter:saturate(.75)}.load-gauges.is-stale .load-gauge:after{color:#f9d48a!important;border-color:rgba(249,212,138,.52)!important;background:rgba(249,212,138,.12)!important}
@media(max-width:780px){.load-gauges{min-width:0!important;width:100%!important}.load-gauge{height:72px!important;padding:10px 12px!important}.load-gauge b{font-size:20px!important}}
@media(max-width:470px){.load-gauges{grid-template-columns:repeat(2,minmax(0,1fr))!important}.load-gauge>span{font-size:9px!important}.load-gauge b{font-size:19px!important}}

/* P231: navigation traffic is limited to RouterOS uplink rates. */
#traffic-summary .traffic-row{grid-template-columns:88px minmax(0,1fr)!important;min-height:29px!important}
#traffic-summary{min-width:230px!important}
#traffic-summary .traffic-value{justify-content:flex-end!important}
@media(max-width:780px){#traffic-summary{min-width:0!important}.traffic-summary#traffic-summary .traffic-row{grid-template-columns:78px minmax(0,1fr)!important}}
@media(max-width:470px){.traffic-summary#traffic-summary .traffic-row{grid-template-columns:72px minmax(0,1fr)!important}}

/* P232: carry the advanced-functions gradient language across the main consoles. */
:where(.status-console,#system-pane-config .system-config-card,#system-pane-check .proxycheck-shell,#system-pane-check .stability-shell,#system-pane-dns .dns-console-card,#system-pane-help .usage-doc-shell,#tp-wifi-panel,#routeros-wifi-panel){
  --ui-panel-border:#cbd8f6;
  --ui-panel-shadow:0 16px 34px rgba(58,77,157,.11),inset 0 1px 0 rgba(255,255,255,.93);
  --ui-panel-background:radial-gradient(circle at 96% 0,rgba(72,145,241,.22),transparent 35%),radial-gradient(circle at 0 100%,rgba(105,90,232,.14),transparent 38%),linear-gradient(145deg,#ffffff,#f3f7ff 68%,#eefaff);
}

/* Status: use the same layered, cool gradient as the advanced settings hero. */
.status-console{
  border-color:var(--ui-panel-border)!important;
  background:var(--ui-panel-background)!important;
  box-shadow:var(--ui-panel-shadow)!important;
}
.status-console .status-hero{
  border-color:#bfcdf8!important;
  background:radial-gradient(circle at 92% 14%,rgba(72,145,241,.25),transparent 36%),linear-gradient(120deg,#fdfdff,#eef3ff 62%,#eafaff)!important;
  box-shadow:0 12px 26px rgba(75,91,181,.09),inset 0 1px 0 rgba(255,255,255,.92)!important;
}
.status-console .status-section{
  border-color:#cbd8f6!important;
  background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(246,249,255,.93))!important;
  box-shadow:0 10px 24px rgba(65,82,156,.08)!important;
}
.status-console .status-section-head{
  border-bottom-color:#e1e8f8!important;
  background:linear-gradient(105deg,#f8faff,#edf4ff 58%,#f5f1ff)!important;
}
.status-console .status-metric{
  border-color:#dce5f6!important;
  background:linear-gradient(145deg,#ffffff,#f4f8ff)!important;
  box-shadow:0 5px 13px rgba(71,92,166,.06)!important;
}
.status-console .status-note{
  border-color:#d5e0f4!important;
  background:linear-gradient(110deg,#f7faff,#eef6ff)!important;
}

/* System configuration, proxy check, DNS and help: shared panel shell and headers. */
#system-pane-config .system-config-card,
#system-pane-check .proxycheck-shell,
#system-pane-check .stability-shell,
#system-pane-dns .dns-console-card,
#system-pane-help .usage-doc-shell{
  border-color:var(--ui-panel-border)!important;
  background:var(--ui-panel-background)!important;
  box-shadow:var(--ui-panel-shadow)!important;
}
#system-pane-config .system-section-heading,
#system-pane-check .proxycheck-heading,
#system-pane-dns .dns-console-head,
#system-pane-help .usage-doc-topline{
  border-bottom-color:#e1e8f8!important;
  background:linear-gradient(105deg,#f8faff,#edf4ff 58%,#f5f1ff)!important;
}
#system-pane-config .system-config-card label,
#system-pane-check .proxycheck-controls label,
#system-pane-check .stability-shell label,
#system-pane-dns .dns-console-card label{
  border-color:#dce5f6!important;
  background:rgba(255,255,255,.82)!important;
  box-shadow:0 5px 13px rgba(71,92,166,.05)!important;
}
#system-pane-config .system-config-actions,
#system-pane-dns .dns-console-actions{
  border-top-color:#e1e8f8!important;
  background:rgba(249,251,255,.78)!important;
}
#system-pane-check .proxycheck-meta,
#system-pane-dns .dns-console-note{
  border-color:#d5e0f4!important;
  background:linear-gradient(110deg,#f7faff,#eef6ff)!important;
}
#system-pane-check .proxycheck-results,
#system-pane-dns .dns-results-table{
  border-color:#d5e0f4!important;
  box-shadow:0 6px 16px rgba(65,82,156,.06)!important;
}

/* Wireless: keep both supported layouts on the same luminous surface system. */
#tp-wifi-panel,
#routeros-wifi-panel{
  border-color:var(--ui-panel-border)!important;
  background:var(--ui-panel-background)!important;
  box-shadow:var(--ui-panel-shadow)!important;
}
#tp-wifi-panel .tp-wifi-layout>section,
#tp-wifi-panel .tp-wifi-layout>aside,
#routeros-wifi-panel .table-wrap{
  border-color:#cbd8f6!important;
  background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(239,246,255,.9))!important;
  box-shadow:0 10px 24px rgba(65,82,156,.08),inset 0 1px 0 rgba(255,255,255,.9)!important;
}
#routeros-wifi-panel th{
  background:linear-gradient(105deg,#eef3ff,#f6f1ff)!important;
  color:#52629a!important;
  border-bottom-color:#d6e0f4!important;
}

@media(prefers-reduced-motion:reduce){
  .status-console *,#system-pane-config *,#system-pane-check *,#system-pane-dns *,#system-pane-help *,#tp-wifi-panel *,#routeros-wifi-panel *{transition-duration:.01ms!important;animation-duration:.01ms!important}
}

/* P233: system pages use the advanced-functions composition: one gradient hero,
   then clean white work surfaces. Never wash diagnostic data in a full-panel tint. */
#system-pane-config .system-config-card,
#system-pane-check .proxycheck-shell,
#system-pane-check .stability-shell,
#system-pane-dns .dns-console-card{
  border-color:#cbd7f7!important;
  background:#fff!important;
  box-shadow:0 10px 24px rgba(65,82,156,.08)!important;
}
#system-pane-config .system-section-heading,
#system-pane-check .proxycheck-shell>.proxycheck-heading,
#system-pane-dns .dns-console-head{
  min-height:122px!important;
  padding:23px 24px!important;
  border-bottom-color:#d8e2f7!important;
  background:radial-gradient(circle at 92% 15%,rgba(72,145,241,.32),transparent 36%),linear-gradient(120deg,#fdfdff,#eef3ff 62%,#eafaff)!important;
}
#system-pane-config .system-section-kicker,
#system-pane-dns .system-section-kicker{color:#5366c8!important;font-size:10px!important;letter-spacing:.16em!important}
#system-pane-config .system-section-heading h3,
#system-pane-check .proxycheck-shell>.proxycheck-heading .proxycheck-title,
#system-pane-dns .dns-console-head h3{color:#263b78!important;font-size:24px!important;font-weight:900!important;letter-spacing:-.035em!important}
#system-pane-config .system-section-heading p,
#system-pane-check .proxycheck-shell>.proxycheck-heading .proxycheck-subtitle,
#system-pane-dns .dns-console-head p{color:#617294!important;font-size:13px!important}
#system-pane-config .system-section-tag,
#system-pane-dns .system-section-tag,
#system-pane-check .proxycheck-shell>.proxycheck-heading .proxycheck-chip{border-color:#a8dced!important;background:#edfbff!important;color:#14718a!important;box-shadow:0 4px 10px rgba(28,148,183,.1)!important}

#system-pane-config .system-config-card>.field-grid,
#system-pane-dns .dns-console-card>.field-grid,
#system-pane-check .proxycheck-controls{background:#fff!important}
#system-pane-config .system-config-card label,
#system-pane-check .proxycheck-controls label,
#system-pane-check .stability-shell label,
#system-pane-dns .dns-console-card label{background:#fff!important;box-shadow:none!important}
#system-pane-config .system-config-actions,
#system-pane-dns .dns-console-actions{
  border-top-color:#e1e8f8!important;
  background:linear-gradient(110deg,#fff,#f2f6ff)!important;
}
#system-pane-check .proxycheck-actions{
  margin-top:14px!important;
  padding:13px 0!important;
  border-top:1px solid #e3e9f7!important;
  background:#fff!important;
}
#system-pane-check .proxycheck-meta,
#system-pane-dns .dns-console-note{background:#f7faff!important;box-shadow:none!important}
#system-pane-check .proxycheck-results,
#system-pane-dns .dns-results-table{background:#fff!important;box-shadow:none!important}

/* The stability checker is a secondary advanced-style group, not another hero. */
#system-pane-check .stability-shell>.stability-heading{
  min-height:0!important;
  padding:17px 19px!important;
  border-bottom-color:#e2e8f8!important;
  background:linear-gradient(105deg,#f8faff,#edf4ff)!important;
}
#system-pane-check .stability-shell>.stability-heading .k{color:#304683!important;font-size:18px!important}
#system-pane-check .stability-shell>.stability-heading .proxycheck-subtitle{color:#6c7b9b!important}
#system-pane-check .stability-shell>.stability-heading .stability-chip{border-color:#b5e3e1!important;background:#ecfbfa!important;color:#137e7d!important;box-shadow:none!important}

@media(max-width:780px){
  #system-pane-config .system-section-heading,
  #system-pane-check .proxycheck-shell>.proxycheck-heading,
  #system-pane-dns .dns-console-head{min-height:0!important;padding:18px!important}
  #system-pane-config .system-section-heading h3,
  #system-pane-check .proxycheck-shell>.proxycheck-heading .proxycheck-title,
  #system-pane-dns .dns-console-head h3{font-size:21px!important}
  #system-pane-check .stability-shell>.stability-heading{padding:15px 16px!important}
}

/* P234: compact stability monitor and promote its live metrics. */
#system-pane-check>.system-list{gap:12px!important}
#system-pane-check .stability-shell{margin-top:0!important}
#system-pane-check .stability-shell>.stability-heading{padding:15px 18px!important;background:linear-gradient(100deg,#f9fbff,#edf4ff 62%,#f3f8ff)!important}
#system-pane-check .stability-shell>.field-grid{margin-left:18px!important;margin-right:18px!important;padding-left:0!important;padding-right:0!important}
#system-pane-check .stability-shell>.stability-heading+.field-grid{padding-top:15px!important}
#system-pane-check .stability-shell>.field-grid+ .field-grid{margin-top:7px!important}
#system-pane-check .stability-shell>.actions{min-height:48px!important;margin:8px 18px 0!important;padding:0!important;border-top:1px solid #e7edf9!important}
#system-pane-check .stability-shell>.actions .primary{min-width:74px!important;min-height:38px!important;border-radius:11px!important;box-shadow:0 7px 14px rgba(85,86,223,.2)!important}
#system-pane-check .stability-shell .loss-panel{margin:9px 18px 18px!important;padding:15px!important;border-color:#dce5f7!important;border-radius:15px!important;background:linear-gradient(135deg,#fbfcff,#f4f7ff)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.96)!important}
#system-pane-check .loss-panel-head{min-height:22px!important}
#system-pane-check .loss-meta{margin-top:1px!important;color:#607092!important;font-size:12px!important}
#system-pane-check .loss-progress{height:7px!important;margin:10px 0 9px!important;background:#e5ebf8!important}
#system-pane-check .loss-metrics{gap:10px!important;margin-top:14px!important}
#system-pane-check .loss-metrics>div{position:relative!important;min-height:76px!important;padding:12px 13px 11px!important;overflow:hidden!important;border:1px solid #dce5f6!important;border-radius:12px!important;background:linear-gradient(145deg,#fff,#f8faff)!important;box-shadow:0 5px 12px rgba(62,82,151,.055)!important}
#system-pane-check .loss-metrics>div:before{content:''!important;position:absolute!important;top:0!important;left:0!important;width:100%!important;height:3px!important;background:#6875e8!important}
#system-pane-check .loss-metrics>div:nth-child(2):before{background:#18a779!important}
#system-pane-check .loss-metrics>div:nth-child(3):before{background:#ec9c2f!important}
#system-pane-check .loss-metrics>div:nth-child(4):before{background:#179ac4!important}
#system-pane-check .loss-metrics>div:nth-child(5):before{background:#e15d70!important}
#system-pane-check .loss-metrics span{color:#7685a4!important;font-size:11px!important;font-weight:850!important;letter-spacing:.025em!important}
#system-pane-check .loss-metrics strong{display:inline-block!important;margin-top:8px!important;color:#253967!important;font-size:20px!important;font-weight:900!important;letter-spacing:-.035em!important}
#system-pane-check .loss-metrics em{font-size:14px!important}
#system-pane-check .loss-detail{margin-top:11px!important;padding-top:10px!important;border-top:1px solid #e7edf8!important;color:#7a88a5!important}
@media(max-width:780px){#system-pane-check .stability-shell>.field-grid{margin-left:16px!important;margin-right:16px!important}#system-pane-check .stability-shell>.actions{margin-left:16px!important;margin-right:16px!important}#system-pane-check .stability-shell .loss-panel{margin-left:16px!important;margin-right:16px!important}#system-pane-check .loss-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}#system-pane-check .loss-metrics>div:last-child{grid-column:span 2!important}}

/* P235: proxy check launch card and wireless-password rules. */
#system-pane-check .proxycheck-launch-row{display:grid!important;grid-template-columns:minmax(0,1fr) 170px!important;gap:14px!important;padding:18px 22px 0!important;background:#fff!important}
#system-pane-check .proxycheck-launch-row .proxycheck-controls{display:block!important;padding:0!important;margin:0!important;background:transparent!important}
#system-pane-check .proxycheck-launch-row .proxycheck-controls label{min-height:100%!important;padding:12px!important}
#system-pane-check .proxycheck-run-card{display:flex!important;flex-direction:column!important;justify-content:space-between!important;min-height:102px!important;padding:13px!important;border:1px solid #d3dcfb!important;border-radius:14px!important;background:radial-gradient(circle at 92% 6%,rgba(101,121,238,.21),transparent 46%),linear-gradient(145deg,#f8f9ff,#eef3ff)!important;box-shadow:0 7px 15px rgba(76,88,174,.09)!important}
#system-pane-check .proxycheck-run-card>span{color:#5264a8!important;font-size:12px!important;font-weight:850!important;letter-spacing:.04em!important}
#system-pane-check .proxycheck-run-card #proxycheck-run{width:100%!important;min-width:0!important;min-height:44px!important;margin:0!important;font-size:14px!important}
#system-pane-check .proxycheck-launch-row+.proxycheck-meta{margin-top:12px!important}
@media(max-width:780px){#system-pane-check .proxycheck-launch-row{grid-template-columns:1fr!important;padding:15px 16px 0!important}#system-pane-check .proxycheck-run-card{min-height:88px!important}#system-pane-check .proxycheck-launch-row+.proxycheck-meta{margin-inline:16px!important}}

/* P236: compact Wi-Fi refresh control and tunnel row health cues. */
#tp-wifi-panel .wifi-refresh-btn{display:inline-grid!important;place-items:center!important;min-width:43px!important;min-height:43px!important;padding:0 19px!important}
#tp-wifi-panel .wifi-refresh-btn svg{width:17px!important;height:17px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.9!important;stroke-linecap:round!important;stroke-linejoin:round!important}
#proxy-pane-pptp tbody tr.vpn-route-online td,#proxy-pane-l2tp tbody tr.vpn-route-online td,#proxy-pane-sstp tbody tr.vpn-route-online td{background:#ecfbf4!important}
#proxy-pane-pptp tbody tr.vpn-route-online:hover td,#proxy-pane-l2tp tbody tr.vpn-route-online:hover td,#proxy-pane-sstp tbody tr.vpn-route-online:hover td{background:#e2f8ee!important}
#proxy-pane-pptp tbody tr.vpn-route-offline td,#proxy-pane-l2tp tbody tr.vpn-route-offline td,#proxy-pane-sstp tbody tr.vpn-route-offline td{background:#fff1f3!important}
#proxy-pane-pptp tbody tr.vpn-route-offline:hover td,#proxy-pane-l2tp tbody tr.vpn-route-offline:hover td,#proxy-pane-sstp tbody tr.vpn-route-offline:hover td{background:#ffe8ec!important}
#proxy-pane-pptp tbody tr.vpn-route-online td:first-child,#proxy-pane-l2tp tbody tr.vpn-route-online td:first-child,#proxy-pane-sstp tbody tr.vpn-route-online td:first-child{box-shadow:inset 3px 0 0 #20ad7c!important}
#proxy-pane-pptp tbody tr.vpn-route-offline td:first-child,#proxy-pane-l2tp tbody tr.vpn-route-offline td:first-child,#proxy-pane-sstp tbody tr.vpn-route-offline td:first-child{box-shadow:inset 3px 0 0 #de5c6d!important}

/* P239: IP intelligence console. */
.system-tabs{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important}
#system-pane-ipdetail{padding-top:2px!important}
.ipdetail-shell{margin:0!important;padding:0!important;overflow:hidden!important;border:1px solid #cbd8f6!important;border-radius:20px!important;background:linear-gradient(145deg,#fff,#f5f8ff)!important;box-shadow:0 16px 32px rgba(58,77,157,.11),inset 0 1px 0 rgba(255,255,255,.95)!important}
.ipdetail-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 22px 17px;border-bottom:1px solid #e1e8f8;background:radial-gradient(circle at 94% 5%,rgba(72,177,220,.19),transparent 34%),linear-gradient(105deg,#f7f9ff,#edf4ff 58%,#f4f0ff)}
.ipdetail-heading h3{margin:0;color:#263b78;font-size:24px;font-weight:900;line-height:1.25;letter-spacing:-.035em}
.ipdetail-heading p{margin:6px 0 0;color:#617294;font-size:13px;line-height:1.55}
.ipdetail-search{display:grid;grid-template-columns:minmax(0,1fr) 82px 112px;gap:10px;align-items:end;padding:18px 22px 0;background:#fff}
.ipdetail-search label{display:flex;min-width:0;min-height:78px;flex-direction:column;justify-content:space-between;padding:11px 12px;border:1px solid #d9e3f6;border-radius:13px;background:#fbfcff;color:#59698d;font-size:12px;font-weight:850;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.ipdetail-search label:focus-within{border-color:#8798eb;background:#fff;box-shadow:0 0 0 3px rgba(92,96,225,.1)}
.ipdetail-search input{min-height:41px;padding:8px 11px;border-color:#cfdafa;background:#fff;color:#253967;font:750 14px/1.3 ui-monospace,SFMono-Regular,Consolas,monospace}
.ipdetail-search button{min-height:44px;margin-bottom:0;border-radius:11px;font-weight:850}
.ipdetail-search .primary{background:linear-gradient(135deg,#605ce1,#4c8bdf);box-shadow:0 8px 18px rgba(82,92,207,.22)}
.ipdetail-message{display:flex;align-items:center;min-height:42px;margin:12px 22px 18px;padding:9px 12px;border:1px solid #dbe4f5;border-radius:11px;background:#f8faff;color:#667597;font-size:12px;font-weight:750;line-height:1.5}
.ipdetail-shell.is-loading .ipdetail-message,.ipdetail-shell.has-result .ipdetail-message{margin-bottom:0}
.ipdetail-message-dot{width:8px;height:8px;flex:none;margin-right:9px;border-radius:50%;background:#8490b0;box-shadow:0 0 0 4px rgba(132,144,176,.12)}
.ipdetail-message.is-loading .ipdetail-message-dot{background:#5b68db;box-shadow:0 0 0 4px rgba(91,104,219,.13);animation:ipdetailPulse 1s ease-in-out infinite}
.ipdetail-message.is-ok{border-color:#bce8d9;background:#effbf6;color:#137457}.ipdetail-message.is-ok .ipdetail-message-dot{background:#1aac7a}
.ipdetail-message.is-warn{border-color:#f0d49e;background:#fff9ec;color:#9b680b}.ipdetail-message.is-warn .ipdetail-message-dot{background:#e8a12d}
.ipdetail-message.is-error{border-color:#f2c4cd;background:#fff2f4;color:#b43a50}.ipdetail-message.is-error .ipdetail-message-dot{background:#dc5368}
.ipdetail-message.is-info{border-color:#bedcec;background:#f0f9fd;color:#176d8f}.ipdetail-message.is-info .ipdetail-message-dot{background:#27a3c5}
@keyframes ipdetailPulse{50%{opacity:.38;transform:scale(.78)}}
.ipdetail-skeleton{padding:15px 22px 22px;background:#fff}.ipdetail-loading-indicator{display:flex;align-items:center;justify-content:center;gap:10px;min-height:46px;margin-bottom:12px;border:1px solid #dce5f6;border-radius:12px;background:linear-gradient(105deg,#f8faff,#eef4ff);color:#5367a7;font-size:12px;font-weight:850}.ipdetail-spinner{width:18px;height:18px;flex:none;border:3px solid rgba(92,105,219,.2);border-top-color:#5b68db;border-radius:50%;animation:ipdetailSpin .78s linear infinite}@keyframes ipdetailSpin{to{transform:rotate(360deg)}}
.ipdetail-skeleton-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.ipdetail-skeleton-grid span,.ipdetail-skeleton-panel{display:block;min-height:92px;border-radius:14px;background:linear-gradient(90deg,#edf1f9 25%,#f8faff 42%,#edf1f9 66%);background-size:300% 100%;animation:ipdetailShimmer 1.35s linear infinite}.ipdetail-skeleton-panel{min-height:210px;margin-top:12px}
@keyframes ipdetailShimmer{to{background-position:-150% 0}}
.ipdetail-result{padding:15px 22px 22px;background:#fff}
.ipdetail-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.ipdetail-summary-card{position:relative;min-width:0;min-height:104px;padding:14px 15px;overflow:hidden;border:1px solid #dbe4f5;border-radius:14px;background:linear-gradient(145deg,#fff,#f7f9ff);box-shadow:0 6px 15px rgba(61,78,145,.06)}
.ipdetail-summary-card:before{content:'';position:absolute;inset:0 auto 0 0;width:4px;background:#6675df}.ipdetail-summary-card.is-success:before{background:#18a779}.ipdetail-summary-card.is-cyan:before{background:#199bc4}.ipdetail-summary-card.is-violet:before{background:#8a5bd5}.ipdetail-summary-card.is-neutral:before{background:#8793ad}
.ipdetail-summary-card>span{display:block;color:#7584a4;font:850 9px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.12em}.ipdetail-summary-card>small{display:block;margin-top:9px;color:#59698c;font-size:11px;font-weight:780}.ipdetail-summary-card>strong{display:block;margin-top:6px;overflow:hidden;color:#263a6d;font-size:16px;font-weight:900;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.ipdetail-summary-card>strong.is-mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:14px}
.ipdetail-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
.ipdetail-panel{min-width:0;overflow:hidden;border:1px solid #dce5f6;border-radius:15px;background:linear-gradient(145deg,#fff,#f8faff);box-shadow:0 6px 15px rgba(61,78,145,.045)}
.ipdetail-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:65px;padding:13px 15px;border-bottom:1px solid #e5ebf7;background:linear-gradient(105deg,#f8faff,#eef4ff)}
.ipdetail-panel-head>div>span{display:block;color:#6676c9;font:850 9px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.12em}.ipdetail-panel-head h4{margin:5px 0 0;color:#304683;font-size:15px;font-weight:900}
.ipdetail-mini-chip,.ipdetail-mini-link{display:inline-flex;align-items:center;min-height:26px;padding:0 9px;border:1px solid #c7d4f8;border-radius:999px;background:#f2f5ff;color:#5264b7;font-size:10px;font-weight:850;white-space:nowrap}.ipdetail-mini-link{text-decoration:none;cursor:pointer}.ipdetail-mini-link:hover{border-color:#8fa2eb;background:#eaf0ff}
.ipdetail-kv{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;padding:5px 15px 10px}.ipdetail-kv>div{min-width:0;padding:10px 7px;border-bottom:1px solid #edf1f8}.ipdetail-kv dt{color:#7a87a3;font-size:10px;font-weight:800}.ipdetail-kv dd{margin:5px 0 0;overflow:hidden;color:#334768;font-size:12px;font-weight:780;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.ipdetail-kv dd.is-mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px}.ipdetail-footnote{margin:0 15px 14px;padding:9px 10px;border-radius:9px;background:#f3f6fc;color:#76839d;font-size:10px;line-height:1.5}
.ipdetail-risk-panel{grid-column:1/-1}.ipdetail-risk{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:18px}.ipdetail-risk-item{display:flex;min-width:0;min-height:84px;flex-direction:column;justify-content:center;padding:14px 16px;border:1px solid #d8e2f4;border-radius:14px;background:linear-gradient(145deg,#fbfcff,#f3f7ff);box-shadow:0 7px 16px rgba(61,78,145,.09);transition:transform .18s ease,box-shadow .18s ease}.ipdetail-risk-item:hover{transform:translateY(-1px);box-shadow:0 10px 20px rgba(61,78,145,.14)}.ipdetail-risk-item span{overflow:hidden;color:#65769e;font-size:12px;font-weight:850;letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap}.ipdetail-risk-item strong{margin-top:8px;color:#526486;font-size:18px;font-weight:950;line-height:1.2}.ipdetail-risk-item.is-yes{border-color:#efb4c1;background:linear-gradient(145deg,#fff4f5,#ffe9ed)}.ipdetail-risk-item.is-yes strong{color:#bd4056}.ipdetail-risk-item.is-no{border-color:#a9e2cf;background:linear-gradient(145deg,#f1fff9,#e5faf2)}.ipdetail-risk-item.is-no strong{color:#117553}
.ipdetail-sources-panel{margin-top:0}.ipdetail-result-actions{display:flex;gap:8px}.ipdetail-result-actions button{min-height:34px;padding:7px 11px;font-size:11px;font-weight:850}.ipdetail-source-table{margin:12px 15px 0!important;border-color:#dfe6f3!important;box-shadow:none!important}.ipdetail-source-table th{padding:10px 11px!important;background:#f3f6ff!important;color:#5b6b9b!important;font-size:10px!important}.ipdetail-source-table td{padding:10px 11px!important;color:#435272!important;font-size:11px!important}.ipdetail-source-state{display:inline-flex;align-items:center;min-height:23px;padding:0 8px;border-radius:999px;font-size:10px;font-weight:850}.ipdetail-source-state.is-ok{border:1px solid #bce7d7;background:#ecfbf4;color:#0d7752}.ipdetail-source-state.is-error{border:1px solid #f0c4cd;background:#fff1f3;color:#b53c51}
.ipdetail-conflicts{margin:11px 15px 0;padding:10px 12px;border:1px solid #f0d49e;border-radius:10px;background:#fff9ec;color:#95640c;font-size:11px;line-height:1.55}
@media(max-width:1100px){.system-tabs{grid-template-columns:repeat(3,minmax(0,1fr))!important}.ipdetail-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.system-tabs{grid-template-columns:repeat(2,minmax(0,1fr))!important}.ipdetail-heading{display:block;padding:17px 16px 15px}.ipdetail-heading .system-section-tag{margin-top:12px}.ipdetail-search{grid-template-columns:1fr 1fr;padding:15px 16px 0}.ipdetail-search label{grid-column:1/-1}.ipdetail-search button{width:100%}.ipdetail-message{margin-inline:16px}.ipdetail-skeleton,.ipdetail-result{padding:13px 16px 16px}.ipdetail-skeleton-grid,.ipdetail-summary,.ipdetail-detail-grid{grid-template-columns:1fr}.ipdetail-risk{grid-template-columns:repeat(2,minmax(0,1fr))}.ipdetail-panel-head{align-items:flex-start}.ipdetail-sources-panel .ipdetail-panel-head{display:block}.ipdetail-result-actions{margin-top:10px}.ipdetail-source-table{overflow-x:auto}.ipdetail-source-table table{min-width:620px}}
@media(prefers-reduced-motion:reduce){.ipdetail-message.is-loading .ipdetail-message-dot,.ipdetail-skeleton-grid span,.ipdetail-skeleton-panel,.ipdetail-spinner{animation:none!important}}
 .dev-sleeping{color:#6f7f9f;font-weight:700}

/* Column-width dragging for the proxy, device, and egress tables. */
table.resizable-data-table th{position:sticky;}
table.resizable-data-table .table-resize-handle{position:absolute;top:0;right:-4px;z-index:3;width:8px;height:100%;padding:0;border:0;background:transparent;cursor:col-resize;touch-action:none;}
table.resizable-data-table .table-resize-handle::after{content:'';position:absolute;top:25%;right:3px;width:2px;height:50%;border-radius:999px;background:rgba(255,255,255,.42);opacity:.55;transition:height .15s ease,background .15s ease,opacity .15s ease;}
table.resizable-data-table .table-resize-handle:hover::after,table.resizable-data-table .table-resize-handle:focus-visible::after{top:12%;height:76%;background:#fff;opacity:1;}
html.is-resizing-table,html.is-resizing-table *{cursor:col-resize!important;user-select:none!important;}
.ui-select-wrap{position:relative;display:inline-flex;align-items:center;min-width:0}.ui-select-source{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;border:0!important;opacity:0!important;pointer-events:none!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important}.ui-select-trigger{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:36px;width:100%;min-width:0;padding:8px 34px 8px 12px;border:1px solid #d6def1;border-radius:10px;background:#fff;color:#354365;font:750 13px/1.35 inherit;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 3px 10px rgba(67,82,157,.07);cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.ui-select-trigger:after{content:"";position:absolute;right:13px;top:50%;width:7px;height:7px;border-right:2px solid #5263bd;border-bottom:2px solid #5263bd;transform:translateY(-65%) rotate(45deg);transition:transform .18s ease}.ui-select-trigger:hover:not(:disabled){border-color:#aebbf0;background:#fcfdff;box-shadow:0 5px 13px rgba(67,82,157,.11)}.ui-select-trigger:focus-visible{outline:3px solid rgba(34,184,240,.35);outline-offset:2px;border-color:#7d8ee1}.ui-select-wrap.is-open .ui-select-trigger{border-color:#7d8ee1;box-shadow:0 0 0 3px rgba(91,92,226,.14)}.ui-select-wrap.is-open .ui-select-trigger:after{transform:translateY(-35%) rotate(225deg)}.ui-select-trigger:disabled{opacity:.58;cursor:not-allowed}.ui-select-menu{display:none;position:absolute;z-index:90;max-height:280px;overflow:auto;padding:5px;border:1px solid #cfd8f5;border-radius:12px;background:rgba(255,255,255,.98);box-shadow:0 16px 34px rgba(45,57,126,.22),0 2px 6px rgba(45,57,126,.1);backdrop-filter:blur(14px)}.ui-select-wrap.is-open .ui-select-menu{display:block}.ui-select-option{display:block;width:100%;min-height:34px;padding:8px 10px;border:1px solid transparent;border-radius:8px;background:transparent;color:#4d5d81;font:650 13px/1.25 inherit;text-align:left;white-space:nowrap;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.ui-select-option:hover,.ui-select-option:focus-visible{background:#eef1ff;border-color:#d9defb;color:#4f56bf;outline:none}.ui-select-option.is-selected{background:linear-gradient(100deg,#eef1ff,#f6f7ff);border-color:#d7dcfa;color:#4e58c2;font-weight:850}.egress-select-box .ui-select-trigger{min-height:32px;padding:6px 32px 6px 9px;border-color:transparent;background:transparent;box-shadow:none;border-radius:8px}.egress-select-box .ui-select-trigger:hover:not(:disabled){background:rgba(238,241,255,.72);border-color:transparent;box-shadow:none}.egress-select-box .ui-select-trigger:after{right:10px}.device-toolbar-actions .device-group-filter{flex:1 1 auto}@media(max-width:780px){.device-toolbar-actions .device-group-filter{min-width:0!important;width:100%!important}.ui-select-trigger{min-height:38px}}
.ui-select-menu.is-open{display:block}
.ui-select-menu.is-open{display:block}

/* Wireless device control: a compact SVG signal map keeps the control card useful without adding another data request. */
#tp-wifi-panel .device-control-title{margin:8px 0 0;color:#253b6b;font-size:18px;font-weight:850;letter-spacing:-.025em}
#tp-wifi-panel .device-control-visual{position:relative;margin-top:16px;padding:10px 8px 8px;overflow:hidden;border:1px solid rgba(159,211,231,.72);border-radius:16px;background:radial-gradient(circle at 50% 48%,rgba(111,126,232,.13),transparent 38%),linear-gradient(145deg,rgba(255,255,255,.92),rgba(233,249,255,.78));box-shadow:inset 0 1px 0 rgba(255,255,255,.92),0 8px 18px rgba(60,107,164,.08)}
#tp-wifi-panel .device-control-svg{display:block;width:100%;height:auto;min-height:142px}
#tp-wifi-panel .device-control-svg text{fill:#61759d;font:800 8px/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em}
#tp-wifi-panel .dc-link{fill:none;stroke:url(#dc-link-gradient);stroke-width:1.6;stroke-linecap:round;stroke-dasharray:2 7;animation:dcSignalFlow 2.7s linear infinite;opacity:.82}
#tp-wifi-panel .dc-link-alt{animation-duration:3.2s;animation-delay:-1.2s;opacity:.56}
#tp-wifi-panel .dc-packet{filter:drop-shadow(0 0 4px rgba(70,214,193,.68))}
#tp-wifi-panel .dc-node-ring{fill:rgba(255,255,255,.72);stroke:#9ab8ee;stroke-width:1.3;animation:dcNodePulse 2.8s ease-in-out infinite}
#tp-wifi-panel .dc-node-right .dc-node-ring{animation-delay:-1.1s;stroke:#8bd7d4}
#tp-wifi-panel .dc-node-core{fill:#6c7ce4;stroke:#fff;stroke-width:2}
#tp-wifi-panel .dc-node-right .dc-node-core{fill:#2daebe}
#tp-wifi-panel .dc-node path{fill:none;stroke:#fff;stroke-width:1.3;stroke-linecap:round}
#tp-wifi-panel .dc-router-halo{fill:rgba(100,119,227,.1);stroke:rgba(102,124,225,.2);stroke-width:1;animation:dcRouterHalo 3.2s ease-in-out infinite}
#tp-wifi-panel .dc-router-body{stroke:rgba(255,255,255,.75);stroke-width:1.2;filter:drop-shadow(0 8px 10px rgba(74,104,193,.22))}
#tp-wifi-panel .dc-router-antenna{fill:none;stroke:#6b7bdc;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
#tp-wifi-panel .dc-router-led{fill:#68ebc5;filter:drop-shadow(0 0 4px rgba(104,235,197,.75));animation:dcLedBlink 2s ease-in-out infinite}
#tp-wifi-panel .dc-router-led-alt{animation-delay:-.7s;fill:#a9c2ff}
#tp-wifi-panel .device-control-visual-caption{display:flex;align-items:center;gap:7px;margin:1px 3px 0;color:#53688e;font-size:11px;font-weight:800}
#tp-wifi-panel .device-control-live-dot{width:7px;height:7px;border-radius:50%;background:#35c99c;box-shadow:0 0 0 4px rgba(53,201,156,.14),0 0 9px rgba(53,201,156,.6);animation:dcLedBlink 2s ease-in-out infinite}
#tp-wifi-panel .device-control-caption-chip{margin-left:auto;padding:4px 7px;border:1px solid #bfe7df;border-radius:999px;background:#f0fffa;color:#16806a;font-size:10px;letter-spacing:.02em}
@keyframes dcSignalFlow{to{stroke-dashoffset:-28}}
@keyframes dcNodePulse{0%,100%{stroke-opacity:.48;transform:scale(.96);transform-origin:center}50%{stroke-opacity:1;transform:scale(1.08);transform-origin:center}}
@keyframes dcRouterHalo{0%,100%{opacity:.55;transform:scale(.92);transform-origin:center}50%{opacity:1;transform:scale(1.06);transform-origin:center}}
@keyframes dcLedBlink{0%,100%{opacity:.62}50%{opacity:1}}
@media(max-width:780px){#tp-wifi-panel .device-control-visual{margin-top:14px;padding-inline:4px}#tp-wifi-panel .device-control-svg{min-height:132px}}
@media(prefers-reduced-motion:reduce){#tp-wifi-panel .dc-link,#tp-wifi-panel .dc-node-ring,#tp-wifi-panel .dc-router-halo,#tp-wifi-panel .dc-router-led,#tp-wifi-panel .device-control-live-dot{animation:none!important}#tp-wifi-panel .dc-packet{display:none!important}}
/* Keep the OUT bulk transfer dialog inside the viewport so its action bar remains reachable. */
.out-bulk-transfer-panel{max-height:calc(100vh - 32px)!important;margin:16px auto!important;overflow-y:auto!important;overflow-x:hidden!important}
.out-bulk-transfer-panel .out-bulk-textarea{min-height:clamp(180px,28vh,300px)!important;max-height:36vh!important}
@media(max-width:640px){.out-bulk-transfer-panel{margin:10px!important;max-height:calc(100vh - 20px)!important}.out-bulk-transfer-panel .out-bulk-textarea{min-height:180px!important;max-height:30vh!important}}
.topbar-site-link{display:inline-flex;margin-top:8px;color:#bdf8ed;font:700 12px/1.2 "DM Sans","Segoe UI",sans-serif;letter-spacing:.025em;text-decoration:underline;text-decoration-color:rgba(189,248,237,.65);text-underline-offset:3px;white-space:nowrap}
.topbar-site-link:hover{color:#fff;text-decoration-color:#fff}
.topbar-site-link:focus-visible{outline:2px solid #bdf8ed;outline-offset:4px;border-radius:2px}
/* Shared topbar route illustration. Geometry is authored in a 640 × 120 SVG. */
.protocol-flow{display:flex;align-items:center;justify-content:center;flex:1 1 480px;min-width:360px;max-width:640px;height:120px;padding:0 3px;border-radius:16px;background:radial-gradient(circle at 42% 52%,rgba(139,239,224,.13),transparent 36%);overflow:hidden}
.protocol-flow svg{display:block;width:100%;height:100%}
.protocol-flow-links path{fill:none;stroke:url(#protocol-flow-signal);stroke-width:1.35;stroke-linecap:round;opacity:.55}
.protocol-flow-links path[id^=protocol-flow-in]{stroke-dasharray:2 5;opacity:.45}
.protocol-flow-pill rect{fill:rgba(255,255,255,.1);stroke:rgba(211,226,255,.35);stroke-width:1}
.protocol-flow-pill text{fill:#f0f5ff;font:700 10.5px/1 "DM Sans","Segoe UI",sans-serif;letter-spacing:.02em;text-anchor:middle}
.protocol-flow-pill.tunnel rect{fill:rgba(109,232,200,.13);stroke:rgba(125,237,207,.45)}
.protocol-flow-halo{fill:rgba(211,230,255,.07);stroke:rgba(215,233,255,.33);stroke-width:1.2}
.protocol-flow-disc{fill:rgba(243,249,255,.12);stroke:rgba(225,241,255,.62);stroke-width:1.4}
.protocol-flow-antenna{fill:none;stroke:#c5dbff;stroke-width:3;stroke-linecap:round}
.protocol-flow-radio{fill:none;stroke:#a8f0e6;stroke-width:1.7;stroke-linecap:round}
.protocol-flow-router{fill:url(#protocol-flow-core);stroke:rgba(236,249,255,.9);stroke-width:1.1;filter:drop-shadow(0 3px 6px rgba(28,49,131,.32))}
.protocol-flow-ports{fill:none;stroke:#e8f5ff;stroke-width:1.6;stroke-linecap:round}
.protocol-flow-led{fill:#98ffe1;filter:drop-shadow(0 0 3px #88f6d8);animation:protocol-flow-led 2s ease-in-out infinite}
.protocol-flow-hub text{fill:#f5f8ff;font:800 11px/1 "DM Sans","Segoe UI",sans-serif;text-anchor:middle;letter-spacing:.05em}
.protocol-flow-device>rect{fill:rgba(255,255,255,.12);stroke:rgba(213,230,255,.64);stroke-width:1.2}
.protocol-flow-device.is-teal>rect{fill:rgba(153,245,226,.11);stroke:rgba(152,242,224,.65)}
.protocol-flow-device use{fill:none;stroke:#e5efff;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}
.protocol-flow-device.is-teal use{stroke:#c7faf0}
.protocol-flow-packets circle{fill:#a2ffe5;filter:drop-shadow(0 0 4px rgba(143,253,224,.85))}
@keyframes protocol-flow-led{0%,100%{opacity:.55}50%{opacity:1}}
@media(max-width:980px){.protocol-flow{order:3;flex-basis:100%;max-width:none;height:106px}}
@media(max-width:520px){.protocol-flow{min-width:0;height:80px;padding:1px 3px}}
@media(prefers-reduced-motion:reduce){.protocol-flow-led{animation:none}.protocol-flow-packets{display:none}}
