@font-face{font-family:Be Vietnam Pro;src:url(/fonts/BeVietnamPro-Regular.ttf) format("truetype");font-weight:400}@font-face{font-family:Be Vietnam Pro;src:url(/fonts/BeVietnamPro-SemiBold.ttf) format("truetype");font-weight:700}@font-face{font-family:Be Vietnam Pro;src:url(/fonts/BeVietnamPro-Bold.ttf) format("truetype");font-weight:900}:root{font-family:Be Vietnam Pro,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#162317;background:#ede8dc;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:1040px;min-height:100vh;background:#ede8dc}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:progress;opacity:.7}.server-shell{min-height:100vh;display:grid;grid-template-columns:214px minmax(0,1fr);background:radial-gradient(circle at top left,rgba(176,201,148,.22),transparent 31rem),#ede8dc}.sidebar{display:flex;flex-direction:column;gap:24px;padding:18px 12px;color:#f4f1eb;background:#234225;border-right:1px solid rgba(22,35,23,.28)}.server-brand{display:flex;align-items:center;gap:10px;min-height:50px;padding:0 8px}.server-logo{width:96px;height:36px;object-fit:contain;object-position:left center}.server-brand div{display:grid;gap:1px;min-width:0}.server-brand strong{font-size:15px;line-height:1.05}.server-brand span:last-child{color:#f4f1eb9e;font-size:11px;font-weight:900;text-transform:uppercase}.nav-stack{display:grid;gap:5px}.nav-item{display:flex;align-items:center;gap:9px;min-height:36px;padding:0 10px;border:1px solid transparent;border-radius:7px;color:#f4f1ebbd;background:transparent;font-size:13px;font-weight:800;text-align:left;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.nav-item.active,.nav-item:hover{color:#f4f1eb;border-color:#f4f1eb24;background:#f4f1eb17}.nav-item:active{transform:translateY(1px)}.main-surface{min-width:0;padding:16px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:76px;padding:14px 16px;border:1px solid rgba(35,66,37,.14);border-radius:8px;background:#fffaf1}.topbar p,.panel-header p,.binding-heading p,.apply-plan-summary p{margin:0 0 3px;color:#1623178f;font-size:11px;font-weight:900;text-transform:uppercase}.topbar h1,.panel-header h2,.binding-heading h2,.apply-plan-summary h2{margin:0;color:#162317;letter-spacing:0}.topbar h1{font-size:22px;line-height:1.05}.topbar-subtitle{display:block;margin-top:4px;color:#1623179e;font-size:12px;font-weight:700}.topbar-actions{display:inline-flex;align-items:center;gap:9px}.endpoint-pill,.count-badge,.binding-pill{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 10px;border-radius:999px;color:#234225;background:#b0c9944d;font-size:11px;font-weight:900;text-transform:uppercase}.binding-pill.needs-selection{color:#62420b;background:#efab2b38}.icon-button{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(35,66,37,.16);border-radius:8px;color:#234225;background:#fffaf1;transition:background .16s ease,transform .16s ease}.icon-button:hover{background:#b0c9942e}.icon-button:active,.primary-button:active,.ghost-button:active,.button-row button:active{transform:translateY(1px)}.tab-stack{display:grid;gap:12px;margin-top:12px}.metric-grid,.usage-panel{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.usage-panel{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:0}.metric{display:grid;gap:7px;min-height:68px;padding:12px;border:1px solid rgba(35,66,37,.14);border-radius:8px;background:#fffaf1}.metric span,.fact span,.status-item span,.plan-action span{color:#16231794;font-size:11px;font-weight:900;text-transform:uppercase}.metric strong{align-self:end;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:22px;line-height:1;font-variant-numeric:tabular-nums}.metric.wide strong{font-size:18px}.overview-grid,.split-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.78fr);gap:12px}.users-layout{grid-template-columns:minmax(0,1.35fr) minmax(360px,.72fr);margin-top:12px}.settings-layout{grid-template-columns:minmax(360px,.72fr) minmax(0,1.28fr);margin-top:12px}.side-stack{display:grid;align-content:start;gap:12px}.panel{min-width:0;border:1px solid rgba(35,66,37,.14);border-radius:8px;background:#fffaf1}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;padding:14px 16px;border-bottom:1px solid rgba(35,66,37,.12)}.panel-header h2{font-size:16px;line-height:1.1}.summary-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px}.fact,.status-item,.plan-facts .fact,.plan-action{display:grid;gap:4px;min-width:0;padding:10px;border:1px solid rgba(35,66,37,.1);border-radius:8px;background:#ffffff8a}.fact strong,.status-item strong,.plan-action strong,.plan-action small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fact strong,.status-item strong,.plan-action strong{font-size:13px;font-weight:900}.action-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:14px}.ghost-button{min-height:34px;padding:0 12px;border:1px solid rgba(35,66,37,.15);border-radius:8px;color:#234225;background:#b0c9942e;font-size:12px;font-weight:900}.error-banner{margin-top:12px;padding:10px 12px;border:1px solid rgba(124,90,21,.28);border-radius:8px;color:#4d380f;background:#efab2b29;font-size:13px;font-weight:700}.user-table{display:grid}.user-row{display:grid;grid-template-columns:minmax(140px,1.15fr) 82px 104px 92px 98px;align-items:center;gap:10px;min-height:48px;padding:0 16px;border:0;border-bottom:1px solid rgba(35,66,37,.1);color:#162317;background:transparent;text-align:left}.user-row.head{min-height:34px;color:#1623178a;font-size:11px;font-weight:900;text-transform:uppercase}button.user-row:hover,button.user-row.selected{background:#b0c9942e}.user-row strong,.user-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.state{display:inline-flex;width:fit-content;min-width:76px;justify-content:center;padding:5px 8px;border-radius:999px;color:#234225;background:#b0c99461;font-size:11px;font-weight:900;text-transform:uppercase}.state.suspended{color:#62420b;background:#efab2b3d}.empty-state{display:flex;align-items:center;justify-content:center;gap:10px;min-height:128px;color:#1623178a;font-weight:800}.empty-state.compact{min-height:76px}.action-panel{display:grid;align-content:start}.stack-form,.policy-editor,.network-form{display:grid;gap:12px;padding:16px}.network-form{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end}.wide-field{grid-column:span 2}.stack-form label,.policy-editor label,.network-form label,.adapter-select{display:grid;gap:6px}.stack-form label span,.policy-editor label span,.network-form label span,.adapter-select span,.binding-current span{color:#1623179e;font-size:11px;font-weight:900;text-transform:uppercase}.stack-form input,.stack-form select,.policy-editor input,.policy-editor select,.network-form input,.adapter-select select,.log-tools select{min-height:40px;border:1px solid rgba(35,66,37,.18);border-radius:8px;padding:8px 10px;color:#162317;background:#fff;outline:none}.stack-form input:focus,.stack-form select:focus,.policy-editor input:focus,.policy-editor select:focus,.network-form input:focus,.adapter-select select:focus,.log-tools select:focus{border-color:#234225;box-shadow:0 0 0 3px #b0c99457}.segmented{display:grid;grid-template-columns:1fr 1fr;height:40px;padding:3px;border:1px solid rgba(35,66,37,.15);border-radius:8px;background:#f4f1ebb8}.segmented button{border:0;border-radius:6px;color:#162317a8;background:transparent;font-size:12px;font-weight:900}.segmented button.active{color:#fffaf1;background:#234225}.primary-button,.button-row button,.policy-editor button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;border:0;border-radius:8px;color:#f4f1eb;background:#234225;font-weight:900;transition:background .16s ease,transform .16s ease}.primary-button.compact{padding:0 12px}.policy-editor button{color:#234225;background:#b0c9943d;border:1px solid rgba(35,66,37,.14)}.account-editor{border-block:1px solid rgba(35,66,37,.12)}.selected-card{display:grid;gap:14px;padding:14px}.selected-heading{display:flex;align-items:center;gap:9px;font-weight:900}.selected-card dl{display:grid;gap:8px;margin:0}.selected-card dl div{display:flex;justify-content:space-between;gap:12px}.selected-card dt{color:#1623178c;font-size:11px;font-weight:900;text-transform:uppercase}.selected-card dd{margin:0;font-weight:800}.button-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.button-row button.danger{color:#fffaf1;background:#7b251d}.check-line{display:flex!important;align-items:center;gap:10px;min-height:40px;padding:0 10px;border:1px solid rgba(35,66,37,.14);border-radius:8px;background:#f4f1eb8f}.check-line input{width:17px;height:17px;min-height:0;padding:0}.binding-panel{display:grid;grid-template-columns:minmax(190px,.42fr) 1fr;align-items:stretch;gap:12px;padding:12px;border:1px solid rgba(35,66,37,.14);border-radius:8px;background:#fffaf1}.binding-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.binding-heading h2{font-size:16px;line-height:1.1}.binding-controls{display:grid;grid-template-columns:168px minmax(210px,1fr) minmax(150px,.8fr) 38px 150px;align-items:center;gap:10px}.adapter-select select:disabled{color:#16231794;background:#f4f1eba3}.binding-current{display:grid;gap:2px;min-width:0}.binding-current strong,.binding-current small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.binding-current strong{font-size:13px}.binding-current small{color:#16231799;font-size:11px;font-weight:800}.apply-plan-panel{display:grid;grid-template-columns:260px 340px 1fr;align-items:stretch;gap:12px;padding:12px;border:1px solid rgba(35,66,37,.14);border-radius:8px;background:#fffaf1c7}.apply-plan-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.apply-plan-summary h2{font-size:15px;line-height:1.1}.apply-plan-actions{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.plan-facts{display:grid;grid-template-columns:1.1fr .48fr .58fr .78fr 1.25fr;gap:8px}.plan-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.plan-action small{color:#1623179e;font-size:10px;font-weight:800}.session-list{display:grid}.session-row{display:grid;grid-template-columns:minmax(170px,1fr) 118px 110px 96px 86px;align-items:center;gap:10px;min-height:48px;padding:0 16px;border-bottom:1px solid rgba(35,66,37,.1);font-size:13px}.session-row div{display:grid;gap:2px;min-width:0}.session-row strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-row span{color:#162317a3;font-weight:800}.settings-list{display:grid;gap:12px;padding:16px}.helper-setup-block{display:grid;gap:12px;margin:0 16px 16px;padding:14px;border:1px solid rgba(35,66,37,.12);border-radius:8px;background:#f4f1eb8a}.helper-setup-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.helper-setup-heading p{margin:0 0 3px;color:#1623178f;font-size:11px;font-weight:900;text-transform:uppercase}.helper-setup-heading h3{margin:0;color:#162317;font-size:15px;line-height:1.1}.helper-plan-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.helper-plan-actions button{min-height:34px;border:1px solid rgba(35,66,37,.14);border-radius:8px;color:#162317b3;background:#ffffff94;font-size:11px;font-weight:900}.helper-plan-actions button.active{color:#fffaf1;background:#234225}.helper-plan-meta{display:grid;grid-template-columns:1fr;gap:7px}.helper-warning-list{display:grid;gap:6px}.helper-warning-list span{padding:8px 10px;border:1px solid rgba(124,90,21,.2);border-radius:8px;color:#62420b;background:#efab2b24;font-size:11px;font-weight:800;line-height:1.35}.helper-step-list{display:grid;gap:7px}.helper-step{display:grid;grid-template-columns:30px minmax(0,1fr) 54px;align-items:center;gap:10px;min-height:54px;padding:10px;border:1px solid rgba(35,66,37,.1);border-radius:8px;background:#ffffffa3}.helper-step>span,.helper-step em{color:#1623178f;font-size:10px;font-style:normal;font-weight:900;text-transform:uppercase}.helper-step div{display:grid;gap:3px;min-width:0}.helper-step strong,.helper-step small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.helper-step strong{font-size:12px}.helper-step small{color:#1623179e;font-size:11px;font-weight:700}.settings-toggle{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 40px;gap:16px;align-items:center;padding:14px;border:1px solid rgba(35,66,37,.12);border-radius:8px;background:#f4f1eba3}.settings-toggle div{display:grid;gap:4px}.settings-toggle strong{font-size:14px}.settings-toggle span{color:#1623179e;font-size:12px;font-weight:700;line-height:1.35}.settings-toggle input{position:absolute;inset:0;opacity:0}.settings-toggle i{position:relative;width:38px;height:22px;border-radius:999px;background:#2342252e}.settings-toggle i:after{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #1623173d;content:"";transition:transform .16s ease}.settings-toggle input:checked+i{background:#234225}.settings-toggle input:checked+i:after{transform:translate(16px)}.logs-panel{min-height:520px}.log-tools{display:inline-flex;align-items:center;gap:8px}.log-tools select{min-width:170px}.log-list{display:grid;max-height:560px;overflow:auto}.log-row{display:grid;grid-template-columns:190px minmax(0,1fr) 190px;gap:12px;align-items:center;min-height:56px;padding:10px 16px;border-bottom:1px solid rgba(35,66,37,.1)}.log-row div{display:grid;gap:3px}.log-row strong,.log-row p,.log-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-row strong{font-size:12px}.log-row span,.log-row small{color:#1623178f;font-size:11px;font-weight:800}.log-row p{margin:0;font-size:13px;font-weight:800}@media(max-width:1180px){.metric-grid,.usage-panel{grid-template-columns:repeat(3,minmax(0,1fr))}.overview-grid,.split-grid,.settings-layout{grid-template-columns:1fr}.network-form{grid-template-columns:repeat(2,minmax(0,1fr))}.binding-panel,.apply-plan-panel{grid-template-columns:1fr}.binding-controls{grid-template-columns:168px minmax(210px,1fr) 38px 150px}.binding-current{display:none}.plan-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}
