.publisher-page{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;min-width:0;overflow-wrap:anywhere}.publisher-page>*{min-width:0}.publisher-heading,.publisher-toolbar,.publisher-release-heading,.publisher-pagination{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}.publisher-heading h4{margin:0 0 5px}.publisher-heading>div,.publisher-release-heading>div,.publisher-page .ant-alert-content{min-width:0}.publisher-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.publisher-summary>div,.publisher-stack{display:flex;flex-direction:column;gap:6px;min-width:0}.publisher-toolbar{justify-content:flex-start;margin-bottom:16px}.publisher-toolbar .ant-input-search{flex:1 1 260px;max-width:480px;min-width:0}.publisher-toolbar .ant-select{min-width:160px}.publisher-releases{display:grid;gap:12px}.publisher-release{border:1px solid #e5eaf1;border-radius:10px;padding:16px;display:grid;gap:12px;min-width:0;background:#fff}.publisher-release-heading{align-items:flex-start}.publisher-release h5{font-size:16px;line-height:1.6;margin:0}.publisher-release-meta{display:flex;flex-wrap:wrap;gap:8px 20px;color:#5b6472;font-size:13px}.publisher-release-notes{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.publisher-release-notes.preview{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.publisher-pagination{justify-content:flex-end;margin-top:16px}.publisher-description{margin:0;color:#5b6472}.publisher-values{display:grid;grid-template-columns:minmax(90px,130px) minmax(0,1fr);gap:12px 16px;margin:0}.publisher-values dt{color:#5b6472}.publisher-values dd{margin:0;min-width:0;overflow-wrap:anywhere}.publisher-value{white-space:pre-wrap;overflow-wrap:anywhere;-webkit-user-select:text;user-select:text}.publisher-drawer .ant-drawer-body{display:flex;flex-direction:column;gap:20px;overflow-wrap:anywhere}.publisher-drawer .ant-card-head-wrapper{flex-wrap:wrap;gap:8px}.publisher-component{padding:12px;border-radius:8px;background:#f7f9fc;min-width:0}.publisher-audit{display:grid;gap:12px;padding-left:20px;margin-block:0}.publisher-audit li{padding-left:4px}@media(max-width:767px){.publisher-summary{grid-template-columns:minmax(0,1fr)}.publisher-page .ant-card-body{padding:16px}.publisher-page .ant-btn,.publisher-drawer .ant-btn,.publisher-confirmation .ant-btn{min-height:44px;height:auto;white-space:normal}.publisher-toolbar{align-items:stretch}.publisher-toolbar .ant-input-search{max-width:none;flex-basis:100%}.publisher-page .publisher-toolbar .ant-input-affix-wrapper{min-height:44px;align-items:center}.publisher-page .publisher-toolbar .ant-input{font-size:16px}.publisher-page .publisher-toolbar .ant-select{flex:1;height:44px;min-height:44px}.publisher-page .publisher-toolbar .ant-select .ant-select-selector{height:44px;min-height:44px;align-items:center}.publisher-confirmation .ant-modal-close,.publisher-drawer .ant-drawer-close{min-width:44px;min-height:44px}.publisher-confirmation .ant-modal-title{padding-inline-end:40px}.publisher-values{grid-template-columns:minmax(0,1fr);gap:4px}.publisher-values dd{margin-bottom:12px}.publisher-release{padding:14px}}.lifecycle-panel{display:grid;gap:16px;min-width:0}.lifecycle-panel .ant-alert+.ant-alert{margin-top:12px}.lifecycle-actions{margin-top:16px}.lifecycle-record{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:14px 0;min-width:0;border-bottom:1px solid #edf0f4}.lifecycle-record:last-child{border-bottom:0}.lifecycle-record p{margin:0;overflow-wrap:anywhere}.lifecycle-record code,.lifecycle-summary{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;max-width:100%}.lifecycle-summary{max-height:300px;overflow:auto;background:#f7f9fc;padding:12px;border-radius:8px}.lifecycle-record small,.lifecycle-record>span{color:#65768a}@media(max-width:600px){.lifecycle-panel .ant-card-head{flex-wrap:wrap}.lifecycle-actions .ant-btn{min-height:44px}.project-section-switch{display:flex!important;flex-wrap:wrap!important}.project-section-switch>.ant-btn{flex:1 1 130px}}.projects-page,.project-workspace,.project-connection{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;min-width:0}.projects-page>*,.project-workspace>*,.project-connection>*{min-width:0}.project-loading-space{min-height:100px}.project-picker-row{display:flex;gap:16px;align-items:center;margin-bottom:16px}.project-picker-row label{font-weight:600;flex-shrink:0}.project-picker-row .ant-select{width:min(100%,440px);min-width:0}.project-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px}.project-choice{display:flex;gap:12px;align-items:flex-start;padding:16px;min-width:0;border:1px solid #e3e9f1;background:#fff;border-radius:10px;color:#283b50;cursor:pointer;text-align:start;transition:border-color .15s,background .15s}.project-choice:hover{border-color:#7b9fdb;background:#f7faff}.project-choice.is-selected{border-color:#316fda;background:#eef4ff}.project-choice-icon{display:grid;place-items:center;width:36px;height:36px;flex-shrink:0;color:#316fda;background:#e4edff;border-radius:8px;font-size:19px}.project-choice-text{display:grid;gap:4px;min-width:0;overflow-wrap:anywhere}.project-choice-text strong{font-size:14px}.project-choice-text span,.project-choice-text small{font-size:12px;color:#5b6c7f}.project-context h3.ant-typography{margin:0 0 8px;font-size:20px}.project-context .publisher-heading{align-items:flex-start}.project-feed-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px;margin-top:20px}.project-tags{margin-top:12px}.project-tags .ant-tag{margin:0}.project-section-switch{display:grid;grid-template-columns:repeat(2,max-content);gap:12px;padding-top:20px;margin-top:20px;border-top:1px solid #eef0f5}.project-section-switch .ant-btn{border-color:transparent;background:#f6f8fb;width:100%;min-width:0;white-space:nowrap}.project-section-switch .ant-btn>span{flex-shrink:0;white-space:nowrap}.project-section-switch .section-selected{color:#245fbd;background:#eaf1ff;border-color:#c7d8f7}.project-workspace>.publisher-page .publisher-heading h3{margin:4px 0;font-size:20px}.connection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:20px}.connection-field{min-width:0}.connection-label{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:8px}.connection-label .ant-btn{flex-shrink:0}.connection-value,.connection-code{margin:0;padding:12px;border:1px solid #e5eaf1;border-radius:8px;background:#f7f9fc;font:13px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;-webkit-user-select:text;user-select:text}.connection-code{max-height:320px;overflow:auto}.project-connection .ant-card-body>.ant-btn{margin-top:16px}.connection-details{margin-top:20px}.connection-details summary{cursor:pointer;color:#245fbd;min-height:44px;padding-block:12px}.connection-downloads{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.connection-downloads .ant-btn{white-space:normal;height:auto;min-height:36px}.connection-steps{padding-left:24px;margin:0 0 20px;display:grid;gap:16px}.connection-steps li{padding-left:4px}.connection-steps p{margin:6px 0 0;color:#5b6c7f;line-height:1.7}.project-modal .ant-modal-content,.project-modal .ant-modal-body{min-width:0;overflow-wrap:anywhere}.project-modal .ant-alert,.project-modal>.publisher-description{margin-bottom:20px}.project-modal .ant-form{margin-top:20px}.project-modal .code-input{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.project-form-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px;margin-top:24px}.project-section-switch.has-renewal{grid-template-columns:repeat(3,max-content)}.renewal-attention{color:#9a5b00;line-height:1.6}.project-renewal{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;min-width:0}.project-renewal>*,.renewal-feed,.renewal-summary>div,.renewal-feed-details>div{min-width:0}.project-renewal .ant-card-head-title{white-space:normal;overflow-wrap:anywhere}.project-renewal .ant-card-extra{margin-inline-start:12px;flex-shrink:0}.project-renewal .ant-alert{margin-block:16px}.project-renewal .connection-field+.connection-field{margin-top:20px}.renewal-status-heading,.renewal-feed-title{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-block:16px}.renewal-summary,.renewal-feed-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;margin:20px 0}.renewal-summary dt,.renewal-feed-details dt{color:#62758a;font-size:13px;margin-bottom:6px}.renewal-summary dd,.renewal-feed-details dd{margin:0;color:#24364d;overflow-wrap:anywhere;line-height:1.65}.renewal-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.renewal-feeds{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.renewal-feed{border:1px solid #e5eaf1;border-radius:10px;padding:16px;background:#fbfcff}.renewal-feed-title{margin-top:0;justify-content:space-between}.renewal-feed-details{grid-template-columns:minmax(0,1fr);margin-bottom:0}.renewal-confirmation p{line-height:1.75;overflow-wrap:anywhere}.service-form-list{display:grid;gap:12px;margin-bottom:24px}.service-form-row{display:grid;grid-template-columns:minmax(90px,.7fr) minmax(0,1.5fr) auto;gap:12px;align-items:start}.service-form-row>.ant-btn{margin-top:30px}.service-form-row .ant-form-item{margin-bottom:0}.service-form-list>.ant-btn{justify-self:start}.catalog-file{display:grid;gap:12px;margin:20px 0;min-width:0}.catalog-file label{font-weight:600}.catalog-file input{max-width:100%;width:100%;min-width:0;min-height:44px;font-size:14px}.catalog-file input::file-selector-button{border:1px solid #dce3ed;border-radius:8px;padding:10px 12px;background:#eef4ff;color:#245fbd;font:inherit;cursor:pointer;margin-right:12px}.catalog-summary{margin-block:20px}.catalog-preview-list{display:grid;gap:12px;max-height:320px;overflow-y:auto;margin-bottom:20px}.catalog-preview-list p{margin-bottom:0}@media(max-width:767px){.project-picker-row{flex-direction:column;align-items:stretch;gap:8px}.project-picker-row .ant-select{width:100%;height:auto;min-height:44px}.project-picker-row .ant-select .ant-select-selector{min-height:44px;height:auto;align-items:center}.project-cards{grid-template-columns:minmax(0,1fr)}.project-choice{padding:12px}.project-section-switch,.project-section-switch.has-renewal{grid-template-columns:repeat(2,minmax(0,1fr))}.project-section-switch.has-renewal>:last-child{grid-column:1 / -1}.project-section-switch .ant-btn{padding-inline:8px;white-space:nowrap}.connection-grid{grid-template-columns:minmax(0,1fr)}.project-modal input:not([type=file]),.project-modal textarea{font-size:16px}.project-modal input.ant-input,.project-modal .ant-select{min-height:44px}.project-modal .ant-select .ant-select-selector{min-height:44px;height:auto;align-items:center}.service-form-row{grid-template-columns:minmax(0,1fr) 44px;padding:12px;border:1px solid #e5eaf1;border-radius:8px}.service-form-row .ant-form-item:nth-child(2){grid-column:1 / -1;grid-row:2}.service-form-row>.ant-btn{grid-row:1;grid-column:2;padding:0}.project-form-actions .ant-btn{flex:1;min-width:0}.connection-downloads{flex-direction:column}.connection-downloads .ant-btn{min-height:44px}.project-modal .ant-modal-content{padding:20px 16px}.renewal-summary,.renewal-feeds{grid-template-columns:minmax(0,1fr)}.renewal-actions,.renewal-confirmation .project-form-actions{flex-direction:column}.renewal-confirmation .project-form-actions .ant-btn{min-height:44px;white-space:normal;height:auto}.renewal-actions .ant-btn,.project-renewal .ant-card-extra .ant-btn{min-height:44px}}.accounts-page{display:flex;flex-direction:column;gap:20px;min-width:0}.accounts-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap}.accounts-heading h2.ant-typography{margin:0 0 8px;font-size:25px}.accounts-heading p{margin:0;line-height:1.7;color:#5b6c7f}.accounts-toolbar{display:flex;gap:12px;align-items:center}.accounts-toolbar .ant-input-search{max-width:420px;min-width:0}.accounts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));gap:16px}.account-card .ant-card-head-title{white-space:normal;overflow-wrap:anywhere}.account-login{display:block;font-size:13px;font-weight:400;color:#5b6c7f;margin-top:4px}.account-grant-summary{color:#5b6c7f;line-height:1.6}.account-card-actions{display:flex;flex-wrap:wrap;gap:8px}.accounts-form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}.accounts-modal .ant-alert{margin-bottom:20px}.accounts-modal .ant-modal-content{min-width:0}.account-target{overflow-wrap:anywhere}.session-list{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.session-item{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid #e7ebf2;border-radius:8px;padding:12px}.session-item p{color:#5b6c7f;font-size:13px;line-height:1.7;margin:8px 0 0}.credential-label{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.account-security-note{display:flex;gap:8px;align-items:flex-start;color:#5b6c7f;font-size:12px;line-height:1.7;margin:0}.account-security-note .anticon{margin-top:4px}.platform-nav button{border:none;text-align:left;cursor:pointer}.nav-link{padding:14px;display:flex;gap:10px;align-items:center;background:transparent;color:#5b6c7f;border-radius:8px;font-size:14px}.nav-link:hover{background:#f4f7fc}.platform-mobile-nav{display:none}@media(max-width:767px){.accounts-heading h2.ant-typography{font-size:22px}.accounts-page .ant-btn,.accounts-modal .ant-btn{min-height:44px}.accounts-page .ant-input,.accounts-modal .ant-input{font-size:16px}.accounts-heading .ant-space{width:100%}.accounts-grid{grid-template-columns:minmax(0,1fr)}.accounts-modal .ant-select-selector{min-height:44px;align-items:center}.accounts-modal .ant-form-item-label{white-space:normal;overflow-wrap:anywhere}.session-item{align-items:flex-start;flex-wrap:wrap}.platform-mobile-nav{display:flex;gap:8px;flex-wrap:wrap;width:100%}.platform-mobile-nav .ant-btn{flex:1;min-height:44px}.accounts-page .ant-pagination{display:flex;flex-wrap:wrap;gap:4px}.accounts-page .ant-pagination li{min-width:44px;height:44px;line-height:42px}.accounts-page .ant-pagination .ant-pagination-total-text{flex-basis:100%}}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;color:#283b50;background:#f7f8fc;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:280px}button,input{font:inherit}:focus-visible{outline:3px solid #316fda;outline-offset:3px}.full-state{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:24px}.brand{display:flex;gap:12px;align-items:center;min-width:0}.brand-symbol{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;font-size:23px;background:#eef4ff;color:#316fda;flex-shrink:0}.brand strong{display:block;font-size:18px;line-height:1.5;letter-spacing:.3px}.brand small{display:block;color:#5b6c7f;font-size:12px;margin-top:2px}.login-page{min-height:100dvh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:36px 20px}.login-card{width:100%;max-width:440px;background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:36px;box-shadow:0 8px 28px #243b5306}.login-heading{margin:36px 0 24px}.login-heading h1{font-size:25px;margin:0 0 10px}.login-heading p{color:#5b6c7f;font-size:14px;line-height:1.7;margin:0}.login-card .ant-alert{margin-bottom:20px}.login-card .ant-input-affix-wrapper,.login-card .ant-btn{min-height:44px}.login-card .ant-form{margin-top:20px}.login-note{display:flex;align-items:flex-start;gap:8px;color:#5b6c7f;font-size:12px;line-height:1.8;margin:24px 0 0}.login-note .anticon{margin-top:5px}.login-footnote{font-size:12px;color:#5b6c7f;margin:20px 0 0}.platform-header{min-height:68px;border-bottom:1px solid #e7ebf2;padding:12px 28px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff}.account-area{display:flex;align-items:center;gap:18px;min-width:0}.account-name{overflow-wrap:anywhere;font-size:13px;color:#5b6c7f}.workspace{display:flex;min-height:calc(100dvh - 69px)}.platform-nav{width:220px;flex-shrink:0;padding:28px 16px;background:#fff;border-right:1px solid #e7ebf2;display:flex;flex-direction:column;gap:12px}.nav-caption{color:#5b6c7f;font-size:12px;padding:0 12px}.nav-current{padding:14px;display:flex;align-items:center;gap:10px;background:#eef4ff;color:#245fbd;border-radius:8px;font-weight:600;font-size:14px}.nav-footer{margin-top:auto;display:flex;align-items:flex-start;gap:8px;padding:20px 12px 0;font-size:12px;line-height:1.7;color:#5b6c7f}.nav-footer .anticon{margin-top:4px}.platform-content{padding:28px;min-width:0;width:100%;max-width:1500px;margin-inline:auto}.platform-content>.ant-alert{margin-bottom:16px}.page-eyebrow{color:#5b6c7f;font-size:11px;font-weight:600;letter-spacing:1.5px}.publisher-heading h2.ant-typography{margin:7px 0 6px;font-size:25px}.publisher-page .ant-card-head{border-bottom-color:#eef0f5}.publisher-page .ant-alert-info{background:#f0f5ff;border-color:#dce8fc}.publisher-page .ant-btn-default:not(.ant-btn-variant-solid),.publisher-drawer .ant-btn-default:not(.ant-btn-variant-solid){color:#245fbd}.publisher-page .ant-btn-default:disabled,.publisher-drawer .ant-btn-default:disabled{color:#6c7785}.publisher-summary strong{font-size:20px;margin-top:3px}@media(max-width:767px){.platform-nav{display:none}.platform-header{padding:12px 16px;align-items:flex-start;flex-wrap:wrap;gap:12px}.platform-header .brand strong{font-size:17px}.account-area{width:100%;justify-content:space-between;gap:12px}.account-area .ant-btn{min-height:44px;flex-shrink:0}.platform-content{padding:20px 12px}.publisher-heading h2.ant-typography{font-size:22px}.publisher-summary strong{font-size:18px}.login-card{padding:28px 24px}.login-card input{font-size:16px}.publisher-page .ant-pagination-item,.publisher-page .ant-pagination-prev,.publisher-page .ant-pagination-next{min-width:44px;height:44px;line-height:42px;margin-block:3px}.publisher-pagination{justify-content:flex-start}.publisher-pagination .ant-pagination-total-text{width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
