*{box-sizing:border-box}:root{--page-bg: #f6f7f9;--surface: #ffffff;--surface-muted: #f8fafc;--surface-subtle: #fbfcfd;--shell-bg: #111827;--shell-bg-soft: #172033;--border-soft: #e5e7eb;--border-subtle: #eef2f6;--border-strong: #d8dee6;--text-main: #111827;--text-muted: #64748b;--text-subtle: #94a3b8;--accent: #0f766e;--accent-hover: #0b5f59;--accent-soft: #e7f5f2;--accent-border: #c9e8e1;--danger-soft: #fff1f2;--warning-soft: #fff7ed;--success-soft: #f0fdf4;--shadow-soft: 0 8px 24px rgba(15, 23, 42, .06);--shadow-pop: 0 18px 48px rgba(15, 23, 42, .12)}html,body,#root{min-height:100%;margin:0}body{background:var(--page-bg);color:var(--text-main)}button{font:inherit}.boot-screen{display:grid;min-height:100vh;place-items:center;background:var(--page-bg)}.login-page{min-height:100vh;padding:36px;background:linear-gradient(180deg,#ffffffd1,#f6f7f9f5),var(--page-bg)}.login-hero{display:grid;grid-template-columns:minmax(0,1fr) 392px;align-items:center;gap:54px;min-height:calc(100vh - 72px);max-width:980px;margin:0 auto}.login-copy{max-width:520px;padding-bottom:0}.login-copy .ant-typography,.login-copy p{color:var(--text-muted)}.login-copy h1.ant-typography{max-width:560px;margin:12px 0 16px;color:var(--text-main);font-size:42px;line-height:1.08;letter-spacing:0}.login-card{border:1px solid var(--border-soft);box-shadow:var(--shadow-soft)}.login-card .ant-card-body{padding:26px}.eyebrow{color:var(--accent);font-size:12px;font-weight:800;letter-spacing:0;text-transform:uppercase}.app-frame{min-height:100vh;background:var(--page-bg)}.app-sider{position:sticky;top:0;height:100vh;padding:18px 12px;overflow:auto;background:var(--shell-bg);border-right:1px solid rgba(255,255,255,.08)}.app-sider .ant-layout-sider-children{display:flex;flex-direction:column}.app-sider .ant-menu{flex:1 1 auto;background:transparent;border:0}.app-sider .ant-menu-dark .ant-menu-item{height:42px;margin:3px 0;color:#ffffffb8;border-radius:8px}.app-sider .ant-menu-dark .ant-menu-item:hover{color:#fff;background:#ffffff14}.app-sider .ant-menu-dark .ant-menu-item-selected{color:#ecfeff;background:#14b8a62e}.app-sider .ant-menu-dark .ant-menu-item-selected:after{display:none}.brand-block{display:flex;width:100%;align-items:center;gap:12px;padding:8px 10px 18px;color:#fff;text-align:left;background:transparent;border:0;cursor:pointer}.brand-mark{display:grid;width:40px;height:40px;place-items:center;color:#111827;background:#e5f4ef;border:1px solid rgba(255,255,255,.18);border-radius:8px}.brand-block strong,.brand-block small{display:block}.brand-block strong{font-size:15px}.brand-block small{margin-top:2px;color:#ffffff8f;font-size:12px}.app-header{position:sticky;z-index:10;top:0;display:flex;height:68px;align-items:center;justify-content:space-between;gap:18px;padding:0 26px;background:#fffffff5;border-bottom:1px solid var(--border-soft);line-height:normal;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.app-header-title{display:flex;min-width:0;flex:1 1 auto;flex-direction:column;gap:3px;overflow:hidden}.app-header .eyebrow{display:block;line-height:1.2}.app-header h3.ant-typography{max-width:100%;margin:0;overflow:hidden;color:var(--text-main);font-size:18px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.app-header-actions{flex:0 0 auto;max-width:280px;min-width:0}.user-avatar{background:var(--accent)}.user-meta{display:flex;min-width:90px;max-width:150px;flex-direction:column;line-height:1.25}.user-meta .ant-typography{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-content{padding:24px 26px 32px;background:var(--page-bg)}.page-stack{display:flex;max-width:1480px;flex-direction:column;gap:16px;margin:0 auto}.new-release-page{max-width:1040px}.page-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:2px 0 4px}.page-title-row h2.ant-typography{margin:0 0 4px;color:var(--text-main);font-size:24px;line-height:1.2}.page-title-row .ant-typography-secondary{color:var(--text-muted)}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.stats-grid .ant-card,.table-surface,.form-surface,.preview-surface,.detail-grid .ant-card{background:var(--surface);border:1px solid var(--border-soft);border-radius:8px;box-shadow:none}.stats-grid .ant-card:hover,.table-surface:hover,.detail-grid .ant-card:hover{border-color:var(--border-strong)}.stats-grid .ant-statistic-title{margin-bottom:6px;color:var(--text-muted);font-size:13px}.stats-grid .ant-statistic-content{color:var(--text-main);font-size:28px;font-weight:700}.table-surface .ant-card-body,.form-surface .ant-card-body,.preview-surface .ant-card-body{padding:18px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--border-subtle)}.toolbar .ant-space,.toolbar .ant-input-search,.toolbar .ant-input-affix-wrapper,.toolbar .ant-select{max-width:100%}.table-surface .ant-table-wrapper{overflow:hidden;border:1px solid var(--border-subtle);border-radius:8px}.table-surface .ant-table{color:var(--text-main)}.table-surface .ant-table-thead>tr>th{color:var(--text-muted);font-size:12px;font-weight:700;background:var(--surface-muted);border-bottom:1px solid var(--border-soft)}.table-surface .ant-table-tbody>tr>td{border-bottom:1px solid var(--border-subtle)}.table-surface .ant-table-tbody>tr:last-child>td{border-bottom:0}.table-surface .ant-table-tbody>tr:hover>td{background:var(--surface-muted)}.table-surface .ant-pagination{margin:14px 0 0}.ant-tag{display:inline-flex;align-items:center;min-height:22px;padding-inline:8px;border-radius:999px;font-weight:600;line-height:20px}.ant-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px}.ant-btn>.ant-btn-icon{display:inline-flex}.ant-card{border-color:var(--border-soft)}.ant-card-head{border-bottom-color:var(--border-subtle)}.ant-card-head-title{font-weight:700}.ant-form-item-label>label{color:var(--text-main);font-weight:600}.ant-input,.ant-input-affix-wrapper,.ant-input-number,.ant-picker,.ant-select-selector{border-color:var(--border-strong)!important}.ant-input:hover,.ant-input-affix-wrapper:hover,.ant-input-number:hover,.ant-picker:hover,.ant-select:not(.ant-select-disabled):hover .ant-select-selector{border-color:var(--accent-border)!important}.ant-input:focus,.ant-input-focused,.ant-input-affix-wrapper-focused,.ant-picker-focused,.ant-select-focused .ant-select-selector{border-color:var(--accent)!important;box-shadow:0 0 0 3px #0f766e1f!important}.ant-input[disabled],.ant-input-disabled,.ant-select-disabled .ant-select-selector{color:var(--text-muted)!important;background:var(--surface-muted)!important}.ant-empty-description{color:var(--text-muted)}.ant-modal-content{border:1px solid var(--border-soft);box-shadow:var(--shadow-pop)}.ant-modal-header{margin-bottom:14px}.ant-modal-title{color:var(--text-main);font-weight:700}.link-button,.history-item{padding:0;color:var(--accent);text-align:left;background:transparent;border:0;cursor:pointer}.link-button:hover,.history-item:hover strong{color:var(--accent-hover);text-decoration:underline}.release-row-actions{display:inline-flex;flex-wrap:nowrap;white-space:nowrap}.release-row-actions .ant-btn{padding-inline:8px}.project-filter-panel{display:flex;gap:14px;align-items:flex-end;justify-content:space-between;padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid var(--border-soft)}.project-filter-controls{display:grid;flex:1;grid-template-columns:minmax(170px,1fr) minmax(160px,.9fr) minmax(220px,1.2fr) minmax(140px,.75fr);gap:12px;min-width:0}.project-filter-field{display:grid;gap:6px;min-width:0}.project-filter-field>span{color:var(--text-muted);font-size:12px;font-weight:700}.project-filter-summary{display:flex;flex:none;gap:10px;align-items:center;justify-content:flex-end;white-space:nowrap}.release-config-column{width:360px;max-width:360px}.release-config-list{display:grid;gap:8px}.release-config-tags{display:flex;max-width:100%;flex-wrap:wrap;gap:6px}.release-config-group-tag.ant-tag{display:inline-flex;max-width:100%;margin-inline-end:0;cursor:default}.release-config-group-tag-text{display:block;max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.release-config-cell{display:flex;width:340px;max-width:340px;min-width:0;flex-direction:column;align-items:flex-start;gap:4px;padding:8px;border:1px solid var(--border-soft);border-radius:8px;background:var(--surface-subtle)}.release-config-link{display:block;width:320px;max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-release-config-editor{display:grid;gap:10px;margin-bottom:18px}.project-release-config-header,.project-release-config-row-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.project-release-config-row{display:grid;gap:10px;padding:12px;border:1px solid var(--border-soft);border-radius:8px;background:var(--surface-subtle)}.project-release-config-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:12px}.bound-application-groups{display:block;margin-top:-14px;margin-bottom:18px;font-size:12px}.release-form-grid,.detail-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);gap:18px;align-items:start}.release-form-grid-single{grid-template-columns:minmax(0,1fr);width:100%;max-width:1040px;margin:0 auto}.form-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:26px 0 14px;padding-bottom:9px;border-bottom:1px solid var(--border-soft)}.form-section-heading:first-child{margin-top:0}.form-section-heading h4.ant-typography{margin:0;color:var(--text-main);font-size:16px}.system-settings-page{max-width:1240px}.system-settings-surface .ant-card-body{padding:18px}.system-settings-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}.system-settings-toolbar h4.ant-typography{margin:0 0 3px;font-size:16px}.system-settings-row-actions{flex-wrap:nowrap}.form-section-heading-action{flex-wrap:wrap}.two-column-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.section-heading-row,.release-item-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-heading-row{margin:6px 0 12px}.section-heading-row h4.ant-typography{margin:0}.release-items-editor{display:grid;gap:12px;margin-top:28px;margin-bottom:20px}.release-item-row{display:grid;gap:8px;padding:14px;border:1px solid var(--border-soft);border-radius:8px;background:var(--surface-subtle)}.release-item-row:hover{border-color:var(--border-strong)}.project-fields-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:14px}.project-field-branches{grid-column:1 / -1}.gray-percent-control{display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:12px;align-items:center}.reusable-release-field{display:grid;gap:8px}.reusable-release-field-head{display:flex;min-height:32px;align-items:center;justify-content:space-between;gap:12px}.reusable-release-field-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.reusable-release-field-save{color:var(--text-muted);white-space:nowrap}.reusable-release-field-load{flex:0 0 auto}.required-field-label:before{display:inline-block;margin-right:4px;color:#ff4d4f;font-family:SimSun,sans-serif;content:"*"}.reusable-release-field .ant-form-item{margin-bottom:0}.quality-monitor-mention{position:relative}.quality-monitor-mention-list{position:absolute;right:0;left:0;z-index:20;display:grid;gap:2px;max-height:220px;margin-top:4px;padding:6px;overflow:auto;background:var(--surface);border:1px solid var(--border-strong);border-radius:8px;box-shadow:var(--shadow-pop)}.quality-monitor-mention-option{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:7px 9px;color:var(--text-main);text-align:left;cursor:pointer;background:transparent;border:0;border-radius:6px}.quality-monitor-mention-option:hover,.quality-monitor-mention-option[aria-selected=true]{background:var(--accent-soft)}.repository-check-button{margin-bottom:10px}.repository-check-meta{display:block;margin-bottom:8px}.import-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:14px}.import-token-select,.import-search{width:260px}.import-approver-select{min-width:220px}.import-repository-cell{display:grid;min-width:0;gap:3px}.import-repository-cell a,.import-repository-cell span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.import-repository-cell span{color:var(--text-muted);font-size:12px}.import-overwrite-list,.import-result-list{display:grid;max-height:280px;gap:8px;overflow:auto}.import-overwrite-list div,.import-result-list div{display:grid;gap:3px;padding:8px 10px;background:var(--surface-muted);border:1px solid var(--border-soft);border-radius:8px}.import-overwrite-list span,.import-result-list span{overflow-wrap:anywhere;color:var(--text-muted)}.gitee-diagnostic-panel{display:grid;gap:14px}.gitee-diagnostic-list{display:grid;gap:10px}.gitee-diagnostic-row{display:grid;gap:8px;padding:12px;background:var(--surface-muted);border:1px solid var(--border-soft);border-radius:8px}.gitee-diagnostic-row-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.gitee-diagnostic-message.ant-typography{margin-bottom:0;overflow-wrap:anywhere}.gitee-diagnostic-detail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.gitee-diagnostic-detail div{min-width:0;padding:7px 8px;background:var(--surface);border:1px solid var(--border-subtle);border-radius:6px}.gitee-diagnostic-detail dt{color:var(--text-muted);font-size:12px}.gitee-diagnostic-detail dd{margin:2px 0 0;overflow-wrap:anywhere;color:var(--text-main);font-size:13px}.branch-manual-block{display:grid;gap:6px}.branch-manual-block .ant-typography{font-size:12px}.branch-select.ant-select-multiple .ant-select-selector{height:auto;min-height:36px;align-items:flex-start}.branch-select.ant-select-multiple .ant-select-selection-overflow{flex-wrap:wrap;row-gap:4px}.branch-select.ant-select-multiple .ant-select-selection-item{max-width:100%}.branch-select.ant-select-multiple .ant-select-selection-item-content{white-space:normal;overflow-wrap:anywhere}.branch-dropdown-layout{display:grid;grid-template-columns:minmax(220px,1fr) 260px;width:100%;min-width:0}.branch-dropdown-list{min-width:0;border-right:1px solid var(--border-soft)}.branch-commit-preview{display:grid;align-content:start;gap:7px;min-height:160px;padding:12px 14px;overflow-wrap:anywhere;background:var(--surface-muted)}.branch-commit-preview span,.branch-commit-preview a{color:var(--text-muted);font-size:12px}.branch-commit-preview-empty{place-items:center;text-align:center}.branch-option-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.branch-option-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.branch-option-row code{color:var(--text-muted);font-size:12px}.form-actions{position:sticky;z-index:5;bottom:0;display:flex;justify-content:flex-end;width:100%;margin-top:8px;padding:12px 0 2px;background:linear-gradient(180deg,rgba(255,255,255,.72),var(--surface) 38%);border-top:1px solid var(--border-soft)}.message-preview{max-width:100%}.submit-confirm-preview{display:grid;gap:12px}.release-submit-confirm-modal .ant-modal-body{max-height:min(680px,calc(100vh - 230px));overflow:auto}.release-submit-confirm-modal .release-bubble{max-width:100%}.message-author{display:block;margin-bottom:8px;color:var(--text-muted);font-weight:700}.release-bubble{max-width:760px;padding:18px;overflow-wrap:anywhere;color:var(--text-main);background:var(--surface-muted);border:1px solid var(--border-soft);border-radius:8px;box-shadow:none}.release-bubble p{margin:0 0 8px;font-size:15px;line-height:1.55}.preview-content-block,.preview-project{margin:0 0 14px;padding-left:12px;border-left:3px solid var(--accent-border)}.release-items-table{margin-top:16px}.approval-item{display:grid;gap:6px;padding-bottom:2px}.approval-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.approval-comment{padding:8px 10px;color:var(--text-main);background:var(--surface-muted);border:1px solid var(--border-subtle);border-radius:6px}.history-item{display:grid;width:100%;gap:4px}.history-item span,.history-item em{color:var(--text-muted);font-style:normal}.detail-grid .ant-card-head{min-height:48px;border-bottom:1px solid var(--border-subtle)}.detail-grid .ant-card-head-title{color:var(--text-main);font-weight:700}.detail-grid .ant-descriptions-item-label{color:var(--text-muted);font-weight:600}.detail-grid .ant-descriptions-item-content{color:var(--text-main)}.calendar-history-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;align-items:start}.calendar-release-cell{display:grid;gap:3px;min-height:44px;padding-top:2px}.calendar-release-pill{display:grid;grid-template-columns:12px minmax(0,1fr);gap:3px;align-items:center;width:100%;min-height:22px;padding:1px 4px;color:var(--text-main);text-align:left;background:var(--accent-soft);border:1px solid var(--accent-border);border-radius:4px;cursor:pointer}.calendar-release-pill span:last-child{overflow:hidden;font-size:12px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.calendar-month-release-cell{display:grid;gap:4px;min-height:72px;padding:20px 8px 6px}.calendar-month-release-row{display:grid;grid-template-columns:auto 12px minmax(0,1fr);gap:4px;align-items:center;width:100%;min-height:22px;padding:2px 5px;color:var(--text-main);text-align:left;background:var(--surface-muted);border:1px solid var(--border-soft);border-radius:5px;cursor:pointer}.calendar-month-release-row:hover{background:var(--accent-soft);border-color:var(--accent-border)}.calendar-month-release-row span:last-child{overflow:hidden;font-size:12px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.calendar-month-release-date{color:var(--text-muted);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:11px}.calendar-more{color:var(--text-muted);font-size:12px}.day-release-panel{position:sticky;top:98px;display:grid;gap:12px;padding:14px;background:var(--surface-muted);border:1px solid var(--border-soft);border-radius:8px}.day-release-panel h4.ant-typography{margin:0}.day-release-list{display:grid;gap:10px}.day-release-row{display:grid;gap:7px;width:100%;padding:12px;color:var(--text-main);text-align:left;background:var(--surface);border:1px solid var(--border-soft);border-radius:8px;cursor:pointer}.day-release-row:hover{border-color:var(--accent-border);box-shadow:var(--shadow-soft)}.day-release-row span,.day-release-row em{overflow-wrap:anywhere}.day-release-row em{color:var(--text-muted);font-style:normal}@media(max-width:1100px){.project-filter-panel{align-items:stretch;flex-direction:column}.project-filter-controls{grid-template-columns:1fr 1fr}.project-filter-summary{justify-content:space-between}.release-form-grid,.detail-grid,.stats-grid{grid-template-columns:1fr 1fr}.release-form-grid,.detail-grid,.calendar-history-grid{grid-template-columns:1fr}.day-release-panel{position:static}}@media(max-width:760px){.project-filter-controls{grid-template-columns:1fr}.project-filter-summary{align-items:stretch;flex-direction:column}.branch-dropdown-layout,.project-fields-grid,.gray-percent-control{grid-template-columns:1fr}.project-field-branches{grid-column:auto}.branch-dropdown-list{border-right:0;border-bottom:1px solid var(--border-soft)}.branch-commit-preview{min-height:120px}.login-page{padding:18px}.login-hero{grid-template-columns:1fr;align-items:center;min-height:calc(100vh - 36px)}.login-copy{padding-bottom:0}.login-copy h1.ant-typography{font-size:32px}.app-sider{display:none}.app-header{height:auto;align-items:flex-start;padding:14px}.app-header-title,.app-header-actions{width:100%;max-width:100%}.app-header h3.ant-typography{display:-webkit-box;overflow:hidden;font-size:17px;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}.app-content{padding:14px}.page-title-row,.app-header,.toolbar{flex-direction:column}.stats-grid,.two-column-form,.project-fields-grid{grid-template-columns:1fr}.reusable-release-field-head,.reusable-release-field-actions{align-items:flex-start;flex-direction:column}.form-actions{align-items:stretch;padding-bottom:0}.form-actions .ant-space-item,.form-actions .ant-btn{width:100%}.system-settings-toolbar{align-items:stretch;flex-direction:column}.system-settings-toolbar>.ant-btn{width:100%}}
