:root{font-family:Segoe UI,Microsoft YaHei,sans-serif;color:#172733;background:#f4f6f8;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}.shell{min-height:100vh;display:grid;grid-template-columns:240px 1fr}.sidebar{background:#22343f;color:#dbe5ea;padding:25px 16px;display:flex;flex-direction:column}.brand{display:flex;gap:11px;align-items:center;padding:0 8px 28px}.brand-mark{width:36px;height:36px;border-radius:10px;background:#e26d43;color:#fff;display:grid;place-items:center;font-size:20px;font-weight:800}.brand strong,.brand small{display:block}.brand small{margin-top:3px;color:#8fa3ad;font-size:11px}.sidebar nav{display:grid;gap:4px}.sidebar nav a{display:flex;gap:12px;align-items:center;padding:12px;border-radius:9px;color:#9eafb7;text-decoration:none}.sidebar nav a:hover,.sidebar nav a.router-link-active{color:#fff;background:rgba(255,255,255,.1);box-shadow:inset 3px 0 #e26d43}.sidebar nav a span{font-size:18px}.service-state{margin-top:auto;color:#91aaa0;font-size:11px}.service-state i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#5ab687;margin-right:8px}main{min-width:0}header{height:70px;padding:0 38px;background:#fff;border-bottom:1px solid #e4e9ed;display:flex;gap:11px;align-items:center;color:#788795}header strong{color:#172733}.user{margin-left:auto;color:#172733;display:flex;align-items:center;gap:12px}.user a,.user button{border:0;background:transparent;color:#3977a8;text-decoration:none;cursor:pointer;font-size:12px}.user button{color:#bd554e}.content{max-width:1380px;margin:auto;padding:35px 42px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:27px}.page-head span{font-size:11px;color:#e26d43;font-weight:700;letter-spacing:.12em}.page-head h1{font-size:29px;margin:8px 0;letter-spacing:-.04em}.page-head p{color:#788795;margin:0}.primary,.secondary{display:inline-block;border:0;border-radius:9px;padding:11px 16px;text-decoration:none;font-weight:650;cursor:pointer}.primary{background:#e26d43;color:#fff}.primary:disabled{opacity:.45}.secondary{background:#fff;color:#172733;border:1px solid #e4e9ed}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.metrics article,.panel{background:#fff;border:1px solid #e4e9ed;border-radius:14px}.metrics article{padding:20px}.metrics span,.metrics small{display:block;color:#788795}.metrics strong{display:block;font-size:28px;margin:15px 0}.metrics small{font-size:11px}.panel{margin-top:20px;padding:22px}.empty{text-align:center;padding:55px}.empty b{font-size:18px}.empty p{color:#788795;margin:10px 0 22px}.form-panel{max-width:850px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:22px}.grid>*,.upload-form-grid label{min-width:0}.grid label{display:grid;gap:7px;font-size:12px;font-weight:650}.grid .full{grid-column:1/-1}.grid input,.grid select,.inline-form input,.inline-form select,.setting-row input{padding:11px;border:1px solid #dfe6ea;border-radius:8px;background:#fff}.grid small{color:#788795;font-weight:400}.upload-product-options{grid-column:1/-1;width:100%;min-width:0;margin:0 0 2px}.upload-product-options .product-search{width:100%;min-width:0}.upload-form-grid .full{overflow-wrap:anywhere}.upload-form-grid .full small{display:block;line-height:1.5;overflow-wrap:anywhere}.settings-stack{display:grid;gap:20px}.config-section{margin-top:0}.config-section h2{font-size:16px;margin:0 0 18px}.inline-form{display:flex;gap:9px;margin-bottom:15px}.inline-form input,.inline-form select{flex:1}.config-section table{width:100%;border-collapse:collapse;table-layout:fixed}.config-section th,.config-section td{padding:13px 4px;border-top:1px solid #e4e9ed}.config-section th{padding:10px 4px;color:#788795;font-size:12px;font-weight:600;text-align:left;border-bottom:1px solid #e4e9ed}.config-section td:last-child,.config-section th:last-child{text-align:right;white-space:nowrap;width:120px}.config-section td button,.setting-row button{border:0;background:transparent;color:#3977a8;cursor:pointer}.config-section td button+button{margin-left:12px}.config-section td .danger-text{color:#bd554e}.config-section small{display:block;color:#788795;margin-top:3px}.setting-row{display:grid;grid-template-columns:240px 1fr auto;gap:12px;align-items:center;padding:12px 0;border-top:1px solid #e4e9ed}.notice{padding:12px 14px;background:#fff0e9;color:#9a4b30;border-radius:9px;margin-bottom:18px}.auth-card{width:min(440px,calc(100vw - 40px));margin:60px auto;padding:32px;background:#fff;border:1px solid #e4e9ed;border-radius:14px;box-shadow:0 18px 45px #22343f14}.auth-card>span{color:#e26d43;font-size:11px;font-weight:700;letter-spacing:.12em}.auth-card h1{margin:9px 0}.auth-card p{color:#788795;line-height:1.6}.auth-card label{display:grid;gap:7px;margin:15px 0;font-size:12px;font-weight:650}.auth-card input{padding:11px;border:1px solid #dfe6ea;border-radius:8px}.auth-card .primary{width:100%;margin-top:8px}@media (max-width:900px){.shell{grid-template-columns:72px 1fr}.brand div,.sidebar nav a{font-size:0}.sidebar nav a{justify-content:center}.sidebar nav a span{font-size:18px}.service-state{font-size:0}.content{padding:28px 20px}.metrics{grid-template-columns:1fr 1fr}.inline-form{flex-direction:column}.setting-row,.grid{grid-template-columns:1fr}.grid .full{grid-column:auto}}@media (max-width:580px){.metrics{grid-template-columns:1fr}.page-head{align-items:flex-start;gap:18px;flex-direction:column}header{padding:0 20px}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:24px;background:rgba(18,31,39,.52)}.modal{position:relative;width:min(640px,100%);max-height:90dvh;overflow:auto;padding:30px;background:#fff;border:1px solid #e4e9ed;border-radius:14px;box-shadow:0 25px 80px #0a192340}.modal h2{margin:0 32px 8px 0;font-size:22px}.modal p{margin:0 0 22px;color:#596c78;line-height:1.6}.modal-close{position:absolute;right:18px;top:14px;border:0;background:transparent;color:#596c78;font-size:25px;cursor:pointer}.modal-field{display:grid;gap:7px;margin:15px 0;font-size:12px;font-weight:650}.modal-field input,.modal-field textarea{font:inherit;width:100%;padding:11px;border:1px solid #dfe6ea;border-radius:8px;background:#fff;color:#172733}.modal-field textarea{min-height:85px;resize:vertical}.modal-submit{width:100%;margin-top:8px}.form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}.settings-tabs{display:flex;gap:5px;margin-bottom:20px;padding:5px;border-bottom:1px solid #e4e9ed;overflow:auto}.settings-tabs button{border:0;border-radius:8px;padding:10px 18px;background:transparent;color:#596c78;white-space:nowrap;cursor:pointer}.settings-tabs button.active{background:#fff0e9;color:#a74626;font-weight:700}.section-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.section-head h2{margin:0;font-size:16px}.section-head p{margin:6px 0 0;color:#596c78;font-size:12px}.config-split{display:grid;grid-template-columns:240px minmax(0,1fr);gap:20px}.project-list{padding:18px;margin-top:0}.project-list>button{width:100%;display:flex;justify-content:space-between;margin:3px 0;padding:11px 12px;border:0;border-radius:8px;background:transparent;text-align:left;color:#526572;cursor:pointer}.project-list>button.active,.project-list>button:hover{background:#fff0e9;color:#a74626;font-weight:650}.setting-group{margin-top:22px;padding-top:18px;border-top:1px solid #e4e9ed}.setting-group h3{margin:0 0 10px;font-size:13px}.notice.success{background:#e9f6ef;color:#287950}.panel table{width:100%;border-collapse:collapse}.panel th,.panel td{padding:13px 8px;text-align:left;border-bottom:1px solid #e4e9ed}.modal input,.modal select,.setting-row input{min-width:0;width:100%}.setting-row{grid-template-columns:minmax(140px,200px) minmax(0,1fr) auto}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #a74626;outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.5}.manual-options{display:grid;gap:8px;margin:16px 0;padding:0;border:0;max-height:280px;overflow:auto}.manual-options legend{margin-bottom:4px;color:#596c78;font-size:12px;font-weight:650}.manual-option{display:flex;gap:11px;align-items:flex-start;padding:12px;border:1px solid #dfe6ea;border-radius:9px;background:#fff;cursor:pointer;transition:.15s}.manual-option:hover,.manual-option.selected{border-color:#e26d43;background:#fff7f3}.manual-option input{width:auto;margin-top:3px;accent-color:#e26d43}.manual-option span{min-width:0}.manual-option strong,.manual-option small{display:block}.manual-option strong{font-size:12px}.manual-option small{margin-top:4px;color:#788795;font-size:11px;word-break:break-word}.manual-option em{font-style:normal;color:#287950;margin-left:6px}.binding-empty{padding:16px;text-align:center;color:#788795;background:#f7f9fa;border-radius:8px}.binding-summary{padding:10px 12px;background:#f3f6f7;border-radius:8px;color:#526572;font-size:12px}.manual-filter-bar{display:flex;gap:10px;align-items:center;margin-bottom:18px}.manual-filter-bar input,.manual-filter-bar select{min-width:0;flex:1;padding:10px 11px;border:1px solid #dfe6ea;border-radius:8px;background:#fff;color:#172733}.manual-filter-bar select{flex:0 1 220px}.upload-modal{width:min(720px,100%);max-height:92dvh}.upload-form-grid{align-items:start}.upload-product-options{grid-column:1/-1;display:grid;grid-template-columns:minmax(180px,1fr) 2fr;gap:10px;margin:0;padding:16px;border:1px solid #e4e9ed;border-radius:12px;background:#fafbfc;max-height:280px;overflow:auto}.upload-product-options legend{grid-column:1/-1;margin:0;color:#526572;font-size:12px;font-weight:700}.upload-product-options .product-search{grid-column:1/-1;width:100%;padding:11px;border:1px solid #dfe6ea;border-radius:8px;background:#fff}.upload-product-options .manual-option{margin:0}.historical-version-alert strong{color:#172733;font-size:14px;font-weight:800;letter-spacing:.01em}.historical-version-alert{display:flex!important;align-items:center;gap:8px;margin-top:9px;padding:9px 11px;border:1px solid #efb06f;border-radius:8px;background:#fff5df;color:#8b5510;font-size:11px;font-weight:650}.historical-version-alert span{padding:3px 6px;border-radius:4px;background:#e69a3a;color:#fff;font-size:10px;white-space:nowrap}.dark .upload-product-options{background:#1b2a31;border-color:#415560}.dark .upload-product-options .product-search{background:#21313a;color:#edf3f5}.dark .historical-version-alert{background:#49341f;color:#f3c983;border-color:#96652b}@media (max-width:700px){.upload-product-options{grid-template-columns:1fr}.upload-product-options legend,.upload-product-options .product-search{grid-column:1}}.mapping-form-grid{margin-bottom:20px}.searchable-select{position:relative;width:100%;min-width:0}.searchable-select__input{width:100%;min-width:0;padding:11px 38px 11px 11px;border:1px solid #dfe6ea;border-radius:8px;background:#fff;color:#172733;cursor:text;transition:border-color .2s,box-shadow .2s}.searchable-select__input::placeholder{color:#8a99a2}.searchable-select__input:focus{border-color:#e26d43;box-shadow:0 0 0 3px #e26d4326}.searchable-select__input:disabled{background:#f3f6f7;cursor:not-allowed;opacity:.7}.searchable-select__chevron{position:absolute;right:13px;top:50%;transform:translateY(-55%);color:#788795;pointer-events:none;font-size:14px;transition:transform .2s,color .2s}.searchable-select.is-open .searchable-select__chevron{transform:translateY(-45%) rotate(180deg);color:#a74626}.searchable-select__menu{position:absolute;left:0;right:0;top:calc(100% + 7px);z-index:20;max-height:260px;overflow:auto;padding:6px;background:#fff;border:1px solid #e4e9ed;border-radius:10px;box-shadow:0 14px 32px #22343f29;animation:select-slide-down .15s ease-out}.searchable-select__option{display:flex;width:100%;gap:10px;padding:10px;border:0;border-radius:7px;background:transparent;color:#172733;text-align:left;cursor:pointer;transition:background .12s,color .12s;align-items:flex-start}.searchable-select__option-check{color:#e26d43;font-weight:700;font-size:12px;flex-shrink:0;margin-top:1px}.searchable-select__option-content{display:grid;gap:3px;min-width:0;flex:1}.searchable-select__option strong{font-size:12px;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.searchable-select__option small{color:#788795;font-size:11px;overflow-wrap:anywhere}.searchable-select__option:hover,.searchable-select__option.is-active{background:#fff0e9;color:#a74626}.searchable-select__option.is-selected{background:#fff7f3;color:#a74626}.searchable-select__option.is-selected .searchable-select__option-check{color:#e26d43}.searchable-select__empty{padding:16px 10px;color:#788795;font-size:12px;text-align:center}@keyframes select-slide-down{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.mapping-filter{display:flex;gap:10px;align-items:center;margin-bottom:18px}.mapping-filter select{min-width:0;flex:1;padding:10px 11px;border:1px solid #dfe6ea;border-radius:8px;background:#fff;color:#172733}.dark .searchable-select__input,.dark .searchable-select__menu{background:#21313a;border-color:#415560;color:#e3ecef}.dark .searchable-select__option{color:#e3ecef}.dark .searchable-select__option:hover,.dark .searchable-select__option.is-active,.dark .searchable-select__option.is-selected{background:#3c2925;color:#ffd6c7}.dark .searchable-select__option-check{color:#ffd6c7}.dark .searchable-select__empty{color:#b8c6cc}.loading-state{text-align:center;padding:40px;color:#788795}.overview-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:20px;margin-top:20px}.overview-grid .panel{margin-top:0}.overview-list{display:grid}.overview-row,.deployment-item{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid #e4e9ed}.overview-row:last-child,.deployment-item:last-child{border-bottom:0}.file-badge{flex:0 0 35px;width:35px;height:35px;display:grid;place-items:center;border-radius:9px;background:#fff0e9;color:#d65f38;font-size:10px;font-weight:700}.overview-row>div:nth-child(2),.deployment-item>div{flex:1;min-width:0}.overview-row strong,.overview-row small,.deployment-item strong,.deployment-item small{display:block}.overview-row small,.deployment-item small{margin-top:4px;color:#788795;font-size:11px}.overview-row>span{color:#788795;font-size:11px;white-space:nowrap}.product-cloud{display:flex;flex-wrap:wrap;gap:9px}.product-cloud span{padding:10px 12px;border:1px solid #dfe6ea;border-radius:8px;color:#526572;background:#fafbfb;font-size:12px}.deployment-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.deployment-item{min-width:0}.status-ok,.status-warn{max-width:180px;padding:5px 8px;border-radius:20px;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-ok{background:#e9f6ef;color:#287950}.status-warn{background:#fff5df;color:#a66d13}.dark .manual-option,.dark .product-cloud span{background:#21313a;border-color:#415560}.dark .manual-option:hover,.dark .manual-option.selected,.dark .binding-summary,.dark .binding-empty{background:#3c2925}.dark .binding-summary,.dark .binding-empty{color:#b8c6cc}.dark .overview-row,.dark .deployment-item{border-color:#334650}@media (max-width:900px){.overview-grid,.deployment-grid{grid-template-columns:1fr}}@media (max-width:900px){.config-split,.setting-row{grid-template-columns:1fr}.section-head{flex-wrap:wrap}}@media (max-width:700px){.modal-backdrop{padding:12px}.modal{max-height:94dvh;padding:24px 20px}.project-list{padding:15px}.section-head{align-items:flex-start;flex-direction:column}.section-head .primary,.section-head .secondary{width:100%}.empty{padding:30px 12px}}
