:root{color-scheme:light;--bg: #e7e9ec;--surface: #ffffff;--surface-alt: #f1f3f5;--surface-hover: #e7edf2;--text: #252b33;--muted: #626c76;--primary: #275e90;--primary-soft: #e4edf5;--success: #2e7b53;--danger: #b64242;--warning: #a66d16;--border: #c4cbd3;--shadow: 0 1px 2px #0000000a;--radius: 5px;--sidebar: #f5f6f7;--glass: var(--surface)}:root[data-theme=dark]{color-scheme:dark;--bg: #1c1f24;--surface: #272b31;--surface-alt: #30353c;--surface-hover: #363e47;--text: #e5e8ec;--muted: #a3adb8;--primary: #74a9d6;--primary-soft: #30485d;--success: #77ba93;--danger: #e18b85;--warning: #d8b16b;--border: #464e58;--shadow: 0 1px 2px #00000018;--sidebar: #22262b;--glass: var(--surface)}body{color:var(--text);background:var(--bg);font-family:Segoe UI,Noto Sans CJK SC,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}*:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.hex-brand{color:var(--primary);filter:none;flex-shrink:0}.resource-gauge{text-align:center;display:flex;align-items:center;flex-direction:column;gap:7px}.resource-gauge svg{width:110px}.resource-gauge small{color:var(--muted)}.svg-icon{vertical-align:middle}.muted{color:var(--muted)}:root{color-scheme:light;--bg: #f0f4f9;--surface: #fff;--surface-alt: #f5f8fc;--surface-hover: #eaf1f8;--text: #18283e;--muted: #63758c;--primary: #087f5b;--primary-soft: #e2f5ed;--blue: #2778e7;--blue-soft: #e8f1ff;--purple: #7658ca;--purple-soft: #eee8ff;--success: #087f5b;--danger: #d53d58;--warning: #a86a0b;--border: #dce5ef;--shadow: 0 3px 16px #18283e05, 0 1px 2px #18283e03;--radius: 12px;--sidebar: #f8fbfe;--panel-gradient: linear-gradient(135deg, #fff, #f9fbfe);--code-bg: #eef3f8;--header-bg: #f8fbfeeb}:root[data-theme=dark]{color-scheme:dark;--bg: #0b1420;--surface: #14202e;--surface-alt: #192637;--surface-hover: #213247;--text: #edf3fa;--muted: #93a6bc;--primary: #42dca3;--primary-soft: #123c36;--blue: #66a5ff;--blue-soft: #193456;--purple: #b99bff;--purple-soft: #2c2852;--success: #42dca3;--danger: #ff7185;--warning: #f0ba58;--border: #2a394b;--shadow: 0 6px 24px #00000012, inset 0 1px #ffffff02;--sidebar: #0d1825;--panel-gradient: linear-gradient(125deg, #1a2636, #111f2b);--code-bg: #09131e;--header-bg: #0d1825eb}.panel{min-height:100vh;background:radial-gradient(ellipse at 70% 0%,#3378b508,transparent 55%),var(--bg)}.panel>.ant-layout{min-width:0}.ant-layout{background:transparent!important}.sidebar{position:sticky!important;top:0;height:100vh;border-right:1px solid var(--border);background:linear-gradient(165deg,var(--sidebar) 65%,var(--primary-soft))!important}.sidebar-brand{height:84px;display:flex;align-items:center;gap:10px;padding:0 22px;white-space:nowrap;font-size:18px;letter-spacing:-.5px}.sidebar-brand svg{width:34px;height:38px}.sidebar .ant-menu{background:transparent;border:0!important;padding:4px 14px}.sidebar .ant-menu-item{margin:4px 0 8px;height:44px;border-radius:8px;color:var(--muted);font-size:14px}.sidebar .ant-menu-item .ant-menu-title-content{margin-inline-start:13px}.sidebar .ant-menu-item-selected{background:var(--primary-soft)!important;color:var(--text)!important;box-shadow:inset 2px 0 var(--primary)}.sidebar .ant-menu-item:hover{background:var(--surface-hover)!important;color:var(--text)!important}.sidebar .ant-menu-item-selected svg{color:var(--primary)}.sidebar-bottom{position:absolute;bottom:18px;left:16px;right:16px}.sidebar-runtime{padding:16px 14px;border:1px solid var(--border);border-radius:10px;background:linear-gradient(140deg,var(--surface),transparent);font-size:11px}.sidebar-runtime p{font-size:12px;color:var(--text);margin:0 0 8px;font-weight:600}.sidebar-runtime-state{display:flex;align-items:center;gap:7px;color:var(--success);font-size:12px}.sidebar-runtime dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0 0}.sidebar-runtime dt{color:var(--muted)}.sidebar-runtime dd{margin:0;text-align:right}:root .sidebar-security{display:inline-flex;align-items:center;gap:5px;margin:14px 0 0}.sidebar-bottom>.ant-btn{float:right;margin-top:12px}.ant-layout-sider-collapsed .sidebar-brand{padding:0 19px}.ant-layout-sider-collapsed .ant-menu{padding:4px 10px}.ant-layout-sider-collapsed .ant-menu-item{padding:0 calc(50% - 10px)!important}.topbar{height:72px!important;line-height:normal!important;display:flex;align-items:center;gap:28px;padding:0 30px!important;border-bottom:1px solid var(--border);background:var(--header-bg)!important}.workspace-search{width:100%;max-width:500px;margin:0 auto}.workspace-search .ant-input-affix-wrapper{background:var(--surface-alt)!important;padding-inline:13px}.workspace-search .ant-input-prefix{color:var(--muted);margin-inline-end:10px}.topbar>.ant-space{flex-shrink:0}.topbar .ant-btn-text{background:transparent;border:0}.avatar{width:32px;height:32px;display:inline-grid;place-items:center;border-radius:50%;background:linear-gradient(150deg,var(--surface-hover),var(--border));color:var(--text);font-size:14px;font-weight:500;box-shadow:inset 0 1px #ffffff18}.user-menu{display:flex;align-items:center;gap:9px;height:40px}.username{font-size:13px}.notification-list{max-width:320px;font-size:13px}.notification-list p{padding:10px 0;border-bottom:1px solid var(--border)}.content{padding:26px 28px 30px;max-width:1800px;width:100%;margin:0 auto;flex:1}.page-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.page-header h1{font-size:27px;line-height:1.25;letter-spacing:-.7px;font-weight:650;margin:0 0 7px}.page-header p{font-size:12px;color:var(--muted);margin:0}.page-actions{flex-shrink:0}.section-card{margin-top:18px}.workbench-status{display:flex;align-items:center;gap:20px;padding:8px 28px;min-height:34px;font-size:11px;color:var(--muted)}.workbench-status>span{display:inline-flex;align-items:center;gap:7px;min-width:0}.status-origin{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-indicator{width:6px;height:6px;border-radius:50%;background:var(--success)}@media(max-height:700px){.sidebar-runtime dl{display:none}.sidebar-runtime{padding:12px}}@media(max-width:1000px){.content{padding:22px}.topbar{padding:0 22px!important;gap:16px}}@media(max-width:760px){.content{padding:20px 14px}.topbar{height:62px!important;padding:0 12px!important;gap:8px}.topbar>.ant-space{gap:2px!important}.topbar .username,.topbar .user-menu>span:last-child{display:none}.topbar .ant-btn{padding-inline:7px}.workspace-search{min-width:0}.workspace-search .ant-input-affix-wrapper{padding-inline:8px}.page-header{align-items:flex-start;flex-wrap:wrap;gap:14px}.page-header h1{font-size:24px}.page-actions{max-width:100%}.page-actions>.ant-space{flex-wrap:wrap}.workbench-status{padding:8px 14px;gap:12px}.workbench-status .status-origin,.workbench-status>span:last-child{display:none}}:root .ant-card{color:var(--text);background:var(--panel-gradient)!important;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}:root .ant-card-head{padding:0 20px;min-height:50px;border-bottom:0;color:var(--text);background:transparent;font-size:15px}:root .ant-card-head-title{font-weight:600}:root .ant-card-body{padding:18px 20px 20px}:root .ant-card-extra{color:var(--muted);font-size:11px}:root .ant-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:8px;border-color:var(--border);background:var(--surface-alt);color:var(--text);box-shadow:none;font-size:13px;font-weight:500}:root .ant-btn:not(:disabled):hover{color:var(--primary);border-color:var(--primary);background:var(--surface-hover)}:root .ant-btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}:root[data-theme=dark] .ant-btn-primary{color:#06291f;box-shadow:0 3px 12px #19c88b12,inset 0 1px #ffffff30}:root .ant-btn-primary:not(:disabled):hover{background:var(--primary);filter:brightness(1.1);color:#fff}:root[data-theme=dark] .ant-btn-primary:not(:disabled):hover{color:#06291f}:root .ant-btn-text,:root .ant-btn-link{background:transparent;border-color:transparent;box-shadow:none}:root .ant-btn-link{color:var(--blue);padding-inline:0;font-size:12px}:root .ant-btn-dangerous{color:var(--danger)}:root :is(.ant-input,.ant-input-affix-wrapper,.ant-input-number,.ant-select-selector,.ant-select-content,.ant-select){background-color:var(--surface-alt);color:var(--text);border-color:var(--border);border-radius:8px;font-size:13px}:root .ant-input-affix-wrapper .ant-input{border:0;background:transparent;border-radius:0}:root :is(.ant-input,.ant-input-affix-wrapper,.ant-input-number,.ant-select):hover{border-color:var(--blue)}:root .ant-input::placeholder,:root .ant-input-number-input::placeholder{color:var(--muted);opacity:.8}:root .ant-input-affix-wrapper-focused,:root .ant-select-focused{border-color:var(--blue);box-shadow:0 0 0 2px var(--blue-soft)}:root .ant-form-item{margin-bottom:20px}:root .ant-form-item-label>label{color:var(--text);font-size:13px;font-weight:500}:root .ant-form-item-extra{color:var(--muted);font-size:11px;padding-top:5px}:root .ant-switch{background:var(--border)}:root .ant-switch-checked{background:var(--blue)}:root .ant-checkbox-inner{background:var(--surface-alt);border-color:var(--border)}:root .ant-checkbox-checked .ant-checkbox-inner{background:var(--primary)}:root .ant-table{background:transparent;color:var(--text);font-size:13px}:root .ant-table-cell{border-color:var(--border);background:transparent}:root .ant-table-thead>tr>th{color:var(--muted);font-size:12px;font-weight:500;background:var(--surface-alt);border-bottom:1px solid var(--border)}:root .ant-table-thead>tr>th:before{display:none}:root .ant-table-tbody>tr>td{padding:14px 12px;border-bottom:1px solid var(--border);font-size:12px}:root .ant-table-tbody>tr:last-child>td{border-bottom:0}:root .ant-table-tbody>tr:hover>td{background:var(--surface-hover)}:root .ant-table-placeholder:hover>td{background:transparent}:root .ant-table-cell code{font-size:11px;color:var(--muted)}:root .ant-table-container{border:0!important}:root .ant-table-content{scrollbar-color:var(--border) transparent}:root .ant-pagination-item{background:var(--surface-alt);border-color:var(--border);border-radius:6px}:root .ant-pagination-item a{color:var(--muted)}:root .ant-pagination-item-active{border-color:var(--primary);background:var(--primary-soft)}:root .ant-pagination-item-active a{color:var(--primary)}:root .ant-tag{display:inline-flex;align-items:center;gap:5px;font-size:11px;line-height:21px;padding:0 7px;border:1px solid var(--border);border-radius:6px;background:var(--surface-alt);color:var(--muted)}:root .ant-tag .status-dot{width:6px;height:6px}:root .ant-tag.ant-tag-success{color:var(--success)!important;background:#26c28615!important;border-color:#26c28624!important}:root .ant-tag.ant-tag-warning{color:var(--warning)!important;background:#e9ac5115!important;border-color:#e9ac5128!important}:root .ant-tag.ant-tag-error{color:var(--danger)!important;background:#ee6c7a15!important;border-color:#ee6c7a28!important}:root .ant-tag.ant-tag-processing{color:var(--blue)!important;background:var(--blue-soft)!important;border-color:transparent!important}:root .ant-alert{margin-bottom:16px;border-radius:9px;border:1px solid var(--border);background:var(--blue-soft);color:var(--text);font-size:12px}:root .ant-alert-error{background:#ee6c7a12;border-color:#ee6c7a30}:root .ant-alert-warning{background:#e9ac5112;border-color:#e9ac5130}:root .ant-alert-success{background:#26c28612;border-color:#26c28630}:root .ant-alert-description{color:var(--muted)}:root .ant-tabs-tab{color:var(--muted);font-size:13px;padding:10px 0}:root .ant-tabs-nav:before{border-color:var(--border)}:root .ant-tabs-tab-active .ant-tabs-tab-btn{color:var(--primary)}:root .ant-tabs-ink-bar{background:var(--primary)}:root .ant-collapse{border-color:var(--border);background:transparent;border-radius:8px}:root .ant-collapse-header,:root .ant-collapse-content{color:var(--text);border-color:var(--border);background:transparent}:root :is(.ant-descriptions-item-label,.ant-typography-secondary,.ant-empty-description){color:var(--muted)}:root :is(.ant-typography,.ant-descriptions-item-content){color:var(--text)}:root .ant-typography code{word-break:break-all}:root :is(.ant-select-dropdown,.ant-dropdown-menu,.ant-popover-inner,.ant-message-notice-content,.ant-notification-notice,.ant-tooltip-inner){background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 40px #00000024}:root .ant-select-item-option,:root .ant-dropdown-menu-title-content{color:var(--text)}:root .ant-select-item-option-active,:root .ant-dropdown-menu-item:hover{background:var(--surface-hover)}:root .ant-select-item-option-selected{background:var(--primary-soft);color:var(--primary)}:root .ant-popover-arrow:before{background:var(--surface)}:root .ant-popover-title,:root .ant-popconfirm-message-title{color:var(--text)}:root .ant-modal-section,:root .ant-modal-container{padding:0!important;background:var(--surface)!important;color:var(--text);border:1px solid var(--border);border-radius:14px;overflow:hidden;box-shadow:0 20px 70px #00000040}:root .ant-modal-header{padding:18px 48px 18px 22px;background:transparent!important;border:0;border-bottom:1px solid var(--border);box-shadow:none;margin:0}:root .ant-modal-title{color:var(--text);font-weight:600}:root .ant-modal-body{padding:22px}:root .ant-modal-footer{margin:0;padding:14px 22px;background:var(--surface-alt);border-top:1px solid var(--border)}:root .ant-modal-close{top:14px;right:14px;color:var(--muted)}:root .ant-drawer-content,:root .ant-drawer-section{background:var(--surface)!important;color:var(--text);border-radius:0}:root .ant-drawer-header{padding:20px 24px;border-bottom:1px solid var(--border)}:root .ant-drawer-title{color:var(--text);font-size:16px}:root .ant-drawer-close{color:var(--muted)}:root .ant-drawer-body{padding:24px}:root .ant-drawer-footer{padding:16px 24px;border-top:1px solid var(--border);background:var(--surface)}.table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px;color:var(--muted);font-size:13px}.cert-filter-toolbar{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}.settings-block{padding:22px 0;border-bottom:1px solid var(--border)}.settings-block:first-child{padding-top:0}.settings-block:last-child{border:0}.settings-block p{color:var(--muted)}.config-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}.config-columns>section{min-width:0}.config-columns pre,.log-output{font-size:12px;background:var(--code-bg);padding:18px;border:1px solid var(--border);border-radius:8px;overflow:auto}.config-columns pre{height:480px}.log-output{max-height:650px;white-space:pre-wrap}@media(max-width:760px){.config-columns{grid-template-columns:1fr}:root .ant-card-head{padding-inline:16px}:root .ant-card-body{padding:16px}.table-toolbar>.ant-space{flex-wrap:wrap}}.overview-page .page-header{margin-bottom:16px}.overview-page .page-header p{display:none}.overview-page .page-header h1{margin:0}.overview-row>.ant-card>.ant-card-head{min-height:44px}.overview-row>.ant-card>.ant-card-body{padding-top:10px;padding-bottom:14px}.overview-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}:root .overview-stat .ant-card-body{display:flex;align-items:flex-start;gap:13px;padding:14px 16px;min-height:104px}.stat-icon{display:inline-grid;place-items:center;width:45px;height:45px;flex-shrink:0;border-radius:13px;color:var(--primary);background:var(--primary-soft);box-shadow:inset 0 1px #ffffff08}.stat-blue .stat-icon{color:var(--blue);background:var(--blue-soft)}.stat-red .stat-icon{color:var(--danger);background:#ee6c7a16}.stat-content{min-width:0;flex:1}.stat-title{display:block;color:var(--muted);font-size:12px;margin:0 0 3px}.stat-value{display:block;color:var(--text);font-size:26px;line-height:1.2;font-weight:650;font-variant-numeric:tabular-nums;letter-spacing:-.5px;white-space:nowrap}.stat-value.status-value{font-size:24px}.stat-value>small{font-size:17px;margin-left:2px}.stat-note{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:10px;margin-top:7px;white-space:nowrap}.overview-row{display:grid;gap:16px;margin-bottom:16px}.overview-row>.ant-card{min-width:0}.traffic-row{grid-template-columns:minmax(0,2.2fr) minmax(275px,1fr)}.topology-row{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr)}.records-row{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);margin-bottom:0}.chart-range{font-size:11px}.traffic-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:6px}.chart-legend{display:flex;gap:15px;font-size:11px;color:var(--muted);flex-shrink:0}.chart-legend>span{display:inline-flex;align-items:center;gap:7px}.chart-legend i{width:12px;height:5px;border-radius:3px;background:#408cff}.chart-legend>span:last-child i{background:#ff637a}.traffic-totals{display:flex;gap:22px}.traffic-totals>div{display:flex;flex-direction:column;gap:3px}.traffic-totals small{font-size:10px;color:var(--muted)}.traffic-totals strong{font-size:18px;line-height:1.3;font-variant-numeric:tabular-nums;font-weight:600}.traffic-chart,.chart-loading{height:170px;width:100%}.chart-loading{display:grid;place-items:center}.resource-pair{display:flex;justify-content:space-evenly;align-items:center;gap:12px;margin:0 0 12px}.resource-live{display:inline-block;max-width:160px;color:var(--muted);font-size:11px;line-height:1.4;text-align:right;white-space:normal}.resource-ring{text-align:center;min-width:0}.resource-ring svg{width:98px;max-width:100%;display:block;margin:0 auto 9px}.resource-ring circle{fill:none;stroke-width:9}.ring-track{stroke:var(--border)}.ring-progress{stroke:var(--success);stroke-linecap:round}.resource-ring.blue .ring-progress{stroke:var(--blue)}.ring-value{fill:var(--text);font-size:22px;font-weight:600}.ring-bytes{font-size:16px}.ring-label{fill:var(--muted);font-size:12px}.resource-ring small{font-size:11px;color:var(--text)}.resource-meta{display:flex;justify-content:space-between;gap:12px;font-size:11px;color:var(--muted);border-top:1px solid var(--border);padding-top:10px}.resource-meta strong{font-weight:500;color:var(--text);margin-left:4px}.resource-uptime{display:flex;justify-content:center;align-items:center;gap:7px;margin-top:10px;font-size:11px;color:var(--muted)}.topology{display:flex;align-items:center;gap:18px;min-height:100px}.topology-node{display:flex;align-items:center;flex-direction:column;gap:6px;text-align:center;min-width:110px;flex:1}.topology-symbol{display:grid;place-items:center;width:62px;height:62px;border-radius:15px;background:var(--primary-soft);color:var(--primary)}.topology-node.gateway .topology-symbol{border:1px solid var(--primary);background:linear-gradient(140deg,var(--primary-soft),var(--surface));border-radius:11px;box-shadow:0 4px 22px #18c8870b}.topology-symbol.internet{width:54px;height:54px;border-radius:50%}.topology-symbol.upstream{background:var(--blue-soft);color:var(--blue)}.topology-node strong{font-size:13px;font-weight:600}.topology-node small{color:var(--muted);font-size:10px;white-space:nowrap}.topology-link{flex:1;height:1px;background:var(--primary);min-width:20px;position:relative;margin-top:-32px}.topology-link:before{content:"";position:absolute;inset:-13px 0 auto;height:1px;background:var(--border)}.topology-link:after{content:"";position:absolute;right:0;top:-3px;width:6px;height:6px;border-top:1px solid var(--primary);border-right:1px solid var(--primary);transform:rotate(45deg)}.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:3px 0}:root .quick-actions .ant-btn{height:43px;font-size:13px;padding-inline:10px}:root .quick-actions .action-certificate{color:var(--purple);background:var(--purple-soft);border-color:#a380f52a}:root .proxy-overview .ant-card-body{padding:0 16px 14px}:root .proxy-overview .ant-table-tbody>tr>td{padding:9px 8px;font-size:11px}:root .proxy-overview .ant-table-thead>tr>th{padding:9px 8px;font-size:11px}:root .proxy-overview .ant-tag{font-size:10px;padding-inline:5px;margin:0;white-space:nowrap}.overview-domain{display:block;max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:500}:root .recent-deployments .ant-card-body{padding:0 18px 14px}.deployment-list{list-style:none;margin:0;padding:0}.deployment-list li{display:flex;align-items:flex-start;gap:10px;padding:9px 0}.deployment-list li+li{border-top:1px solid var(--border)}.deployment-mark{display:inline-grid;place-items:center;width:22px;height:22px;flex-shrink:0;background:var(--primary-soft);color:var(--success);border-radius:50%}.deployment-mark.failed{background:#ee6c7a20;color:var(--danger)}.deployment-mark.pending{background:#e9ac5120;color:var(--warning)}.deployment-detail{flex:1;min-width:0}.deployment-detail>div{display:flex;align-items:baseline;gap:9px;font-size:11px}.deployment-detail strong{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.deployment-detail span{flex-shrink:0;font-size:10px}.deployment-detail p{margin:3px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:10px}.deployment-list time{color:var(--muted);font-size:10px;white-space:nowrap;padding-top:2px}@media(max-width:1300px){.stat-icon{width:37px;height:39px;border-radius:10px}:root .overview-stat .ant-card-body{padding:18px 13px;gap:10px}.stat-note{font-size:9px}.stat-value{font-size:25px}.traffic-totals{gap:15px}.traffic-totals>div:last-child{display:none}.topology{gap:9px}.topology-node{min-width:90px}}@media(max-width:1100px){.overview-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.traffic-row{grid-template-columns:minmax(0,1.8fr) minmax(250px,1fr)}.topology-row,.records-row{grid-template-columns:minmax(0,1fr)}.stat-note{font-size:11px}.stat-icon{width:43px;height:43px}.deployment-detail>div{justify-content:space-between}}@media(max-width:760px){.overview-stats{gap:10px}.stat-icon{display:none}.stat-value,.stat-value.status-value{font-size:24px}.stat-note{font-size:9px;white-space:normal}.traffic-row{grid-template-columns:minmax(0,1fr)}.traffic-heading{align-items:flex-start;flex-direction:column-reverse;gap:12px}.traffic-totals{width:100%;justify-content:space-between}.traffic-totals>div:last-child{display:flex}.traffic-totals strong{font-size:17px}.chart-range{display:none}.resource-pair{justify-content:space-evenly}.topology{gap:5px}.topology-node{min-width:0}.topology-node small{font-size:9px;white-space:normal}.topology-link{min-width:10px}.topology-symbol{width:48px;height:48px}.topology-symbol.internet{width:44px;height:44px}.quick-actions .ant-btn,.deployment-list{min-width:0}.deployment-detail>div{gap:5px}}.field-heading{display:block;font-size:13px;font-weight:500;margin-bottom:10px}.upstream-fields{display:grid;grid-template-columns:98px minmax(0,1fr) 90px;gap:8px}.upstream-fields .ant-input-number{width:100%}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}:root .proxy-editor .ant-drawer-body{background:var(--bg);padding:20px}.editor-breadcrumb{display:inline-flex;align-items:center;gap:9px;font-size:14px;font-weight:400;color:var(--muted)}.editor-breadcrumb strong{font-weight:600;color:var(--text)}.editor-breadcrumb>span{color:var(--border)}.proxy-editor-columns{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(290px,1fr);gap:18px}.proxy-editor-form{min-width:0}.editor-section{padding:20px;border:1px solid var(--border);border-radius:11px;background:var(--panel-gradient);margin-bottom:16px}.editor-section h3{font-size:15px;font-weight:600;margin-bottom:24px}:root .editor-switches .ant-form-item{display:grid;grid-template-columns:1fr auto;align-items:start;position:relative;margin:0;padding:12px 0;border-bottom:1px solid var(--border)}:root .editor-switches .ant-form-item-row{display:contents}:root .editor-switches .ant-form-item-label{padding:0;text-align:left}:root .editor-switches .ant-form-item-label label{height:auto}:root .editor-switches .ant-form-item-control{position:static;flex:none;min-height:39px}:root .editor-switches .ant-form-item-extra{position:absolute;left:0;top:34px;padding:0;font-size:10px}:root .editor-switches .ant-form-item:last-child{border:0}:root .inline-certificate-action{width:100%;justify-content:space-between;color:var(--blue);background:var(--blue-soft);border-color:#408cff25;margin:-2px 0 10px;font-size:12px}:root .inline-certificate-action:disabled{color:var(--muted);background:var(--surface-alt)}.proxy-acme-panel{border:1px solid var(--border);border-radius:9px;padding:16px;margin:8px 0 16px;background:var(--surface-alt)}:root .editor-advanced{margin-top:16px;background:var(--surface-alt)}.editor-advanced .advanced-label{display:grid;gap:3px}.editor-advanced .advanced-label strong{display:block;font-size:13px;font-weight:500}.editor-advanced .advanced-label small{color:var(--muted);font-size:10px}:root .editor-advanced .ant-collapse-content{background:var(--surface)}.editor-footer{display:flex;justify-content:flex-end;align-items:center;gap:10px}.editor-footer>span{flex:1;font-size:11px;color:var(--muted);min-width:0}.preflight-panel{position:sticky;top:0;align-self:start;min-width:0}.preflight-checklist,.preflight-preview{border:1px solid var(--border);border-radius:11px;background:var(--panel-gradient);padding:18px}.preflight-preview{margin-top:16px}.preflight-panel h3{font-size:14px;font-weight:600;margin:0}.preflight-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.preflight-heading>span{font-size:10px}.preflight-checks{margin:10px 0 16px}.preflight-check{display:grid;grid-template-columns:21px minmax(0,1fr) auto;gap:9px;padding:11px 0;font-size:12px}.preflight-check strong{font-weight:500;font-size:11px}.preflight-check p{font-size:10px;color:var(--muted);margin:4px 0 0;overflow-wrap:anywhere}.preflight-check>small{font-size:10px;padding-top:1px}.check-icon{display:inline-grid;place-items:center;width:19px;height:19px;border-radius:50%;background:var(--primary-soft)}.check-pass{color:var(--success)}.check-warn{color:var(--warning)}.check-fail{color:var(--danger)}.check-icon.check-fail{background:#ee6c7a20}.check-icon.check-warn{background:#e9ac5120}.preflight-check.pending{color:var(--muted)}.preflight-check.pending .check-icon{background:transparent;border:1px solid var(--border)}.preflight-config{border:1px solid var(--border);border-radius:7px;background:var(--code-bg);padding:14px;margin:14px 0 0;max-height:340px;overflow:auto;font-size:10px;line-height:1.7;color:var(--muted)}.preflight-preview .secondary-text{font-size:10px;margin-top:6px}.acme-domain-summary{border:1px solid var(--border);border-radius:8px;background:var(--surface-alt);padding:13px;margin-bottom:18px;overflow-wrap:anywhere}.acme-domain-summary span{display:block;color:var(--muted);font-size:11px;margin-bottom:4px}.acme-domain-summary strong{font-size:13px;font-weight:500}.acme-dns-panel{border-left:2px solid var(--blue);padding:4px 0 0 14px;margin:16px 0}.acme-fields .ant-alert{margin-bottom:18px}@media(max-width:760px){.proxy-editor-columns{grid-template-columns:minmax(0,1fr)}.preflight-panel{position:static}:root .proxy-editor .ant-drawer-body{padding:14px}.editor-section{padding:16px}.editor-footer{gap:7px}.editor-footer>span{display:none}:root .ant-drawer-footer{padding:12px 14px}.form-pair{grid-template-columns:1fr}}.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:90px;padding:48px 24px;background:radial-gradient(ellipse at 15% 20%,var(--primary-soft),transparent 50%),radial-gradient(ellipse at 95% 90%,var(--blue-soft),transparent 50%),var(--bg)}.auth-intro{max-width:380px}.auth-intro h1{font-size:39px;line-height:1.3;letter-spacing:-1px;margin:24px 0 14px;font-weight:650}.auth-intro>p{font-size:15px;color:var(--muted)}.auth-points{margin-top:40px;color:var(--muted);font-size:14px}.auth-points p{margin-bottom:22px}:root .auth-card{width:460px;max-width:100%;border-radius:18px;box-shadow:0 22px 70px #00000012}:root .auth-card .ant-card-body{padding:32px}.divider-label{margin:22px 0;text-align:center;color:var(--muted);font-size:12px}.auth-footer{border-top:1px solid var(--border);margin-top:26px;padding-top:18px;font-size:11px;color:var(--muted);overflow-wrap:anywhere}.bootstrap-command{margin:10px 0!important;font-size:12px;overflow-wrap:anywhere}.bootstrap-command code{display:inline-block;white-space:normal}.qr-box{background:#fff;display:flex;justify-content:center;padding:16px;width:max-content;max-width:100%;margin:auto;border-radius:12px}.recovery-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.recovery-grid code{padding:8px;border-radius:5px;background:var(--surface-alt);font-size:11px;word-break:break-all}.server-address-intro{color:var(--muted);font-size:14px;line-height:1.65;margin-bottom:20px}.server-address-code{display:flex;justify-content:center;align-items:center;width:fit-content;max-width:100%;background:#fff;padding:16px;margin:0 auto 22px;border-radius:12px}.server-address-code svg{display:block;max-width:100%;height:auto}.server-address-details{padding:13px 15px;background:var(--surface-alt);border:1px solid var(--border);border-radius:9px;margin-bottom:16px}.server-address-details>span{display:block;color:var(--muted);font-size:12px;margin-bottom:5px}.server-address-details .ant-typography{margin:0;font-family:SFMono-Regular,Consolas,monospace;font-size:13px;overflow-wrap:anywhere;white-space:normal}.server-address-hint{color:var(--muted);font-size:12px;margin:16px 0 0}.server-address-modal .ant-alert{margin-top:14px}@media(max-width:1100px){.auth-screen{gap:40px}.auth-intro{max-width:290px}}@media(max-width:760px){.auth-screen{padding:24px 16px}.auth-intro{display:none}:root .auth-card .ant-card-body{padding:24px}.recovery-grid{grid-template-columns:1fr}:root .server-address-modal .ant-modal-body{padding:18px}}.mobile-login-page{min-height:100dvh;padding:max(28px,env(safe-area-inset-top)) 18px max(24px,env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;gap:22px;background:radial-gradient(ellipse at top,var(--primary-soft),transparent 65%),var(--bg)}.mobile-login-brand{display:flex;align-items:center;gap:12px;font-size:22px}.mobile-login-card{width:100%;max-width:440px;border-radius:22px}.mobile-login-card .ant-card-body{padding:28px 24px}.mobile-login-card h1{font-size:25px;margin-bottom:8px}.mobile-login-eyebrow{color:var(--primary);font-size:12px;margin-bottom:8px}.mobile-login-server{display:flex;flex-direction:column;gap:5px;padding:14px 0;overflow-wrap:anywhere}.mobile-login-server span{color:var(--muted);font-size:12px}.mobile-login-card .ant-alert{margin:14px 0}.mobile-login-card .ant-input,.mobile-login-card .ant-input-affix-wrapper input{font-size:16px}.mobile-login-card .ant-btn-lg{min-height:48px}.mobile-login-help{max-width:430px;color:var(--muted);text-align:center;font-size:12px;margin:14px 0 0}.mobile-login-loading{padding:30px 0;text-align:center}.mobile-login-success{color:var(--success);font-size:54px;text-align:center;padding:12px}@media(max-width:380px){.mobile-login-page{padding-inline:12px}.mobile-login-card .ant-card-body{padding:22px 16px}}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0;background:var(--bg)}body{color:var(--text);font:14px/1.55 Segoe UI,Noto Sans CJK SC,PingFang SC,Microsoft YaHei,sans-serif}h1,h2,h3,p{margin-top:0}button,a,input,select{touch-action:manipulation}a{color:var(--blue)}code,pre{font-family:SFMono-Regular,Consolas,monospace}pre{overflow-wrap:anywhere}.secondary-text,.muted{color:var(--muted)}.secondary-text{font-size:12px;margin:5px 0 0}.error-text,.danger-text{color:var(--danger)!important}.success-text{color:var(--success)!important}.warning-text{color:var(--warning)!important}.wrap{overflow-wrap:anywhere}.screen-center{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px}.status-dot{display:inline-block;width:7px;height:7px;flex-shrink:0;border-radius:50%;background:var(--success)}.status-dot.offline{background:var(--muted)}.hex-brand{color:#13c58a}.panel-brand{flex-shrink:0}.empty-state{text-align:center;padding:38px 16px}.empty-state>.anticon{font-size:32px;color:var(--primary);margin-bottom:16px}.empty-state p{color:var(--muted)}.enrollment-approval{margin-bottom:20px}.enrollment-approval code{word-break:break-all}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
