:root{color:#c9d1d9;background:#0d1117;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.45;color-scheme:dark}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:#0d1117}a{color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;color:#f0f6fc;font-size:1.72rem;font-weight:700}h2{margin-bottom:16px;color:#f0f6fc;font-size:1rem}h3{display:flex;align-items:center;gap:8px;margin-bottom:8px;color:#f0f6fc;font-size:.92rem}.app-frame{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh;background:radial-gradient(circle at top right,rgba(56,139,253,.08),transparent 28rem),#0d1117}.sidebar{position:sticky;top:0;display:flex;flex-direction:column;height:100vh;min-height:100vh;border-right:1px solid #30363d;background:#010409;padding:16px;overflow:hidden;z-index:30}.sidebar-brand{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:4px 4px 18px;border-bottom:1px solid #21262d}.sidebar-brand strong{display:block;color:#f0f6fc;overflow:hidden;font-size:.86rem;text-overflow:ellipsis;white-space:nowrap}.sidebar-close{display:none;width:34px;height:34px;border:1px solid #30363d;border-radius:7px;background:#0d1117;color:#c9d1d9}.sidebar-nav{display:grid;gap:6px;padding-top:18px}.sidebar-footer{margin-top:auto;padding-top:16px;border-top:1px solid #21262d}.nav-item{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;width:100%;min-height:48px;gap:10px;border:1px solid transparent;border-radius:8px;background:transparent;padding:8px 10px;color:#8b949e;text-align:left;text-decoration:none}.nav-item:hover{border-color:#30363d;background:#161b22;color:#f0f6fc}.nav-item.active{border-color:#1f6feb;background:#1f6feb29;color:#f0f6fc}.nav-item.logout{color:#f85149}.nav-item strong{color:inherit;font-size:.91rem}.workspace{min-width:0;height:100vh;overflow-y:auto;padding:24px}.mobile-bar{display:none}.content-header,.panel-head,.button-row,.header-actions{display:flex;align-items:center;gap:14px}.content-header,.panel-head{justify-content:space-between}.content-header{margin-bottom:18px}.button-row{justify-content:flex-end;flex-wrap:wrap}.button-row.left{justify-content:flex-start}.header-actions{justify-content:flex-end;gap:8px}.server-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.eyebrow{margin:0 0 3px;color:#7d8590;font-size:.74rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.notice{margin-bottom:18px;border:1px solid rgba(63,185,80,.38);border-radius:8px;background:#2ea0431f;padding:12px 14px;color:#aff5b4}.portal-shell{min-height:100vh;background:radial-gradient(circle at top right,rgba(63,185,80,.08),transparent 26rem),#0d1117;padding:24px}.portal-page{display:grid;width:min(1180px,100%);margin:0 auto;gap:16px}.portal-header{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #30363d;border-radius:8px;background:#161b22;padding:18px;box-shadow:0 12px 24px #0104092e}.section-stack{display:grid;gap:16px}.section-grid{display:grid;grid-template-columns:minmax(320px,.68fr) minmax(0,1fr);gap:16px;align-items:start}.portal-grid{grid-template-columns:minmax(360px,.8fr) minmax(0,1fr)}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.metrics div,.panel{border:1px solid #30363d;border-radius:8px;background:#161b22;box-shadow:0 12px 24px #0104092e}.metrics div{padding:16px}.metrics span{display:block;color:#7d8590;font-size:.82rem}.metrics strong{display:block;margin-top:6px;color:#f0f6fc;font-size:1.65rem}.dashboard-metrics strong{font-size:1.32rem}.panel-head:has(.dashboard-filters){align-items:stretch;flex-direction:column}.dashboard-filters{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:8px;width:100%;max-width:760px}.server-health-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.server-health-card{display:grid;gap:12px;border:1px solid #30363d;border-radius:8px;background:#0d1117;padding:12px;color:inherit;text-decoration:none}.server-health-card:hover{border-color:#58a6ff;background:#121820}.server-health-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.server-health-card-head>div{min-width:0}.server-health-card-head strong,.server-health-card-head span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.server-health-card-head strong{color:#f0f6fc}.server-health-card-head span,.server-health-stats,.customer-traffic-meta span,.customer-traffic-bars span,.customer-traffic-tail{color:#7d8590}.server-health-stats{display:flex;flex-wrap:wrap;gap:12px;font-size:.84rem}.server-health-stats span,.dashboard-legend span{display:inline-flex;align-items:center;gap:6px}.bar-track{position:relative;height:8px;overflow:hidden;border-radius:999px;background:#21262d}.bar-track.stacked{height:10px}.bar-fill{position:absolute;top:0;bottom:0;left:0;border-radius:999px}.bar-fill.server{background:#58a6ff}.bar-fill.download{background:#3fb950}.bar-fill.upload{background:#d29922}.customer-traffic-chart{display:grid;gap:8px}.customer-traffic-row{display:grid;grid-template-columns:36px minmax(180px,1fr) minmax(240px,1.3fr) auto;align-items:center;gap:12px;border:1px solid #30363d;border-radius:8px;background:#0d1117;padding:10px;color:inherit;text-decoration:none}.customer-traffic-row:hover{border-color:#58a6ff;background:#121820}.customer-rank{display:grid;place-items:center;width:28px;height:28px;border:1px solid #30363d;border-radius:50%;color:#8b949e;font-size:.78rem;font-weight:700}.customer-traffic-meta,.customer-traffic-bars,.customer-traffic-tail{display:grid;min-width:0;gap:5px}.customer-traffic-meta strong{overflow:hidden;color:#f0f6fc;text-overflow:ellipsis;white-space:nowrap}.customer-traffic-meta span,.customer-traffic-bars span,.customer-traffic-tail span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-legend{display:flex;flex-wrap:wrap;gap:14px;color:#7d8590;font-size:.82rem}.customer-traffic-analytics{display:grid;gap:14px;margin-top:6px;border-top:1px solid #30363d;padding-top:16px}.traffic-analytics-head{align-items:flex-start}.traffic-date-form{display:grid;grid-template-columns:repeat(2,minmax(132px,1fr)) auto;align-items:end;gap:8px;width:min(100%,520px)}.traffic-date-form label{display:grid;gap:4px}.traffic-date-form span{color:#7d8590;font-size:.76rem;font-weight:700}.traffic-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.traffic-series-controls{display:flex;flex-wrap:wrap;gap:8px}.traffic-series-toggle{display:inline-flex;align-items:center;max-width:220px;min-height:34px;gap:8px;border:1px solid #30363d;border-radius:7px;background:#0d1117;padding:7px 10px;color:#c9d1d9;font-size:.82rem;font-weight:700}.traffic-series-toggle input{width:auto}.traffic-series-toggle span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.series-swatch{width:10px;height:10px;flex:0 0 auto;border-radius:50%}.traffic-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.traffic-chart-panel{min-width:0;border:1px solid #30363d;border-radius:8px;background:#0d1117;padding:12px}.traffic-chart-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}.traffic-chart-head h3{margin-bottom:0}.traffic-chart-head span{color:#7d8590;font-size:.78rem;white-space:nowrap}.traffic-line-chart{display:block;width:100%;min-height:210px}.traffic-grid-line{stroke:#30363d;stroke-width:1}.traffic-axis-label{fill:#7d8590;font-size:12px}.traffic-line{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:3}.traffic-server-table td,.traffic-server-table th{white-space:nowrap}.top-domains-panel{display:grid;gap:10px;border:1px solid #30363d;border-radius:8px;background:#0d1117;padding:12px}.top-domain-list{display:grid;gap:8px}.top-domain-row{display:grid;grid-template-columns:42px minmax(180px,1fr) minmax(160px,.7fr) auto;align-items:center;gap:12px;border:1px solid #21262d;border-radius:8px;padding:9px 10px}.top-domain-main{display:grid;min-width:0;gap:3px}.top-domain-main strong,.top-domain-main span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-domain-main strong{color:#f0f6fc}.top-domain-main span{color:#7d8590;font-size:.78rem}.top-domain-meter{height:8px;overflow:hidden;border-radius:999px;background:#21262d}.top-domain-meter span{display:block;height:100%;border-radius:inherit;background:#58a6ff}.legend-dot{width:9px;height:9px;border-radius:50%}.legend-dot.download{background:#3fb950}.legend-dot.upload{background:#d29922}.panel{min-width:0;padding:18px}.wide-panel{grid-column:1 / -1}.inline-form,.stack-form,.profile-form{display:grid;gap:10px;margin-bottom:16px}.inline-form{grid-template-columns:repeat(3,minmax(0,1fr)) auto}.stack-form{grid-template-columns:1fr}.form-grid.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.profile-form{margin-bottom:0}.field-label{color:#7d8590;font-size:.78rem;font-weight:800;text-transform:uppercase}.profile-editor{min-height:360px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.78rem;line-height:1.45}input,select,textarea{width:100%;min-width:0;border:1px solid #30363d;border-radius:7px;background:#0d1117;padding:9px 10px;color:#f0f6fc}input::placeholder,textarea::placeholder{color:#6e7681}textarea{resize:vertical}.checkbox-row{display:flex;align-items:center;min-height:38px;gap:8px;border:1px solid #30363d;border-radius:7px;background:#0d1117;padding:9px 10px;color:#c9d1d9;font-weight:700}.checkbox-row input{width:auto}.icon-button,.actions button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;border:1px solid #30363d;border-radius:7px;background:#21262d;color:#c9d1d9;font-weight:700;text-decoration:none}.icon-button{padding:8px 12px}.square-button{width:38px;padding:8px}.icon-button:hover,.actions button:hover{border-color:#8b949e;background:#30363d}.icon-button.primary{border-color:#2ea043b3;background:#238636;color:#fff}.action-menu{position:relative}.action-menu-popover{position:absolute;top:calc(100% + 8px);right:0;z-index:40;display:grid;width:220px;border:1px solid #30363d;border-radius:8px;background:#161b22;padding:6px;box-shadow:0 18px 40px #0104096b}.action-menu-popover button{display:flex;align-items:center;gap:9px;width:100%;min-height:38px;border:0;border-radius:7px;background:transparent;padding:8px 10px;color:#c9d1d9;text-align:left}.action-menu-popover button:hover{background:#21262d;color:#f0f6fc}.table-toolbar{display:grid;grid-template-columns:auto minmax(220px,320px) auto;gap:8px;align-items:center}.table-wrap{overflow-x:auto;border:1px solid #30363d;border-radius:8px}table{width:100%;border-collapse:collapse}th,td{border-bottom:1px solid #30363d;padding:10px 12px;text-align:left;vertical-align:top}tr:last-child td{border-bottom:0}.clickable-row{cursor:pointer}.clickable-row:hover td{background:#1c2128}.row-toggle-cell{width:44px}.row-toggle{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;min-height:32px;border:0;border-radius:6px;background:transparent;color:#7d8590;padding:0}.row-toggle:hover{background:#21262d;color:#c9d1d9}.expanded-row td{background:#0d1117;padding:14px}th{background:#0d1117;color:#7d8590;font-size:.74rem;text-transform:uppercase}.table-link{color:#58a6ff;font-weight:700;text-decoration:none}.table-link:hover{text-decoration:underline}.pagination-row{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding-top:14px;color:#7d8590}.compact-row{margin-top:10px}.mono{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.82rem}.actions{display:flex;gap:8px}.action-error{margin:6px 0 0;color:#ffdcd7;font-size:.78rem}.success-message{margin:6px 0 0;color:#aff5b4;font-size:.78rem}.settings-form{max-width:560px}.actions button{width:34px;height:34px;min-height:34px}.status{display:inline-block;border:1px solid #30363d;border-radius:999px;padding:3px 9px;background:#21262d;color:#c9d1d9;font-size:.78rem;font-weight:800}.status.active,.status.success,.status.external,.status.done{border-color:#2ea04380;background:#2ea04329;color:#aff5b4}.status.disabled,.status.failed,.status.error,.status.internal{border-color:#f8514980;background:#f8514924;color:#ffdcd7}.status.running,.status.degraded,.status.stale,.status.unavailable,.status.warning,.status.unknown{border-color:#d299228c;background:#bb800924;color:#f2cc60}.status.inactive{border-color:#8b949e80;background:#6e768124;color:#c9d1d9}.status.registered,.status.queued,.status.pending{border-color:#388bfd8c;background:#388bfd24;color:#a5d6ff}.list,.server-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.list li,.server-item{display:grid;gap:4px;border:1px solid #30363d;border-radius:8px;background:#0d1117;padding:12px}.server-item{gap:12px}.server-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.list strong,.server-item strong{color:#f0f6fc}.list span,.server-item span,.muted,.empty{color:#7d8590}.small-line{display:block;margin-top:4px;font-size:.78rem}.inline-metric{display:inline-flex;align-items:center;gap:6px}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.summary-grid.compact{grid-template-columns:1fr}.material-tabs{display:flex;gap:28px;overflow-x:auto;border-bottom:1px solid #30363d}.material-tab{position:relative;min-height:44px;border:0;border-radius:0;background:transparent;padding:0 0 11px;color:#7d8590;font:inherit;font-weight:700;white-space:nowrap}.material-tab:hover{color:#c9d1d9}.material-tab.active{color:#f0f6fc}.material-tab.active:after{position:absolute;right:0;bottom:-1px;left:0;height:3px;border-radius:3px 3px 0 0;background:#58a6ff;content:""}.tab-panel{display:grid;gap:14px;margin-top:16px}.empty-state{display:grid;justify-items:start;gap:10px}.diagnostics-stack{display:grid;gap:10px}.runtime-checks,.client-status-list{display:grid;gap:8px}.runtime-checks.compact-list{margin-top:10px}.endpoint-result{display:flex;align-items:flex-start;gap:10px;border:1px solid #30363d;border-radius:8px;padding:10px}.endpoint-result.ok{border-color:#3fb95080;background:#3fb9501f}.endpoint-result.warn{border-color:#d299228c;background:#d299221f}.endpoint-result strong,.endpoint-result span{display:block}.runtime-check-row,.client-status-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;border:1px solid #30363d;border-radius:8px;background:#0d1117;padding:10px}.runtime-check-row span,.client-status-row span{min-width:0}.runtime-check-row strong,.client-status-row strong,.runtime-check-row span:first-of-type,.client-status-row span:first-of-type{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.info-row{min-width:0;border:1px solid #30363d;border-radius:8px;background:#0d1117;padding:10px}.info-row span{display:block;margin-bottom:4px;color:#7d8590;font-size:.76rem}.info-row strong{display:block;overflow:hidden;color:#f0f6fc;font-size:.88rem;text-overflow:ellipsis;white-space:nowrap}.notes-block{margin:14px 0 0;border:1px solid #30363d;border-radius:8px;background:#0d1117;padding:12px;color:#c9d1d9;white-space:pre-wrap}.back-link{display:inline-flex;align-items:center;gap:6px;margin-bottom:12px;color:#58a6ff;font-size:.86rem;font-weight:700;text-decoration:none}.back-link:hover{text-decoration:underline}.preview-grid{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:16px}.inline-config-preview{margin-top:16px;border-top:1px solid #30363d;padding-top:16px}.json-preview{grid-column:span 2}pre{overflow:auto;max-width:100%;border:1px solid #30363d;border-radius:8px;background:#0d1117;padding:12px;color:#c9d1d9;white-space:pre-wrap;word-break:break-word}.command-preview{margin-bottom:0}.bootstrap-progress{display:grid;gap:10px;border-top:1px solid #30363d;padding-top:14px}.step-list{display:grid;gap:8px}.step-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;border:1px solid #30363d;border-radius:8px;background:#0d1117;padding:10px}.step-row strong,.step-row span{display:block}.step-row div span{margin-top:2px;color:#7d8590;font-size:.78rem}.log-tail{max-height:220px;margin:0;font-size:.76rem}.qr{width:200px;height:200px;border:1px solid #30363d;border-radius:8px;background:#fff}.login-shell{display:grid;min-height:100vh;place-items:center;padding:20px;background:radial-gradient(circle at top,rgba(31,111,235,.16),transparent 30rem),#0d1117}.login-panel{width:min(420px,100%);border:1px solid #30363d;border-radius:8px;background:#161b22;padding:24px;box-shadow:0 12px 34px #01040959}.sidebar-backdrop{display:none}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:grid;place-items:center;background:#010409c7;padding:18px}.modal-panel{display:grid;gap:14px;width:min(620px,100%);max-height:min(86vh,760px);overflow-y:auto;border:1px solid #30363d;border-radius:8px;background:#161b22;padding:18px;box-shadow:0 24px 70px #01040994}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.modal-head h2{margin-bottom:0}.sidebar-close.visible{display:grid;place-items:center}@media(max-width:980px){.portal-shell{padding:14px}.app-frame{display:block}.sidebar{position:fixed;left:0;transform:translate(-100%);width:min(84vw,300px);transition:transform .16s ease}.sidebar.open{transform:translate(0)}.sidebar-close{display:grid;place-items:center}.sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:block;border:0;background:#010409b8;z-index:20}.workspace{height:auto;min-height:100vh;padding:14px;overflow:visible}.mobile-bar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;margin:-14px -14px 18px;border-bottom:1px solid #30363d;background:#0d1117f0;padding:10px 14px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.mobile-bar span{color:#f0f6fc;font-weight:800}.content-header,.panel-head,.portal-header{align-items:flex-start;flex-direction:column}.content-header{gap:12px}.header-actions{width:100%;justify-content:flex-start}.table-toolbar{width:100%;grid-template-columns:1fr;align-items:stretch}.pagination-row{width:100%;justify-content:flex-start}.action-menu-popover{right:auto;left:0}.metrics,.section-grid,.inline-form,.form-grid.two,.preview-grid,.summary-grid,.traffic-chart-grid,.traffic-date-form{grid-template-columns:1fr}.runtime-check-row,.client-status-row,.customer-traffic-row,.top-domain-row{grid-template-columns:1fr;align-items:flex-start}.dashboard-filters{width:100%;grid-template-columns:1fr}.json-preview{grid-column:auto}}
