/* 以全球流量为统一商品管理样式，仅作用于商品管理。 */
.uniform-products .admin-provider>.card,.uniform-products .product-energy-container{border:0;border-radius:0;background:transparent;padding:0;box-shadow:none}
.uniform-products .admin-provider .table-panel{padding:0;border:1px solid var(--line);border-radius:8px;background:#fff;overflow:auto;margin-bottom:16px}
.uniform-products .admin-provider table{width:100%;min-width:980px;border-collapse:collapse}
.uniform-products .admin-provider th,.uniform-products .admin-provider td{height:46px;padding:0 14px;border-bottom:1px solid var(--line);text-align:left;font-size:13px;white-space:nowrap;vertical-align:middle}
.uniform-products .admin-provider th{color:#686f7c;background:#fafafa;font-weight:600}.uniform-products .admin-provider td{color:#23262d}.uniform-products .admin-provider tr:last-child td{border-bottom:0}
.uniform-products .admin-provider td[colspan]{height:96px;text-align:center;color:var(--muted)}
.uniform-products .admin-provider small{display:block;font-size:12px;color:var(--muted);line-height:1.6;margin:3px 0;white-space:normal;max-width:320px}
.uniform-products .admin-provider .toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0 0 16px}
.uniform-products .admin-provider input:not([type=checkbox]),.uniform-products .admin-provider select,.uniform-products .admin-provider button{box-sizing:border-box;min-height:38px;border:1px solid #d0d5dd;border-radius:4px;background:#fff;color:var(--text);font:inherit;font-size:13px;padding:8px 12px}
.uniform-products .admin-provider button{cursor:pointer;white-space:nowrap}.uniform-products .admin-provider button.primary{background:var(--brand);color:#fff;border-color:var(--brand)}.uniform-products .admin-provider button:disabled{opacity:.5;cursor:default}
.uniform-products .admin-provider input[type=search]{width:250px}.uniform-products .admin-provider .upstream-balance-band{padding:12px 0 16px;margin:0 0 16px;border-bottom:1px solid var(--line);background:transparent}.uniform-products .admin-provider .upstream-balance-band button{min-height:34px;padding:6px 10px}
.uniform-products .product-filterbar{align-items:end}.uniform-products .hero-product-filters{display:contents}.uniform-products .hero-product-filters label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted);margin:0}.uniform-products .hero-product-filters select{width:145px}.uniform-products .hero-product-filters input{width:115px}
.uniform-products .product-pager{justify-content:flex-end;padding-top:10px;gap:10px;color:var(--muted);font-size:13px}
.uniform-products .product-tools{margin:16px 0;padding:12px 0;border-top:1px solid var(--line);font-size:13px}.uniform-products .product-tools>summary{cursor:pointer;color:var(--muted)}.uniform-products .product-tools[open]>summary{margin-bottom:16px}
.uniform-product-dialog{border:0;border-radius:12px;width:560px;max-width:calc(100vw - 48px);max-height:85vh;overflow:auto;padding:24px;color:var(--text);background:#fff}.uniform-product-dialog::backdrop{background:#11182766}.uniform-product-dialog h2{font-size:20px;margin:0 0 12px}.uniform-product-dialog p{color:var(--muted);font-size:13px;line-height:1.7}.uniform-product-dialog .product-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.uniform-product-dialog label{display:flex;flex-direction:column;gap:8px;font-size:13px}.uniform-product-dialog label.check-line{flex-direction:row;align-items:center}.uniform-product-dialog input:not([type=checkbox]),.uniform-product-dialog textarea{box-sizing:border-box;min-width:0;width:100%;padding:10px;border:1px solid #d0d5dd;border-radius:4px;font:inherit;font-size:13px}.uniform-product-dialog label:has(textarea){grid-column:1/-1}.uniform-product-dialog .modal-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);padding-top:16px;margin-top:20px}.uniform-product-dialog button{padding:9px 18px;border:1px solid #d0d5dd;border-radius:4px;font:inherit;background:#fff;cursor:pointer}.uniform-product-dialog button.primary{background:var(--brand);color:#fff;border-color:var(--brand)}.uniform-product-dialog [role=status]{color:#b42318}.uniform-product-dialog button:disabled{opacity:.5}
.uniform-products .admin-service-notice{display:none!important}
.uniform-products .product-feedback{margin:0 0 16px;padding:10px 14px;border:1px solid var(--line);border-radius:4px;color:var(--muted);background:#fafafa;font-size:13px;line-height:1.7}
#uniformProductError:empty{display:none}#uniformProductError[data-type=info]{color:var(--muted)}
.uniform-products .product-instructions{padding:12px 14px;margin:0 0 16px;border:1px solid var(--line);border-radius:4px;background:#fafafa;color:var(--muted);font-size:13px;line-height:1.8}
.uniform-products .product-instructions strong{display:block;color:var(--text);font-weight:600;margin-bottom:4px}.uniform-products .product-instructions p{margin:0;color:inherit;font-size:13px;line-height:1.8}
.uniform-products .product-empty{text-align:center;padding:30px 14px;color:var(--muted);font-size:13px}.uniform-products .product-empty[hidden]{display:none!important}
.uniform-products .energy-upstream-summary{padding:12px 0 16px;margin:0 0 16px;border-bottom:1px solid var(--line)}.uniform-products .energy-upstream-summary .toolbar{margin-bottom:10px}.uniform-products .energy-upstream-summary h2{font-size:13px;font-weight:600;margin:0 8px 0 0}.uniform-products .energy-upstream-summary p{font-size:13px;line-height:1.8;margin:6px 0;color:var(--muted)}
.uniform-products .energy-balance-policy{margin:12px 0 0;padding:12px 0 0;border-bottom:0;border-top:1px solid var(--line)}.uniform-products .energy-balance-policy-note{font-size:12px!important;margin-top:8px;color:var(--muted)}
.realname-badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600;line-height:1.5;white-space:nowrap}.realname-badge.is-required{background:#fff3df;color:#9a4a00;border:1px solid #f3cc8d}.realname-badge.not-required{background:#eaf8ef;color:#17673b;border:1px solid #b7dfc6}.realname-badge.is-unknown{background:#f0f2f5;color:#5d6673;border:1px solid #d5dae1}
.project-visibility-controls{background:#fff;border:1px solid var(--line);border-radius:8px;padding:12px 16px;margin-bottom:16px}.project-visibility-controls .muted{font-size:12px}
.project-visibility-controls{display:block}.project-entry-switches{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
/* Compact service-entry cards, separate from the balance forms. */
body .uniform-products>.project-visibility-controls{display:block;padding:16px 18px;margin:0 0 18px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 2px 10px #17374703}
.project-entry-switches strong{font-size:14px;white-space:nowrap}.project-entry-switches p{margin:0;line-height:1.6;color:var(--muted)}
.project-entry-order{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;list-style:none;max-width:none;padding:0;margin:12px 0 0}
.project-entry-order li{display:grid;grid-template-columns:24px 1fr auto auto;align-items:center;gap:6px;padding:10px;border:1px solid #e2ebe9;border-radius:9px;background:#f8fbfa;min-width:0}
.project-entry-order .project-entry-rank{display:grid;place-items:center;width:23px;height:23px;min-width:0;margin:0;border-radius:6px;background:#e5f2ee;color:#197767;font-size:12px;font-weight:700}
.project-entry-toggle{grid-column:2/-1;display:flex;align-items:center;gap:7px;min-width:0;font-size:12px;font-weight:600;white-space:nowrap}
.project-entry-toggle input{width:15px;height:15px;margin:0;accent-color:var(--brand)}
.project-entry-order button{padding:4px 9px;margin:3px 0 0;min-height:28px!important;border:1px solid #d6e2de;border-radius:6px;background:#fff;font-size:11px;color:#375f56;cursor:pointer}.project-entry-order button:first-of-type{grid-column:3}.project-entry-order button:disabled{opacity:.35;cursor:default}.project-entry-order .is-hidden-entry{background:#fafbfc;border-color:#e8edf0}.project-entry-order .is-hidden-entry label{color:var(--muted)}
/* All five providers share the same header, balance and catalog action placement. */
body .uniform-products .catalog-provider>.catalog-balance-band{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 16px;margin:0 0 14px;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:#fff}
.uniform-products .catalog-balance-band .upstream-balance-summary{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;min-width:0}.uniform-products .catalog-balance-band .upstream-balance-summary>span:first-child{font-size:12px;color:var(--muted)}
.uniform-products .catalog-balance-band .catalog-balance-value{display:inline!important;max-width:none;margin:0;font-size:19px;line-height:1.3;font-weight:700;color:#117b6a;font-variant-numeric:tabular-nums}
.uniform-products .catalog-balance-band small{display:inline;max-width:none;margin:0;font-size:11px;color:#80918e}.uniform-products .catalog-balance-actions{display:flex;align-items:center;gap:8px;position:relative}.uniform-products .catalog-balance-actions>button{min-height:32px;padding:6px 12px;border-radius:7px}
.uniform-products .catalog-balance-band .catalog-balance-value{order:1}.uniform-products .catalog-balance-band .upstream-balance-summary small{order:2}
.catalog-balance-alert{position:relative;font-size:12px}.catalog-balance-alert>summary{cursor:pointer;list-style:none;padding:8px 11px;color:#55746b;border:1px solid #dce7e2;border-radius:7px;background:#f9fcfa;white-space:nowrap}
.catalog-balance-alert[open]{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:8px 10px;border:1px solid var(--line);border-radius:8px;max-width:560px;background:#f8fbfa}.catalog-balance-alert[open]>summary{border:0;padding:0 4px 0 0;background:transparent}.catalog-balance-alert label{font-size:12px;white-space:nowrap}.catalog-balance-alert .upstream-balance-limit input{max-width:100px}.catalog-balance-alert .energy-balance-policy{border:0!important;padding:0!important;margin:0!important;display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.uniform-products .catalog-balance-band [data-balance-status]:empty{display:none}.uniform-products .catalog-balance-band>[data-balance-status]{grid-column:1/-1;font-size:12px}
body .uniform-products .catalog-provider .catalog-filterbar{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin:0 0 12px;padding:0;background:transparent}
.uniform-products .catalog-filterbar>input[type=search]{width:clamp(210px,24vw,340px);flex:1 1 220px;min-width:160px}.uniform-products .catalog-filterbar select{min-width:112px;max-width:155px}.uniform-products .catalog-filterbar input:not([type=checkbox]),.uniform-products .catalog-filterbar select,.uniform-products .catalog-filterbar button{min-height:36px;border-radius:7px;font-size:12px}
.uniform-products .catalog-filterbar>label{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted);white-space:nowrap}.uniform-products .catalog-filterbar>label:has(select){font-size:0}.uniform-products .catalog-filterbar>label select{font-size:12px}
.uniform-products .catalog-sync-area{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-left:auto;padding-left:3px}.uniform-products .catalog-sync-area button{min-width:96px!important;box-shadow:0 3px 8px #117c6a12}.uniform-products .catalog-sync-time{font-size:11px;color:#7a8e88;white-space:nowrap;font-variant-numeric:tabular-nums}
.uniform-products .catalog-extra-tools{margin:0 0 12px;padding:0;color:var(--muted);font-size:12px}.catalog-extra-tools>summary{cursor:pointer;width:max-content;padding:3px 0}.catalog-extra-tools[open]{padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fbfcfc}.catalog-extra-tools[open]>summary{margin-bottom:9px}.uniform-products .catalog-extra-tools .product-instructions{margin:0;padding:0;border:0;background:transparent}.catalog-extra-fields{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.catalog-extra-fields label{display:flex;flex-direction:column;gap:5px;font-size:11px}.catalog-extra-fields input{max-width:130px}
.catalog-sync-job{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.catalog-sync-job p{font-size:12px;margin:0 0 8px}.catalog-sync-job:has(p:empty):not(:has(button:not([hidden]))):not(:has(progress:not([hidden]))){display:none}
@media(max-width:1150px){.project-entry-order{grid-template-columns:repeat(3,minmax(0,1fr))}.uniform-products .catalog-sync-area{margin-left:0}}
@media(max-width:700px){.project-entry-order{grid-template-columns:repeat(2,minmax(0,1fr))}.project-entry-switches{gap:5px}body .uniform-products .catalog-provider>.catalog-balance-band{grid-template-columns:1fr;padding:12px}.uniform-products .catalog-balance-actions{justify-content:flex-start}.uniform-products .catalog-filterbar>input[type=search]{flex-basis:100%;width:100%}.uniform-products .catalog-sync-area{width:100%;margin-top:2px}.catalog-balance-alert[open]{max-width:100%}}
@media(max-width:420px){.project-entry-order{grid-template-columns:1fr}.project-entry-order li{grid-template-columns:24px minmax(0,1fr) auto auto}.project-entry-order .project-entry-rank{grid-column:1;grid-row:1}.project-entry-toggle{grid-column:2;grid-row:1}.project-entry-order button{grid-row:1;margin:0}.project-entry-order button:first-of-type{grid-column:3}.project-entry-order button:last-of-type{grid-column:4}}

/* Expanded Hero tools occupy the space above the catalog, grouped by task. */
.uniform-products .catalog-hero-tools{margin:0 0 14px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#fff;display:grid;grid-template-columns:minmax(180px,.7fr) minmax(260px,1.3fr);gap:12px 18px;align-items:start}
.uniform-products .catalog-hero-tools>summary{grid-column:1/-1;font-weight:600;cursor:default;list-style:none;margin:0}
.uniform-products .catalog-hero-tools>summary::-webkit-details-marker{display:none}
.uniform-products .catalog-hero-tools .toolbar{margin:0;gap:8px;display:flex;flex-wrap:wrap;align-items:center}
.uniform-products .catalog-hero-tools .hero-bulk-pricing{grid-column:2;grid-row:2 / span 2;align-self:center;padding-left:18px;border-left:1px solid var(--line)}
.uniform-products .catalog-hero-tools .hero-bulk-pricing input{width:92px;min-width:70px;flex:none}
.uniform-products .catalog-hero-tools>details{margin:0;min-width:0}
.catalog-alert-form{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0}
.catalog-alert-form label{display:flex;align-items:center;gap:6px;margin:0}.catalog-alert-form input[type=number]{width:116px;min-width:0}.catalog-alert-form .check-line{white-space:nowrap}
.catalog-balance-band[hidden]{display:none!important}
@media(max-width:700px){.uniform-products .catalog-hero-tools{grid-template-columns:1fr}.uniform-products .catalog-hero-tools .hero-bulk-pricing{grid-column:1;grid-row:auto;padding:12px 0 0;border-left:0;border-top:1px solid var(--line)}}

.uniform-products .catalog-hero-tools>h3{grid-column:1/-1;margin:0;font-size:13px;font-weight:600}.uniform-products .catalog-hero-tools>#heroAdminRefresh{justify-self:start}

.uniform-products .catalog-hero-tools .toolbar{padding-top:0;padding-bottom:0}.uniform-products .catalog-hero-tools>#heroSingleSync{margin:0}.uniform-products .catalog-hero-tools>#heroSingleSync>summary{margin-bottom:0}

/* Product sync has one primary entry; bulk editing stays in one compact row. */
.uniform-products .catalog-hero-tools.catalog-bulk-only{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px}
.uniform-products .catalog-bulk-only>h3{margin-right:auto}
.uniform-products .catalog-bulk-only .hero-bulk-pricing{border:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.uniform-products .catalog-bulk-only [hidden]{display:none!important}

.catalog-pricing-badges{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.catalog-pricing-badges:empty{display:none}.catalog-pricing-badge{display:inline-flex;padding:2px 6px;border-radius:5px;font-size:11px;line-height:1.4;font-weight:600;background:#fff1d8;color:#8b5100}.catalog-pricing-badge.is-new{background:#e4f5f2;color:#086b5c}.catalog-pricing-badge.is-changed{background:#fff0e6;color:#a64612}
