:root {
  --cc-blue: #1677ff;
  --cc-blue-hover: #0958d9;
  --cc-blue-soft: #eaf3ff;
  --cc-ink: #172033;
  --cc-text: #344055;
  --cc-muted: #78849a;
  --cc-line: #e4eaf3;
  --cc-bg: #f4f7fb;
  --cc-card: #fff;
  --cc-success: #2f9d52;
  --cc-danger: #ed5b56;
  --cc-warning: #e99b18;
  --cc-shadow: 0 10px 30px rgba(32, 56, 85, .08);
}

* { box-sizing: border-box; }
html { min-height: 100%; background: var(--cc-bg); }
body { margin: 0; min-width: 320px; min-height: 100vh; color: var(--cc-text); background: var(--cc-bg); font: 14px/1.55 -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", Arial, sans-serif; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }
.cc-shell { min-height: 100vh; }
.cc-site-copyright { padding: 16px 24px 28px; text-align: center; color: #8792a5; font-size: 12px; line-height: 1.6; }
.cc-topbar { position: sticky; z-index: 20; top: 0; height: 48px; background: rgba(255,255,255,.98); border-bottom: 1px solid var(--cc-line); }
.cc-topbar-inner { width: min(1420px, calc(100% - 64px)); height: 100%; display: flex; align-items: center; margin: 0 auto; }
.cc-brand { display: flex; align-items: center; gap: 10px; color: var(--cc-ink); font-weight: 700; font-size: 18px; letter-spacing: .2px; }
.cc-brand i { color: var(--cc-blue); font-size: 22px; }
.cc-top-nav { display: flex; align-self: stretch; align-items: stretch; gap: 5px; margin-left: 42px; margin-right: auto; }
.cc-top-nav a { display: inline-flex; align-items: center; padding: 0 20px; color: #536178; font-weight: 600; border-bottom: 3px solid transparent; }
.cc-top-nav a.is-active, .cc-top-nav a:hover { color: var(--cc-blue); border-bottom-color: var(--cc-blue); }
.cc-top-actions { display: flex; align-items: center; gap: 8px; }
.cc-icon-btn { width: 34px; height: 34px; color: #607088; background: transparent; border: 0; border-radius: 7px; font-size: 17px; }
.cc-icon-btn:hover { color: var(--cc-blue); background: var(--cc-blue-soft); }
.cc-user-menu { position: relative; }
.cc-avatar { width: 34px; height: 34px; padding: 0; border: 0; border-radius: 50%; color: var(--cc-blue); background: #e7f0ff; font-size: 18px; }
.cc-popover { position: absolute; z-index: 50; top: calc(100% + 10px); right: 0; min-width: 176px; padding: 6px; display: none; background: #fff; border: 1px solid var(--cc-line); border-radius: 10px; box-shadow: var(--cc-shadow); }
.cc-popover.is-open { display: block; }
.cc-popover a, .cc-popover button { width: 100%; display: flex; align-items: center; gap: 10px; padding: 9px 11px; text-align: left; color: var(--cc-text); background: transparent; border: 0; border-radius: 6px; }
.cc-popover a:hover, .cc-popover button:hover { background: #f4f8ff; color: var(--cc-blue); }
.cc-main { width: min(1420px, calc(100% - 64px)); margin: 0 auto; padding: 20px 0 38px; }
.cc-page-title { margin: 0 0 6px; color: var(--cc-ink); font-size: 22px; line-height: 1.3; }
.cc-page-subtitle { margin: 0; color: var(--cc-muted); }
.cc-card { background: var(--cc-card); border: 1px solid var(--cc-line); border-radius: 10px; box-shadow: 0 4px 14px rgba(32, 56, 85, .035); }
.cc-section-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 58px; padding: 16px 22px; border-bottom: 1px solid var(--cc-line); }
.cc-section-head h2, .cc-section-head h3 { margin: 0; color: var(--cc-ink); font-size: 17px; }
.cc-section-head .hint { color: var(--cc-muted); font-size: 13px; }
.cc-btn { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 36px; padding: 0 14px; color: #435168; background: #fff; border: 1px solid #d9e1ed; border-radius: 6px; white-space: nowrap; transition: .18s ease; }
.cc-btn:hover { color: var(--cc-blue); border-color: #93c3ff; background: #f6faff; }
.cc-btn.primary { color: #fff; background: var(--cc-blue); border-color: var(--cc-blue); }
.cc-btn.primary:hover { color: #fff; background: var(--cc-blue-hover); border-color: var(--cc-blue-hover); }
.cc-btn.danger { color: var(--cc-danger); border-color: #ffd2d0; }
.cc-btn.danger:hover { color: #fff; background: var(--cc-danger); border-color: var(--cc-danger); }
.cc-btn.sm { min-height: 30px; padding: 0 10px; font-size: 13px; }
.cc-btn.icon-only { width: 36px; padding: 0; }
.cc-tag { display: inline-flex; align-items: center; min-height: 23px; padding: 0 8px; color: #5d6b81; background: #f1f4f8; border-radius: 4px; font-size: 12px; }
.cc-tag.blue { color: var(--cc-blue); background: var(--cc-blue-soft); }
.cc-tag.success { color: #278946; background: #eaf8ef; }
.cc-tag.orange { color: #b77912; background: #fff5df; }
.cc-status { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; }
.cc-status::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #aeb9c9; }
.cc-status.ok { color: var(--cc-success); }
.cc-status.ok::before { background: var(--cc-success); }
.cc-status.warn { color: var(--cc-warning); }
.cc-status.warn::before { background: var(--cc-warning); }
.cc-status.bad { color: var(--cc-danger); }
.cc-status.bad::before { background: var(--cc-danger); }
.cc-tabs { min-height: 60px; background: #fff; border-bottom: 1px solid var(--cc-line); overflow-x: auto; }
.cc-tabs-inner { width: min(1420px, calc(100% - 64px)); min-height: 60px; display: flex; align-items: center; gap: 28px; margin: 0 auto; }
.cc-tabs a { display: inline-flex; align-items: center; min-height: 60px; color: #536178; border-bottom: 3px solid transparent; font-size: 16px; font-weight: 600; white-space: nowrap; }
.cc-tabs a.is-active, .cc-tabs a:hover { color: var(--cc-blue); border-bottom-color: var(--cc-blue); }
.cc-provider-bar { display: flex; align-items: center; gap: 15px; margin-bottom: 20px; padding: 14px 18px; background: #fff; border: 1px solid var(--cc-line); border-radius: 8px; }
.cc-provider-mark { width: 33px; height: 33px; display: inline-flex; align-items: center; justify-content: center; color: var(--cc-blue); background: #edf5ff; border-radius: 8px; font-size: 19px; }
.cc-provider-info { min-width: 0; flex: 1; }
.cc-provider-info strong { color: var(--cc-ink); }
.cc-provider-info span { margin-left: 9px; color: var(--cc-muted); }
.cc-provider-switch { position: relative; }
.cc-dropdown-menu { position: absolute; z-index: 30; top: calc(100% + 7px); right: 0; display: none; width: 215px; overflow: hidden; background: #fff; border: 1px solid var(--cc-line); border-radius: 8px; box-shadow: var(--cc-shadow); }
.cc-dropdown-menu.is-open { display: block; }
.cc-dropdown-menu a { display: flex; align-items: center; gap: 9px; padding: 10px 13px; }
.cc-dropdown-menu a:hover { color: var(--cc-blue); background: #f6faff; }
.cc-dropdown-empty { display: block; padding: 10px 13px; color: var(--cc-muted); font-size: 13px; }
.cc-alert { display: flex; align-items: flex-start; gap: 9px; margin: 0 0 18px; padding: 10px 13px; color: #3a6db2; background: #edf5ff; border: 1px solid #d7eaff; border-radius: 6px; }
.cc-alert i { margin-top: 3px; }
.cc-alert.warning { color: #9a6814; background: #fff9ea; border-color: #f7e5b4; }
.cc-alert.success { color: #237b42; background: #eefaf2; border-color: #ccebd6; }
.cc-alert.danger { color: #a3312d; background: #fff3f2; border-color: #ffd1ce; }
.cc-grid { display: grid; gap: 20px; }
.cc-grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cc-grid.dashboard { grid-template-columns: minmax(0, 1.25fr) minmax(370px, .75fr); }
.cc-grid.console { grid-template-columns: minmax(390px, .83fr) minmax(520px, 1.17fr); align-items: start; }
.cc-table-wrap { width: 100%; overflow-x: auto; }
.cc-table { width: 100%; min-width: 720px; border-collapse: collapse; font-size: 13px; }
.cc-table th, .cc-table td { height: 47px; padding: 9px 13px; text-align: left; border-bottom: 1px solid #edf0f5; white-space: nowrap; }
.cc-table th { color: #657188; background: #fafbfd; font-weight: 600; }
.cc-table tr:last-child td { border-bottom: 0; }
.cc-table tbody tr { transition: .15s ease; }
.cc-table tbody tr:hover { background: #f7fbff; }
.cc-table tbody tr.is-selected { color: #fff; background: var(--cc-blue); }
.cc-table tbody tr.is-selected td { border-color: rgba(255,255,255,.25); }
.cc-table tbody tr.is-selected .cc-status, .cc-table tbody tr.is-selected .muted, .cc-table tbody tr.is-selected .cc-link { color: #fff; }
.cc-check { width: 15px; height: 15px; vertical-align: middle; accent-color: var(--cc-blue); }
.cc-link { color: var(--cc-blue); cursor: pointer; }
.cc-link:hover { color: var(--cc-blue-hover); }
.cc-link-button { padding: 0; color: var(--cc-blue); background: transparent; border: 0; }
.cc-link-button:disabled { color: var(--cc-muted); cursor: wait; }
.cc-table-empty { height: 92px !important; color: var(--cc-muted); text-align: center !important; white-space: normal !important; }
.muted { color: var(--cc-muted); }
.cc-empty-space { min-height: 280px; }
.cc-form { padding: 20px 22px; }
.cc-field { margin-bottom: 15px; }
.cc-field:last-child { margin-bottom: 0; }
.cc-label { display: flex; align-items: center; gap: 4px; margin-bottom: 7px; color: var(--cc-text); font-weight: 600; }
.cc-label .required { color: var(--cc-danger); }
.cc-control, .cc-select, .cc-textarea { width: 100%; height: 38px; padding: 0 11px; color: var(--cc-text); background: #fff; border: 1px solid #d8e0ec; border-radius: 5px; outline: none; transition: .15s ease; }
.cc-textarea { height: 120px; padding: 10px 11px; resize: vertical; line-height: 1.65; }
.cc-control:focus, .cc-select:focus, .cc-textarea:focus { border-color: #79b2ff; box-shadow: 0 0 0 3px rgba(22,119,255,.12); }
.cc-input-icon { position: relative; }
.cc-input-icon .cc-control { padding-left: 34px; }
.cc-input-icon i { position: absolute; z-index: 1; top: 12px; left: 12px; color: #9aa6b8; }
.cc-field-help { margin-top: 5px; color: var(--cc-muted); font-size: 12px; }
.cc-form-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
.cc-form-row.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cc-radio-group { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; min-height: 38px; }
.cc-ip-quantity-group { gap: 10px; }
.cc-radio-custom { white-space: nowrap; }
.cc-ip-custom-input { width: 78px; min-width: 70px; height: 34px; padding: 5px 8px; }
[data-provision-configuration-error-message] { white-space: pre-line; }
.cc-radio { display: inline-flex; align-items: center; gap: 5px; color: #546077; }
.cc-radio input { accent-color: var(--cc-blue); }
.cc-action-row { display: flex; flex-wrap: wrap; gap: 9px; padding-top: 5px; }
.cc-advanced { margin: 4px 0 15px; padding: 11px 13px; background: #f8faff; border: 1px solid var(--cc-line); border-radius: 6px; }
.cc-advanced summary { color: #536178; cursor: pointer; font-weight: 600; }
.cc-advanced[open] summary { margin-bottom: 13px; }
.cc-advanced .cc-field { margin-bottom: 0; }
.cc-account-overview { padding: 20px 22px; }
.cc-kv { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 12px 10px; }
.cc-kv dt { color: var(--cc-muted); }
.cc-kv dd { margin: 0; color: var(--cc-text); }
.cc-confirm-server-list { display: grid; gap: 8px; margin-top: 12px; }
.cc-confirm-server-list[hidden] { display: none; }
.cc-confirm-server-item { padding: 9px 11px; border: 1px solid #d8e8ff; border-radius: 6px; background: #f2f7ff; }
.cc-confirm-server-title { display: block; margin-bottom: 5px; color: #285b9d; font-size: 14px; font-weight: 700; }
.cc-confirm-server-section-label { display: block; margin-top: 4px; color: #285b9d; font-size: 13px; font-weight: 700; }
.cc-confirm-server-line { margin: 2px 0 0; color: #3c5f8c; font-size: 13px; font-weight: 600; line-height: 1.55; overflow-wrap: anywhere; }
.cc-confirm-server-value { margin-top: 1px; }
.cc-confirm-server-prices { margin-top: 5px; }
.cc-confirm-server-price-line { margin-top: 0; }
.cc-provision-query-loading { display: flex; align-items: center; gap: 9px; margin: 0 0 12px; padding: 9px 11px; color: #285b9d; background: #f2f7ff; border: 1px solid #d8e8ff; border-radius: 6px; line-height: 1.5; }
.cc-provision-query-loading[hidden] { display: none; }
.cc-confirm-price-summary { margin-top: 14px; }
.cc-reset-password-row input { flex: 0 1 58%; min-width: 0; }
.cc-reset-success-row { grid-template-columns: minmax(0, 1fr) auto; }
.cc-centered-modal-foot { justify-content: center; }
.cc-reset-password-row [data-generate-reset-password] { flex: 1 0 auto; min-width: 110px; }
.cc-confirm-input-row { display: flex; align-items: center; gap: 8px; }
.cc-confirm-input-row .cc-control { min-width: 0; flex: 1; }
.cc-confirm-input-row .cc-btn { flex: 0 0 auto; }
.cc-notes { padding: 20px 22px; }
.cc-notes ul { margin: 0; padding-left: 19px; color: #647086; }
.cc-notes li { margin: 0 0 12px; }
.cc-notes li:last-child { margin-bottom: 0; }
.cc-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 18px 22px 8px; }
.cc-search { width: min(280px, 100%); }
.cc-search .cc-control { padding-left: 34px; }
.cc-pagination { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 16px 22px 20px; color: var(--cc-muted); }
.cc-page-buttons { display: flex; gap: 7px; }
.cc-page-buttons button { width: 31px; height: 31px; color: #68768d; background: #fff; border: 1px solid #dce4ee; border-radius: 5px; }
.cc-page-buttons button.active { color: var(--cc-blue); border-color: var(--cc-blue); }
.cc-account-layout { display: grid; grid-template-columns: minmax(0, 1fr) 420px; gap: 24px; align-items: start; padding-top: 20px; }
.cc-account-main { min-width: 0; }
.cc-account-editor { position: sticky; top: 82px; min-height: min(840px, calc(100vh - 100px)); max-height: calc(100vh - 100px); display: flex; flex-direction: column; overflow: hidden; background: #fff; border: 1px solid var(--cc-line); border-radius: 10px; box-shadow: 0 4px 14px rgba(32, 56, 85, .05); }
.cc-drawer-overlay, .cc-modal-overlay { position: fixed; z-index: 70; inset: 0; display: none; background: rgba(20, 33, 52, .28); }
.cc-drawer-overlay.is-open, .cc-modal-overlay.is-open { display: block; }
.cc-drawer { position: absolute; top: 0; right: 0; width: min(480px, 100%); height: 100%; display: flex; flex-direction: column; background: #fff; box-shadow: -10px 0 30px rgba(17, 38, 66, .14); }
.cc-drawer-head, .cc-drawer-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 17px 20px; border-bottom: 1px solid var(--cc-line); }
.cc-drawer-head h2 { margin: 0; color: var(--cc-ink); font-size: 19px; }
.cc-drawer-body { flex: 1; overflow-y: auto; padding: 20px; }
.cc-drawer-foot { border-top: 1px solid var(--cc-line); border-bottom: 0; justify-content: flex-end; }
.cc-parse-result { display: none; align-items: center; gap: 8px; margin: 13px 0; padding: 9px 11px; color: #278946; background: #ebf8ef; border: 1px solid #ccefd7; border-radius: 5px; }
.cc-parse-result.is-visible { display: flex; }
.cc-modal-overlay { align-items: center; justify-content: center; padding: 18px; }
.cc-modal-overlay.is-open { display: flex; }
.cc-modal { width: min(430px, 100%); overflow: hidden; background: #fff; border-radius: 10px; box-shadow: 0 15px 50px rgba(17, 38, 66, .2); }
#provision-confirm-modal .cc-modal { width: min(760px, 100%); max-height: calc(100vh - 36px); display: flex; flex-direction: column; }
#provision-confirm-modal .cc-modal-body { min-height: 0; overflow-y: auto; }
.cc-modal-head { display: flex; align-items: center; gap: 10px; padding: 17px 20px; color: var(--cc-ink); border-bottom: 1px solid var(--cc-line); font-weight: 700; font-size: 17px; }
.cc-modal-head i { color: var(--cc-warning); }
.cc-modal-body { padding: 20px; color: #536178; }
.cc-account-unauthorized-message { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.cc-batch-server-price-list { display: grid; gap: 7px; margin: 12px 0 0; padding: 10px 12px; list-style: none; color: #365170; background: #f4f8ff; border: 1px solid #d8e7fb; border-radius: 6px; }
.cc-batch-server-price-list[hidden] { display: none; }
.cc-batch-server-price-list li { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; font-size: 13px; }
.cc-batch-server-price-list li span:last-child { color: #1b62b2; font-weight: 700; white-space: nowrap; }
.cc-confirm-summary .cc-kv { grid-template-columns: 86px minmax(0, 1fr); margin: 0; gap: 9px 12px; }
.cc-confirm-summary .cc-kv dd { color: var(--cc-ink); font-weight: 600; }
.cc-modal-foot { display: flex; justify-content: flex-end; gap: 9px; padding: 14px 20px; border-top: 1px solid var(--cc-line); }
#force-replace-ip-modal .cc-modal-foot { justify-content: center; }
.cc-quota-modal { width: min(520px, 100%); }
.cc-quota-message { display: flex; align-items: flex-start; gap: 16px; padding: 26px 24px 22px; color: #26364d; font-size: 16px; line-height: 1.6; }
.cc-quota-message > i { flex: 0 0 auto; margin-top: 1px; color: var(--cc-blue); font-size: 40px; }
.cc-quota-copy { display: grid; gap: 11px; min-width: 0; }
.cc-quota-copy strong, .cc-quota-copy p { margin: 0; }
.cc-quota-copy strong { color: var(--cc-ink); font-weight: 600; }
.cc-quota-copy p { color: #26364d; }
.cc-quota-copy [data-eip-quota-region-hint] { color: #d83b3b; font-size: 13px; }
.cc-quota-actions { flex-wrap: wrap; justify-content: center; }
.cc-quota-actions .cc-btn { min-width: 88px; }
.cc-ticket-modal { width: min(760px, 100%); max-height: calc(100vh - 36px); display: flex; flex-direction: column; }
.cc-ticket-body { overflow-y: auto; }
.cc-ticket-region { display: grid; grid-template-columns: 84px minmax(0, 1fr) auto; align-items: center; gap: 10px; margin-bottom: 15px; padding: 11px 13px; background: #f6f9fd; border: 1px solid #e1e8f2; border-radius: 7px; }
.cc-ticket-region span, .cc-ticket-description > span, .cc-ticket-second-region > span { color: var(--cc-muted); font-size: 13px; }
.cc-ticket-region strong { color: var(--cc-ink); }
.cc-ticket-region small { color: var(--cc-muted); }
.cc-ticket-templates { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-bottom: 15px; }
.cc-ticket-template { min-height: 46px; padding: 9px 12px; color: #3b4a60; background: #fff; border: 1px solid #dbe4ef; border-radius: 7px; cursor: pointer; font: inherit; font-weight: 700; text-align: center; }
.cc-ticket-template:hover, .cc-ticket-template.is-active { color: var(--cc-blue); border-color: #7cb2fa; background: #f2f7ff; box-shadow: 0 0 0 2px rgba(22,119,255,.08); }
.cc-ticket-description, .cc-ticket-second-region { display: grid; gap: 7px; margin-bottom: 13px; }
.cc-ticket-second-region[hidden] { display: none !important; }
.cc-ticket-description textarea.cc-control { height: auto; min-height: 126px; padding: 10px 11px; resize: vertical; line-height: 1.65; }
.cc-ticket-description > small { color: var(--cc-muted); }
.cc-ticket-body .cc-alert { margin: 12px 0 0; }
.cc-modal [hidden] { display: none !important; }
.cc-section-actions { display: flex; align-items: center; gap: 14px; }
.cc-ticket-center-modal { width: min(980px, calc(100% - 24px)); height: min(720px, calc(100vh - 36px)); display: flex; flex-direction: column; }
.cc-ticket-head-actions { display: flex; align-items: center; gap: 8px; margin-left: auto; }
.cc-ticket-head-actions .cc-icon-btn { margin-left: 0; }
.cc-ticket-center-body { display: grid; grid-template-columns: 300px minmax(0, 1fr); min-height: 0; flex: 1; overflow: hidden; }
.cc-ticket-list { overflow-y: auto; padding: 10px; background: #f7f9fc; border-right: 1px solid var(--cc-line); }
.cc-ticket-loading, .cc-ticket-empty { display: grid; min-height: 150px; place-items: center; gap: 8px; padding: 22px; color: var(--cc-muted); text-align: center; }
.cc-ticket-list-item { width: 100%; margin: 0 0 8px; padding: 11px 12px; color: var(--cc-text); background: #fff; border: 1px solid #dfe6ef; border-radius: 7px; cursor: pointer; font: inherit; text-align: left; }
.cc-ticket-list-item:hover, .cc-ticket-list-item.is-active { border-color: #76aefa; background: #f1f7ff; }
.cc-ticket-list-item > div { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 6px; }
.cc-ticket-list-item strong { color: var(--cc-ink); font-size: 13px; }
.cc-ticket-list-item em { color: var(--cc-blue); font-size: 11px; font-style: normal; }
.cc-ticket-list-item p { display: -webkit-box; overflow: hidden; margin: 0 0 6px; color: #536178; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-height: 1.5; white-space: normal; }
.cc-ticket-list-item small { color: var(--cc-muted); }
.cc-ticket-conversation { min-width: 0; overflow: hidden; }
.cc-ticket-conversation > [data-ticket-detail] { height: 100%; display: flex; min-height: 0; flex-direction: column; }
.cc-ticket-detail-head { padding: 14px 17px; border-bottom: 1px solid var(--cc-line); }
.cc-ticket-detail-head > div { display: flex; align-items: center; gap: 10px; }
.cc-ticket-detail-head [data-close-ticket] { margin-left: auto; }
.cc-ticket-detail-head strong { color: var(--cc-ink); }
.cc-ticket-detail-head span { padding: 2px 7px; color: var(--cc-blue); background: var(--cc-blue-soft); border-radius: 10px; font-size: 11px; }
.cc-ticket-detail-head p { margin: 7px 0 0; color: #536178; line-height: 1.55; }
.cc-ticket-message-list { min-height: 0; flex: 1; overflow-y: auto; padding: 16px; background: #fbfcfe; }
.cc-ticket-message { max-width: 82%; margin: 0 0 13px; padding: 10px 12px; background: #fff; border: 1px solid #dfe7f1; border-radius: 8px; }
.cc-ticket-message.is-customer { margin-left: auto; background: #edf6ff; border-color: #cfe3fb; }
.cc-ticket-message > div { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 5px; color: var(--cc-muted); font-size: 11px; }
.cc-ticket-message strong { color: #52627a; }
.cc-ticket-message p { margin: 0; color: var(--cc-text); line-height: 1.65; white-space: pre-wrap; word-break: break-word; }
.cc-ticket-attachments { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 9px; }
.cc-ticket-attachments a { display: grid; overflow: hidden; color: var(--cc-muted); background: #fff; border: 1px solid #dce5f0; border-radius: 7px; text-decoration: none; }
.cc-ticket-attachments img { width: 100%; height: 92px; display: block; object-fit: cover; background: #f3f6fa; }
.cc-ticket-attachments small { overflow: hidden; padding: 5px 7px; text-overflow: ellipsis; white-space: nowrap; }
.cc-ticket-reply-box { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 9px; padding: 12px 15px; border-top: 1px solid var(--cc-line); }
.cc-ticket-reply-box textarea.cc-control { height: 80px; padding: 9px 10px; resize: vertical; line-height: 1.5; }
.cc-ticket-reply-box .cc-btn { min-width: 112px; }
.cc-ticket-reply-actions { display: grid; min-width: 132px; gap: 6px; }
.cc-ticket-reply-actions small, .cc-ticket-file-field small { color: var(--cc-muted); font-size: 11px; line-height: 1.4; }
.cc-ticket-file-button { display: inline-flex !important; width: fit-content; align-items: center; justify-content: center; gap: 6px; padding: 7px 10px; color: var(--cc-blue) !important; background: #f3f8ff; border: 1px solid #cfe1fa; border-radius: 6px; cursor: pointer; font-size: 12px; font-weight: 600 !important; }
.cc-ticket-file-button input { display: none; }
.cc-ticket-conversation > [data-ticket-detail] > .cc-alert { margin: 12px 15px; }
.cc-ticket-create-modal { width: min(640px, 100%); max-height: calc(100vh - 36px); display: flex; flex-direction: column; }
.cc-ticket-create-body { display: grid; overflow-y: auto; gap: 15px; }
.cc-ticket-create-body label { display: grid; gap: 7px; }
.cc-ticket-create-body label > span { color: var(--cc-ink); font-weight: 600; }
.cc-ticket-create-body label > span b { margin-right: 4px; color: #e5484d; }
.cc-ticket-image-field { display: grid; gap: 7px; }
.cc-ticket-image-field > span { color: var(--cc-ink); font-weight: 600; }
.cc-ticket-file-field { display: flex; align-items: center; gap: 10px; }
.cc-ticket-create-body textarea.cc-control { height: auto; min-height: 150px; padding: 10px 11px; resize: vertical; line-height: 1.65; }
.cc-ticket-create-body .cc-alert { margin: 0; }
.cc-command-modal { width: min(980px, calc(100% - 30px)); height: min(760px, calc(100vh - 46px)); display: flex; overflow: hidden; flex-direction: column; }
.cc-command-modal .cc-modal-head { justify-content: space-between; }
.cc-terminal-target { overflow: hidden; max-width: 58%; color: var(--cc-muted); font-size: 12px; font-weight: 400; text-overflow: ellipsis; white-space: nowrap; }
.cc-terminal-body { display: flex; min-height: 0; flex: 1; flex-direction: column; padding: 14px; background: #f5f7fb; }
.cc-terminal-login { display: grid; grid-template-columns: auto minmax(190px, 320px) 38px minmax(0, 1fr); align-items: center; gap: 8px; margin-bottom: 10px; }
.cc-terminal-login label { color: var(--cc-ink); font-weight: 600; }
.cc-terminal-login .cc-btn { width: 38px; padding: 0; }
.cc-terminal-login > span { justify-self: end; color: var(--cc-muted); font-size: 12px; }
.cc-terminal-login > span i { color: var(--cc-success); font-size: 9px; }
.cc-web-terminal { min-height: 0; flex: 1; overflow: auto; padding: 16px 17px; color: #d9e7f7; background: #101b2b; border: 1px solid #26354a; border-radius: 7px 7px 0 0; outline: 0; font: 13px/1.65 Consolas, "SFMono-Regular", "Microsoft YaHei", monospace; white-space: pre-wrap; word-break: break-word; }
.cc-terminal-welcome { margin-bottom: 12px; color: #70d3a4; }
.cc-terminal-entry { margin: 0 0 8px; }
.cc-terminal-entry .command { display: block; color: #8fc5ff; }
.cc-terminal-entry .output { display: block; color: #e3edf9; }
.cc-terminal-entry .output.error { color: #ff918a; }
.cc-terminal-command-row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 9px; min-height: 48px; padding: 7px 8px 7px 16px; color: #82c5ff; background: #16243a; border: 1px solid #26354a; border-top: 0; border-radius: 0 0 7px 7px; font: 13px Consolas, "SFMono-Regular", monospace; }
.cc-terminal-command-row input { width: 100%; color: #f3f7ff; background: transparent; border: 0; outline: 0; font: inherit; }
.cc-terminal-command-row input::placeholder { color: #6f8098; }
.cc-terminal-command-row .cc-btn { min-height: 32px; }
.cc-terminal-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 2px 0; color: var(--cc-muted); font-size: 12px; }
.cc-terminal-toolbar > div { display: flex; gap: 12px; }
.cc-terminal-security { margin-right: auto; color: var(--cc-muted); font-size: 12px; }
.cc-context-menu { position: fixed; z-index: 60; display: none; min-width: 190px; max-height: calc(100vh - 24px); overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; padding: 5px; background: #fff; border: 1px solid #dbe2ec; border-radius: 7px; box-shadow: 0 10px 30px rgba(23, 46, 77, .18); }
.cc-context-menu.is-open { display: block; }
.cc-context-menu button { width: 100%; display: flex; align-items: center; gap: 9px; padding: 8px 10px; color: #3d4b60; background: transparent; border: 0; border-radius: 4px; text-align: left; }
.cc-context-menu button:hover { color: var(--cc-blue); background: #f3f8ff; }
.cc-context-menu .separator { height: 1px; margin: 4px 4px; background: var(--cc-line); }
.cc-context-menu button.danger { color: var(--cc-danger); }
.cc-context-menu button.danger:hover { color: var(--cc-danger); background: #fff4f3; }
.cc-context-menu [hidden] { display: none !important; }
.cc-provider-list { padding: 8px 22px 22px; }
.cc-provider-row { display: grid; grid-template-columns: 48px minmax(160px, 1fr) auto; align-items: center; gap: 16px; min-height: 85px; padding: 15px 8px; border-bottom: 1px solid var(--cc-line); }
.cc-provider-row:last-child { border-bottom: 0; }
.cc-provider-icon { width: 46px; height: 46px; display: flex; align-items: center; justify-content: center; color: var(--cc-blue); background: #edf5ff; border-radius: 9px; font-size: 23px; }
.cc-provider-icon img { width: 30px; height: 30px; object-fit: contain; }
.cc-provider-name { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; color: var(--cc-ink); font-weight: 700; font-size: 16px; }
.cc-provider-desc { margin-top: 4px; color: var(--cc-muted); font-size: 13px; }
.cc-provider-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.cc-article-list { padding: 4px 22px 16px; }
.cc-article { display: flex; align-items: center; gap: 12px; padding: 16px 0; border-bottom: 1px solid var(--cc-line); }
.cc-article:last-child { border-bottom: 0; }
.cc-article-icon { width: 30px; height: 30px; display: flex; flex: 0 0 auto; align-items: center; justify-content: center; color: var(--cc-blue); background: #edf5ff; border-radius: 6px; }
.cc-article-main { min-width: 0; flex: 1; }
.cc-article-main strong { display: block; overflow: hidden; color: var(--cc-ink); text-overflow: ellipsis; white-space: nowrap; }
.cc-article-main span { display: block; margin-top: 3px; overflow: hidden; color: var(--cc-muted); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.cc-article time { color: #98a3b3; font-size: 12px; white-space: nowrap; }
.cc-article > i { color: #99a5b8; }
.cc-back-link { display: inline-flex; align-items: center; gap: 7px; margin-bottom: 16px; color: var(--cc-blue); }
.cc-article-detail header { padding: 34px 42px 22px; border-bottom: 1px solid var(--cc-line); }
.cc-article-detail h1 { margin: 0 0 10px; color: var(--cc-ink); font-size: 28px; line-height: 1.35; }
.cc-article-detail header p { display: flex; gap: 14px; margin: 0; color: var(--cc-muted); font-size: 13px; }
.cc-article-content { padding: 32px 42px 46px; color: #435168; font-size: 15px; line-height: 1.85; overflow-wrap: break-word; }
.cc-article-content img { max-width: 100%; height: auto; }
.cc-article-content pre { max-width: 100%; overflow-x: auto; padding: 14px; background: #f6f8fb; border-radius: 6px; }
.cc-article-directory { padding: 5px 28px; }
.cc-no-article { padding: 42px 12px; color: var(--cc-muted); text-align: center; }
.cc-profile-page { max-width: 780px; }
.cc-profile-card .cc-kv { padding: 24px 28px; }
.cc-password-card { max-width: 500px; }
.cc-compact-table .cc-table { min-width: 620px; }
.cc-resource-stack { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; }
.cc-resource-stack > .cc-card { min-width: 0; }
.cc-resource-stack .cc-section-head { min-height: 46px; padding: 11px 15px; }
.cc-resource-stack .cc-section-head h3 { font-size: 14px; }
.cc-resource-stack .cc-table th, .cc-resource-stack .cc-table td { height: 38px; padding: 6px 10px; }
.cc-resource-table-scroll { overflow: auto; scrollbar-gutter: stable; scrollbar-color: #b9c4d2 transparent; scrollbar-width: thin; }
.cc-resource-table-scroll::-webkit-scrollbar { width: 7px; height: 7px; }
.cc-resource-table-scroll::-webkit-scrollbar-track { background: transparent; }
.cc-resource-table-scroll::-webkit-scrollbar-thumb { background: #c2ccd9; border-radius: 8px; }
.cc-resource-table-scroll::-webkit-scrollbar-thumb:hover { background: #9eacbd; }
.cc-resource-table-scroll .cc-table thead th { position: sticky; z-index: 2; top: 0; background: #f8fafc; box-shadow: inset 0 -1px 0 var(--cc-line); }
.cc-resource-card-ecs .cc-resource-table-scroll { min-height: 132px; max-height: 316px; }
.cc-resource-card-network .cc-resource-table-scroll { height: 316px; }
.cc-resource-card-eip .cc-resource-table-scroll { height: 430px; }
.cc-server-card-head { min-height: 52px; display: flex; align-items: center; gap: 7px; padding: 9px 9px 9px 10px; border-bottom: 1px solid var(--cc-line); background: linear-gradient(180deg, #fff 0%, #fbfdff 100%); }
.cc-server-card-head h3 { flex: 0 0 auto; margin: 0; color: var(--cc-ink); font-size: 14px; white-space: nowrap; }
.cc-server-toolbar { min-width: 0; display: flex; flex: 1 1 auto; align-items: center; justify-content: flex-end; gap: 3px; white-space: nowrap; }
.cc-server-toolbar-label { flex: 0 0 auto; color: #65758c; font-size: 11px; font-weight: 600; }
.cc-server-toolbar button { min-height: 28px; display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; gap: 4px; padding: 0 7px; color: #426184; background: #fff; border: 1px solid #d6e1ef; border-radius: 6px; font-size: 11px; white-space: nowrap; cursor: pointer; transition: .15s ease; }
.cc-server-toolbar button:hover { color: var(--cc-blue); border-color: #91bdf1; background: #f5f9ff; }
.cc-server-toolbar button:disabled { color: #9ba8b9; background: #f7f9fc; border-color: #e3e8ef; cursor: not-allowed; }
.cc-server-toolbar button.is-danger { color: var(--cc-danger); border-color: #f3cbc8; }
.cc-server-toolbar button.is-danger:hover { color: #fff; background: var(--cc-danger); border-color: var(--cc-danger); }
.cc-server-toolbar .cc-server-sync { color: var(--cc-blue); border-color: #93c3ff; background: #fff; padding-left: 9px; padding-right: 9px; font-size: 12px; }
.cc-server-toolbar .cc-server-sync:hover { border-color: var(--cc-blue); background: var(--cc-blue-soft); }
.cc-batch-actions { position: relative; flex: 0 0 auto; }
.cc-resource-card-eip .cc-batch-actions > button { min-height: 34px; padding: 7px 10px; color: #3d4b60; background: #fff; border: 1px solid var(--cc-line); border-radius: 5px; font-size: 12px; }
.cc-resource-card-eip .cc-batch-actions > button:hover { color: var(--cc-blue); border-color: #93c3ff; background: var(--cc-blue-soft); }
.cc-server-toolbar .cc-batch-actions-menu,
.cc-resource-card-eip .cc-batch-actions-menu { top: calc(100% + 6px); right: 0; width: 190px; padding: 5px; overflow: visible; white-space: normal; }
.cc-server-toolbar .cc-batch-actions-menu button,
.cc-resource-card-eip .cc-batch-actions-menu button { width: 100%; min-height: 34px; display: flex; justify-content: flex-start; align-items: center; gap: 7px; padding: 7px 10px; color: #3d4b60; background: transparent; border: 0; border-radius: 4px; font-size: 12px; text-align: left; }
.cc-server-toolbar .cc-batch-actions-menu button:hover,
.cc-resource-card-eip .cc-batch-actions-menu button:hover { color: var(--cc-blue); background: #f3f8ff; }
.cc-server-toolbar .cc-batch-actions-menu button:disabled,
.cc-resource-card-eip .cc-batch-actions-menu button:disabled { color: #adb7c5; background: transparent; cursor: not-allowed; }
.cc-server-toolbar .cc-batch-actions-menu button.danger,
.cc-resource-card-eip .cc-batch-actions-menu button.danger { color: var(--cc-danger); }
.cc-server-toolbar .cc-batch-actions-menu button.danger:hover,
.cc-resource-card-eip .cc-batch-actions-menu button.danger:hover { color: var(--cc-danger); background: #fff4f3; }
.cc-server-toolbar .cc-batch-actions-menu button.danger:disabled,
.cc-resource-card-eip .cc-batch-actions-menu button.danger:disabled { color: #adb7c5; background: transparent; }
.cc-batch-actions-menu .separator { height: 1px; margin: 4px; background: var(--cc-line); }
.cc-resource-empty-state { min-height: 90px; display: inline-flex; align-items: center; justify-content: center; flex-direction: column; gap: 5px; }
.cc-resource-empty-state > i { color: #b5c4d8; font-size: 22px; }
.cc-resource-empty-state > strong { color: #627189; font-size: 13px; font-weight: 600; }
.cc-resource-empty-state > small { color: #96a3b5; font-size: 11px; }
.cc-partial-resource { display: block; margin-top: 2px; color: #e58a00; white-space: nowrap; }
.cc-log { min-height: 364px; max-height: 510px; overflow-x: hidden; overflow-y: auto; padding: 13px 15px; color: #d7e3f5; background: #182335; border-radius: 7px; font: 12px/1.85 Consolas, "SFMono-Regular", monospace; user-select: text; -webkit-user-select: text; }
.cc-log p { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; word-break: break-word; cursor: text; }
.cc-log p.raw-output { color: #f3f7ff; white-space: pre-wrap; }
.cc-log p.is-running::after { content: ""; display: inline-block; width: 96px; height: 10px; margin-left: 8px; vertical-align: -1px; background: repeating-linear-gradient(90deg, transparent 0 7px, #182335 7px 10px), linear-gradient(90deg, #05070b 0%, #05070b 34%, #8fc5ff 48%, #05070b 62%, #05070b 100%); background-size: 100% 100%, 220% 100%; background-position: 0 0, 100% 0; border-radius: 1px; animation: cc-log-progress 1.15s linear infinite; }
@keyframes cc-log-progress { from { background-position: 0 0, 100% 0; } to { background-position: 0 0, -120% 0; } }
.cc-log .ok { color: #7ed39a; }
.cc-log .info { color: #8fc5ff; }
.cc-install-bar { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 20px; padding: 16px 18px; }
.cc-install-bar h3 { width: 100%; margin: 0 0 2px; color: var(--cc-ink); font-size: 15px; }
.cc-login { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 30px 20px; background: #0c284b url('/static/login/images/loginbg.jpg') center / cover no-repeat; }
.cc-login::before { content: ""; position: fixed; z-index: 0; inset: 0; background: rgba(8, 30, 62, .48); }
.cc-login-card { position: relative; z-index: 1; width: min(440px, 100%); overflow: hidden; background: rgba(255,255,255,.98); border: 1px solid rgba(255,255,255,.65); border-radius: 13px; box-shadow: 0 16px 55px rgba(0, 20, 47, .28); }
.cc-login-card-head { padding: 29px 37px 4px; text-align: center; }
.cc-login-logo { display: inline-flex; align-items: center; gap: 9px; color: var(--cc-ink); font-size: 21px; font-weight: 700; }
.cc-login-logo i { color: var(--cc-blue); font-size: 24px; }
.cc-login-logo img { width: 30px; height: 30px; border-radius: 7px; object-fit: contain; }
.cc-login-card-head p { margin: 9px 0 0; color: var(--cc-muted); }
.cc-login-tabs { display: flex; justify-content: center; gap: 36px; margin: 24px 0 0; border-bottom: 1px solid var(--cc-line); }
.cc-login-tabs button { padding: 0 3px 11px; color: #66738a; background: transparent; border: 0; border-bottom: 2px solid transparent; font-size: 15px; font-weight: 600; }
.cc-login-tabs button.is-active { color: var(--cc-blue); border-bottom-color: var(--cc-blue); }
.cc-login-form { display: none; padding: 25px 37px 31px; }
.cc-login-form.is-active { display: block; }
.cc-login-form .cc-field { margin-bottom: 17px; }
.cc-login-form .cc-btn.primary { width: 100%; min-height: 42px; margin-top: 5px; font-size: 15px; }
.cc-login-option { display: flex; align-items: center; justify-content: space-between; margin: -4px 0 18px; color: var(--cc-muted); font-size: 13px; }
.cc-login-option label { display: flex; align-items: center; gap: 5px; }
.cc-password-remember { margin-top: -5px; margin-bottom: 14px; }
.cc-login-password-control { position: relative; }
.cc-login-password-control .cc-control { padding-right: 42px; }
.cc-password-toggle { position: absolute; top: 50%; right: 5px; width: 34px; height: 32px; padding: 0; transform: translateY(-50%); color: #74839a; background: transparent; border: 0; }
.cc-captcha-row { display: grid; grid-template-columns: minmax(0, 1fr) 112px; gap: 9px; align-items: stretch; }
.cc-captcha-image { height: 38px; padding: 0; overflow: hidden; background: #fff; border: 1px solid var(--cc-line); border-radius: 6px; }
.cc-captcha-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.cc-agreement-link { padding: 0; color: var(--cc-blue); background: transparent; border: 0; }
.cc-agreement-link:hover { text-decoration: underline; }
.cc-agreement-modal { width: min(720px, 100%); }
.cc-agreement-modal .cc-modal-body { max-height: min(66vh, 620px); overflow-y: auto; }
.cc-agreement-content { color: #4a5870; line-height: 1.85; white-space: pre-wrap; }
.cc-login-methods { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: -2px 0 18px; padding: 4px; border-radius: 8px; background: #f2f6fb; }
.cc-login-methods button { min-height: 34px; border: 0; border-radius: 6px; color: #65758c; background: transparent; font-size: 13px; }
.cc-login-methods button.is-active { color: var(--cc-blue); background: #fff; box-shadow: 0 1px 4px rgba(32,77,135,.12); }
.cc-sms-row { display: grid; grid-template-columns: minmax(0, 1fr) 108px; gap: 9px; }
.cc-sms-row .cc-input-icon { min-width: 0; }
.cc-sms-code-btn { min-width: 0; padding: 0 8px; font-size: 12px; white-space: nowrap; }
.cc-login-note { margin: -7px 30px 24px; color: #8995a8; font-size: 12px; line-height: 1.65; text-align: center; }
.cc-login-divider { display: flex; align-items: center; gap: 12px; margin: 19px 0; color: #a1abb9; font-size: 12px; }
.cc-login-divider::before, .cc-login-divider::after { content: ""; flex: 1; height: 1px; background: var(--cc-line); }
.cc-guest-btn { width: 100%; min-height: 40px; color: var(--cc-blue); background: #fff; border: 1px solid #9fc8ff; border-radius: 6px; }
.cc-login-foot { padding: 13px 25px; color: rgba(255,255,255,.78); text-align: center; }
.cc-toast { position: fixed; z-index: 100; left: 50%; top: 86px; display: none; min-width: 230px; max-width: calc(100vw - 32px); padding: 10px 14px; color: #fff; background: #26364d; border-radius: 7px; box-shadow: var(--cc-shadow); transform: translateX(-50%); }
.cc-toast.is-visible { display: block; }
.cc-toast.success { color: #1d7b3a; background: #edf9f0; border: 1px solid #c7ead1; }
.cc-toast.error { color: #b3332e; background: #fff1f0; border: 1px solid #ffd1ce; }

/* 公开服务商入口 */
.cc-public-topbar .cc-topbar-inner { justify-content: space-between; }
.cc-brand-icon { width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center; color: var(--cc-blue); background: var(--cc-blue-soft); border-radius: 9px; }
.cc-brand-icon i { font-size: 18px; }
.cc-brand-icon.has-logo { overflow: hidden; background: #fff; }
.cc-brand-icon img { width: 100%; height: 100%; object-fit: contain; }
.cc-help-link { display: inline-flex; align-items: center; gap: 7px; min-height: 36px; padding: 0 8px; color: #536178; font-weight: 600; }
.cc-help-link:hover, .cc-help-link.is-active { color: var(--cc-blue); }
.cc-landing-shell { background: #f8faff; }
.cc-landing-main { width: min(1420px, calc(100% - 72px)); margin: 0 auto; padding: 0 0 30px; }
.cc-landing-hero { position: relative; min-height: 150px; display: flex; align-items: center; overflow: hidden; }
.cc-hero-copy { position: relative; z-index: 2; width: 58%; padding: 22px 0; }
.cc-hero-copy h1 { margin: 0; color: #101828; font-size: clamp(27px, 2.35vw, 40px); line-height: 1.35; letter-spacing: -.7px; }
.cc-hero-copy h1 strong { color: var(--cc-blue); }
.cc-hero-copy p { max-width: 760px; margin: 14px 0 0; color: #68758b; line-height: 1.8; }
.cc-hero-image { position: absolute; z-index: 1; top: 0; right: -4%; width: 62%; height: 100%; object-fit: cover; object-position: center; mix-blend-mode: multiply; }
.cc-provider-card-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.cc-provider-entry { min-width: 0; background: #fff; border: 1px solid var(--cc-line); border-radius: 10px; box-shadow: 0 4px 16px rgba(35, 65, 104, .045); }
.cc-provider-entry-main { min-height: 94px; display: grid; grid-template-columns: 54px minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 13px 16px; }
.cc-provider-logo { width: 54px; height: 54px; display: inline-flex; align-items: center; justify-content: center; color: var(--cc-blue); background: #f4f8ff; border: 1px solid #e6edf7; border-radius: 11px; font-size: 25px; }
.cc-provider-logo img { width: 42px; height: 42px; object-fit: contain; }
.cc-provider-entry-copy h2 { margin: 0; color: var(--cc-ink); font-size: 19px; }
.cc-provider-entry-copy p { margin: 4px 0 10px; color: var(--cc-muted); font-size: 13px; }
.cc-provider-entry-actions { display: grid; gap: 9px; min-width: 112px; }
.cc-landing-panel { margin-top: 12px; padding: 12px 16px 16px; background: #fff; border: 1px solid var(--cc-line); border-radius: 10px; box-shadow: 0 4px 16px rgba(35,65,104,.035); }
.cc-landing-section-title { display: flex; align-items: baseline; gap: 10px; margin-bottom: 10px; }
.cc-landing-section-title h2 { margin: 0; color: var(--cc-ink); font-size: 16px; }
.cc-landing-section-title span { color: var(--cc-muted); font-size: 12px; }
.cc-process-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.cc-process-grid article { position: relative; min-height: 78px; display: grid; grid-template-columns: 34px 44px minmax(0, 1fr) 20px; align-items: center; gap: 10px; padding: 10px 14px; border-right: 1px solid var(--cc-line); }
.cc-process-grid article:last-child { border-right: 0; }
.cc-process-grid article > b { width: 30px; height: 30px; display: inline-flex; align-items: center; justify-content: center; color: #fff; background: var(--cc-blue); border-radius: 50%; font-size: 12px; }
.cc-process-icon { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; color: var(--cc-blue); background: #f1f7ff; border-radius: 9px; font-size: 21px; }
.cc-process-grid h3, .cc-advantage-grid h3 { margin: 0; color: var(--cc-ink); font-size: 14px; }
.cc-process-grid p, .cc-advantage-grid p { margin: 3px 0 0; color: var(--cc-muted); font-size: 12px; line-height: 1.5; }
.cc-process-grid article > .fa-long-arrow-right { color: var(--cc-blue); }
.cc-advantage-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.cc-advantage-grid article { display: flex; align-items: center; gap: 13px; padding: 14px 16px; border: 1px solid var(--cc-line); border-radius: 8px; }
.cc-advantage-grid article > span { width: 38px; height: 38px; display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; color: var(--cc-blue); background: #edf5ff; border-radius: 50%; font-size: 18px; }
.cc-security-note { display: flex; align-items: flex-start; gap: 11px; margin-top: 12px; padding: 12px 16px; color: #56709a; background: #eef6ff; border-radius: 8px; }
.cc-security-note > i { margin-top: 3px; color: var(--cc-blue); }
.cc-security-note p { margin: 0; font-size: 12px; }

/* 服务商账号列表 */
.cc-provider-account-page { padding-top: 12px; }
.cc-page-heading-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin-bottom: 20px; }
.cc-page-heading-row h1 { margin: 0; color: var(--cc-ink); font-size: 26px; }
.cc-page-heading-row p { margin: 6px 0 0; color: var(--cc-muted); }
.cc-heading-actions { display: flex; gap: 10px; }
.cc-account-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-bottom: 10px; }
.cc-account-summary > * { display: flex; align-items: center; gap: 10px; min-width: 0; min-height: 70px; padding: 10px 13px; background: #fff; border: 1px solid var(--cc-line); border-radius: 9px; box-shadow: 0 4px 14px rgba(32, 56, 85, .035); }
.cc-summary-icon { width: 38px; height: 38px; display: inline-flex; align-items: center; justify-content: center; color: var(--cc-blue); background: #edf5ff; border-radius: 10px; font-size: 18px; }
.cc-account-summary p { margin: 0; color: var(--cc-muted); font-size: 12px; }
.cc-account-summary strong { display: block; margin-top: 2px; color: var(--cc-ink); font-size: 16px; }
.cc-account-summary strong em { margin-left: 7px; padding: 2px 6px; color: var(--cc-blue); background: var(--cc-blue-soft); border-radius: 4px; font-size: 11px; font-style: normal; font-weight: 500; }
.cc-summary-action-card { justify-content: flex-start; gap: 8px; }
.cc-summary-action-card > p { flex: 1; min-width: 0; }
.cc-summary-action-card strong { font-size: 14px; }
.cc-summary-action-buttons { display: flex; align-items: center; gap: 5px; }
.cc-summary-action-buttons .cc-btn { padding: 0 8px; }
.cc-account-select-layout { grid-template-columns: minmax(0, 1fr) 370px; gap: 12px; padding-top: 0; }
.cc-bound-accounts { min-height: 430px; }
.cc-bound-accounts .cc-section-head { min-height: 52px; padding: 10px 16px; }
.cc-account-toolbar { display: flex; flex: 0 1 310px; align-items: center; flex-wrap: nowrap; gap: 8px; min-width: 0; }
.cc-account-toolbar .cc-search { flex: 1 1 auto; width: auto; min-width: 0; }
.cc-account-toolbar .cc-btn { flex: 0 0 auto; }
.cc-account-choice-table { min-width: 690px; }
.cc-account-choice-table td:first-child { display: flex; align-items: center; gap: 9px; }
.cc-account-choice-table td:last-child { white-space: nowrap; }
.cc-account-actions { display: flex; align-items: center; flex-wrap: nowrap; gap: 6px; white-space: nowrap; }
.cc-account-actions .cc-btn, .cc-account-actions .cc-inline-form { flex: 0 0 auto; }
.cc-inline-form { display: inline-block; margin: 0; }
.cc-row-avatar { width: 34px; height: 34px; display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; color: var(--cc-blue); background: #edf5ff; border-radius: 50%; }
.cc-account-sidebar { position: sticky; top: 66px; display: grid; gap: 10px; }
.cc-quick-account-card .cc-section-head h2 i { margin-right: 7px; color: var(--cc-blue); }
.cc-textarea.compact { height: 68px; }
.cc-quick-account-card .cc-form { padding: 14px 16px 15px; }
.cc-quick-account-card .cc-field { margin-bottom: 10px; }
.cc-form-actions.split { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.cc-password-field { position: relative; }
.cc-password-field .cc-control { padding-right: 38px; }
.cc-password-field button { position: absolute; top: 0; right: 0; width: 38px; height: 38px; color: #8a96a8; background: transparent; border: 0; }
/* 单账号控制台 */
.cc-account-console-page { padding-top: 8px; padding-bottom: 10px; }
.cc-account-console-header { display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 7px 12px; background: #fff; border: 1px solid var(--cc-line); border-radius: 9px; }
.cc-account-provider-logo { width: 38px; height: 38px; display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; color: var(--cc-blue); background: #f4f8ff; border: 1px solid var(--cc-line); border-radius: 7px; font-size: 19px; }
.cc-account-provider-logo img { width: 30px; height: 30px; object-fit: contain; }
.cc-account-console-copy { min-width: 0; flex: 1; display: flex; align-items: center; gap: 12px; }
.cc-account-console-copy > div { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; color: var(--cc-ink); font-size: 15px; }
.cc-account-console-copy .divider { color: #bbc3cf; }
.cc-account-console-copy p { margin: 0; color: var(--cc-muted); font-size: 11px; white-space: nowrap; }
.cc-account-console-actions { display: flex; gap: 6px; }
.cc-account-console-actions .cc-btn { min-height: 34px; padding: 7px 11px; }
.cc-console-tabs { display: flex; gap: 28px; margin-top: 6px; border-bottom: 1px solid var(--cc-line); }
.cc-console-tabs a { min-width: 88px; padding: 8px 7px; color: #4d5a70; text-align: center; border-bottom: 3px solid transparent; font-weight: 600; }
.cc-console-tabs a.is-active { color: var(--cc-blue); border-bottom-color: var(--cc-blue); }
.cc-console-tabs button { min-width: 88px; padding: 8px 7px; color: #4d5a70; border: 0; border-bottom: 3px solid transparent; background: transparent; font: inherit; font-weight: 600; text-align: center; cursor: pointer; }
.cc-console-tabs button.is-active, .cc-console-tabs button:hover { color: var(--cc-blue); border-bottom-color: var(--cc-blue); }
.cc-provision-notice { display: flex; align-items: center; flex: 1; min-width: 0; height: 34px; margin: 3px 0 0 auto; padding: 0 10px; border: 1px solid #f6dfac; border-radius: 6px; background: #fffaf0; color: #865d16; font-size: 12px; }
.cc-provision-notice-label { flex: none; margin-right: 12px; font-weight: 700; }
.cc-provision-notice-window { flex: 1; min-width: 0; overflow: hidden; }
.cc-provision-notice-text { display: inline-block; min-width: max-content; padding-left: 100%; white-space: nowrap; animation: cc-provision-notice-scroll 32s linear infinite; }
.cc-provision-notice:hover .cc-provision-notice-text { animation-play-state: paused; }
@keyframes cc-provision-notice-scroll { to { transform: translateX(-100%); } }
@media (prefers-reduced-motion: reduce) { .cc-provision-notice-text { animation: none; padding-left: 0; } .cc-provision-notice-window { overflow-x: auto; } }
[data-console-tab-panel][hidden] { display: none !important; }
.cc-console-workspace { display: grid; grid-template-columns: minmax(760px, 1.28fr) minmax(420px, .72fr); gap: 14px; align-items: start; margin-top: 10px; }
.cc-console-left { min-width: 0; }
.cc-resource-stack { min-width: 0; }
.cc-overview-stat-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-bottom: 14px; }
.cc-stat-card { min-height: 132px; padding: 18px; background: #fff; border: 1px solid var(--cc-line); border-radius: 9px; }
.cc-stat-card > span { display: block; color: var(--cc-muted); font-size: 12px; }
.cc-stat-card > strong { display: block; margin: 18px 0 7px; color: var(--cc-ink); font-size: 26px; line-height: 1; }
.cc-stat-card > strong.status-ok { color: var(--cc-success); font-size: 15px; }
.cc-balance-card > strong { overflow: hidden; margin-top: 16px; font-size: 20px; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
.cc-balance-card > strong.status-ok { color: var(--cc-ink); font-size: 20px; }
.cc-inline-controls { display: flex; align-items: center; gap: 8px; }
.cc-inline-controls .cc-select { width: min(260px, 52vw); }
.cc-aliyun-quota-card { margin-top: 14px; }
.cc-quota-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 10px; min-height: 45px; }
.cc-quota-list > div { display: flex; min-width: 0; flex-direction: column; gap: 5px; padding: 11px 12px; border: 1px solid #e1eaf7; border-radius: 7px; background: #f8fbff; }
.cc-quota-list strong { color: #29486f; font-size: 12px; }
.cc-quota-list span { overflow: hidden; color: #1677ff; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.cc-aliyun-provision-help { color: #516988; line-height: 1.8; }
.cc-aliyun-provision-help ol { margin: 4px 0 16px 20px; padding: 0; }
.cc-aliyun-resource-stack { display: grid; align-content: start; gap: 14px; }
.cc-aliyun-right-stat-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; margin-bottom: 0; }
.cc-aliyun-right-stat-grid .cc-stat-card { min-width: 0; min-height: 0; padding: 10px 8px; }
.cc-aliyun-right-stat-grid .cc-stat-card > strong { margin: 7px 0 3px; font-size: 20px; }
.cc-aliyun-right-stat-grid .cc-stat-card > span { font-size: 11px; white-space: nowrap; }
.cc-aliyun-right-stat-grid .cc-stat-card > small,
.cc-aliyun-right-stat-grid .cc-stat-card > p { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.cc-aliyun-right-stat-grid .cc-stat-card > p { margin: 0; }
.cc-aliyun-quick-actions { display: flex; flex-direction: column; justify-content: center; gap: 5px; }
.cc-aliyun-quick-actions a, .cc-aliyun-quick-actions button { display: block; width: 100%; overflow: hidden; padding: 5px 4px; border: 0; border-radius: 5px; background: #eef5ff; color: #1764c1; font: inherit; font-size: 11px; line-height: 1.25; text-align: center; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; }
.cc-aliyun-quick-actions a:hover, .cc-aliyun-quick-actions button:hover { background: #dcecff; color: #084f9f; }
.cc-aliyun-quick-actions button:disabled { background: #f3f5f8; color: #8b98a9; cursor: not-allowed; }
.cc-aliyun-tickets-modal { display: flex; flex-direction: column; width: min(1120px, 100%); height: min(760px, calc(100vh - 36px)); }
.cc-aliyun-tickets-modal .cc-modal-head { flex: 0 0 auto; }
.cc-aliyun-tickets-modal .cc-modal-head .cc-icon-btn { margin-left: auto; }
.cc-aliyun-tickets-modal iframe { flex: 1 1 auto; width: 100%; min-height: 0; border: 0; background: #fff; }
.cc-aliyun-tickets-modal { display: flex; flex-direction: column; width: min(1120px, 100%); height: min(760px, calc(100vh - 36px)); }
.cc-aliyun-tickets-modal .cc-modal-head { flex: 0 0 auto; }
.cc-aliyun-tickets-modal .cc-modal-head .cc-icon-btn { margin-left: auto; }
.cc-aliyun-tickets-modal iframe { flex: 1 1 auto; width: 100%; min-height: 0; border: 0; background: #fff; }
.cc-account-console-page [hidden] { display: none !important; }
.cc-aliyun-package-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 14px 0; }
.cc-aliyun-package-grid .cc-btn { min-height: 74px; white-space: normal; text-align: left; line-height: 1.5; }
.cc-aliyun-package-grid .cc-btn strong { display: block; font-size: 13px; }
.cc-aliyun-package-grid .cc-btn small { color: inherit; opacity: .84; }
.cc-aliyun-instance-config { margin: 0 0 15px; padding: 14px; border: 1px solid var(--cc-line); border-radius: 8px; background: #fbfdff; }
.cc-aliyun-instance-config [hidden] { display: none !important; }
.cc-aliyun-instance-config.is-single { margin: 0 0 15px; padding: 0; border: 0; border-radius: 0; background: transparent; }
.cc-aliyun-instance-config .cc-batch-plan-active-head { margin: -2px 0 10px; }
.cc-aliyun-instance-config .cc-aliyun-region-field { margin: 0 0 15px; }
.cc-aliyun-instance-config .cc-aliyun-package-field { margin: 0; }
.cc-aliyun-package-title { margin: 12px 0 7px; color: var(--cc-text); font-weight: 600; }
.cc-aliyun-instance-config .cc-aliyun-package-grid { grid-template-columns: 1fr; gap: 0; overflow: hidden; border: 1px solid var(--cc-line); border-radius: 7px; }
.cc-aliyun-instance-config .cc-aliyun-package-grid .cc-btn { display: flex; align-items: center; justify-content: space-between; gap: 6px; min-height: 0; padding: 7px 9px; border: 0; border-radius: 0; border-bottom: 1px solid var(--cc-line); font-size: 11px; line-height: 1.25; white-space: nowrap; }
.cc-aliyun-instance-config .cc-aliyun-package-grid .cc-btn strong { display: inline; flex: 0 0 auto; font-size: 12px; }
.cc-aliyun-instance-config .cc-aliyun-package-grid .cc-btn small { overflow: hidden; font-size: 10px; text-align: right; text-overflow: ellipsis; white-space: nowrap; }
.cc-aliyun-instance-config .cc-aliyun-package-grid .cc-btn:last-child { border-bottom: 0; }
.cc-aliyun-password-field { margin-top: 0; }
.cc-aliyun-password-field .password-row { display: grid; grid-template-columns: minmax(0, 1fr) 38px 108px; gap: 7px; }
.cc-aliyun-password-field .password-row .cc-btn { min-width: 0; padding: 0 8px; white-space: nowrap; }
.cc-required-mark { margin-right: 4px; color: #e54d42; }
.cc-plain-password.is-masked { -webkit-text-security: disc; }
.cc-aliyun-open-row { align-items: center; margin: 0 0 8px; }
.cc-aliyun-open-row > .cc-select, .cc-aliyun-open-row > .cc-btn { min-width: 0; height: 38px; margin: 0; }
.cc-aliyun-resource-stack .cc-server-toolbar { gap: 8px; }
.cc-aliyun-resource-stack .cc-server-toolbar .cc-section-actions { flex-wrap: nowrap; gap: 5px; }
.cc-aliyun-resource-stack .cc-table th:first-child, .cc-aliyun-resource-stack .cc-table td:first-child { width: 30px; padding-right: 4px; text-align: center; }
.cc-aliyun-resource-stack .cc-table input[type="checkbox"] { width: 15px; height: 15px; vertical-align: middle; }
.cc-aliyun-order-summary { display: flex; justify-content: space-between; gap: 12px; margin: 14px 0; padding: 11px 13px; color: #24507e; background: #f3f8ff; border: 1px solid #d5e6fb; border-radius: 7px; font-size: 13px; line-height: 1.55; }
.cc-aliyun-order-summary strong { color: var(--cc-ink); }
.cc-check-line { display: flex; align-items: flex-start; gap: 8px; margin: 12px 0; color: #405878; font-size: 13px; line-height: 1.5; }
.cc-check-line input { margin-top: 3px; }
.cc-inline-select { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; color: #516988; }
.cc-inline-select .cc-select { min-width: 170px; }
.cc-empty-resource-copy { display: flex; align-items: center; gap: 8px; min-height: 72px; padding: 14px 16px; color: var(--cc-muted); font-size: 12px; line-height: 1.6; }
.cc-empty-resource-copy i { color: var(--cc-blue); font-size: 18px; }
[data-aliyun-provision-form] { font-size: 12px; }
[data-aliyun-provision-form] .cc-provision-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 13px; align-content: start; }
[data-aliyun-provision-form] .cc-provision-form-grid > label { display: block; min-width: 0; }
[data-aliyun-provision-form] .cc-provision-form-grid > label > span { display: flex; margin-bottom: 7px; color: var(--cc-text); font-weight: 600; }
[data-aliyun-provision-form] .cc-provision-form-grid > .cc-security-settings { grid-column: 1 / -1; }
[data-aliyun-provision-form] .cc-provision-form-grid > .cc-batch-plan-card { grid-column: 1 / -1; }
[data-aliyun-provision-form] .cc-provision-form-grid > .cc-batch-plan-active-head { grid-column: 1 / -1; }
[data-aliyun-provision-form] .cc-field-help { display: block; }
.cc-stat-card strong small { margin-left: 5px; font-size: 12px; font-weight: 500; }
.cc-stat-card p { margin: 0; color: var(--cc-muted); font-size: 11px; }
.cc-overview-ip-card { align-content: start; }
.cc-overview-region-picker { width: 100%; min-height: 30px; margin: 7px 0 3px; font-size: 12px; }
.cc-ticket-description-suggestions { display: grid; gap: 6px; margin-top: -5px; }
.cc-ticket-description-suggestions > span { color: var(--cc-muted); font-size: 12px; }
.cc-ticket-description-suggestions button { padding: 6px 8px; overflow: hidden; color: #62718a; background: #f7f9fc; border: 1px solid #dfe7f1; border-radius: 5px; cursor: pointer; font: inherit; font-size: 11px; line-height: 1.45; text-align: left; text-overflow: ellipsis; white-space: nowrap; }
.cc-ticket-description-suggestions button:hover { color: var(--cc-blue); border-color: #9bc4f7; background: #f1f7ff; }
.cc-ticket-create-tips { font-size: 12px; line-height: 1.65; }
.cc-overview-quota .cc-table { min-width: 780px; }
.cc-ticket-entry { color: var(--cc-blue); border-color: #cfe1fb; background: #f7fbff; }
.cc-progress { width: 48px; height: 5px; display: inline-block; margin-right: 7px; overflow: hidden; vertical-align: middle; background: #edf1f6; border-radius: 4px; }
.cc-progress i { display: block; max-width: 100%; height: 100%; background: var(--cc-blue); }
.cc-provision-primary-grid { display: grid; grid-template-columns: minmax(280px, 320px) minmax(480px, 1fr); gap: 14px; align-items: start; }
.cc-provision-primary-grid > .cc-card { min-width: 0; }
.compact-form { padding: 14px 16px; }
.compact-form .cc-field { margin-bottom: 11px; }
/* Only the provisioning form is compacted; long fields keep the full width. */
#provision-form > .cc-provision-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 13px; align-content: start; }
#provision-form > .cc-provision-form-grid > * { grid-column: 1 / -1; min-width: 0; }
#provision-form > .cc-provision-form-grid > [data-server-count-field],
#provision-form > .cc-provision-form-grid > [data-single-server-field] { grid-column: auto; }
#provision-form .cc-provision-form-grid > [hidden] { display: none !important; }
#provision-form .cc-preset-custom-row { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; min-width: 0; }
#provision-form .cc-preset-custom-row.is-custom { grid-template-columns: minmax(0, 1fr) 68px; }
#provision-form .cc-preset-custom-row > .cc-select,
#provision-form .cc-preset-custom-row > .cc-control { min-width: 0; width: 100%; }
#provision-form .cc-ip-custom-input { height: 38px; padding: 0 8px; }
#provision-form .cc-provision-form-grid .cc-select { min-width: 0; text-overflow: ellipsis; }
.cc-security-settings { margin: 6px 0 15px; padding: 12px; border: 1px solid var(--cc-line); border-radius: 6px; background: #f7faff; }
.cc-security-settings h3 { margin: 0 0 12px; font-size: 14px; }
.cc-security-heading { display: flex; align-items: center; gap: 6px; margin: 0; list-style: none; white-space: nowrap; cursor: pointer; }
.cc-security-heading::-webkit-details-marker { display: none; }
.cc-security-heading::before { content: "\25B6"; color: #7085a2; font-size: 9px; transition: transform .15s ease; }
.cc-security-settings[open] .cc-security-heading::before { transform: rotate(90deg); }
.cc-security-heading .cc-label { margin-left: auto !important; }
.cc-security-settings-body { margin-top: 10px; }
.cc-help-dot { display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; padding: 0; border: 1px solid #9db6db; border-radius: 50%; color: #2675d8; background: #fff; font-size: 12px; font-weight: 700; line-height: 1; cursor: pointer; }
.cc-security-help-text { margin: 0; color: #445873; line-height: 1.9; white-space: pre-wrap; }
#provision-form .cc-security-heading h3 { margin: 0; flex: 0 0 auto; }
#provision-form .cc-security-heading .cc-label { margin: 0; font-size: 11px; font-weight: 400; }
.cc-aliyun-console-workspace .cc-security-heading .cc-label { margin: 0; font-size: 11px; font-weight: 400; }
.cc-security-source-row { display: flex; gap: 8px; margin-bottom: 8px; }
.cc-security-source-row .cc-control { flex: 1; min-width: 0; }
.cc-security-source-row .cc-btn { flex: 0 0 auto; }
.cc-security-actions { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr) minmax(0, .8fr); gap: 5px; margin: 8px 0 0; }
#provision-form .cc-security-actions .cc-btn { min-width: 0; width: 100%; padding: 0 4px; font-size: 11px; white-space: nowrap; }
#provision-form { font-size: 12px; }
#provision-form .cc-control, #provision-form .cc-select, #provision-form .cc-btn { font-size: 12px; }
#provision-form .cc-security-settings h3 { font-size: 13px; }
#provision-form .cc-field-help { font-size: 11px; }
#provision-form .cc-price-summary { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2px; font-size: 11px; line-height: 1.45; margin: 0 0 8px; padding: 8px 10px; }
#provision-form .cc-provision-price-data { display: none !important; }
#provision-form .cc-price-server-heading { margin-top: 5px; color: #17395f; font-size: 12px; }
#provision-form .cc-price-server-heading:first-child { margin-top: 0; }
#provision-form .cc-price-summary br { display: none; }
.cc-repurchase-ip-list { max-height: 180px; margin: 10px 0 14px; padding: 9px 12px 9px 30px; overflow-y: auto; color: #40516b; background: #f6f9fd; border: 1px solid var(--cc-line); border-radius: 6px; line-height: 1.8; }
#provision-form .cc-purchase-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 0; }
.cc-script-settings { margin: 8px 0 12px; border: 1px solid var(--cc-line); border-radius: 6px; background: #f7faff; }
.cc-script-settings > summary { padding: 10px 12px; cursor: pointer; font-weight: 600; }
.cc-script-settings-body { padding: 2px 12px 12px; }
@media (max-width: 760px) {
  [data-aliyun-provision-form] .cc-provision-form-grid { grid-template-columns: minmax(0, 1fr); }
  #provision-form > .cc-provision-form-grid { grid-template-columns: minmax(0, 1fr); }
}
.cc-batch-plan-card { margin: 0 0 12px; overflow: hidden; }
.cc-batch-plan-card .cc-section-head { display: block; min-height: 0; padding: 10px 14px 9px; }
.cc-batch-plan-card .cc-batch-plan-head { display: flex; align-items: center; justify-content: flex-start; gap: 8px; }
.cc-batch-plan-card .cc-section-head h3 { white-space: nowrap; }
.cc-batch-plan-count-slot { min-width: 0; }
.cc-batch-plan-count-slot .cc-field { display: flex; align-items: center; gap: 6px; margin: 0; min-width: 0; }
.cc-batch-plan-count-slot .cc-label { flex: 0 0 auto; margin: 0; color: #40516b; font-size: 11px; white-space: nowrap; }
.cc-batch-plan-count-slot .cc-select { width: 78px; min-width: 78px; height: 30px; padding: 0 22px 0 8px; font-size: 12px; }
.cc-batch-plan-card .cc-section-head .hint { display: block; margin-top: 3px; font-size: 11px; line-height: 1.35; }
.cc-batch-plan-tabs { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 5px; padding: 8px 10px; background: #f8fbff; border-top: 1px solid var(--cc-line); border-bottom: 1px solid var(--cc-line); }
.cc-batch-plan-tab { position: relative; display: flex; align-items: center; justify-content: center; min-width: 0; height: 34px; padding: 2px 0; color: #58708f; background: #fff; border: 1px solid #d7e2f1; border-radius: 5px; cursor: pointer; font-size: 13px; font-weight: 700; transition: color .16s ease, background .16s ease, border-color .16s ease, box-shadow .16s ease; }
.cc-batch-plan-tab::after { position: absolute; top: 4px; right: 4px; width: 6px; height: 6px; content: ''; background: #aab6c5; border-radius: 50%; }
.cc-batch-plan-tab:not(.is-incomplete)::after { background: #27a861; }
.cc-batch-plan-tab.is-active.is-incomplete::after { background: #c9d6e5; }
.cc-batch-plan-tab.is-active:not(.is-incomplete)::after { background: #a6edbf; }
.cc-batch-plan-tab-status { display: none; }
.cc-batch-plan-tab:hover { color: var(--cc-blue); border-color: #8ab8f2; }
.cc-batch-plan-tab:focus-visible { outline: 2px solid rgba(37, 121, 255, .35); outline-offset: 2px; }
.cc-batch-plan-tab.is-active { color: #fff; background: var(--cc-blue); border-color: var(--cc-blue); box-shadow: 0 3px 8px rgba(37, 121, 255, .24); }
.cc-batch-plan-content { padding-top: 12px; padding-bottom: 5px; }
.cc-batch-server-plan[hidden] { display: none; }
.cc-batch-plan-active-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 0 0 12px; padding-bottom: 10px; border-bottom: 1px solid #edf1f6; }
.cc-batch-plan-active-head h3 { margin: 0; color: var(--cc-ink); font-size: 15px; }
.password-row { grid-template-columns: minmax(0, 1fr) 38px auto; gap: 7px; }
.password-row .cc-icon-btn { width: 38px; padding: 0; }
.cc-task-log-card { height: 680px; min-height: 0; overflow: hidden; display: flex; flex-direction: column; }
.cc-task-log-card .cc-section-head { flex: 0 0 auto; }
.cc-task-log-card .cc-log { width: 100%; min-height: 0; max-height: none; flex: 1 1 auto; border-radius: 0 0 9px 9px; }
.cc-log .error { color: #ff8e88; }
.cc-price-summary { display: flex; flex-wrap: wrap; gap: 5px 12px; align-items: center; margin: -2px 0 12px; padding: 9px 11px; color: #1a5daa; background: #f3f8ff; border: 1px solid #d6e7ff; border-radius: 7px; font-size: 12px; line-height: 1.55; }
.cc-price-summary span { font-weight: 600; }
.cc-price-summary small { color: #71839b; }
.cc-log-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
.danger-text { color: var(--cc-danger); }
.cc-service-tools { margin-top: 14px; }
.cc-service-tools .cc-section-head { min-height: 46px; padding: 10px 16px; }
.cc-service-tools .cc-action-row { padding: 12px 16px 8px; }
.cc-service-params { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; padding: 8px 16px 16px; border-top: 1px solid var(--cc-line); }
.cc-service-params .cc-field { margin: 0; }
.cc-control-suffix { position: relative; }
.cc-control-suffix .cc-control { padding-right: 42px; }
.cc-control-suffix span { position: absolute; top: 50%; right: 12px; color: var(--cc-muted); transform: translateY(-50%); }
.cc-default-settings-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 4px 0 2px; padding-top: 13px; border-top: 1px solid var(--cc-line); }
.cc-default-settings-title strong { color: var(--cc-ink); font-size: 15px; }
.cc-default-source { color: var(--cc-muted); font-size: 11px; }
.cc-traffic-summary { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; color: var(--cc-ink); }
.cc-traffic-summary strong { font-size: 22px; }
.cc-traffic-bar { height: 10px; overflow: hidden; background: #edf1f6; border-radius: 6px; }
.cc-traffic-bar i { display: block; height: 100%; background: var(--cc-blue); border-radius: inherit; }
.cc-traffic-summary + .cc-traffic-bar + p { margin-top: 16px; }
.cc-traffic-note { margin: 0 0 12px; color: var(--cc-muted); font-size: 12px; line-height: 1.65; }
.cc-traffic-modal { width: min(1120px, calc(100% - 24px)); }
.cc-traffic-modal .cc-modal-body { max-height: min(72vh, 700px); overflow: auto; }
.cc-traffic-limit-editor { display: flex; align-items: flex-end; gap: 10px; margin: 0 0 14px; padding: 12px; background: #f7f9fc; border: 1px solid var(--cc-line); border-radius: 7px; }
.cc-traffic-limit-editor label { flex: 1; color: var(--cc-ink); font-size: 12px; }
.cc-traffic-limit-editor .cc-control { margin-top: 6px; max-width: 220px; }
.cc-traffic-table-wrap { max-height: min(58vh, 590px); }
.cc-traffic-table { width: 100%; min-width: 0; font-size: 12px; }
.cc-traffic-table th, .cc-traffic-table td { white-space: nowrap; }
.cc-traffic-table td:nth-child(2) small { display: block; margin-top: 3px; color: var(--cc-muted); font-size: 11px; }
.cc-traffic-cell { min-width: 112px; }
.cc-traffic-cell > span { display: block; margin-bottom: 4px; text-align: right; color: var(--cc-muted); font-size: 11px; }
.cc-traffic-cell .cc-traffic-bar { height: 6px; }
.cc-traffic-state { display: inline-block; padding: 3px 7px; border-radius: 10px; font-size: 11px; }
.cc-traffic-state.is-normal { color: #15803d; background: #ecfdf3; }
.cc-traffic-state.is-blocked { color: #b42318; background: #fef3f2; }
.cc-rule-list { margin: 10px 0 0; padding-left: 20px; line-height: 1.9; }
.cc-btn.danger-outline { color: var(--cc-danger); border-color: rgba(231, 76, 60, .42); background: #fff; }
.cc-btn.danger-outline:hover { background: #fff4f3; }

/* 帮助中心 */
.cc-help-hero { display: flex; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.cc-help-hero h1 { margin: 0; color: var(--cc-ink); font-size: 28px; }
.cc-help-hero p { margin: 5px 0 0; color: var(--cc-muted); }
.cc-help-layout { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 18px; align-items: start; }
.cc-help-categories { position: sticky; top: 84px; padding: 14px; }
.cc-help-categories h2 { margin: 2px 8px 10px; color: var(--cc-ink); font-size: 16px; }
.cc-help-categories a { display: flex; align-items: center; gap: 9px; padding: 10px; border-radius: 6px; }
.cc-help-categories a:hover { color: var(--cc-blue); background: #f3f8ff; }
.cc-help-categories a.is-active { color: var(--cc-blue); background: var(--cc-blue-soft); font-weight: 600; }
.cc-help-categories a span { margin-left: auto; color: var(--cc-muted); }
.cc-help-groups { display: grid; gap: 14px; }
.cc-help-group .cc-article-list { padding-bottom: 5px; }
.cc-article-help-layout { margin-top: 4px; }
.cc-article-help-sidebar { position: sticky; top: 66px; }
.cc-article-help-sidebar .cc-help-categories { position: static; }
.cc-help-sidebar-title { margin-bottom: 14px; padding: 4px 2px; }
.cc-help-sidebar-title h1 { margin: 0; color: var(--cc-ink); font-size: 25px; }
.cc-help-sidebar-title p { margin: 3px 0 0; color: var(--cc-muted); font-size: 12px; }
.cc-article-detail-column { min-width: 0; }

@media (min-width: 1181px) {
  .cc-console-workspace { height: max(520px, calc(100vh - 172px)); min-height: 0; }
  .cc-console-left, .cc-provision-primary-grid { height: 100%; min-height: 0; }
  .cc-provision-primary-grid { align-items: stretch; }
  #provision-form { height: 100%; min-height: 0; overflow-y: auto; scrollbar-gutter: stable; }
  #provision-form > .cc-section-head { position: sticky; z-index: 4; top: 0; background: #fff; }
  .cc-task-log-card { height: 100%; }
  .cc-resource-stack { height: 100%; overflow-y: auto; align-content: start; padding-right: 3px; scrollbar-gutter: stable; }
}

@media (max-width: 1120px) {
  .cc-grid.dashboard, .cc-grid.console { grid-template-columns: 1fr; }
  .cc-main { width: min(1420px, calc(100% - 44px)); padding: 22px 0 32px; }
  .cc-topbar-inner, .cc-tabs-inner { width: min(1420px, calc(100% - 44px)); }
  .cc-account-layout { grid-template-columns: minmax(0, 1fr) 380px; gap: 20px; }
  .cc-provider-row { grid-template-columns: 48px minmax(130px, 1fr) auto; }
}

@media (max-width: 1020px) {
  .cc-account-layout { grid-template-columns: 1fr; }
  .cc-account-editor { position: static; width: 100%; min-height: 0; max-height: none; }
}

@media (max-width: 760px) {
  .cc-topbar { height: 58px; }
  .cc-topbar-inner, .cc-tabs-inner { width: calc(100% - 28px); }
  .cc-brand { font-size: 16px; }
  .cc-brand i { font-size: 19px; }
  .cc-top-nav { display: none; }
  .cc-top-actions { gap: 2px; }
  .cc-main { width: 100%; padding: 0 12px 24px; }
  .cc-page-title { font-size: 20px; }
  .cc-page-subtitle { font-size: 13px; }
  .cc-tabs { min-height: 51px; }
  .cc-tabs-inner { gap: 22px; min-height: 51px; }
  .cc-tabs a { min-height: 51px; font-size: 14px; }
  .cc-provider-bar { flex-wrap: wrap; align-items: flex-start; gap: 10px; padding: 12px; }
  .cc-provider-info { flex-basis: calc(100% - 45px); }
  .cc-provider-info span { display: block; margin: 2px 0 0; font-size: 12px; }
  .cc-provider-switch { width: 100%; }
  .cc-provider-switch .cc-btn { width: 100%; }
  .cc-dropdown-menu { width: 100%; }
  .cc-server-toolbar .cc-batch-actions-menu,
  .cc-resource-card-eip .cc-batch-actions-menu { right: 0; left: auto; width: 190px; }
  .cc-grid.two, .cc-form-row, .cc-form-row.three { grid-template-columns: 1fr; }
  .cc-section-head { min-height: 52px; padding: 13px 15px; }
  .cc-section-head h2 { font-size: 16px; }
  .cc-form, .cc-account-overview, .cc-notes { padding: 16px; }
  .cc-toolbar { padding: 14px 15px 6px; }
  .cc-toolbar .cc-btn.primary { width: 100%; }
  .cc-search { flex: 1; width: auto; }
  .cc-pagination { padding: 14px 15px 16px; }
  .cc-pagination > span { display: none; }
  .cc-provider-list { padding: 4px 15px 16px; }
  .cc-provider-row { grid-template-columns: 42px minmax(0, 1fr); gap: 12px; padding: 15px 0; }
  .cc-provider-icon { width: 42px; height: 42px; }
  .cc-provider-actions { grid-column: 1 / -1; justify-content: flex-start; }
  .cc-provider-actions .cc-btn { flex: 1 1 30%; padding: 0 8px; font-size: 12px; }
  .cc-article-list { padding: 3px 15px 10px; }
  .cc-article-directory { padding: 5px 15px; }
  .cc-article-detail header { padding: 25px 20px 18px; }
  .cc-article-detail h1 { font-size: 22px; }
  .cc-article-content { padding: 23px 20px 32px; font-size: 14px; }
  .cc-article time { display: none; }
  .cc-install-bar { margin-top: 14px; padding: 14px; }
  .cc-log { min-height: 280px; }
  .cc-account-layout { display: flex; flex-direction: column; gap: 16px; padding-top: 16px; }
  .cc-account-main { width: 100%; }
  .cc-account-editor { position: static; width: 100%; min-height: 0; max-height: none; }
  .cc-drawer { width: 100%; }
  .cc-drawer-head, .cc-drawer-foot { padding: 15px 16px; }
  .cc-drawer-body { padding: 17px 16px; }
  .cc-login { align-items: flex-start; padding: 52px 15px 25px; }
  .cc-login-card-head { padding: 24px 24px 2px; }
  .cc-login-form { padding: 22px 24px 26px; }
  .cc-login-tabs { margin-top: 21px; }
}

@media (max-width: 1180px) {
  .cc-console-workspace { grid-template-columns: 1fr; }
  .cc-resource-stack { height: auto; margin-top: 2px; overflow: visible; }
  .cc-overview-stat-grid { grid-template-columns: repeat(3, minmax(150px, 1fr)); overflow-x: auto; padding-bottom: 4px; }
  .cc-aliyun-right-stat-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); overflow: visible; }
  .cc-account-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 1020px) {
  .cc-landing-main { width: min(100% - 40px, 1420px); }
  .cc-process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cc-process-grid article:nth-child(2) { border-right: 0; }
  .cc-account-sidebar { position: static; }
  .cc-provision-primary-grid { grid-template-columns: 1fr 1fr; }
  .cc-aliyun-package-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cc-service-params { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .cc-help-link span { display: none; }
  .cc-landing-main { width: 100%; padding: 0 12px 22px; }
  .cc-landing-hero { min-height: 210px; align-items: flex-start; }
  .cc-hero-copy { width: 100%; padding: 26px 4px 95px; }
  .cc-hero-copy h1 { max-width: 580px; font-size: 27px; }
  .cc-hero-copy p { margin-top: 10px; font-size: 13px; }
  .cc-hero-image { top: auto; right: -20%; bottom: 0; width: 88%; height: 115px; object-position: center; opacity: .72; }
  .cc-provider-card-grid { grid-template-columns: 1fr; }
  .cc-provider-entry-main { grid-template-columns: 50px minmax(0, 1fr); gap: 12px; padding: 14px; }
  .cc-provider-logo { width: 50px; height: 50px; }
  .cc-provider-logo img { width: 38px; height: 38px; }
  .cc-provider-entry-actions { grid-column: 1 / -1; grid-template-columns: 1fr 1fr; }
  .cc-provider-entry-copy .cc-btn { width: 100%; }
  .cc-process-grid, .cc-advantage-grid { grid-template-columns: 1fr; }
  .cc-process-grid article { border-right: 0; border-bottom: 1px solid var(--cc-line); }
  .cc-process-grid article:last-child { border-bottom: 0; }
  .cc-advantage-grid article { padding: 12px; }
  .cc-page-heading-row, .cc-help-hero { flex-direction: column; margin-top: 18px; }
  .cc-page-heading-row h1, .cc-help-hero h1 { font-size: 22px; }
  .cc-heading-actions { width: 100%; display: grid; grid-template-columns: 1fr 1fr; }
  .cc-account-summary { grid-template-columns: 1fr; gap: 8px; }
  .cc-account-summary > * { min-height: 62px; padding: 10px 12px; }
  .cc-summary-action-buttons { margin-left: auto; }
  .cc-account-select-layout { padding-top: 0; }
  .cc-bound-accounts { min-height: 0; }
  .cc-bound-accounts .cc-section-head { align-items: stretch; flex-direction: column; }
  .cc-account-toolbar { flex: 1 1 auto; width: 100%; }
  .cc-form-actions.split { grid-template-columns: 1fr; }
  .cc-account-console-header { flex-wrap: wrap; margin-top: 12px; padding: 12px; }
  .cc-account-console-copy { flex-basis: calc(100% - 66px); display: block; }
  .cc-account-console-copy p { margin-top: 3px; white-space: normal; }
  .cc-account-console-copy > div { font-size: 15px; }
  .cc-account-console-actions { width: 100%; display: grid; grid-template-columns: 1fr 1fr; }
  .cc-account-console-actions .cc-provider-switch, .cc-account-console-actions .cc-btn { width: 100%; }
  .cc-console-tabs { gap: 8px; flex-wrap: wrap; overflow-x: auto; }
  .cc-console-tabs a { flex: 1; min-width: 110px; }
  .cc-provision-notice { flex-basis: 100%; min-width: 100%; margin: 0 0 6px; }
  .cc-console-workspace { margin-top: 10px; }
  .cc-overview-stat-grid { grid-template-columns: repeat(2, minmax(145px, 1fr)); overflow: visible; }
  .cc-aliyun-right-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cc-stat-card { min-height: 118px; padding: 14px; }
  .cc-stat-card > strong { margin-top: 15px; font-size: 22px; }
  .cc-provision-primary-grid { grid-template-columns: 1fr; }
  .cc-aliyun-package-grid { grid-template-columns: 1fr; }
  .cc-task-log-card { height: auto; }
  .cc-task-log-card .cc-log { min-height: 290px; max-height: 360px; }
  .cc-command-modal { width: calc(100% - 18px); height: calc(100vh - 18px); }
  .cc-ticket-templates { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cc-ticket-region { grid-template-columns: 72px minmax(0, 1fr); }
  .cc-ticket-region small { grid-column: 2; }
  .cc-ticket-center-modal { width: calc(100% - 12px); height: calc(100vh - 12px); }
  .cc-ticket-center-modal .cc-modal-head { align-items: flex-start; }
  .cc-ticket-head-actions { flex-shrink: 0; }
  .cc-ticket-create-modal { width: calc(100% - 12px); max-height: calc(100vh - 12px); }
  .cc-ticket-center-body { grid-template-columns: 1fr; overflow-y: auto; }
  .cc-ticket-list { max-height: 210px; border-right: 0; border-bottom: 1px solid var(--cc-line); }
  .cc-ticket-conversation { min-height: 420px; }
  .cc-ticket-reply-box { grid-template-columns: 1fr; }
  .cc-ticket-reply-box .cc-btn { width: 100%; }
  .cc-ticket-reply-actions { grid-template-columns: auto minmax(0, 1fr); align-items: center; }
  .cc-ticket-reply-actions .cc-btn { grid-column: 1 / -1; }
  .cc-ticket-attachments { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cc-terminal-login { grid-template-columns: auto minmax(0, 1fr) 38px; }
  .cc-terminal-login > span { display: none; }
  .cc-terminal-command-row { grid-template-columns: 1fr auto; padding-left: 9px; }
  .cc-terminal-command-row > span { display: none; }
  .cc-terminal-toolbar { align-items: flex-start; flex-direction: column; }
  .password-row { grid-template-columns: minmax(0, 1fr) 38px auto; }
  .cc-service-params { grid-template-columns: 1fr; }
  .cc-help-layout { grid-template-columns: 1fr; }
  .cc-help-categories { position: static; display: flex; overflow-x: auto; gap: 4px; }
  .cc-help-categories h2 { display: none; }
  .cc-help-categories a { flex: 0 0 auto; }
  .cc-article-help-sidebar { position: static; }
  .cc-help-sidebar-title { margin-bottom: 6px; }
}
