:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f5f7f8;color:#18212a}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input{font:inherit}a{color:#216869;text-decoration:none}.appShell{display:flex;flex-direction:column;min-height:100vh;background:linear-gradient(180deg,#eef3f4 0,#f8faf9 260px),#f8faf9}.topbar{align-items:center;border-bottom:1px solid #d8e0e2;display:flex;gap:18px;justify-content:space-between;min-height:68px;padding:12px clamp(16px,4vw,40px)}.brand{align-items:center;display:flex;gap:12px;min-width:0}.brand svg{color:#216869;flex:0 0 auto}.brand strong,.brand span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand span{color:#68737b;font-size:13px;max-width:min(64vw,720px)}.workspace{display:grid;flex:1;gap:20px;margin:0 auto;max-width:1760px;padding:24px clamp(16px,4vw,40px) 40px;width:100%}.toolbar,.inlineForm,.actions,.panelHead,.modalHead,.secretRow{align-items:center;display:flex}.toolbar{gap:12px;justify-content:space-between}.toolbarActions{display:flex;gap:8px}.inlineForm{flex-wrap:wrap;gap:10px}input{background:#fff;border:1px solid #cdd6d8;border-radius:7px;color:#18212a;height:40px;min-width:0;padding:0 12px}input:focus{border-color:#216869;outline:3px solid rgba(33,104,105,.14)}.primaryButton,.iconButton{align-items:center;border:0;cursor:pointer;display:inline-flex;justify-content:center}.primaryButton{background:#216869;border-radius:7px;color:#fff;gap:8px;min-height:42px;padding:0 16px;white-space:nowrap}.primaryButton.compact{min-height:40px}.secondaryLink{align-items:center;background:#fff;border:1px solid #cfd8da;border-radius:7px;color:#2e3942;display:inline-flex;gap:8px;min-height:42px;padding:0 13px;white-space:nowrap}.iconButton{background:#fff;border:1px solid #cfd8da;border-radius:7px;color:#2e3942;height:38px;width:38px}.primaryButton:disabled,.iconButton:disabled{cursor:not-allowed;opacity:.52}.loadingWorkspace{align-content:start}.skeleton{background:#e6ecee;border-radius:7px;display:block;overflow:hidden;position:relative}.skeleton:after{animation:skeletonShimmer 1.2s ease-in-out infinite;background:linear-gradient(90deg,transparent,rgba(255,255,255,.72),transparent);content:"";top:0;right:0;bottom:0;left:0;position:absolute;transform:translate(-100%)}.skeletonCard{pointer-events:none}.skeletonButton{height:42px;width:154px}.skeletonIcon{border-radius:7px;height:38px;width:38px}.skeletonTitle{height:18px;width:168px}.skeletonTiny{height:12px;width:116px}.skeletonStacked{margin-top:7px}.skeletonPill{border-radius:999px;height:24px;width:96px}.skeletonMetric{height:24px;width:142px}.skeletonTrack{border-radius:999px;height:8px;width:100%}.skeletonShort{height:12px;width:120px}.skeletonCode{height:22px;width:104px}.skeletonPort{height:58px;width:100%}.skeletonInput{height:40px;max-width:320px;width:min(100%,240px)}.skeletonListItem{height:44px;width:100%}.skeletonMetricTile{height:78px;width:100%}.skeletonColumn{height:64px;width:100%}.skeletonTable{height:220px;width:100%}.projectGrid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}.resourcePanel{display:grid;gap:12px}.resourceHead{align-items:center;display:flex;gap:12px;justify-content:space-between}.resourceHead h2{font-size:16px;line-height:1.25}.resourceHead span{color:#65717a;font-size:12px}.readiness{border-radius:999px;font-size:12px;font-weight:700;padding:5px 10px;white-space:nowrap}.readiness.ready{background:#dff4e6;color:#17623b}.readiness.blocked{background:#ffe8e3;color:#8e2a18}.resourceGrid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}.resourceMeter{background:#fff;border:1px solid #dbe2e4;border-radius:8px;box-shadow:0 16px 50px #22313f12;display:grid;gap:10px;padding:14px}.resourceMeter.blocked{border-color:#efb9ae}.meterTop{align-items:center;color:#56626b;display:flex;font-size:13px;font-weight:700;gap:8px}.meterTop svg{color:#216869}.resourceMeter.blocked .meterTop svg{color:#8e2a18}.resourceMeter strong{font-size:20px;letter-spacing:0}.meterTrack{background:#edf2f2;border-radius:999px;height:8px;overflow:hidden}.meterTrack span{background:#216869;border-radius:inherit;display:block;height:100%}.resourceMeter.blocked .meterTrack span{background:#c84d35}.meterDetail{align-items:center;color:#65717a;display:flex;font-size:12px;gap:8px;justify-content:space-between;min-width:0}.meterDetail span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.projectCard,.panel,.authPanel,.modal{background:#fff;border:1px solid #dbe2e4;border-radius:8px;box-shadow:0 16px 50px #22313f12}.projectCard{display:grid;gap:16px;padding:16px}.cardHead{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}h1,h2{letter-spacing:0;margin:0}.projectCard h2,.panel h2,.modal h2{font-size:16px;line-height:1.25}.status{border-radius:999px;font-size:12px;padding:4px 9px;text-transform:capitalize}.status.running{background:#dff4e6;color:#17623b}.status.stopped,.status.unknown{background:#eceff1;color:#5a6570}.status.degraded{background:#ffe7bd;color:#7a4b00}.ports,.projectUsage{display:grid;gap:10px;margin:0}.ports{grid-template-columns:repeat(3,1fr)}.projectUsage{grid-template-columns:repeat(4,1fr)}.ports div,.projectUsage div{background:#f6f8f8;border-radius:7px;padding:10px}.ports dt,.projectUsage dt{color:#65717a;font-size:12px}.ports dd,.projectUsage dd{font-weight:700;margin:2px 0 0}.projectSlug,.kindBadge{color:#65717a;display:inline-flex;font-size:12px}.kindBadge{background:#eef2f2;border-radius:999px;color:#33404a;font-weight:700;margin-top:6px;padding:3px 8px;width:fit-content}.projectUsage.empty{background:#f6f8f8;border-radius:7px;color:#65717a;font-size:12px;padding:10px}.actions{flex-wrap:wrap;gap:8px}.lowerGrid{align-items:start;display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}.panel{padding:16px}.panelHead{justify-content:space-between;margin-bottom:12px}.panelHead svg{color:#216869}.portRoutesPanel{align-content:start;display:grid;gap:14px}.portRoutesPanel .panelHead{margin-bottom:0}.proxyState{border-radius:999px;color:#65717a;display:inline-flex;font-size:12px;font-weight:700;margin-top:4px}.proxyState.ready{color:#246447}.proxyState.blocked{color:#8b3d19}.routeForm{align-items:end;display:grid;gap:10px;grid-template-columns:minmax(150px,1fr) minmax(112px,.45fr) auto auto}.routeForm label{display:grid;gap:7px}.routeForm label span{color:#65717a;font-size:12px;font-weight:700}.routeTls{align-items:center;background:#f7f8f8;border-radius:7px;display:flex!important;gap:8px;height:40px;padding:0 10px}.routeTls input{height:auto}.syncNote{background:#fff4df;border-radius:7px;color:#765221;font-size:12px;padding:9px 10px}.syncNote.ready{background:#edf7ed;color:#245a31}.routeList{margin-top:0}.routeList li{grid-template-columns:minmax(0,1fr) auto auto auto auto}.routeIdentity{display:grid;gap:2px;min-width:0}.routeIdentity strong,.routeIdentity span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.routeIdentity strong{color:#172322;font-size:13px}.routeIdentity span{color:#65717a;font-size:11px}.settingsForm{display:grid;gap:12px}.settingsFields,.settingsReadout{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.settingsFields label{display:grid;gap:7px}.settingsFields span,.settingsReadout span{color:#65717a;font-size:12px;font-weight:700}.settingsFields input{width:100%}.settingsReadout div{background:#f7f8f8;border-radius:7px;display:grid;gap:4px;padding:10px}.settingsReadout strong{font-size:15px}.list{display:grid;gap:8px;list-style:none;margin:14px 0 0;padding:0}.list li{align-items:center;background:#f7f8f8;border-radius:7px;display:grid;gap:8px;grid-template-columns:minmax(0,1fr) auto auto;min-height:44px;padding:7px 8px 7px 12px}.list.routeList li{grid-template-columns:minmax(0,1fr) auto auto auto auto}.list span,.list code{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adminIdentity{display:grid;gap:2px;min-width:0}.adminIdentity strong,.adminIdentity span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adminIdentity strong{color:#172322;font-size:13px}.adminIdentity span{color:#65717a;font-size:11px}code{background:#eaf1ef;border-radius:6px;color:#2c5551;font-family:SFMono-Regular,Consolas,monospace;font-size:12px;padding:3px 6px}.centerStage{align-items:center;display:grid;flex:1;justify-items:center;min-height:calc(100vh - 68px);padding:24px}.appFooter{align-items:center;border-top:1px solid #dce3e4;color:#66737a;display:flex;font-size:12px;gap:8px;justify-content:center;min-height:48px;padding:10px 16px}.appFooter code{font-size:11px}.authPanel{display:grid;gap:16px;justify-items:start;max-width:420px;padding:24px;width:100%}.authPanel svg{color:#216869}.authPanel h1{font-size:24px}.authPanel p{color:#5d6871;margin:0}.banner,.inlineError{border-radius:7px;padding:11px 13px}.banner{align-items:center;display:flex;gap:10px;justify-content:space-between}.banner.error,.inlineError{background:#ffe8e3;color:#8e2a18}.banner.token{background:#edf7ed;color:#245a31}.banner span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modalBackdrop{align-items:center;background:#0d161c73;display:grid;top:0;right:0;bottom:0;left:0;justify-items:center;padding:20px;position:fixed;z-index:20}.modal{max-height:min(720px,calc(100vh - 40px));max-width:900px;overflow:auto;padding:18px;width:min(900px,100%)}.createModal{max-width:520px}.manageModal{max-width:1180px}.studioModal{max-width:680px}.settingsModal{max-width:560px}.modalHead{justify-content:space-between;margin-bottom:14px}.modalHead button{background:#2e3942;border:0;border-radius:7px;color:#fff;min-height:36px;padding:0 12px}.modalSubhead{color:#65717a;display:block;font-size:12px;margin-top:3px}.createProjectForm{display:grid;gap:14px}.createProjectForm label{display:grid;gap:7px}.createProjectForm label span{color:#56626b;font-size:12px;font-weight:700}.createProjectForm input{width:100%}.createProjectForm input[readonly]{background:#f5f7f7;color:#48545d}.createProjectForm .checkboxRow{align-items:center;display:flex;gap:10px}.createProjectForm .checkboxRow input{height:16px;width:16px}.kindPicker{background:#f7f8f8;border:1px solid #dce2e5;border-radius:7px;display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:10px}.kindPicker legend{color:#56626b;font-size:12px;font-weight:700;padding:0 4px}.kindPicker button{background:#fff;border:1px solid #dce2e5;border-radius:7px;color:#33404a;font-weight:700;min-height:36px}.kindPicker button.active{background:#1f6f5f;border-color:#1f6f5f;color:#fff}.modalActions{display:flex;justify-content:flex-end}.secretRows{display:grid;gap:10px}.secretRow{background:#f7f8f8;border-radius:7px;gap:10px;padding:10px}.secretRow label{color:#65717a;flex:0 0 190px;font-size:12px;font-weight:700}.secretRow code{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.studioAccessNote{align-items:center;background:#eef7f4;border:1px solid #cfe3dd;border-radius:8px;color:#2d5c52;display:flex;font-size:13px;gap:10px;margin-bottom:12px;padding:11px 12px}.studioAccessNote svg{color:#216869;flex:0 0 auto}.manageToolbar,.studioAccess,.databaseSummary,.databaseCatalog,.managementGrid{display:grid;gap:12px}.manageToolbar{align-items:center;grid-template-columns:auto auto minmax(0,1fr);justify-content:start;margin-bottom:14px}.studioAccess{background:#f7faf9;border:1px solid #dbe5e3;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:12px;padding:12px}.studioAccess div{align-items:center;display:flex;gap:8px;min-width:0}.studioAccess span{color:#65717a;font-size:12px;font-weight:700}.studioAccess code{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.managementLayout{display:grid;gap:14px}.databaseSummary{grid-template-columns:repeat(4,minmax(0,1fr))}.metricTile{background:#f7f9f9;border:1px solid #dbe2e4;border-radius:8px;display:grid;gap:10px;padding:12px}.metricTile div{align-items:center;color:#65717a;display:flex;font-size:12px;font-weight:700;gap:8px}.metricTile svg{color:#216869}.metricTile strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.databaseCatalog{background:#fff;border:1px solid #dbe2e4;border-radius:8px;padding:14px}.databaseList{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.databaseList div{align-items:center;background:#f7f8f8;border-radius:7px;display:flex;gap:8px;justify-content:space-between;min-width:0;padding:9px 10px}.databaseList span{font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.managementGrid{align-items:start;grid-template-columns:minmax(260px,340px) minmax(0,1fr)}.tableBrowser,.tableDetail{background:#fff;border:1px solid #dbe2e4;border-radius:8px;min-width:0;padding:14px}.tableList{display:grid;gap:8px;max-height:520px;overflow:auto}.tableListItem{background:#f7f8f8;border:1px solid transparent;border-radius:7px;color:#18212a;cursor:pointer;display:grid;gap:4px;grid-template-columns:minmax(0,1fr) auto;min-height:58px;padding:9px 10px;text-align:left}.tableListItem.active{background:#edf7f3;border-color:#86b7a9}.tableListItem span,.tableListItem small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tableListItem small{color:#65717a;grid-column:1}.tableListItem code{align-self:start;grid-column:2;grid-row:1 / span 2}.emptyState,.emptyTableDetail{color:#65717a;font-size:13px}.emptyTableDetail{align-items:center;display:grid;gap:10px;justify-items:center;min-height:280px;text-align:center}.emptyTableDetail svg{color:#216869}.tableDetailInner{display:grid;gap:14px;min-width:0}.columnsGrid{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.columnsGrid div{background:#f7f8f8;border-radius:7px;display:grid;gap:5px;min-width:0;padding:9px}.columnsGrid span,.columnsGrid code,.columnsGrid small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.columnsGrid span{font-weight:700}.columnsGrid small{color:#65717a}.rowPreview{border:1px solid #dbe2e4;border-radius:8px;overflow:auto}.rowPreview table{border-collapse:collapse;min-width:100%;table-layout:fixed}.rowPreview th,.rowPreview td{border-bottom:1px solid #e3e8e9;font-size:12px;max-width:220px;overflow:hidden;padding:9px 10px;text-align:left;text-overflow:ellipsis;white-space:nowrap}.rowPreview th{background:#f4f7f7;color:#56626b;font-weight:700;position:sticky;top:0}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes skeletonShimmer{to{transform:translate(100%)}}@media (min-width: 1600px){.workspace{gap:24px;max-width:1880px}.resourceGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.projectGrid{gap:18px;grid-template-columns:repeat(auto-fit,minmax(380px,1fr))}.lowerGrid{gap:22px;grid-template-columns:minmax(430px,1.25fr) minmax(340px,.85fr) minmax(380px,1fr)}}@media (max-width: 820px){.toolbar,.lowerGrid,.resourceHead,.meterDetail,.projectUsage,.manageToolbar,.studioAccess,.databaseSummary,.databaseList,.managementGrid,.routeForm,.secretRow{align-items:stretch;display:grid;grid-template-columns:1fr}.secretRow label{flex-basis:auto}}@media (max-width: 560px){.workspace{gap:16px;padding:18px 12px 28px}.projectCard,.panel{padding:14px}.ports,.projectUsage,.settingsFields,.settingsReadout{grid-template-columns:repeat(2,minmax(0,1fr))}.actions{display:grid;grid-template-columns:repeat(4,38px);justify-content:start}.list.routeList li{grid-template-columns:minmax(0,1fr) auto auto auto}.list.routeList li>code{grid-column:1 / -1;justify-self:start}.inlineForm input{flex:1 1 180px;width:100%}}
