.app-notification[data-v-eea54c06]{position:fixed;z-index:70;top:calc(var(--app-visible-top, 0px) + max(8px,var(--app-safe-top, env(safe-area-inset-top))) + 56px);left:50%;display:flex;align-items:flex-start;width:min(696px,calc(100% - 24px));gap:10px;padding:12px 12px 12px 14px;transform:translate(-50%);border:1px solid;border-radius:14px;box-shadow:0 14px 38px #0007;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.app-notification>div[data-v-eea54c06]{min-width:0;flex:1 1 auto}.app-notification strong[data-v-eea54c06],.app-notification p[data-v-eea54c06]{overflow-wrap:anywhere}.app-notification strong[data-v-eea54c06]{display:block;font-size:13px}.app-notification p[data-v-eea54c06]{margin:3px 0 0;font-size:12px;line-height:1.45}.app-notification button[data-v-eea54c06]{flex:0 0 30px;width:30px;min-height:30px;padding:0;border:0;border-radius:9px;color:inherit;background:#ffffff18;font-size:21px;line-height:1;text-align:center}.app-notification--success[data-v-eea54c06]{border-color:#34d39988;color:#d1fae5;background:#064e3bcc}.app-notification--error[data-v-eea54c06]{border-color:#fb718588;color:#ffe4e6;background:#881337e8}.app-notification--warning[data-v-eea54c06]{border-color:#fbbf2488;color:#fef3c7;background:#78350fe8}.app-notification--info[data-v-eea54c06]{border-color:#5eead488;color:#ccfbf1;background:#134e4ae8}:root[data-theme=light]{color:#064e3b;background:#d1fae5ee}:root[data-theme=light]{color:#881337;background:#ffe4e6f2}:root[data-theme=light]{color:#78350f;background:#fef3c7f2}:root[data-theme=light]{color:#134e4a;background:#ccfbf1f2}:root{--text-color: var(--tg-theme-text-color, #e7f6f3);--page-background: var(--tg-theme-bg-color, #081c18);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text-color);background:var(--page-background);--app-background: #081c18;--panel-background: #102b25;--panel-shadow: 0 2px 10px #0002;--control-background: #163a33;--input-background: #081d19;--surface-background: #06171366;--secondary-text: #9bbab3;--muted-text: #7fa79e;--link-text: var(--tg-theme-link-color, #99f6e4);--code-text: var(--text-color);font-synthesis:none}:root[data-theme=light]{--text-color: var(--tg-theme-text-color, #12332d);--page-background: var(--tg-theme-bg-color, #f4f8f6);color:var(--text-color);background:var(--page-background);--app-background: #f4f8f6;--panel-background: #fff;--panel-shadow: 0 2px 10px #0f766e08;--control-background: var(--tg-theme-secondary-bg-color, #e0f2ee);--input-background: var(--tg-theme-secondary-bg-color, #edf7f5);--surface-background: #ffffffa8;--secondary-text: var(--tg-theme-hint-color, #53736c);--muted-text: var(--tg-theme-hint-color, #66847d);--link-text: var(--tg-theme-link-color, #0f766e);--code-text: var(--text-color)}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;overflow:hidden}body{margin:0;min-width:320px;min-height:100dvh;background:var(--app-background)}button,input,select,textarea{font:inherit}input,select,textarea,[contenteditable=true]{font-size:16px}button{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--link-text);outline-offset:3px}.shell{display:flex;flex-direction:column;width:min(960px,100%);height:var(--app-visible-height, 100dvh);position:relative;top:var(--app-visible-top, 0px);margin:0 auto;overflow:hidden;padding:max(10px,var(--app-safe-top)) max(10px,var(--app-safe-right)) max(10px,var(--app-safe-bottom)) max(10px,var(--app-safe-left))}.hero{display:flex;flex:0 0 auto;align-items:center;gap:10px;margin-bottom:10px}.hero--compact{gap:8px;margin-bottom:6px}.hero--compact .brand-mark{width:32px;height:32px;border-radius:10px;font-size:13px}.hero--compact .eyebrow{display:none}.hero--compact h1{font-size:17px}.hero--compact .role-badge{padding:5px 8px}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border:1px solid #2dd4bf66;border-radius:12px;background:#0f766e;box-shadow:0 8px 22px #0f766e33;font-weight:800}.hero h1,.panel h2,.panel h3{margin:0}.hero h1{font-size:21px;letter-spacing:-.5px}.eyebrow{margin:0 0 5px;color:#5eead4;font-size:10px;font-weight:800;letter-spacing:1.6px}.role-badge{margin-left:auto;padding:7px 10px;border:1px solid #2dd4bf55;border-radius:999px;color:#99f6e4;font-size:10px;font-weight:800}.app-body{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;overflow:hidden}.app-body>.panel,.app-body>.home-page{flex:1 1 auto;min-width:0;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.page-navigation{display:flex;flex:0 0 auto;align-items:center;gap:9px;margin-bottom:6px}.page-navigation .eyebrow{display:none}.page-navigation .back-button{flex:0 0 auto;min-height:34px;padding:6px 10px;color:#99f6e4;font-weight:800;text-align:center}.page-navigation strong{display:block;color:var(--text-color);font-size:16px}.home-page{display:grid;grid-template-rows:auto auto 1fr;gap:8px}.panel{border:1px solid #5eead422;border-radius:12px;background:var(--panel-background);box-shadow:var(--panel-shadow);padding:14px}.status-panel{display:flex;align-items:center;justify-content:center;gap:12px;min-height:180px}.spinner{width:20px;height:20px;border:2px solid #5eead433;border-top-color:#5eead4;border-radius:50%;animation:spin .8s linear infinite}.error-panel{border-color:#fb718544}.error-panel h2{margin-bottom:10px}.error-panel small,.metric-card small,.admin-panel small{color:var(--secondary-text);line-height:1.5}.welcome-panel{display:flex;justify-content:space-between;align-items:center;margin-bottom:0}.welcome-panel h2{font-size:18px}.online{color:#99f6e4;font-size:12px}.online span{display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:#34d399;box-shadow:0 0 12px #34d399}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:0}.metric-card p{margin:0 0 6px;color:var(--secondary-text);font-size:11px}.metric-card strong{display:block;margin-bottom:4px;font-size:17px}.metric-card small{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.actions-panel{min-height:0;margin-top:0}.admin-panel{margin-top:0}.action-list,.admin-grid{display:grid;gap:7px;margin-top:10px}.action-list{grid-template-columns:repeat(2,minmax(0,1fr))}.action-list button{position:relative;padding-right:38px}.action-list button:not(:disabled):after{content:"›";position:absolute;top:50%;right:15px;transform:translateY(-52%);color:#5eead4;font-size:24px;line-height:1}.action-list .admin-entry{border-color:#2dd4bf55;color:#d5f5ee;background:#0f766e33;font-weight:800}.admin-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:8px}.admin-grid button:not(:disabled){border-color:#2dd4bf55;color:var(--link-text);background:#0f766e26;font-weight:800}.admin-grid button.active,.firewall-tabs button.active{border-color:#2dd4bf88;color:var(--link-text);background:#0f766e33;font-weight:800}button{min-height:40px;padding:8px 11px;border:1px solid #5eead422;border-radius:11px;color:var(--text-color);background:var(--control-background);text-align:left}button:disabled{cursor:not-allowed;opacity:.58}.admin-dashboard{margin-top:12px;padding-top:12px;border-top:1px solid #5eead422}.dashboard-heading,.dashboard-subheading,.dashboard-recent-operations article{display:flex;align-items:center;justify-content:space-between;gap:12px}.dashboard-heading>span,.dashboard-subheading>span{color:#99f6e4;font-size:11px}.dashboard-scope{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:9px;padding:9px 11px;border:1px solid #5eead41c;border-radius:11px;background:var(--surface-background)}.dashboard-scope small{color:var(--muted-text)}.dashboard-scope strong{min-width:0;overflow:hidden;color:#99f6e4;font-size:12px;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dashboard-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px}.dashboard-metrics article{padding:12px;border:1px solid #5eead41c;border-radius:13px;background:var(--surface-background)}.dashboard-metrics small,.dashboard-metrics strong{display:block}.dashboard-metrics small{min-height:34px;color:var(--muted-text)}.dashboard-metrics strong{margin-top:7px;font-size:20px}.dashboard-recent-operations{display:grid;gap:8px;margin-top:14px}.dashboard-recent-operations article{padding:11px 12px;border:1px solid #5eead41c;border-radius:12px;background:var(--surface-background)}.dashboard-recent-operations article strong,.dashboard-recent-operations article small{display:block}.dashboard-recent-operations article small{margin-top:4px;color:var(--muted-text)}.dashboard-recent-operations article>span{flex:0 0 auto;color:#99f6e4;font-size:11px;font-weight:800}.dashboard-note{margin:12px 0 0;color:#fcd34d;font-size:11px;line-height:1.5}.vpn-account-panel{margin-top:14px}.vpn-account-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.vpn-account-heading>span{color:#99f6e4;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.vpn-account-valid{display:block;margin-top:15px;color:#6ee7b7;font-size:13px}.vpn-account-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.vpn-account-metrics>div{padding:12px;border:1px solid #5eead41c;border-radius:13px;background:var(--surface-background)}.vpn-account-metrics small,.vpn-account-metrics strong{display:block}.vpn-account-metrics small{margin-bottom:6px;color:var(--muted-text)}.vpn-account-metrics strong{overflow-wrap:anywhere;font-size:13px}.vpn-account-note{margin:12px 0 0;color:var(--muted-text);font-size:11px;line-height:1.55}.node-panel{margin-top:14px}.node-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.node-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:16px}.node-summary article{padding:13px;border:1px solid #5eead41c;border-radius:13px;background:var(--surface-background)}.node-summary small,.node-summary strong{display:block}.node-summary small{margin-bottom:6px;color:var(--muted-text)}.node-summary strong{overflow-wrap:anywhere;font-size:14px}.node-note{margin:12px 0 0;color:var(--muted-text);font-size:11px;line-height:1.55}.config-panel{margin-top:14px}.config-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.config-heading>span{color:#99f6e4;font-size:11px}.config-grid{display:grid;gap:9px;margin-top:16px}.config-grid article{padding:13px;border:1px solid #5eead41c;border-radius:13px;background:var(--surface-background)}.config-grid strong,.config-grid small{display:block}.config-grid strong{font-size:13px}.config-grid small{margin-top:4px;color:var(--link-text)}.config-grid code{display:block;margin-top:10px;padding:9px 10px;overflow-wrap:anywhere;border-radius:9px;color:var(--code-text);background:var(--input-background);font-size:11px}.config-grid p{margin:8px 0 0;color:var(--secondary-text);font-size:12px;line-height:1.55}.config-pending{margin:12px 0 0;color:#fcd34d;font-size:11px;line-height:1.55}.help-panel{margin-top:14px}.help-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.help-heading>span{color:#99f6e4;font-size:11px}.help-steps{display:grid;gap:10px;margin:18px 0 0;padding:0;list-style:none;counter-reset:help-step}.help-steps li{position:relative;padding:13px 13px 13px 48px;border:1px solid #5eead41c;border-radius:13px;background:var(--surface-background);counter-increment:help-step}.help-steps li:before{content:counter(help-step);position:absolute;top:13px;left:13px;display:grid;place-items:center;width:24px;height:24px;border-radius:8px;color:#05201b;background:#5eead4;font-size:12px;font-weight:900}.help-steps strong,.help-faq strong{color:#d5f5ee;font-size:13px}.help-steps p,.help-faq p{margin:6px 0 0;color:var(--secondary-text);font-size:12px;line-height:1.55}.help-faq{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px}.help-faq article{padding:13px;border:1px solid #5eead41c;border-radius:13px;background:#0f766e12}.help-security{margin:14px 0 10px;color:#fcd34d;font-size:11px;line-height:1.5}.support-link{display:block;padding:12px 14px;border:1px solid #2dd4bf55;border-radius:12px;color:var(--link-text);background:var(--control-background);font-size:13px;font-weight:800;text-align:center;text-decoration:none}.admin-panel--users{display:flex;min-height:0;flex-direction:column;overflow:hidden!important;padding:10px}.user-workspace{display:grid;flex:1 1 auto;grid-template-rows:auto auto minmax(0,1fr);gap:7px;min-width:0;min-height:0;overflow:hidden}.user-workspace-header{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.user-workspace-header .eyebrow{margin-bottom:2px;font-size:8px}.user-workspace-header h3{font-size:15px}.user-workspace-metrics{display:flex;flex:0 0 auto;gap:5px}.user-workspace-metrics span{padding:5px 7px;border:1px solid #2dd4bf44;border-radius:9px;color:var(--secondary-text);background:#0f766e22;font-size:8px;white-space:nowrap}.user-workspace-metrics b{color:#5eead4;font-size:11px}.user-workspace-tabs{display:flex;min-width:0;gap:6px;overflow-x:auto;scrollbar-width:none}.user-workspace-tabs::-webkit-scrollbar{display:none}.user-workspace-tabs button{flex:1 0 86px;min-height:34px;padding:6px 8px;font-size:10px;text-align:center;white-space:nowrap}.user-workspace-tabs button.active{border-color:#2dd4bf88;color:var(--link-text);background:#0f766e33;font-weight:800}.user-workspace-tabs .user-add-button{flex:0 0 70px;color:#05201b;background:#5eead4;font-weight:800}.user-workspace-view{display:flex;min-width:0;min-height:0;flex-direction:column;overflow:hidden}.user-directory-controls{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(92px,.7fr) minmax(112px,.9fr);gap:6px}.user-directory-controls input,.user-directory-controls select{width:100%;min-width:0;min-height:36px;padding:5px 7px;overflow:hidden;border:1px solid #5eead433;border-radius:9px;color:var(--text-color);background:var(--input-background);font-size:16px;text-overflow:ellipsis}.user-directory-summary{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 2px 3px;color:#99f6e4;font-size:9px}.user-directory-summary small{overflow:hidden;color:var(--muted-text);text-overflow:ellipsis;white-space:nowrap}.user-directory-view .user-list{flex:1 1 auto;align-content:start;min-height:0;margin-top:0;padding:2px;overflow:auto;overscroll-behavior:contain}.user-directory-view .user-row{display:grid;grid-template-columns:minmax(0,1fr) auto;min-width:0;padding:9px 10px}.user-row.disabled{opacity:.68}.user-row-identity{min-width:0}.user-row-identity strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.user-row-identity small{overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.user-directory-view .user-row-actions{min-width:80px}.user-directory-view .user-row-actions .role-badge{max-width:96px;overflow:hidden;padding:4px 6px;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.user-directory-view .compact-button{min-width:62px;min-height:29px;padding:4px 8px;font-size:9px;text-align:center}.user-access-view{position:relative}.user-resolver{display:grid;width:min(440px,100%);margin:auto;gap:10px;padding:16px;border:1px solid #5eead433;border-radius:14px;background:var(--surface-background)}.user-resolver h4,.user-resolver p{margin:0}.user-resolver p:not(.eyebrow){color:var(--secondary-text);font-size:11px;line-height:1.5}.user-resolver label{display:grid;gap:5px;color:var(--secondary-text);font-size:10px}.user-resolver input{width:100%;min-height:42px;padding:7px 9px;border:1px solid #5eead433;border-radius:10px;color:var(--text-color);background:var(--input-background);font-size:16px}.user-resolver .primary-button{color:#05201b;background:#5eead4;font-weight:800;text-align:center}.user-editor-identity{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding-bottom:7px;border-bottom:1px solid #5eead422}.user-editor-identity .back-button{min-height:30px;padding:4px 7px;color:#99f6e4;font-size:9px;text-align:center}.user-editor-identity>div{min-width:0}.user-editor-identity strong,.user-editor-identity small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-editor-identity strong{font-size:12px}.user-editor-identity small{margin-top:2px;color:var(--muted-text);font-size:9px}.protected-badge,.draft-badge{padding:4px 6px;border:1px solid #fbbf2455;border-radius:999px;color:#fde68a;font-size:8px;font-weight:800;white-space:nowrap}.draft-badge{border-color:#2dd4bf55;color:#99f6e4}.user-editor-scroll{display:grid;flex:1 1 auto;align-content:start;gap:8px;min-height:0;padding:7px 2px;overflow:auto;overscroll-behavior:contain}.user-role-editor{display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,.55fr);align-items:center;gap:9px;padding:9px;border:1px solid #5eead422;border-radius:11px;background:var(--surface-background)}.user-role-editor h4,.permission-matrix h4,.user-vpn-binding h4{margin:0;font-size:12px}.user-role-editor small{display:block;margin-top:3px;color:var(--muted-text);font-size:9px;line-height:1.35}.user-role-editor select{width:100%;min-width:0;min-height:38px;padding:6px 8px;border:1px solid #5eead433;border-radius:9px;color:var(--text-color);background:var(--input-background);font-size:16px}.protected-role-value{justify-self:end;padding:8px 10px;border:1px solid #5eead455;border-radius:9px;color:#5eead4;background:#5eead411;font-size:10px;text-align:center}.permission-matrix{min-width:0}.permission-matrix-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 2px 5px}.permission-matrix-heading>span{color:#99f6e4;font-size:9px}.permission-group{margin-top:5px;border:1px solid #5eead422;border-radius:11px;background:var(--surface-background)}.permission-group summary{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 9px;cursor:pointer;list-style:none}.permission-group summary::-webkit-details-marker{display:none}.permission-group summary strong{font-size:11px}.permission-group summary span{color:#99f6e4;font-size:9px}.permission-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;padding:7px 9px;border-top:1px solid #5eead414;cursor:pointer}.permission-item input{width:18px;height:18px;margin:0;accent-color:#2dd4bf}.permission-item>span{min-width:0}.permission-item b,.permission-item small{display:block}.permission-item b{font-size:10px}.permission-item small{margin-top:2px;color:var(--muted-text);font-size:8px;line-height:1.3}.permission-item em{padding:3px 5px;border-radius:999px;color:var(--secondary-text);background:#64748b22;font-size:7px;font-style:normal;white-space:nowrap}.permission-item.risk-high b{color:#fda4af}.permission-item.risk-medium b{color:#fde68a}.access-change-summary{display:grid;gap:3px;padding:8px 9px;border:1px solid #fbbf2444;border-radius:10px;color:#fde68a;background:#42200633}.access-change-summary strong{font-size:10px}.access-change-summary small{overflow-wrap:anywhere;font-size:8px}.user-vpn-binding{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,.8fr) auto auto;align-items:center;gap:6px;padding:9px;border:1px solid #5eead422;border-radius:11px;background:var(--surface-background)}.user-vpn-binding input{width:100%;min-width:0;min-height:36px;padding:5px 7px;border:1px solid #5eead433;border-radius:9px;color:var(--text-color);background:var(--input-background);font-size:16px}.user-vpn-binding button{min-height:34px;padding:5px 8px;font-size:9px;text-align:center}.user-vpn-binding .danger-button{color:#fda4af}.user-editor-actions{position:sticky;bottom:0;z-index:2;display:grid;grid-template-columns:.7fr 1.3fr;gap:7px;padding-top:7px;background:linear-gradient(180deg,transparent,var(--page-background) 30%)}.user-editor-actions.has-delete{grid-template-columns:.75fr .8fr 1.35fr}.user-editor-actions button{min-height:39px;text-align:center}.user-editor-actions .primary-button{color:#05201b;background:#5eead4;font-weight:800}.user-editor-actions .danger-button{color:#fff1f2;background:#be123c;font-weight:800}.user-delete-confirmation{position:sticky;bottom:0;z-index:3;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:7px;padding:8px;border:1px solid #fb718566;border-radius:11px;color:#fff1f2;background:#4c0519f2}.user-delete-confirmation>div{min-width:0}.user-delete-confirmation strong,.user-delete-confirmation small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-delete-confirmation strong{font-size:10px}.user-delete-confirmation small{margin-top:2px;color:#fecdd3;font-size:8px}.user-delete-confirmation button{min-height:36px;padding:5px 9px;font-size:9px;text-align:center}.user-delete-confirmation .danger-button{color:#fff;background:#e11d48;font-weight:800}.user-editor-error{position:absolute;right:4px;bottom:49px;left:4px;z-index:3;padding:7px 9px;border:1px solid #fb718555;border-radius:9px;color:#fecdd3;background:#4c0519ee}.role-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin-top:20px;padding-top:18px;border-top:1px solid #5eead422}.role-form label{display:grid;gap:7px;color:var(--secondary-text);font-size:12px}.role-form input,.role-form select{width:100%;min-height:44px;padding:9px 11px;border:1px solid #5eead433;border-radius:12px;color:var(--text-color);background:var(--input-background)}.role-form .primary-button{grid-column:1 / -1;color:#05201b;background:#5eead4;font-weight:800;text-align:center}.role-message{margin:12px 0 0;color:#99f6e4;font-size:12px}.vpn-binding-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin-top:18px;padding-top:18px;border-top:1px solid #5eead422}.vpn-binding-form .form-heading,.vpn-binding-form .primary-button{grid-column:1 / -1}.vpn-binding-form .form-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.vpn-binding-form .form-heading>span{color:#99f6e4;font-size:11px}.vpn-binding-form label{display:grid;gap:7px;color:var(--secondary-text);font-size:12px}.vpn-binding-form input{width:100%;min-height:44px;padding:9px 11px;border:1px solid #5eead433;border-radius:12px;color:var(--text-color);background:var(--input-background)}.vpn-binding-form .primary-button{color:#05201b;background:#5eead4;font-weight:800;text-align:center}.user-search-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;padding-top:18px;border-top:1px solid #5eead422}.user-search-heading>span{color:#99f6e4;font-size:12px}.user-search{width:100%;min-height:44px;margin-top:12px;padding:9px 11px;border:1px solid #5eead433;border-radius:12px;color:var(--text-color);background:var(--input-background)}.user-list{display:grid;gap:8px;margin-top:18px}.pagination-button{width:100%;min-height:38px;color:var(--link-text);background:var(--surface-background);font-size:11px;text-align:center}.user-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid #5eead41c;border-radius:13px;background:var(--surface-background)}.user-row strong,.user-row small{display:block}.user-row small{margin-top:4px;color:var(--muted-text)}.user-row-actions{display:grid;justify-items:end;gap:7px}.user-row-actions .role-badge{margin-left:0}.audit-section{margin-top:20px;padding-top:18px;border-top:1px solid #5eead422}.audit-heading,.audit-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.audit-heading>span{color:#99f6e4;font-size:12px}.audit-filter{width:100%;min-height:44px;margin-top:14px;padding:9px 11px;border:1px solid #5eead433;border-radius:12px;color:var(--text-color);background:var(--input-background)}.audit-list{display:grid;gap:8px;margin-top:10px}.audit-row{padding:12px;border:1px solid #5eead41c;border-radius:13px;background:var(--surface-background)}.audit-row strong,.audit-row small{display:block}.audit-row small{margin-top:4px;color:var(--muted-text)}.audit-result{text-align:right}.audit-result span{color:#99f6e4;font-size:11px;font-weight:800}.empty-state{margin:8px 0 0;color:var(--muted-text);font-size:12px;text-align:center}.vpn-section{margin-top:20px;padding-top:18px;border-top:1px solid #5eead422}.vpn-heading,.session-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.compact-button{min-height:36px;padding:7px 11px;color:#99f6e4;font-size:12px;text-align:center}.vpn-error{display:grid;gap:5px;margin-top:14px;padding:13px;border:1px solid #fb718544;border-radius:13px;background:#3b111633}.vpn-error strong{color:#fecdd3}.vpn-error small{color:#fda4af}.vpn-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}.vpn-metrics>div{padding:12px;border:1px solid #5eead41c;border-radius:13px;background:var(--surface-background)}.vpn-metrics small,.vpn-metrics strong{display:block}.vpn-metrics small{margin-bottom:7px;color:var(--muted-text)}.vpn-metrics strong{font-size:18px}.vpn-state.online{color:#6ee7b7}.vpn-state.offline{color:#fda4af}.vpn-up-since{margin:10px 0 0;color:var(--muted-text);font-size:11px}.session-list{display:grid;gap:8px;margin-top:12px}.session-row{padding:12px;border:1px solid #5eead41c;border-radius:13px;background:var(--surface-background)}.session-row strong,.session-row small,.session-network span{display:block}.session-row small{margin-top:4px;color:var(--muted-text)}.session-network{text-align:right}.session-network span{color:var(--text-color);font-size:12px}.admin-panel--vpn{display:flex;min-height:0;flex-direction:column;overflow:hidden!important;padding:10px}.vpn-workspace{display:flex;flex:1 1 auto;flex-direction:column;gap:6px;min-width:0;min-height:0;overflow:hidden}.vpn-workspace-header{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:7px;min-width:0}.vpn-workspace-header>div{min-width:0}.vpn-workspace-header strong,.vpn-workspace-header small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vpn-workspace-header strong{font-size:13px}.vpn-workspace-header small{margin-top:2px;color:var(--muted-text);font-size:12px}.vpn-workspace-metrics{display:flex;gap:4px}.vpn-workspace-metrics span{padding:4px 6px;border:1px solid #2dd4bf44;border-radius:999px;color:var(--secondary-text);background:#0f766e22;font-size:12px;font-weight:800;white-space:nowrap}.vpn-workspace-header .compact-button{min-height:40px;padding:5px 8px;font-size:12px}.vpn-workspace-tabs{display:flex;gap:5px;min-width:0;overflow-x:auto;scrollbar-width:none}.vpn-workspace-tabs::-webkit-scrollbar{display:none}.vpn-workspace-tabs button{flex:1 0 72px;min-height:40px;padding:5px 7px;font-size:12px;text-align:center;white-space:nowrap}.vpn-workspace-tabs button.active{border-color:#2dd4bf88;color:var(--link-text);background:#0f766e33;font-weight:800}.vpn-workspace-content{flex:1 1 auto;display:flex;min-width:0;min-height:0;flex-direction:column;overflow:hidden}.vpn-account-directory,.vpn-detail{display:flex;flex:1 1 auto;min-width:0;min-height:0;flex-direction:column;overflow:hidden}.vpn-directory-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}.vpn-directory-controls form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px}.vpn-directory-controls input,.vpn-detail input,.vpn-detail select,.vpn-detail textarea{width:100%;min-width:0;min-height:40px;padding:5px 7px;border:1px solid #5eead433;border-radius:9px;color:var(--text-color);background:var(--input-background);font-size:16px}.vpn-directory-controls button{min-height:40px;padding:5px 8px;font-size:12px;text-align:center}.vpn-create-button{color:#05201b;background:#5eead4;font-weight:800}.vpn-compact-list,.session-list{display:grid;flex:1 1 auto;align-content:start;gap:6px;min-height:0;margin-top:6px;padding:2px;overflow:auto;overscroll-behavior:contain}.vpn-account-row,.vpn-group-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:50px;padding:7px 9px;text-align:left}.vpn-account-row>span,.vpn-group-row>span{min-width:0}.vpn-account-row strong,.vpn-account-row small,.vpn-account-row b,.vpn-group-row strong,.vpn-group-row small{display:block;overflow:visible;overflow-wrap:anywhere;white-space:normal}.vpn-account-row strong,.vpn-group-row strong{font-size:12px}.vpn-account-row small,.vpn-group-row small{margin-top:3px;color:var(--muted-text);font-size:12px}.vpn-account-row>span:last-child{text-align:right}.vpn-account-row b{color:#6ee7b7;font-size:12px}.vpn-account-row b.locked{color:#fda4af}.vpn-detail-header{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;padding-bottom:6px;border-bottom:1px solid #5eead422}.vpn-detail-header button{min-height:40px;padding:4px 7px;color:#99f6e4;font-size:12px;text-align:center}.vpn-detail-header strong,.vpn-detail-header small{display:block;overflow:visible;overflow-wrap:anywhere;white-space:normal}.vpn-detail-header strong{font-size:12px}.vpn-detail-header small{margin-top:2px;color:var(--muted-text);font-size:12px}.vpn-detail-scroll{display:grid;flex:1 1 auto;align-content:start;gap:7px;min-height:0;padding:6px 2px;overflow:auto}.vpn-detail-scroll form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:6px;padding:7px;border:1px solid #5eead422;border-radius:10px;background:var(--surface-background)}.vpn-detail-scroll label{display:grid;min-width:0;gap:3px;color:var(--secondary-text);font-size:12px}.vpn-detail-scroll form button{min-height:40px;padding:5px 8px;font-size:12px;text-align:center}.vpn-route-summary,.vpn-group-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px;border:1px solid #5eead422;border-radius:10px;background:var(--surface-background)}.vpn-route-summary>div,.vpn-group-summary>div{min-width:0}.vpn-route-summary strong,.vpn-route-summary small,.vpn-group-summary strong,.vpn-group-summary small{display:block;overflow:visible;overflow-wrap:anywhere;white-space:normal}.vpn-route-summary strong,.vpn-group-summary strong{font-size:12px}.vpn-route-summary small,.vpn-group-summary small{margin-top:3px;color:var(--muted-text);font-size:12px}.vpn-route-summary button,.vpn-group-summary button{min-height:40px;padding:5px 9px;color:#05201b;background:#5eead4;font-size:12px;font-weight:800;text-align:center}.workspace-fullscreen{position:fixed;inset:var(--app-visible-top, 0px) 0 auto;height:var(--app-visible-height, 100dvh);z-index:50;display:flex;min-width:0;min-height:0;padding:max(10px,var(--app-safe-top)) max(10px,var(--app-safe-right)) max(10px,var(--app-safe-bottom)) max(10px,var(--app-safe-left));flex-direction:column;overflow:hidden;background:var(--page-background)}.workspace-fullscreen-header{display:grid;flex:0 0 auto;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;width:min(100%,1100px);min-width:0;margin:0 auto 7px;padding:6px;border:1px solid #5eead422;border-radius:11px;background:var(--surface-background)}.workspace-fullscreen-header button{min-height:40px;padding:5px 8px;color:#99f6e4;font-size:12px;text-align:center}.workspace-fullscreen-header>div{min-width:0}.workspace-fullscreen-header strong,.workspace-fullscreen-header small{display:block;overflow:visible;overflow-wrap:anywhere;white-space:normal}.workspace-fullscreen-header strong{font-size:13px}.workspace-fullscreen-header small{margin-top:2px;color:var(--muted-text);font-size:12px}.workspace-fullscreen-header>span{padding:4px 7px;border:1px solid #2dd4bf55;border-radius:999px;color:#6ee7b7;background:#0f766e22;font-size:12px;font-weight:800;white-space:nowrap}.vpn-create-editor{display:flex;flex:1 1 auto;width:min(100%,1100px);min-height:0;margin:0 auto;padding:9px;flex-direction:column;overflow:hidden;border:1px solid #5eead42e;border-radius:13px;background:var(--surface-background)}.vpn-create-identity{display:grid;flex:0 0 auto;gap:4px;margin-bottom:7px;color:var(--secondary-text);font-size:12px}.vpn-create-identity input{width:100%;min-width:0;min-height:42px;padding:6px 9px;border:1px solid #5eead433;border-radius:10px;color:var(--text-color);background:var(--input-background);font-size:16px}.vpn-create-identity small{min-height:11px;color:var(--muted-text);font-size:12px}.vpn-create-identity .vpn-create-validation{color:#fda4af}.vpn-create-editor-actions{display:grid;flex:0 0 auto;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px;padding-top:8px;border-top:1px solid #5eead422}.vpn-create-editor-actions small{overflow:hidden;color:var(--muted-text);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.vpn-create-editor-actions button{min-height:40px;padding:6px 12px;color:#05201b;background:#5eead4;font-size:12px;font-weight:800;text-align:center}.vpn-create-editor-actions button:disabled{color:var(--muted-text);background:#33413e}.vpn-route-workspace .vpn-route-editor{display:flex;flex:1 1 auto;width:min(100%,1100px);min-height:0;margin:0 auto;padding:9px;align-items:stretch;flex-direction:column;overflow:hidden;border:1px solid #5eead42e;border-radius:13px;background:var(--surface-background)}.vpn-group-editor{display:flex;flex:1 1 auto;width:min(100%,1100px);min-height:0;margin:0 auto;padding:9px;flex-direction:column;overflow:hidden;border:1px solid #5eead42e;border-radius:13px;background:var(--surface-background)}.vpn-group-editor-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}.vpn-group-editor-toolbar input{width:100%;min-width:0;min-height:40px;padding:6px 9px;border:1px solid #5eead433;border-radius:10px;color:var(--text-color);background:var(--input-background);font-size:16px}.vpn-group-editor-toolbar button{min-height:40px;padding:6px 10px;color:#fda4af;background:#4c051933;font-size:12px;text-align:center}.vpn-group-editor-note{margin:7px 2px;color:var(--muted-text);font-size:12px}.vpn-group-options{display:grid;flex:1 1 auto;align-content:start;gap:5px;min-height:0;overflow:auto;overscroll-behavior:contain}.vpn-group-options>button{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;min-width:0;min-height:48px;padding:7px 9px;border-color:#5eead422;color:var(--secondary-text);background:var(--input-background);text-align:left}.vpn-group-options>button.selected{border-color:#2dd4bf88;color:#ccfbf1;background:#0f766e55}.vpn-group-options>button>span:last-child{min-width:0}.vpn-group-options strong,.vpn-group-options small{display:block;overflow:visible;overflow-wrap:anywhere;white-space:normal}.vpn-group-options strong{font-size:12px}.vpn-group-options small{margin-top:3px;color:var(--muted-text);font-size:12px}.vpn-group-check{display:grid;width:23px;height:23px;place-items:center;border:1px solid #5eead455;border-radius:7px;color:#05201b;background:#071b1777;font-size:12px;font-weight:900}.vpn-group-options>button.selected .vpn-group-check{background:#5eead4}.vpn-group-editor-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px;padding-top:8px;border-top:1px solid #5eead422}.vpn-group-editor-actions small{overflow:hidden;color:var(--muted-text);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.vpn-group-editor-actions button{min-height:40px;padding:6px 10px;color:#05201b;background:#5eead4;font-size:12px;font-weight:800;text-align:center}.vpn-group-editor-actions button:disabled{color:var(--muted-text);background:#33413e}.vpn-route-editor input,.vpn-route-editor textarea{width:100%;min-width:0;border:1px solid #5eead433;border-radius:9px;color:var(--text-color);background:var(--input-background);font-size:16px}.workspace-fullscreen-error{position:absolute;right:12px;bottom:12px;left:12px;z-index:3;max-width:736px;margin:auto;padding:8px 10px;border:1px solid #fb718555;border-radius:9px;color:#fecdd3;background:#4c0519ee;font-size:12px}.vpn-route-editor-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.vpn-route-editor-heading strong,.vpn-route-editor-heading small{display:block}.vpn-route-editor-heading>div{min-width:0}.vpn-route-editor-heading>div>strong{color:var(--text-color);font-size:12px}.vpn-route-editor-heading small{margin-top:2px;color:var(--muted-text);font-size:12px}.vpn-route-editor-heading>span{flex:0 0 auto;padding:3px 6px;border-radius:999px;color:#99f6e4;background:#0f766e33;font-size:12px;white-space:nowrap}.vpn-route-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:7px}.vpn-route-modes button{min-width:0;min-height:48px;padding:5px 4px;border-color:#5eead422;color:var(--secondary-text);background:var(--input-background)}.vpn-route-modes button strong,.vpn-route-modes button small{display:block;overflow:hidden;text-overflow:ellipsis}.vpn-route-modes button strong{font-size:12px;white-space:nowrap}.vpn-route-modes button small{margin-top:3px;color:var(--muted-text);font-size:12px;line-height:1.25;white-space:normal}.vpn-route-modes button.active{border-color:#2dd4bf99;color:#ccfbf1;background:#0f766e66;box-shadow:inset 0 0 0 1px #2dd4bf33}.vpn-route-inherit-note{display:grid;flex:1 1 auto;margin:8px 0 0;padding:12px;place-items:center;border:1px dashed #5eead444;border-radius:10px;color:var(--secondary-text);background:#0f766e1a;font-size:12px;text-align:center}.vpn-route-section-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-top:7px}.vpn-route-section-tabs button{display:flex;min-width:0;min-height:40px;padding:5px 8px;align-items:center;justify-content:space-between;gap:6px;border-color:#5eead422;color:var(--secondary-text);background:var(--input-background);text-align:left}.vpn-route-section-tabs button strong,.vpn-route-section-tabs button small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vpn-route-section-tabs button strong{font-size:12px}.vpn-route-section-tabs button small{color:var(--muted-text);font-size:12px}.vpn-route-section-tabs button.active{border-color:#2dd4bf99;color:#ccfbf1;background:#0f766e66}.vpn-route-section-tabs button.active small{color:#99f6e4}.vpn-route-list{display:flex;flex:1 1 0;min-height:0;margin-top:7px;padding:6px;border:1px solid #5eead422;border-radius:10px;flex-direction:column;overflow:hidden;background:#020d0b33}.vpn-route-list>header{display:flex;align-items:center;justify-content:space-between;gap:7px}.vpn-route-list>header>div{min-width:0}.vpn-route-list>header strong,.vpn-route-list>header small{display:block}.vpn-route-list>header strong{color:var(--text-color);font-size:12px}.vpn-route-list>header small{margin-top:2px;overflow:hidden;color:var(--muted-text);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.vpn-route-list>header>span{flex:0 0 auto;color:#6ee7b7;font-size:12px;white-space:nowrap}.vpn-route-items{display:grid;flex:1 1 auto;align-content:start;gap:4px;min-height:42px;margin-top:5px;overflow:auto;overscroll-behavior:contain}.vpn-route-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px;min-width:0}.vpn-route-item input{min-height:40px;padding-block:3px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:16px}.vpn-route-item button{min-height:40px;padding:4px 7px;color:#fda4af;background:#4c051933;font-size:12px}.vpn-route-empty{display:grid;min-height:42px;margin:0;place-items:center;color:var(--muted-text);font-size:12px}.vpn-route-add{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px;margin-top:5px}.vpn-route-add textarea{min-height:44px;max-height:64px;padding-block:5px;resize:none;line-height:1.25}.vpn-route-add button{min-height:44px;padding:4px 8px;color:#05201b;background:#5eead4;font-size:12px;font-weight:800}.vpn-route-validation{margin:4px 0 0;color:#fda4af;font-size:12px}.vpn-route-save{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;margin-top:7px;padding-top:7px;border-top:1px solid #5eead422}.vpn-route-save small{overflow:hidden;color:var(--muted-text);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.vpn-route-save button{min-height:40px;padding:5px 9px;color:#05201b;background:#5eead4;font-size:12px;font-weight:800}.vpn-route-save button:disabled{color:var(--muted-text);background:#33413e}:root[data-theme=light] .vpn-route-editor-heading>div>strong,:root[data-theme=light] .vpn-route-list>header strong,:root[data-theme=light] .vpn-route-item input,:root[data-theme=light] .vpn-route-add textarea{color:#12332d}:root[data-theme=light] .vpn-route-modes button.active{color:#0f4f46;background:#99f6e466}:root[data-theme=light] .vpn-route-section-tabs button.active{color:#0f4f46;background:#99f6e466}:root[data-theme=light] .vpn-route-section-tabs button.active small{color:#35665d}:root[data-theme=light] .vpn-route-modes button.active small{color:#35665d}:root[data-theme=light] .vpn-route-item input::placeholder,:root[data-theme=light] .vpn-route-add textarea::placeholder{color:#66847d;opacity:1}:root[data-theme=light] .vpn-route-item button{color:#be123c;background:#fff1f2}.vpn-danger-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.vpn-danger-actions button{min-height:40px;padding:5px 7px;font-size:12px;text-align:center}.vpn-danger-actions button.danger,.vpn-confirm-panel button.danger{color:#fff1f2;background:#be123c;font-weight:800}.vpn-inline-action{min-height:40px;margin-top:4px;padding:3px 7px;color:#fda4af;font-size:12px;text-align:center}.vpn-ban-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px;border:1px solid #5eead41c;border-radius:11px;background:var(--surface-background)}.vpn-ban-row strong,.vpn-ban-row small{display:block}.vpn-ban-row small{margin-top:3px;color:var(--muted-text);font-size:12px}.vpn-ban-row button{min-height:40px;padding:4px 8px;font-size:12px;text-align:center}.vpn-workspace-error{position:absolute;right:12px;bottom:12px;left:12px;z-index:4;padding:7px 9px;border:1px solid #fb718555;border-radius:9px;color:#fecdd3;background:#4c0519ee;font-size:12px}.admin-panel--vpn{position:relative}.vpn-password-panel,.vpn-confirm-panel{position:absolute;right:10px;bottom:10px;left:10px;z-index:5;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:6px;padding:9px;border:1px solid #fbbf2466;border-radius:11px;background:#292012f5;box-shadow:0 12px 35px #0008}.vpn-password-panel strong,.vpn-password-panel small,.vpn-password-panel code,.vpn-confirm-panel strong,.vpn-confirm-panel small{display:block;min-width:0}.vpn-password-panel small,.vpn-confirm-panel small{margin-top:2px;color:#fde68a;font-size:12px}.vpn-password-panel code{max-width:100%;margin-top:5px;overflow:visible;overflow-wrap:anywhere;color:#fff;font-size:12px;white-space:normal}.vpn-password-panel button,.vpn-confirm-panel button{min-height:40px;padding:5px 8px;font-size:12px;text-align:center}.admin-panel--firewall{display:flex;min-height:0;flex-direction:column;overflow:hidden!important;padding:10px}.firewall-section{display:flex;flex:1 1 auto;flex-direction:column;gap:6px;min-width:0;min-height:0;overflow:hidden}.firewall-section--editing{position:fixed;inset:var(--app-visible-top, 0px) 0 auto;z-index:50;grid-template-rows:auto auto minmax(0,1fr);width:100%;height:var(--app-visible-height, 100dvh);padding:max(10px,var(--app-safe-top)) max(10px,var(--app-safe-right)) max(10px,var(--app-safe-bottom)) max(10px,var(--app-safe-left));background:var(--page-background)}.firewall-section--editing>.firewall-page-toolbar,.firewall-section--editing>.firewall-resource-tabs,.firewall-section--editing>.firewall-tabs{display:none}.firewall-section--editing>.firewall-workflow,.firewall-section--editing>.firewall-workspace-content{width:min(100%,1100px);margin-inline:auto}.firewall-section--editing>.firewall-workflow{padding:7px 9px;border:1px solid #5eead422;border-radius:11px;background:var(--surface-background)}.firewall-section--editing>.firewall-workspace-content{border:1px solid #5eead422;border-radius:13px;background:var(--surface-background)}.firewall-section--editing .firewall-form{grid-template-columns:minmax(0,1fr);padding:10px}.firewall-section--editing .firewall-plan{margin:0;border:0;border-radius:13px}.firewall-page-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:7px;min-width:0}.firewall-page-toolbar>div:first-child{min-width:0}.firewall-page-toolbar .eyebrow{margin-bottom:3px;font-size:12px}.firewall-page-toolbar strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.firewall-toolbar-meta{display:flex;align-items:center;justify-content:flex-end;gap:4px}.firewall-toolbar-meta span{padding:4px 6px;border:1px solid #2dd4bf44;border-radius:999px;color:#6ee7b7;background:#0f766e22;font-size:12px;font-weight:800;white-space:nowrap}.firewall-page-toolbar .compact-button{min-height:40px;padding:5px 8px;font-size:12px}.firewall-tabs{display:flex;min-width:0;gap:6px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none}.firewall-resource-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.firewall-resource-tabs button{min-height:40px;padding:5px 8px;font-size:12px;text-align:center}.firewall-resource-tabs button.active{border-color:#2dd4bf88;color:var(--link-text);background:#0f766e33;font-weight:800}.firewall-tabs::-webkit-scrollbar{display:none}.firewall-tabs button{flex:1 0 96px;min-height:40px;padding:6px 7px;font-size:12px;text-align:center;white-space:nowrap}.firewall-workflow{min-width:0;padding-top:5px;border-top:1px solid #5eead422}.firewall-workflow-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.firewall-workflow-heading .eyebrow{display:none}.firewall-workflow-heading h3{font-size:13px}.firewall-workflow-heading small{color:#6ee7b7;font-size:12px;font-weight:800}.firewall-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:5px 0 0;padding:0;list-style:none}.firewall-steps li{display:flex;align-items:center;justify-content:center;gap:3px;min-width:0;min-height:40px;padding:4px 2px;border:1px solid #64748b33;border-radius:9px;color:var(--muted-text);background:var(--surface-background);font-size:12px;font-weight:700;white-space:nowrap}.firewall-steps li span{display:grid;width:16px;height:16px;place-items:center;border-radius:50%;background:#334155;font-size:12px}.firewall-steps li.active{border-color:#2dd4bf77;color:#99f6e4;background:#0f766e33}.firewall-steps li.active span,.firewall-steps li.done span{color:#052e2b;background:#5eead4}.firewall-steps li.done{color:#5eead4}.firewall-workspace-content{flex:1 1 auto;display:flex;min-width:0;min-height:0;flex-direction:column;overflow:hidden}.firewall-members{display:grid;flex:1 1 auto;align-content:start;gap:6px;min-height:0;padding:2px;overflow:auto;overscroll-behavior:contain}.firewall-member{display:grid;grid-template-columns:minmax(0,1fr) minmax(112px,auto);gap:8px;align-items:center;min-width:0;padding:9px 10px;border:1px solid #5eead41c;border-radius:12px;background:var(--surface-background)}.firewall-member-main,.firewall-member-side{min-width:0}.firewall-member strong,.firewall-member small{display:block}.firewall-member strong{overflow-wrap:anywhere;font-size:14px;line-height:1.4}.firewall-member small{margin-top:3px;overflow:visible;overflow-wrap:anywhere;color:var(--muted-text);font-size:12px;white-space:normal}.firewall-member-side{text-align:right}.firewall-member-side>span{display:block;overflow:visible;overflow-wrap:anywhere;color:var(--text-color);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;white-space:normal}.firewall-member-side>small{font-size:12px}.firewall-member-actions{display:flex;justify-content:flex-end;gap:5px;margin-top:5px}.firewall-member-actions button{min-width:44px;min-height:40px;padding:3px 7px;color:var(--link-text);font-size:12px;text-align:center}.firewall-member-actions button.danger{color:#fda4af}.firewall-domain-entry{grid-template-columns:minmax(0,1fr) auto}.firewall-domain-entry>.firewall-member-actions{margin-top:0}.firewall-form{display:grid;flex:1 1 auto;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:7px;min-width:0;min-height:0;padding:2px 2px 0;overflow:auto;overscroll-behavior:contain}.firewall-form label{display:grid;min-width:0;gap:3px;color:var(--secondary-text);font-size:12px}.firewall-form input,.firewall-form select{width:100%;min-width:0;min-height:40px;padding:6px 8px;overflow:hidden;border:1px solid #5eead433;border-radius:10px;color:var(--text-color);background:var(--input-background);font-size:16px;text-overflow:ellipsis}.firewall-form input[readonly]{color:var(--muted-text);cursor:default;opacity:.82}.dns-batch-editor{display:grid;grid-column:1 / -1;gap:7px;min-width:0}.dns-batch-heading,.dns-batch-row-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.dns-batch-heading>div{min-width:0}.dns-batch-heading strong,.dns-batch-heading small{display:block}.dns-batch-heading strong{font-size:12px}.dns-batch-heading small{margin-top:2px;color:var(--muted-text);font-size:12px}.dns-batch-heading button{min-height:40px;padding:5px 8px;color:var(--link-text);font-size:12px;white-space:nowrap}.dns-batch-row{display:grid;grid-template-columns:106px repeat(2,minmax(0,1fr));gap:6px;min-width:0;padding:8px;border:1px solid #5eead433;border-radius:11px;background:var(--surface-background)}.dns-batch-row.has-error{border-color:#fb7185;background:#8813371f;box-shadow:0 0 0 1px #fb718533 inset}.dns-batch-row.has-error .dns-batch-target input,.dns-batch-row.has-error .dns-batch-current select{border-color:#fb7185}.dns-batch-row-heading{grid-column:1 / -1}.dns-batch-row-heading strong{font-size:12px}.dns-batch-row-heading button{min-height:40px;padding:3px 7px;color:#fda4af;font-size:12px}.dns-batch-description{grid-column:1 / -1}.dns-batch-row-error{grid-column:1 / -1;padding:5px 7px;border-radius:7px;color:#fecdd3;background:#9f12394d;font-size:12px;font-weight:700;line-height:1.35;overflow-wrap:anywhere}.firewall-form-actions{position:sticky;bottom:0;z-index:2;grid-column:1 / -1;padding-top:7px;background:linear-gradient(180deg,transparent,var(--page-background) 30%)}.firewall-form-actions button{width:100%;min-height:40px}.preview-button{color:#05201b;background:#5eead4;font-weight:800;text-align:center}.firewall-plan{display:flex;flex:1 1 auto;min-width:0;min-height:0;flex-direction:column;margin-top:2px;padding:10px 10px 0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;border:1px solid #fbbf2444;border-radius:13px;background:#42200633}.firewall-plan-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px}.firewall-summary-disclosure{min-width:0;margin-top:5px}.firewall-summary-disclosure summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:6px;cursor:pointer;list-style:none}.firewall-summary-disclosure summary::-webkit-details-marker{display:none}.firewall-summary-disclosure summary>span{display:-webkit-box;min-width:0;overflow:hidden;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:13px;font-weight:800;line-height:1.16}.firewall-summary-disclosure summary>small:before{content:"展开";color:#fcd34d;font-size:12px;font-weight:800;white-space:nowrap}.firewall-summary-disclosure[open] summary>small:before{content:"收起"}.firewall-summary-disclosure>p{margin-top:6px;padding:7px 8px;overflow-wrap:anywhere;border:1px solid #fbbf2433;border-radius:8px;color:#d6d3d1;background:#1f171077;font-size:12px;line-height:1.4}.firewall-plan-heading>strong{color:#fde68a;font-size:12px;white-space:nowrap}.dry-run-badge{color:#fcd34d;font-size:12px;font-weight:900;letter-spacing:.8px}.plan-status{display:block;margin-top:4px;color:#fde68a;font-size:12px}.firewall-plan-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:7px}.firewall-plan-summary span{min-width:0;padding:6px 7px;border:1px solid #fbbf2433;border-radius:9px;background:#1f171077}.firewall-plan-summary small,.firewall-plan-summary strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.firewall-plan-summary small{color:#a8a29e;font-size:12px}.firewall-plan-summary strong{margin-top:2px;color:#fde68a;font-size:12px}.firewall-plan-meta{margin-top:7px;padding:6px 8px;border:1px solid #fbbf2422;border-radius:9px;color:#a8a29e;font-size:12px}.firewall-plan-meta summary{cursor:pointer;color:#d6d3d1;font-weight:700}.firewall-plan-meta>small{display:block;margin-top:6px;overflow-wrap:anywhere}.firewall-plan-actors{display:flex;flex-wrap:wrap;gap:3px 8px;overflow-wrap:anywhere;color:var(--secondary-text);font-size:12px}.firewall-plan-meta .firewall-plan-actors{margin-top:4px}.firewall-remove-impact{display:grid;gap:3px;margin-top:7px;padding:7px 8px;border:1px solid #fb718566;border-radius:9px;color:#fecdd3;background:#4c051933;font-size:12px;line-height:1.35}.firewall-remove-impact.shared{border-color:#fbbf2466;color:#fde68a;background:#42200633}.firewall-plan-steps{margin:7px 0;padding-left:18px;color:#d6d3d1;font-size:12px;line-height:1.35}.firewall-plan p{margin:0;color:#fcd34d;font-size:12px;line-height:1.35}.firewall-plan-actions{position:sticky;bottom:0;z-index:2;display:grid;grid-template-columns:.72fr 1.28fr;gap:7px;margin-top:auto;padding:7px 0 9px;background:linear-gradient(180deg,transparent,#25160f 24%)}.firewall-plan-actions button{min-height:40px;text-align:center}.secondary-button{color:var(--secondary-text);background:var(--surface-background)}.confirm-plan-button{width:100%;margin-top:0;border-color:#fbbf2466;color:#fde68a;background:#713f1233;font-weight:800;text-align:center}.firewall-plan-list{display:grid;flex:1 1 auto;align-content:start;gap:6px;min-height:0;padding:2px;overflow:auto;overscroll-behavior:contain}.firewall-plan-list-heading{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 2px;background:var(--page-background)}.firewall-plan-list-heading h3{font-size:13px}.firewall-plan-list-heading>span{color:#99f6e4;font-size:12px}.firewall-plan-filters{position:sticky;top:28px;z-index:1;display:grid;grid-template-columns:minmax(92px,.55fr) minmax(0,1.45fr);gap:5px;padding:0 2px 5px;background:var(--page-background)}.firewall-plan-filters input,.firewall-plan-filters select{width:100%;min-width:0;min-height:40px;padding:5px 7px;border:1px solid #5eead433;border-radius:9px;color:var(--text-color);background:var(--input-background);font-size:16px}.firewall-plan-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(78px,auto);align-items:center;gap:8px;min-width:0;min-height:58px;padding:7px 9px;overflow:hidden;background:var(--surface-background)}.firewall-plan-row span{min-width:0}.firewall-plan-row strong,.firewall-plan-row small,.firewall-plan-row b{display:block;overflow:visible;overflow-wrap:anywhere;white-space:normal}.firewall-plan-row strong{color:#d5f5ee;font-size:12px}.firewall-plan-row-main>strong b{display:inline;margin-right:4px;color:#5eead4}.firewall-plan-row small{margin-top:3px;color:var(--muted-text);font-size:12px}.firewall-plan-row-status{text-align:right}.firewall-plan-row-status b{max-width:112px;padding:3px 5px;border-radius:999px;color:#fde68a;background:#f59e0b22;font-size:12px}.firewall-plan-row-status b.status-committed{color:#6ee7b7;background:#10b98122}.firewall-plan-row-status b.status-executing{color:#7dd3fc;background:#0ea5e922}.firewall-plan-row-status b.status-apply_failed,.firewall-plan-row-status b.status-commit_failed,.firewall-plan-row-status b.status-rollback_failed,.firewall-plan-row-status b.status-commit_unknown{color:#fda4af;background:#e11d4822}.firewall-execute-form{display:grid;min-width:0;gap:7px;margin-top:auto;padding:8px;overflow:hidden;border:1px solid #fb718566;border-radius:10px;background:#4c051933}.firewall-execute-form button{width:100%;max-width:100%;min-height:40px;color:#fff1f2;background:#be123c;font-weight:900;text-align:center;white-space:normal}.firewall-execution-path,.firewall-progress-stages{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:4px}.firewall-execution-path span,.firewall-progress-stages span{min-width:0;padding:6px 3px;border:1px solid #fb718544;border-radius:8px;text-align:center;background:#1f071077}.firewall-execution-path b,.firewall-execution-path small,.firewall-progress-stages b,.firewall-progress-stages small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.firewall-execution-path b{color:#fff1f2;font-size:12px}.firewall-execution-path small{margin-top:2px;color:#fda4af;font-size:12px}.firewall-execution-path i,.firewall-progress-stages i{color:#fb7185;font-style:normal}.firewall-execution-ack{display:flex;align-items:center;gap:7px;min-width:0;padding:7px 8px;border:1px solid #fb718555;border-radius:9px;color:#fecdd3;background:#1f071077;font-size:12px;line-height:1.3}.firewall-execution-ack input{flex:0 0 auto;width:18px;height:18px;margin:0;accent-color:#fb7185}.firewall-execution-ack span{min-width:0;overflow-wrap:anywhere}.firewall-live-progress{min-width:0;margin-top:7px;padding:9px;overflow:hidden;border:1px solid #38bdf866;border-radius:10px;background:#082f4966}.firewall-progress-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.firewall-progress-heading strong,.firewall-progress-heading small{display:block}.firewall-progress-heading strong{color:#e0f2fe;font-size:12px}.firewall-progress-heading small{margin-top:2px;color:#7dd3fc;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.firewall-progress-heading>b{flex:0 0 auto;color:#7dd3fc;font-size:12px}.firewall-progress-stages{margin-top:7px}.firewall-progress-stages span{border-color:#64748b55;background:#0f172a66}.firewall-progress-stages b{color:#e2e8f0;font-size:12px}.firewall-progress-stages small{margin-top:2px;color:#94a3b8;font-size:12px}.firewall-progress-stages i{color:#38bdf8}.firewall-progress-stages span.running,.firewall-progress-stages span.submitted{border-color:#38bdf888;background:#0369a144}.firewall-progress-stages span.success{border-color:#34d39988;background:#04785744}.firewall-progress-stages span.failed,.firewall-progress-stages span.unknown{border-color:#fb718588;background:#9f123944}.firewall-progress-track{height:6px;margin-top:7px;overflow:hidden;border-radius:999px;background:#0f172a}.firewall-progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2dd4bf,#38bdf8);transition:width .35s ease}.firewall-live-progress>small{display:block;margin-top:6px;color:#7dd3fc;font-size:12px}.firewall-live-progress>p{margin-top:6px;color:#fecdd3}.firewall-readonly-warning{margin-top:7px!important;padding:8px;border:1px solid #f59e0b55;border-radius:9px;background:#78350f33}.firewall-reconcile,.firewall-new-change{position:sticky;bottom:0;z-index:2;min-height:40px;margin-top:7px}.firewall-new-change{width:100%;text-align:center}:root[data-theme=light] .eyebrow,:root[data-theme=light] .role-badge,:root[data-theme=light] .online,:root[data-theme=light] .dashboard-heading>span,:root[data-theme=light] .dashboard-subheading>span,:root[data-theme=light] .dashboard-scope strong,:root[data-theme=light] .dashboard-recent-operations article>span,:root[data-theme=light] .vpn-account-heading>span,:root[data-theme=light] .config-heading>span,:root[data-theme=light] .help-heading>span,:root[data-theme=light] .role-message,:root[data-theme=light] .vpn-binding-form .form-heading>span,:root[data-theme=light] .user-search-heading>span,:root[data-theme=light] .audit-heading>span,:root[data-theme=light] .audit-result span,:root[data-theme=light] .compact-button,:root[data-theme=light] .firewall-group-heading strong,:root[data-theme=light] .firewall-group-heading>span,:root[data-theme=light] .firewall-plan-list-heading>span{color:var(--tg-theme-link-color, #0f766e)}:root[data-theme=light] .help-steps strong,:root[data-theme=light] .help-faq strong,:root[data-theme=light] .firewall-plan-row strong{color:var(--text-color)}:root[data-theme=light] .firewall-plan-meta,:root[data-theme=light] .firewall-plan-actors{color:#78716c}:root[data-theme=light] .firewall-plan-meta summary,:root[data-theme=light] .firewall-plan-steps{color:#57534e}:root[data-theme=light] .dashboard-note,:root[data-theme=light] .config-pending,:root[data-theme=light] .help-security,:root[data-theme=light] .firewall-form-heading>span,:root[data-theme=light] .firewall-plan-heading>strong,:root[data-theme=light] .dry-run-badge,:root[data-theme=light] .firewall-plan p,:root[data-theme=light] .plan-status{color:#92400e}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:480px){input,select,textarea{font-size:16px}.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.role-form,.vpn-binding-form,.vpn-account-metrics,.node-summary,.help-faq,.vpn-metrics{grid-template-columns:1fr}.user-directory-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.user-directory-controls input{grid-column:1 / -1}.user-vpn-binding{grid-template-columns:minmax(0,1fr) auto auto}.user-vpn-binding>div{grid-column:1 / -1}.welcome-panel{align-items:center;gap:10px}.vpn-heading,.session-row,.firewall-member,.firewall-plan-heading{align-items:flex-start}.vpn-workspace-header{grid-template-columns:minmax(0,1fr) auto}.dns-batch-row{grid-template-columns:repeat(2,minmax(0,1fr))}.dns-batch-row>label:first-of-type,.dns-batch-description{grid-column:1 / -1}.vpn-workspace-metrics{grid-column:1 / -1;grid-row:2}.dashboard-metrics small{min-height:0}}@media(max-width:360px){.user-workspace-metrics span:last-child{display:none}.user-role-editor{grid-template-columns:1fr}.permission-item{grid-template-columns:auto minmax(0,1fr)}.permission-item em{grid-column:2;justify-self:start}.firewall-toolbar-meta span:last-child{display:none}.firewall-member{grid-template-columns:minmax(0,1fr) 106px;padding-inline:8px}.firewall-tabs button{flex-basis:88px}.vpn-create-editor-actions{grid-template-columns:1fr}.vpn-create-editor-actions small{white-space:normal}}@media(max-height:680px){.shell{padding-top:max(8px,var(--app-safe-top));padding-bottom:max(8px,var(--app-safe-bottom))}.hero{margin-bottom:7px}.brand-mark{width:36px;height:36px}.hero h1{font-size:19px}.panel{padding:11px}.admin-panel--firewall,.admin-panel--users{padding:8px}.user-workspace{gap:5px}.user-workspace-header .eyebrow,.permission-matrix-heading .eyebrow{display:none}.user-editor-scroll{gap:5px;padding-block:5px}.permission-group{margin-top:3px}.permission-group summary{padding-block:6px}.permission-item{padding-block:5px}.permission-item small,.firewall-page-toolbar .eyebrow{display:none}.firewall-steps{margin-top:0}.firewall-form{gap:5px}.vpn-detail-scroll{gap:5px;padding-block:4px}.workspace-fullscreen-header{margin-bottom:4px}.vpn-create-editor{padding:7px}.vpn-create-identity{margin-bottom:5px}.vpn-create-editor .vpn-group-editor-note{margin-block:4px}.vpn-route-workspace .vpn-route-editor{padding:7px}.welcome-panel .eyebrow,.actions-panel>h3{display:none}.action-list{margin-top:0}}.platform-menu{position:relative;margin-left:auto;font-size:12px}.platform-menu summary{cursor:pointer;list-style:none;min-height:44px;display:flex;align-items:center;padding:0 9px;border:1px solid #7c8aab55;border-radius:8px}.platform-menu nav{position:absolute;right:0;top:100%;min-width:170px;padding:6px;border:1px solid #7c8aab55;border-radius:10px;background:#17213a;color:#edf2ff;z-index:90;box-shadow:0 10px 30px #0004}.platform-menu a,.platform-menu span{display:block;padding:12px;color:inherit;text-decoration:none;border-radius:6px}.platform-menu span{background:#7c6cf133}:root[data-theme=light] .platform-menu nav{background:#fff;color:#263652}.hero .platform-menu+.role-badge{margin-left:0}@media(max-width:430px){.hero .role-badge{max-width:76px;overflow-wrap:anywhere}.hero .eyebrow{display:none}}.service-menu-button{margin-left:auto;min-height:40px;padding:5px 10px;font-size:12px}.service-launcher{width:100%;max-width:920px;margin:0 auto}.service-identity{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 0 16px;border-bottom:1px solid #8090ab33}.service-identity strong,.service-identity small{display:block}.service-identity strong{font-size:15px}.service-identity small{font-size:11px;opacity:.65;margin-top:3px}.service-identity>span{font-size:11px;color:#2dd4bf;white-space:nowrap}.service-heading{padding:18px 0 12px}.service-heading h2{font-size:19px;margin:0}.service-heading p{font-size:12px;opacity:.65;margin:5px 0 0}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.service-card{display:flex;flex-direction:column;align-items:flex-start;gap:14px;min-height:195px;padding:20px;text-align:left;border:1px solid #8597b633;border-radius:16px;background:#18233a;color:inherit}.service-icon{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:12px;background:#8b5cf622;color:#a78bfa}.service-icon svg{width:28px;height:28px}.service-card--firewall .service-icon{background:#f59e0b22;color:#fbbf24}.service-card--aws .service-icon{background:#3b82f622;color:#60a5fa}.service-card-text strong,.service-card-text small{display:block}.service-card-text strong{font-size:17px}.service-card-text small{margin-top:5px;font-size:12px;font-weight:400;opacity:.65;line-height:1.5}.service-card-state{font-size:12px;opacity:.75}.service-card:disabled{opacity:.5;cursor:default}.service-card:not(:disabled):hover{border-color:#a78bfa}.service-card:focus-visible{outline:3px solid #a78bfa;outline-offset:3px}:root[data-theme=light] .service-card{background:#fff;box-shadow:0 5px 20px #21385208}:root[data-theme=light] .service-identity>span{color:#087f72}:root[data-theme=light] .service-card--aws .service-icon{color:#2563eb}:root[data-theme=light] .service-card--firewall .service-icon{color:#b66d09}@media(max-width:700px){.service-grid{grid-template-columns:1fr;gap:10px}.service-card{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;min-height:96px;padding:15px;gap:12px;border-radius:13px}.service-card-text strong{font-size:16px}.service-card-text small{font-size:11px}.service-card-state{font-size:11px;white-space:nowrap}.service-heading{padding:14px 0 12px}.service-identity{padding:10px 0 13px}.hero .service-menu-button+.role-badge{margin-left:0}}:root{--app-safe-top: calc(max(env(safe-area-inset-top, 0px), var(--host-system-top, 0px)) + var(--host-content-top, 0px));--app-safe-right: calc(max(env(safe-area-inset-right, 0px), var(--host-system-right, 0px)) + var(--host-content-right, 0px));--app-safe-bottom: calc(max(env(safe-area-inset-bottom, 0px), var(--host-system-bottom, 0px)) + var(--host-content-bottom, 0px));--app-safe-left: calc(max(env(safe-area-inset-left, 0px), var(--host-system-left, 0px)) + var(--host-content-left, 0px))}.shell--management{width:min(1680px,100%)}.hero{min-height:46px}.hero .back-button{min-height:44px;padding:6px 10px;flex:0 0 auto}.hero .eyebrow{display:none}.hero h1,.hero--compact h1{font-size:16px}.hero .role-badge{max-width:140px;overflow-wrap:anywhere;font-size:11px}.workspace-header{display:grid;flex:0 0 auto;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding-bottom:8px;border-bottom:1px solid #8090ab26}.workspace-context{min-width:0}.workspace-context strong{display:block;font-size:14px;line-height:1.4;overflow-wrap:anywhere;white-space:normal}.workspace-context small{display:block;margin-top:3px;font-size:12px;color:var(--secondary-text)}.workspace-status{min-width:0}.workspace-header .compact-button{min-height:40px;font-size:13px;text-align:center}.workspace-count,.vpn-workspace-metrics span{display:inline-block;padding:4px 7px;border-radius:8px;color:var(--secondary-text);background:#0f766e1a;font-size:12px}.workspace-tabs{display:flex;flex:0 0 auto;gap:6px;min-width:0}.workspace-tabs button{flex:1 1 0;min-width:0;min-height:44px;padding:7px 8px;font-size:13px;text-align:center;white-space:normal}.workspace-tabs button.active{border-color:#0f766e88;background:#0f766e22;color:var(--link-text);font-weight:700}.workspace-loading,.workspace-result{flex:0 0 auto;margin:0;padding:6px 2px;color:var(--secondary-text);font-size:12px;line-height:1.4}.workspace-loading{color:var(--link-text)}.vpn-workspace,.firewall-section{gap:8px}.vpn-account-row,.vpn-group-row{min-height:70px;padding:10px 12px;background:var(--surface-background)}.vpn-account-row strong,.vpn-group-row strong{font-size:14px}.vpn-account-row.selected,.vpn-group-row.selected{border-color:#0f766e99;background:#0f766e22}.vpn-directory-controls button,.vpn-detail-scroll form button{min-height:44px;font-size:13px}.vpn-directory-controls input,.vpn-detail input{min-height:44px}.vpn-detail{padding:12px;border:1px solid #8090ab26;border-radius:12px;background:var(--surface-background)}.vpn-detail-header strong{font-size:15px}.vpn-detail-scroll{gap:10px}.vpn-detail-scroll label{font-size:13px}.vpn-route-summary,.vpn-group-summary{padding:12px}.vpn-route-summary strong,.vpn-group-summary strong{font-size:14px}.vpn-create-editor,.vpn-group-editor,.vpn-route-workspace .vpn-route-editor{padding:12px;gap:8px}.vpn-create-editor-actions small,.vpn-group-editor-actions small,.vpn-route-save small{overflow:visible;white-space:normal;line-height:1.5}.vpn-route-items{gap:8px}.vpn-route-list{padding:10px}.vpn-route-modes button strong{font-size:13px}.vpn-route-modes button small{font-size:11px}.vpn-route-item input,.vpn-route-item button{min-height:44px}.vpn-group-options>button{min-height:58px}.vpn-password-panel,.vpn-confirm-panel{position:relative;inset:auto;flex:0 0 auto;padding:12px;background:#292012;box-shadow:none}.vpn-password-panel strong,.vpn-confirm-panel strong{font-size:14px}.vpn-confirm-panel p{margin:5px 0 0;font-size:12px;color:#fde68a;line-height:1.5}.vpn-workspace-error,.workspace-fullscreen-error{position:relative;inset:auto;flex:0 0 auto;width:100%;max-width:1100px;margin:6px auto 0;font-size:13px}.workspace-fullscreen-header{flex:0 0 auto}.workspace-fullscreen-header strong{font-size:15px}.workspace-fullscreen-header button{min-height:44px}.firewall-page-toolbar strong{white-space:normal;overflow-wrap:anywhere}.firewall-members,.firewall-plan-list{gap:10px}.firewall-member{padding:12px;gap:12px}.firewall-member-side>span{font-size:14px}.firewall-member-actions button{min-height:40px;min-width:52px;font-size:13px}.firewall-form{gap:12px}.firewall-form label{font-size:13px;gap:6px}.firewall-form input,.firewall-form select{min-height:44px}.firewall-form-actions{padding-top:10px}.firewall-section--editing .firewall-form{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px}.firewall-field--member,.firewall-field--current,.firewall-field--description{grid-column:1 / -1}.dns-batch-row{gap:10px;padding:12px}.dns-batch-heading{align-items:flex-start}.dns-batch-heading small{line-height:1.5}.firewall-plan{padding:12px}.firewall-plan-heading{grid-template-columns:minmax(0,1fr)}.firewall-plan-heading>strong{display:none}.firewall-plan-summary strong{font-size:14px}.firewall-execution-path small,.firewall-progress-stages small{white-space:normal;overflow:visible;font-size:11px;line-height:1.4}.firewall-execution-ack{min-height:48px;padding:10px;font-size:13px;line-height:1.5}.firewall-summary-disclosure summary>span{line-height:1.4;font-size:15px}.firewall-plan-row{padding:12px;grid-template-columns:minmax(0,1fr) minmax(100px,.3fr)}.firewall-plan-row strong{font-size:14px}.firewall-plan-row-status b{max-width:none}.firewall-plan-list-heading,.firewall-plan-filters{position:static}.workspace-fullscreen-header h3{margin:0;font-size:15px}:root[data-theme=light] .vpn-password-panel,:root[data-theme=light] .vpn-confirm-panel{background:#fff8e8;color:#70430d}:root[data-theme=light] .vpn-confirm-panel small,:root[data-theme=light] .vpn-confirm-panel p,:root[data-theme=light] .vpn-password-panel small,:root[data-theme=light] .vpn-password-panel code{color:#70430d}:root[data-theme=light] .firewall-execution-path span,:root[data-theme=light] .firewall-execution-ack{background:#fff1f2;color:#881337}:root[data-theme=light] .firewall-execution-path b,:root[data-theme=light] .firewall-execution-path small{color:#881337}:root[data-theme=light] .firewall-plan-summary span,:root[data-theme=light] .firewall-summary-disclosure>p{background:#fff8e8}:root[data-theme=light] .firewall-plan-summary strong,:root[data-theme=light] .firewall-plan-summary small{color:#70430d}:root[data-theme=light] .firewall-live-progress{background:#eff8ff}:root[data-theme=light] .firewall-progress-heading strong,:root[data-theme=light] .firewall-progress-heading small,:root[data-theme=light] .firewall-progress-heading>b,:root[data-theme=light] .firewall-live-progress>small{color:#075985}@media(min-width:801px){.shell--management{padding-inline:max(20px,var(--app-safe-left)) max(20px,var(--app-safe-right))}.vpn-workspace-content.has-detail{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(0,1.15fr);gap:16px}.vpn-compact-list:not(.has-detail .vpn-compact-list),.firewall-members{grid-template-columns:repeat(2,minmax(0,1fr))}.vpn-account-directory .workspace-result,.firewall-members>.workspace-result,.vpn-compact-list>.empty-state,.vpn-compact-list>.pagination-button,.firewall-members>.empty-state,.firewall-members>.pagination-button,.firewall-members>.role-message{grid-column:1 / -1}.session-list{grid-template-columns:repeat(2,minmax(0,1fr))}.session-list>.empty-state,.session-list>.pagination-button,.session-list>.role-message{grid-column:1 / -1}.vpn-group-options{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:800px){.workspace-header{grid-template-columns:minmax(0,1fr) auto;gap:6px}.workspace-header>.workspace-status{grid-row:2;grid-column:1 / -1}.workspace-header>button{grid-column:2;grid-row:1}.workspace-status:empty{display:none}.directory--selected{display:none}.vpn-directory-controls{grid-template-columns:minmax(0,1fr)}.vpn-create-button{justify-self:stretch}.vpn-detail{padding:10px}.vpn-danger-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.vpn-danger-actions .danger{grid-column:1 / -1}.firewall-member{grid-template-columns:minmax(0,1fr)}.firewall-member-side{text-align:left}.firewall-member-actions{justify-content:flex-start}.firewall-member-side{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 10px}.firewall-member-side>small{grid-column:1}.firewall-member-side .firewall-member-actions{grid-column:2;grid-row:1 / 3}.firewall-domain-entry,.firewall-section--editing .firewall-form{grid-template-columns:minmax(0,1fr)}.dns-batch-row{grid-template-columns:repeat(2,minmax(0,1fr))}.dns-batch-row>label:first-of-type,.dns-batch-current,.dns-batch-target{grid-column:1 / -1}.firewall-plan-row{grid-template-columns:minmax(0,1fr)}.firewall-plan-row-status{text-align:left}.firewall-plan-row-status b{display:inline-block}.vpn-password-panel,.vpn-confirm-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.vpn-password-panel>div,.vpn-confirm-panel>div{grid-column:1 / -1}.vpn-route-save,.vpn-create-editor-actions,.vpn-group-editor-actions{grid-template-columns:minmax(0,1fr)}.vpn-route-save button,.vpn-create-editor-actions button,.vpn-group-editor-actions button{width:100%;min-height:44px}.vpn-route-editor-heading{align-items:flex-start}.vpn-route-editor-heading>span{white-space:normal;text-align:right}}:root[data-keyboard=open] .firewall-plan-actions,:root[data-keyboard=open] .firewall-form-actions,:root[data-keyboard=open] .firewall-reconcile,:root[data-keyboard=open] .firewall-new-change,:root[data-keyboard=open] .user-editor-actions{position:static}:root[data-theme=light] .back-button,:root[data-theme=light] .workspace-fullscreen-header button,:root[data-theme=light] .vpn-detail-header button{color:#0f766e}:root[data-theme=light] .vpn-account-row b,:root[data-theme=light] .vpn-state.online,:root[data-theme=light] .workspace-fullscreen-header>span,:root[data-theme=light] .vpn-route-editor-heading>span,:root[data-theme=light] .vpn-route-list>header>span{color:#0f766e}:root[data-theme=light] .vpn-account-row b.locked{color:#be123c}:root[data-theme=light] .vpn-group-options>button.selected{color:#0f4f46;background:#e1f4ed}:root[data-theme=light] .firewall-steps li.active,:root[data-theme=light] .firewall-steps li.done{color:#0f766e}:root[data-theme=light] .firewall-plan{background:#fff}:root[data-theme=light] .firewall-plan-actions{background:#fff}:root[data-theme=light] .firewall-summary-disclosure summary>small:before{color:#92400e}:root[data-theme=light] .firewall-remove-impact{color:#881337;background:#fff1f2}:root[data-theme=light] .firewall-remove-impact.shared{color:#70430d;background:#fff8e8}:root[data-theme=light] .firewall-member-actions button.danger,:root[data-theme=light] .vpn-group-editor-toolbar button,:root[data-theme=light] .dns-batch-row-heading button,:root[data-theme=light] .vpn-inline-action{color:#be123c}:root[data-theme=light] .vpn-route-validation,:root[data-theme=light] .dns-batch-row-error{color:#881337}:root[data-theme=light] .firewall-plan-row-status b{color:#92400e}:root[data-theme=light] .firewall-plan-row-status b.status-committed{color:#0f766e}:root[data-theme=light] .firewall-plan-row-status b.status-executing{color:#075985}:root[data-theme=light] .firewall-plan-row-status b.status-apply_failed,:root[data-theme=light] .firewall-plan-row-status b.status-commit_failed,:root[data-theme=light] .firewall-plan-row-status b.status-rollback_failed,:root[data-theme=light] .firewall-plan-row-status b.status-commit_unknown{color:#be123c}.hero .service-menu-button+.role-badge{margin-left:0}.firewall-current-value{color:var(--muted-text);font-size:12px;overflow-wrap:anywhere}:root[data-theme=light] .vpn-route-list{background:#f4f8f6}.shell--management{--text-color: #dce5f1;--app-background: #111b2b;--panel-background: #19263a;--control-background: #22324a;--input-background: #152237;--surface-background: #19263a;--secondary-text: #a8b7cb;--muted-text: #93a4bd;--link-text: #81adff;--console-blue: #79a7ff;--console-line: #34445d;--console-active: #253d62;width:100%;max-width:none;padding:0;color:var(--text-color);background:var(--app-background)}:root[data-theme=light] .shell--management{--text-color: #24354b;--app-background: #f4f6fa;--panel-background: #fff;--control-background: #eff4fc;--input-background: #fff;--surface-background: #fff;--secondary-text: #536980;--muted-text: #6d7e93;--link-text: #2363d9;--console-blue: #2363d9;--console-line: #dce3ed;--console-active: #eaf1ff}.shell--management .hero{height:calc(56px + var(--app-safe-top));min-height:calc(56px + var(--app-safe-top));margin:0;padding:var(--app-safe-top) max(20px,var(--app-safe-right)) 0 max(20px,var(--app-safe-left));gap:12px;border-bottom:1px solid var(--console-line);background:var(--panel-background)}.shell--management .hero h1{color:var(--text-color);font-size:17px;letter-spacing:0}.shell--management .hero .role-badge{border:0;background:transparent;color:var(--secondary-text);font-weight:500;font-size:12px}.shell--management button{min-height:38px;border:1px solid var(--console-line);border-radius:6px;color:var(--text-color);background:var(--panel-background);box-shadow:none}.shell--management button:hover:not(:disabled){background:var(--console-active)}.shell--management .hero button{border:0;background:var(--control-background);color:var(--link-text)}.workspace-nav-toggle{display:none}.shell--management .app-body{padding:18px 24px 18px 228px}.shell--management .admin-panel{padding:0;border:0;border-radius:0;box-shadow:none;background:transparent}.shell--management .vpn-workspace,.shell--management .firewall-section{gap:12px}.shell--management .workspace-header{padding:12px;border:1px solid var(--console-line);border-radius:8px;background:var(--panel-background)}.shell--management .workspace-context strong{font-size:14px}.shell--management .workspace-context small{margin-top:2px}.shell--management .workspace-count,.shell--management .vpn-workspace-metrics span{color:var(--secondary-text);border:0;background:var(--control-background);font-weight:500}.shell--management .vpn-workspace-metrics .vpn-state.online{color:#247249;background:#e9f7ef}.shell--management .workspace-tabs{padding:0;gap:6px;border:0;background:transparent}.shell--management .workspace-tabs button{flex:0 1 auto;padding:7px 14px;font-size:13px;color:var(--secondary-text)}.shell--management .workspace-tabs button.active{background:var(--console-active);color:var(--link-text);border-color:var(--console-blue)}.shell--management input,.shell--management select,.shell--management textarea{color:var(--text-color);background:var(--input-background);border:1px solid var(--console-line);border-radius:6px;font-size:16px;min-height:40px}.shell--management :is(.vpn-account-directory,.vpn-group-directory,.vpn-account-detail,.vpn-group-detail){background:transparent;border:0;padding:0;border-radius:0}.shell--management :is(.vpn-account-directory-list>button,.vpn-group-directory>button,.vpn-detail-card,.vpn-session,.vpn-ban,.firewall-member,.firewall-plan-row){background:var(--panel-background);border:1px solid var(--console-line);border-radius:11px;box-shadow:none}.shell--management :is(.vpn-account-directory-list>button,.vpn-group-directory>button)[aria-pressed=true]{background:var(--console-active);border-color:var(--console-blue)}.shell--management :is(.vpn-account-directory-list strong,.vpn-detail-card strong,.firewall-member-main strong){color:var(--text-color)}.shell--management :is(.vpn-detail-heading,.vpn-group-heading){background:var(--panel-background);border:1px solid var(--console-line);border-radius:8px;padding:12px}.shell--management :is(.vpn-create-button,.vpn-route-save button,.vpn-create-editor-actions button,.vpn-group-editor-actions button,.firewall-form-actions button,.firewall-confirmation-form>button,.firewall-execution-form>button){color:#fff;background:#2363d9;border-color:#2363d9;font-weight:600}.shell--management :is(.vpn-create-button,.vpn-route-save button,.vpn-create-editor-actions button,.vpn-group-editor-actions button,.firewall-form-actions button):hover:not(:disabled){background:#184caf}.shell--management button.danger{color:#b42332;background:#fff1f2;border-color:#e5b5ba}.shell--management :is(.workspace-fullscreen,.firewall-section--editing){background:var(--app-background)}.shell--management .workspace-fullscreen-header{background:var(--panel-background);border:1px solid var(--console-line);box-shadow:none}.shell--management :is(.vpn-route-editor,.vpn-create-editor,.vpn-group-editor,.firewall-form){border-color:var(--console-line);background:var(--panel-background)}.shell--management :is(.vpn-route-list,.vpn-route-item,.vpn-route-modes button,.vpn-group-options>button,.dns-batch-row){background:var(--control-background);border-color:var(--console-line)}.shell--management :is(.vpn-route-list>header strong,.vpn-route-modes button strong,.vpn-group-options strong){color:var(--text-color)}.shell--management .workspace-result{margin:3px 0 10px;font-size:12px;color:var(--muted-text)}.shell--management .vpn-directory-controls{padding:12px;background:var(--panel-background);border:1px solid var(--console-line);border-radius:8px;margin-bottom:2px}.shell--management .vpn-account-directory-list{gap:9px}.shell--management .workspace-navigation{position:absolute;top:calc(56px + var(--app-safe-top));bottom:0;left:0;width:204px;display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:16px 12px;border:0;border-right:1px solid var(--console-line);border-radius:0;background:var(--panel-background);z-index:20}.workspace-navigation-heading{padding:8px 10px 12px;font-size:12px;color:var(--muted-text)}.shell--management .workspace-navigation button{display:flex;justify-content:flex-start;align-items:center;gap:10px;flex:0 0 auto;width:100%;border:0;background:transparent;color:var(--secondary-text);padding:9px 12px;font-size:14px;font-weight:500}.shell--management .workspace-navigation button>span{width:20px;font-size:19px;text-align:center}.shell--management .workspace-navigation button.active{background:var(--console-active);color:var(--link-text);font-weight:650}.shell--management .workspace-navigation .workspace-more{display:none}.shell--management .workspace-navigation .workspace-portal{margin-top:auto;border-top:1px solid var(--console-line);border-radius:0;font-size:12px}.workspace-drawer-overlay{position:fixed;inset:var(--app-visible-top, 0px) 0 auto;height:var(--app-visible-height, 100dvh);background:#111b2b66;z-index:90}.workspace-drawer{width:min(290px,85vw);height:100%;padding:calc(12px + var(--app-safe-top)) 12px calc(12px + var(--app-safe-bottom));background:var(--panel-background);color:var(--text-color);box-shadow:10px 0 30px #0002}.workspace-drawer>header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}.workspace-drawer>header strong{font-size:16px}.workspace-drawer nav{display:flex;flex-direction:column;gap:6px}.shell--management .workspace-drawer nav button{min-height:44px;display:flex;gap:12px;align-items:center;justify-content:flex-start;border:0}.shell--management .workspace-drawer nav button[aria-current=page]{color:var(--link-text);background:var(--console-active)}@media(max-width:800px){.shell--management .hero{height:calc(46px + var(--app-safe-top));min-height:calc(46px + var(--app-safe-top));padding-inline:max(10px,var(--app-safe-left)) max(10px,var(--app-safe-right));gap:8px}.shell--management .hero h1{font-size:15px}.shell--management .hero .workspace-nav-toggle{display:inline-flex;min-height:34px;width:34px;padding:0;font-size:20px}.shell--management .hero .service-menu-button{min-height:32px;padding:4px 7px;font-size:11px}.shell--management .hero .role-badge{max-width:90px;padding:0;font-size:11px}.shell--management .app-body{padding:10px max(10px,var(--app-safe-right)) calc(70px + var(--app-safe-bottom)) max(10px,var(--app-safe-left))}.shell--management .workspace-header{padding:10px 12px;border-radius:11px}.shell--management .workspace-header .workspace-context strong{font-size:13px}.shell--management .workspace-context small{font-size:11px}.shell--management .vpn-workspace,.shell--management .firewall-section{gap:9px}.shell--management .workspace-navigation{inset:auto 0 0;width:auto;flex-direction:row;justify-content:space-around;gap:0;padding:4px max(8px,var(--app-safe-right)) max(4px,var(--app-safe-bottom)) max(8px,var(--app-safe-left));min-height:calc(60px + var(--app-safe-bottom));border:0;border-top:1px solid var(--console-line);box-shadow:none}.workspace-navigation-heading,.shell--management .workspace-navigation .workspace-portal{display:none}.shell--management .workspace-navigation button{flex:1 1 0;width:auto;display:flex;flex-direction:column;justify-content:center;gap:1px;padding:3px 1px;font-size:11px;min-height:44px;border-radius:0;white-space:normal}.shell--management .workspace-navigation button>span{font-size:19px;line-height:22px}.shell--management .workspace-navigation button.active{background:transparent}.shell--management .workspace-navigation .workspace-more{display:flex}.shell--management .vpn-directory-controls{padding:10px}:root[data-keyboard=open] .shell--management .workspace-navigation{display:none}:root[data-keyboard=open] .shell--management .app-body{padding-bottom:10px}}.shell--management .vpn-detail{background:transparent;border:0;padding:0}.shell--management :is(.vpn-account-row,.vpn-group-row,.vpn-detail-section){background:var(--panel-background);border:1px solid var(--console-line);border-radius:11px}.shell--management :is(.vpn-account-row,.vpn-group-row).selected{background:var(--console-active);border-color:var(--console-blue)}.shell--management .vpn-compact-list{gap:9px}.shell--management .vpn-workspace-content{gap:10px}.shell--management .compact-button{color:var(--link-text)}.shell--management .application-overview{overflow-y:auto;min-height:0;padding:0}.application-context{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px;border:1px solid var(--console-line);border-radius:11px;background:var(--panel-background)}.application-context strong,.application-context small{display:block}.application-context strong{font-size:14px}.application-context small{font-size:12px;margin-top:3px;color:var(--muted-text)}.application-status{font-size:11px;color:var(--secondary-text)}.application-section-title{margin:16px 0 9px;font-size:15px;color:var(--text-color)}.application-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.application-metrics article{display:flex;flex-direction:column;gap:5px;padding:12px;min-width:0;background:var(--panel-background);border:1px solid var(--console-line);border-radius:11px}.application-metrics small{font-size:12px;color:var(--secondary-text)}.application-metrics strong{font-size:23px;overflow-wrap:anywhere}.application-metrics span{font-size:11px;color:var(--muted-text);overflow-wrap:anywhere}.application-task-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.shell--management .application-task-grid>button{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;padding:12px;border-radius:11px;white-space:normal}.application-task-grid>button>span{font-size:23px;color:var(--link-text)}.application-task-grid strong{font-size:14px}.application-task-grid small{font-size:12px;color:var(--muted-text)}.application-utility{margin-top:12px}.application-target{margin:0;padding:10px 12px;background:var(--panel-background);border:1px solid var(--console-line);border-radius:8px;color:var(--secondary-text);font-size:12px;overflow-wrap:anywhere}.shell--management .application-editor,.shell--management .firewall-section--editing{position:static;inset:auto;display:flex;flex:1 1 auto;width:100%;height:auto;min-height:0;max-width:none;margin:0;padding:0;overflow:hidden;z-index:auto;gap:10px}.shell--management .firewall-section--editing .firewall-workspace-content{width:100%;max-width:none;padding:0}.shell--management .application-editor>:is(.vpn-create-editor,.vpn-group-editor,.vpn-route-editor){width:100%;max-width:1100px;margin-inline:auto}.shell--management .vpn-detail-header>button{display:none}.shell--management .vpn-detail-header{background:var(--panel-background);border:1px solid var(--console-line);border-radius:8px;padding:12px}.shell--management .firewall-steps{background:var(--panel-background)}.shell--management .application-back:disabled{opacity:.5}@media(max-width:800px){.application-metrics,.application-task-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.application-metrics strong{font-size:20px}.application-section-title{font-size:14px;margin-top:13px}.application-task-grid strong{font-size:13px}.application-task-grid small{font-size:11px}.shell--management .application-editor{overflow:auto}.shell--management .application-editor .vpn-route-editor{overflow:auto;flex:1 0 auto}.shell--management .application-editor .vpn-route-list{min-height:160px}}@media(max-width:800px){.shell--management .workspace-navigation .workspace-secondary{display:none}}.application-result-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px;border-top:1px solid var(--console-line)}.application-result-actions p{width:100%;margin:0 0 4px;font-size:13px}.shell--management .application-overview{display:block}.application-context{padding:16px 18px;border-left:3px solid var(--console-blue)}.application-status{padding:5px 9px;border-radius:20px;background:var(--control-background);white-space:nowrap}.application-section-title{margin:22px 0 12px;font-weight:650}.application-metrics{grid-template-columns:repeat(auto-fit,minmax(135px,1fr));align-items:start}.application-metrics article{min-height:112px;padding:16px;gap:8px;border-radius:12px}.application-metrics strong{font-size:24px;line-height:1.2;letter-spacing:-.4px}.application-metrics span{line-height:1.5}.application-task-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.shell--management .application-task-grid>button{display:grid;grid-template-columns:36px minmax(0,1fr);gap:4px 12px;padding:16px;min-height:88px;align-content:center}.application-task-grid>button>span{grid-row:1 / 3;align-self:center;display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--console-active);font-size:21px}.application-task-grid>button>small{grid-column:2;line-height:1.5}.shell--management .firewall-members{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));grid-auto-rows:max-content;gap:12px}.shell--management .firewall-member{display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;padding:16px;gap:14px}.shell--management .firewall-member-main strong{font-size:14px;line-height:1.5}.shell--management .firewall-member-main small{margin-top:5px;line-height:1.5}.shell--management .firewall-member-side{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 12px;align-items:center;text-align:left;padding-top:12px;border-top:1px solid var(--console-line)}.shell--management .firewall-member-side>span{grid-column:1;font-size:15px;font-weight:600;line-height:1.4}.shell--management .firewall-member-side>small{grid-column:1;margin:0;font-size:11px}.shell--management .firewall-member-side .firewall-member-actions{grid-column:2;grid-row:1 / 3;margin:0;gap:6px}.shell--management .firewall-plan-list{grid-auto-rows:max-content;align-content:start;gap:10px}.shell--management .firewall-plan-row{height:auto;min-height:112px;overflow:visible;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:16px;text-align:left;align-items:center}.shell--management .firewall-plan-row-main>strong{color:var(--muted-text);font-size:11px;font-weight:500;line-height:1.5}.shell--management .firewall-plan-row-main>strong b{display:inline-block;padding:2px 6px;margin-right:6px;border-radius:4px;background:var(--console-active);color:var(--link-text);font-size:11px}.shell--management .firewall-plan-row-main .firewall-plan-summary{margin:7px 0;color:var(--text-color);font-size:14px;font-weight:600;line-height:1.5}.shell--management .firewall-plan-row-main>small:last-child{font-size:11px;line-height:1.5}.shell--management .firewall-plan-row-status b{font-weight:500;padding:5px 9px;font-size:11px}.shell--management .firewall-plan-row-status small{margin-top:9px;font-size:11px;color:var(--link-text)}@media(max-width:800px){.application-context{padding:12px}.application-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.application-metrics article{min-height:104px;padding:13px}.application-metrics strong{font-size:21px}.application-task-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shell--management .application-task-grid>button{display:flex;padding:13px;min-height:126px;gap:6px}.shell--management .firewall-member{padding:14px}.shell--management .firewall-plan-row{grid-template-columns:minmax(0,1fr);gap:10px;padding:14px}.shell--management .firewall-plan-row-status{display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left}.shell--management .firewall-plan-row-status small{margin:0}}@media(max-width:800px){.shell--management .workspace-navigation button{white-space:nowrap}}@media(max-width:380px){.shell--management .firewall-member-side{grid-template-columns:minmax(0,1fr)}.shell--management .firewall-member-side .firewall-member-actions{grid-column:1;grid-row:auto;justify-content:flex-end;margin-top:4px}}
