html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*:before,*:after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#223830;background:#f5f7f6;font-synthesis:none}*{box-sizing:border-box}html{scrollbar-gutter:stable}body{margin:0}a{color:#23765e;text-decoration:none}.admin-shell{display:flex;min-height:100vh}.sidebar{width:236px;background:#fff;border-right:1px solid #e6ece8;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;padding:32px 18px 20px}.brand{display:flex;align-items:center;gap:11px;padding:0 12px;color:#153f36;font-size:25px;font-weight:750}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#153f36;color:#fff;font-size:23px}.brand small{display:block;font-size:8px;letter-spacing:1.5px;margin-top:4px;color:#7c8b83}.nav-label{font-size:11px;color:#94a099;margin:48px 16px 13px;letter-spacing:1px}.sidebar>.ant-menu{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden}.sidebar>.brand,.sidebar>.nav-label{flex-shrink:0}.sidebar .ant-menu{border-inline-end:0!important}.sidebar .ant-menu-item{height:45px;margin-bottom:9px}.sidebar .ant-menu-item-selected{background:#eaf3ee;color:#20654f;font-weight:600}.avatar{display:grid;place-items:center;background:#e7eee7;width:33px;height:33px;border-radius:50%;font-weight:600;color:#56705e}.main-shell{display:flex;flex-direction:column;margin-left:236px;flex:1;min-width:0}.topbar{height:70px;border-bottom:1px solid #e5ebe6;background:#ffffffd9;padding:0 38px;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#617269}.crumb{color:#bdc7c0;padding:0 16px}main{width:100%;flex:1;max-width:1400px;margin:auto;padding:34px 38px}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:27px;gap:18px}.eyebrow{font-size:10px;letter-spacing:2px;color:#83938a;font-weight:650}h1{font-size:28px;font-weight:650;letter-spacing:-1px;margin:7px 0 9px}.page-heading p{font-size:12px;color:#819086;margin:0}.hero{min-height:275px;border-radius:15px;background:#153f36;color:#fff;display:flex;overflow:hidden;position:relative}.hero-content{padding:30px 36px;flex:1;z-index:1}.hero-kicker{font-size:9px;letter-spacing:2px;color:#b6d3bd;display:flex;align-items:center;gap:8px}.hero-kicker span{background:#b7d197;width:5px;height:5px;border-radius:50%}.hero h2{font-size:29px;line-height:1.5;font-weight:550;letter-spacing:1px;margin:13px 0 9px}.hero p{font-size:12px;color:#adc4b9;line-height:1.9}.hero-link{display:inline-flex;align-items:center;gap:18px;color:#e3edc9;font-size:12px;margin-top:10px}.hero-art{width:48%;position:relative;display:flex;align-items:center;justify-content:center}.art-grid{position:absolute;inset:0;background-image:linear-gradient(#ffffff06 1px,transparent 1px),linear-gradient(90deg,#ffffff06 1px,transparent 1px);background-size:32px 32px;transform:rotate(-12deg) scale(1.3)}.code-card{transform:rotate(-5deg);background:#244d42;border:1px solid #ffffff20;border-radius:12px;padding:18px 22px;font:12px/2.1 ui-monospace,SFMono-Regular,monospace;width:310px;box-shadow:0 25px 50px #0e281d40;color:#cddccd}.code-dots{font-size:9px;letter-spacing:4px;color:#829d85;margin-bottom:14px}.code-indent{padding-left:12px}.code-indent span{color:#d3e6a3}.code-muted{color:#9cbfac}.cursor{color:#c1da8e}.floating-chip{position:absolute;right:25px;bottom:44px;background:#ddeaac;border:4px solid #153f36;padding:10px 17px;border-radius:10px;color:#3f5633;font-size:9px;font-weight:650;letter-spacing:1px;transform:rotate(4deg)}.floating-chip .anticon{margin-right:6px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:23px 0}.ant-card{border-color:#e5ebe6;box-shadow:0 2px 3px #18352702}.service-card .ant-card-body{padding:21px 24px}.service-top{display:flex;align-items:center;justify-content:space-between}.service-top .ant-tag{font-size:10px;margin:0}.service-icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:#edf4ed;color:#58836a;font-size:18px}.service-icon.postgres{background:#eef1f9;color:#6883a7}.service-icon.redis{background:#fbf0e8;color:#b98960}.service-card h3{font-size:16px;font-weight:600;margin:17px 0 6px}.service-card p{font-size:11px;color:#8a978f;margin:0}.detail-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:20px}.ant-card .ant-card-head{min-height:56px;font-size:13px}.ant-card-extra{font-size:11px}.endpoint{display:flex;align-items:center;gap:6px;font-size:12px;margin-bottom:15px}.endpoint .ant-tag{font-size:9px}.json-result{margin:0;background:#f5f7f5;border:1px solid #edf0eb;border-radius:8px;padding:17px;font:11px/1.9 ui-monospace,SFMono-Regular,monospace;overflow:auto;color:#536b5a;min-height:193px}.card-foot{display:flex;align-items:center;gap:7px;font-size:10px;color:#89978e;margin-top:16px}.card-foot>span:last-child{margin-left:auto}.tiny-dot{width:5px;height:5px;background:#aab3aa;border-radius:50%}.tiny-dot.online{background:#65a37d}.capability{display:flex;align-items:center;gap:17px;padding:9px 0 18px;margin-bottom:10px;border-bottom:1px solid #eef2ee}.capability>span{font-size:11px;color:#94a98e;background:#f2f5ed;padding:7px;border-radius:7px}.capability strong{font-size:12px;font-weight:550}.capability p{font-size:11px;color:#8a978e;margin:6px 0 0}.next-note{font-size:11px;color:#789079;background:#f5f7f1;padding:12px;border-radius:7px;margin-top:18px}.section-gap{margin-top:22px}@media(min-width:1600px){main{padding-top:45px}.hero{min-height:305px}.hero-content{padding:38px}.hero h2{font-size:34px}}@media(max-width:1050px){.sidebar{width:200px}.main-shell{margin-left:200px}main{padding:26px}.topbar{padding:0 26px}.hero-art{width:43%}.code-card{width:255px;font-size:10px}.floating-chip{right:8px}.hero-content{padding:28px}.detail-grid{grid-template-columns:1fr}.service-grid{gap:12px}.service-card .ant-card-body{padding:17px}}@media(max-width:720px){.sidebar{position:static;width:100%;padding:15px}.admin-shell{display:block}.brand{font-size:20px}.brand small{font-size:7px}.nav-label{display:none}.sidebar .ant-menu{display:flex;margin-top:12px}.sidebar .ant-menu-item{width:140px;margin-bottom:0}.main-shell{margin-left:0}.topbar{height:50px;padding:0 20px}main{padding:24px 18px}.hero-art{display:none}.hero-content{padding:28px}.hero h2{font-size:27px}.service-grid{grid-template-columns:1fr}.service-card h3{margin-top:10px}.page-heading{align-items:flex-start}.page-heading p{max-width:210px;line-height:1.8}.page-heading>.ant-btn{font-size:11px}.detail-grid .ant-card-body{padding:18px}.json-result{font-size:10px}}.loading-screen{min-height:100vh;display:grid;place-items:center}.login-shell{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#fff}.login-story{background:#153f36;color:#eef6ec;padding:54px 12%;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh}.login-brand{font-size:22px;display:flex;align-items:center;gap:14px}.login-brand .anticon{font-size:32px}.login-pattern{flex:1;display:grid;place-items:center;padding:40px 0 80px}.login-pattern svg{width:min(100%,400px);height:auto}.login-panel{display:grid;place-items:center;padding:36px}.login-form{width:100%;max-width:360px}.login-form h1{font-size:28px;margin-top:12px}.login-form>p{color:#8a978f;margin-bottom:36px}.table-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;gap:14px;flex-wrap:wrap}.muted-small{font-size:12px;color:#88978d;margin-top:4px}.user-badge{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:#edf4ed;color:#39795c;font-weight:600}.sidebar .ant-menu-submenu-title{height:45px}.topbar .avatar{width:26px;height:26px;font-size:11px}@media(max-width:720px){.login-shell{grid-template-columns:1fr}.login-story{min-height:auto;padding:26px}.login-pattern{display:none}.login-panel{padding:42px 24px}.sidebar .ant-menu{display:block}.sidebar .ant-menu-item{width:auto}.topbar{gap:10px}.topbar>.ant-btn{max-width:150px;overflow:hidden}.sidebar .ant-menu-sub{background:transparent!important}}.route-content{width:100%}.workspace-main{max-width:none;margin:0;padding:12px;min-width:0}.workspace-tabs>.ant-tabs-nav{margin-bottom:12px}@media(max-width:720px){.workspace-main{padding:8px}}.workspace-tabs>.ant-tabs-content-holder{display:none}.dependency-version-select .ant-select-selection-item,.dependency-version-select .ant-select-content{white-space:normal!important;overflow-wrap:anywhere;line-height:1.5!important;padding-block:4px}.dependency-version-select.ant-select-single{height:auto;min-height:32px}.applications-layout>.ant-splitter-panel:first-child{padding-right:8px}.applications-layout>.ant-splitter-panel:last-child{padding-left:8px}.applications-tree-scroll{max-height:calc(100vh - 320px);min-height:260px;overflow:auto}.application-tree-node{display:flex;align-items:center;gap:4px;min-width:0}.application-tree-icon{flex-shrink:0;margin-right:4px}.application-tree-label{flex:1;min-width:0;white-space:normal;overflow-wrap:anywhere}.application-tree-label small{display:block;color:var(--ant-color-text-secondary, #777);line-height:1.5}.applications-layout .ant-tree-node-content-wrapper{min-width:0}.applications-layout .ant-descriptions-item-content{overflow-wrap:anywhere}.application-profile-detail .ant-tabs-content-holder{overflow-x:auto}.application-profile-detail .ant-tabs-tabpane{min-width:460px}@media(max-width:767px){.applications-layout{gap:16px}.applications-layout>.ant-splitter-panel{flex:none!important;width:100%;padding:0!important}.applications-layout>.ant-splitter-bar{display:none}.applications-tree-scroll{max-height:360px}}
