.pc-page { display: grid; gap: 18px; padding: 4px 0 32px; color: var(--text, #172033); }
.pc-header h1 { margin: 0 0 6px; font-size: 27px; }
.pc-header p, .pc-section-head p { margin: 0; color: var(--text-muted, #667085); }
.pc-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.pc-metric { display: grid; gap: 7px; padding: 17px; border: 1px solid #e5e9f0; border-radius: 13px; background: #fff; box-shadow: 0 5px 18px rgba(29, 41, 57, .04); }
.pc-metric span, .pc-metric small { color: #667085; }
.pc-metric strong { font-size: 23px; overflow-wrap: anywhere; }
.pc-section { border: 1px solid #e5e9f0; border-radius: 13px; background: #fff; overflow: hidden; }
.pc-section-head { display: flex; justify-content: space-between; align-items: center; gap: 15px; padding: 17px 19px; border-bottom: 1px solid #edf0f5; }
.pc-section-head h2 { margin: 0 0 4px; font-size: 18px; }
.pc-table-wrap { width: 100%; overflow: auto; }
.pc-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.pc-table th, .pc-table td { padding: 12px 14px; border-bottom: 1px solid #edf0f5; text-align: left; vertical-align: top; white-space: nowrap; }
.pc-table th { color: #667085; background: #f8fafc; font-weight: 600; }
.pc-table tr:last-child td { border-bottom: 0; }
.pc-table .mono, .pc-section .mono { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
.pc-actions { display: flex; gap: 7px; }
.pc-button { border: 1px solid #d0d5dd; border-radius: 8px; padding: 7px 11px; background: #fff; color: #344054; cursor: pointer; }
.pc-button:hover { border-color: #5575e7; color: #3156d3; }
.pc-button.primary { color: #fff; border-color: #3156d3; background: #3156d3; }
.pc-button.small { padding: 5px 8px; font-size: 12px; }
.pc-button.ghost { border: 0; font-size: 20px; padding: 2px 8px; }
.pc-button:disabled { cursor: not-allowed; opacity: .45; }
.pc-status { display: inline-flex; border-radius: 999px; padding: 3px 8px; font-size: 12px; background: #eef2f6; }
.pc-status.ok { color: #067647; background: #ecfdf3; }
.pc-status.pending { color: #b54708; background: #fffaeb; }
.pc-status.danger { color: #b42318; background: #fef3f2; }
.pc-empty, .pc-error { padding: 30px; text-align: center; color: #667085; }
.pc-error { border: 1px solid #fecdca; border-radius: 12px; color: #b42318; background: #fef3f2; }
.pc-region-loading { padding: 28px 18px; text-align: center; color: #667085; background: #f8fafc; }
.pc-region-error { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 18px; border: 1px solid #fecdca; border-radius: 10px; color: #b42318; background: #fef3f2; }
.pc-region-error strong, .pc-region-error p { display: block; margin: 0; }
.pc-region-error p { margin-top: 4px; font-size: 13px; overflow-wrap: anywhere; }
.pc-region-error .pc-button { flex: 0 0 auto; color: #b42318; border-color: #fda29b; background: #fff; }
.pc-section > .pc-region-error, .pc-section > .pc-region-loading { margin: 16px 18px; }
.pc-promo-stats > .pc-region-error { grid-column: span 3; }
.pc-pager, .pc-toolbar { display: flex; align-items: center; justify-content: flex-end; gap: 10px; padding: 12px 17px; }
.pc-toolbar input, .pc-toolbar select, .pc-section-head select { min-width: 180px; }
.pc-modal-overlay { position: fixed; inset: 0; z-index: 10000; display: grid; place-items: center; padding: 24px; background: rgba(16, 24, 40, .52); }
.pc-modal { width: min(1040px, 96vw); max-height: 90vh; display: grid; grid-template-rows: auto minmax(0, 1fr) auto; border-radius: 15px; overflow: hidden; background: #fff; box-shadow: 0 24px 70px rgba(16, 24, 40, .24); }
.pc-modal-head, .pc-modal-actions { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 14px 18px; border-bottom: 1px solid #edf0f5; }
.pc-modal-head h2 { margin: 0; }
.pc-modal-body { display: grid; gap: 14px; padding: 18px; overflow: auto; }
.pc-modal-actions { justify-content: flex-end; border-top: 1px solid #edf0f5; border-bottom: 0; }
.pc-field { display: grid; gap: 6px; color: #475467; }
.pc-field input, .pc-field textarea, .pc-toolbar input, .pc-toolbar select, .pc-section-head select { width: 100%; box-sizing: border-box; border: 1px solid #d0d5dd; border-radius: 8px; padding: 9px 10px; color: #101828; background: #fff; }
.pc-model-discount-modal { width: min(1180px, calc(100vw - 24px)); max-height: calc(100vh - 24px); }
.pc-model-discount-modal .pc-modal-body { gap: 16px; padding: 20px; }
.pc-model-discount-modal .pc-modal-actions { padding: 13px 20px; }
.pc-model-discount-form { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.pc-model-discount-bulk-panel { display: grid; gap: 12px; padding: 14px; border: 1px solid #cfe0ff; border-radius: 12px; background: #f7faff; }
.pc-model-discount-panel-title, .pc-model-discount-section-head { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; min-width: 0; }
.pc-model-discount-panel-title strong, .pc-model-discount-section-head strong { color: #101828; font-size: 14px; }
.pc-model-discount-panel-title span, .pc-model-discount-section-head span { color: #667085; font-size: 12px; }
.pc-model-discount-bulk-controls { display: grid; grid-template-columns: minmax(220px, 1fr) auto; gap: 10px; align-items: end; }
.pc-model-discount-bulk-controls .pc-field { min-width: 0; }
.pc-model-discount-bulk-controls .pc-button { min-height: 39px; white-space: nowrap; }
.pc-model-discount-selection-actions { display: flex; gap: 8px; }
.pc-model-discount-selection-actions .pc-button { padding: 6px 10px; font-size: 12px; }
.pc-model-discount-section { display: grid; gap: 10px; min-width: 0; }
.pc-model-discount-picker, .pc-model-discount-current-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 10px; max-height: 350px; overflow: auto; padding: 7px; border: 1px solid #e1e5ec; border-radius: 12px; background: #f8fafc; }
.pc-model-discount-provider-column, .pc-model-discount-current-column { display: flex; flex-direction: column; gap: 5px; min-width: 0; padding: 9px; border: 1px solid #e1e5ec; border-radius: 10px; background: #fff; }
.pc-model-discount-provider-head, .pc-model-discount-current-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-width: 0; padding: 1px 2px 7px; border-bottom: 1px solid #edf0f5; }
.pc-model-discount-provider-title { display: flex; align-items: center; gap: 6px; min-width: 0; }
.pc-model-discount-provider-title strong, .pc-model-discount-current-head strong { min-width: 0; overflow: hidden; color: #101828; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.pc-model-discount-provider-count, .pc-model-discount-current-head span { flex: 0 0 auto; color: #98a2b3; font-size: 11px; }
.pc-model-discount-provider-action { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; min-width: 66px; min-height: 32px; padding: 5px 9px; border: 1px solid #cbdcff; border-radius: 6px; color: #1d4ed8; background: #eff6ff; cursor: pointer; font-size: 11px; line-height: 1; white-space: nowrap; }
.pc-model-discount-provider-action:hover { background: #eff6ff; }
.pc-model-discount-model-option { display: flex; align-items: center; width: 100%; min-width: 0; min-height: 38px; padding: 8px 9px; border: 1px solid #e2e8f0; border-radius: 7px; color: #0f172a; background: #fff; cursor: pointer; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: 12px; font-weight: 500; line-height: 1.25; text-align: left; }
.pc-model-discount-model-option:hover { border-color: #93c5fd; background: #eff6ff; color: #1d4ed8; }
.pc-model-discount-model-option.is-selected { border-color: #2563eb; color: #fff; background: #2563eb; }
.pc-model-discount-provider-toggle { display: flex; flex: 1 1 auto; align-items: center; gap: 7px; min-width: 0; min-height: 34px; padding: 3px 2px; border: 0; color: #101828; background: transparent; cursor: pointer; font: inherit; text-align: left; }
.pc-model-discount-provider-toggle:hover { color: #1d4ed8; }
.pc-model-discount-provider-title { flex: 1 1 auto; }
.pc-model-discount-provider-collapse-label { flex: 0 0 auto; color: #667085; font-size: 10.5px; }
.pc-model-discount-provider-chevron { width: 16px; height: 16px; flex: 0 0 auto; color: #667085; transition: transform .18s ease; }
.pc-model-discount-provider-column.is-collapsed .pc-model-discount-provider-chevron { transform: rotate(-90deg); }
.pc-model-discount-provider-models { display: flex; flex-direction: column; gap: 5px; }
.pc-model-discount-provider-models[hidden] { display: none; }
.pc-model-discount-provider-toggle:focus-visible, .pc-model-discount-provider-action:focus-visible, .pc-model-discount-model-option:focus-visible, .pc-model-discount-current-toggle:focus-visible { outline: 2px solid #2563eb; outline-offset: 2px; }
.pc-model-discount-model-name, .pc-model-discount-current-model { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pc-model-discount-current-grid { max-height: 330px; }
.pc-model-discount-current-column { gap: 6px; }
.pc-model-discount-current-toggle { display: flex; align-items: center; width: 100%; min-width: 0; min-height: 32px; gap: 8px; padding: 2px 0; border: 0; color: #101828; background: transparent; cursor: pointer; font: inherit; text-align: left; }
.pc-model-discount-current-toggle strong { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pc-model-discount-current-toggle span { flex: 0 0 auto; color: #667085; font-size: 10.5px; }
.pc-model-discount-current-toggle:hover { color: #1d4ed8; }
.pc-model-discount-current-models { display: flex; flex-direction: column; gap: 5px; }
.pc-model-discount-current-models[hidden] { display: none; }
.pc-model-discount-current-column.is-collapsed .pc-model-discount-provider-chevron { transform: rotate(-90deg); }
.pc-model-discount-current-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: center; min-height: 34px; padding: 5px 7px; border-radius: 7px; background: #f8fafc; }
.pc-model-discount-current-model { color: #344054; font-size: 12px; }
.pc-model-discount-current-value { min-width: 58px; padding: 4px 8px; border: 1px solid #d0d5dd; border-radius: 6px; color: #101828; background: #fff; font-size: 12px; font-weight: 650; text-align: center; }
.pc-model-discount-modal .pc-modal-actions .pc-button.primary { min-width: 96px; }
.pc-model-discount-step { display: flex; flex-direction: column; gap: 12px; min-width: 0; padding: 14px; border: 1px solid #e2e8f0; border-radius: 12px; background: #fff; }
.pc-model-discount-step-models { border-color: #bfdbfe; background: #f8fbff; }
.pc-model-discount-step-setting { background: #f8fafc; }
.pc-model-discount-step-head { display: flex; align-items: center; gap: 10px; min-width: 0; }
.pc-model-discount-step-index { flex: 0 0 auto; padding: 4px 9px; border-radius: 999px; color: #1d4ed8; background: #dbeafe; font-size: 11px; font-weight: 700; white-space: nowrap; }
.pc-model-discount-step-copy { display: flex; flex: 1 1 auto; flex-direction: column; gap: 2px; min-width: 0; }
.pc-model-discount-step-copy strong { color: #0f172a; font-size: 14px; }
.pc-model-discount-step-copy span { color: #64748b; font-size: 11.5px; }
.pc-model-discount-step-head .pc-model-discount-selection-count { flex: 0 0 auto; color: #2563eb; font-size: 12px; font-weight: 700; white-space: nowrap; }
.pc-model-discount-picker { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: max-content; align-items: start; height: min(400px, 46vh); max-height: 46vh; padding: 8px; }
.pc-model-discount-provider-column { align-self: start; }
.pc-model-discount-model-option { justify-content: space-between; gap: 10px; }
.pc-model-discount-model-name { flex: 1 1 auto; }
.pc-model-discount-model-values { display: flex; flex: 0 0 auto; align-items: center; gap: 4px; font-family: Inter, system-ui, sans-serif; }
.pc-model-discount-model-current, .pc-model-discount-model-minimum { display: inline-flex; align-items: center; gap: 3px; min-width: 58px; padding: 3px 5px; border: 1px solid #dbe3ee; border-radius: 6px; color: #334155; background: #f1f5f9; line-height: 1.15; white-space: nowrap; }
.pc-model-discount-model-minimum { min-width: 72px; border-style: dashed; color: #92400e; background: #fff7ed; }
.pc-model-discount-model-values small { font-size: 9px; font-weight: 500; opacity: .78; }
.pc-model-discount-model-values strong { font-size: 10.5px; font-weight: 700; }
.pc-model-discount-model-option.is-selected .pc-model-discount-model-current, .pc-model-discount-model-option.is-selected .pc-model-discount-model-minimum { border-color: rgba(255, 255, 255, .38); color: #fff; background: rgba(255, 255, 255, .16); }
.pc-model-discount-model-option.is-below-minimum { border-color: #ef4444; box-shadow: inset 3px 0 0 #ef4444; }
.pc-model-discount-model-option.is-below-minimum .pc-model-discount-model-current { border-color: #fecaca; color: #b91c1c; background: #fef2f2; }
.pc-model-discount-selection-toolbar { display: flex; justify-content: flex-end; gap: 8px; }
.pc-model-discount-selection-toolbar .pc-button { min-width: 112px; font-size: 12px; line-height: 1.2; }
.pc-model-discount-setting-row { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(190px, auto); gap: 10px; align-items: end; }
.pc-model-discount-setting-row .pc-button, .pc-model-discount-setting-row input { min-height: 40px; }
.pc-model-discount-setting-row .pc-button { white-space: nowrap; }
body.platform-light .pc-model-discount-modal .pc-modal-head h2 { color: #111827 !important; }
body.platform-light .pc-model-discount-provider-toggle, body.platform-light .pc-model-discount-provider-toggle:hover { min-height: 34px !important; padding: 3px 2px !important; border: 0 !important; background: transparent !important; color: #111827 !important; -webkit-text-fill-color: #111827 !important; box-shadow: none !important; }
body.platform-light .pc-model-discount-provider-collapse-label, body.platform-light .pc-model-discount-provider-chevron { color: #64748b !important; -webkit-text-fill-color: #64748b !important; }
body.platform-light .pc-model-discount-provider-action, body.platform-light .pc-model-discount-provider-action:hover { width: auto !important; min-width: 66px !important; min-height: 32px !important; padding: 5px 9px !important; border: 1px solid #bfdbfe !important; background: #eff6ff !important; color: #1d4ed8 !important; -webkit-text-fill-color: #1d4ed8 !important; box-shadow: none !important; }
body.platform-light .pc-model-discount-model-option { min-height: 42px !important; padding: 8px 10px !important; border: 1px solid #e2e8f0 !important; background: #fff !important; color: #0f172a !important; -webkit-text-fill-color: #0f172a !important; box-shadow: none !important; }
body.platform-light .pc-model-discount-model-option:hover { border-color: #93c5fd !important; background: #eff6ff !important; color: #1d4ed8 !important; -webkit-text-fill-color: #1d4ed8 !important; }
body.platform-light .pc-model-discount-model-option.is-selected { border-color: #2563eb !important; background: #2563eb !important; color: #fff !important; -webkit-text-fill-color: #fff !important; }
body.platform-light .pc-model-discount-model-option.is-below-minimum { border-color: #ef4444 !important; box-shadow: inset 3px 0 0 #ef4444 !important; }
body.platform-light .pc-model-discount-model-current { color: #334155 !important; -webkit-text-fill-color: #334155 !important; }
body.platform-light .pc-model-discount-model-minimum { color: #92400e !important; -webkit-text-fill-color: #92400e !important; }
body.platform-light .pc-model-discount-model-option.is-below-minimum .pc-model-discount-model-current { border-color: #fecaca !important; color: #b91c1c !important; -webkit-text-fill-color: #b91c1c !important; background: #fef2f2 !important; }
body.platform-light .pc-model-discount-model-option.is-selected .pc-model-discount-model-current, body.platform-light .pc-model-discount-model-option.is-selected .pc-model-discount-model-minimum { border-color: rgba(255, 255, 255, .38) !important; color: #fff !important; -webkit-text-fill-color: #fff !important; background: rgba(255, 255, 255, .16) !important; }
@media (prefers-reduced-motion: reduce) { .pc-model-discount-provider-chevron, .pc-model-discount-model-option { transition: none; } }
@media (max-width: 760px) { .pc-model-discount-picker { grid-template-columns: repeat(2, minmax(0, 1fr)); } .pc-model-discount-setting-row { grid-template-columns: 1fr; } }
.pc-detail-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.pc-detail-grid .pc-metric { box-shadow: none; }

.pc-overview-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.pc-overview-card { min-height: 174px; display: flex; flex-direction: column; box-sizing: border-box; padding: 19px 20px; border: 1px solid #e1e5ec; border-left: 4px solid #16a34a; border-radius: 11px; background: #fff; }
.pc-overview-card.user { border-left-color: #2563eb; }
.pc-overview-card.warn { border-left-color: #f59e0b; background: #fffbeb; }
.pc-overview-label { color: #667085; font-size: 13px; font-weight: 600; }
.pc-overview-value { margin: 10px 0 13px; color: #101828; font-size: 28px; line-height: 1; }
.pc-summary-split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin-top: auto; }
.pc-summary-split.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pc-summary-item { min-width: 0; padding: 10px 11px; border: 1px solid #e1e5ec; border-radius: 9px; background: #f8fafc; }
.pc-summary-item span, .pc-summary-item strong { display: block; }
.pc-summary-item span { min-height: 18px; color: #667085; font-size: 11.5px; font-weight: 600; overflow-wrap: anywhere; }
.pc-summary-item strong { margin-top: 3px; color: #101828; font-size: 19px; line-height: 1.1; }
.pc-share-bars { display: grid; gap: 9px; margin-top: auto; }
.pc-share-row { display: grid; gap: 5px; }
.pc-share-heading, .pc-share-detail { display: flex; align-items: center; gap: 9px; }
.pc-share-heading { justify-content: space-between; }
.pc-share-name { color: #475467; font-size: 12px; font-weight: 650; }
.pc-share-percentage { padding: 2px 7px; border-radius: 999px; color: #475467; background: #f2f4f7; font-size: 11px; font-variant-numeric: tabular-nums; }
.pc-share-amount { min-width: 58px; color: #101828; font-size: 12px; line-height: 1; font-variant-numeric: tabular-nums; }
.pc-share-track { flex: 1; height: 6px; overflow: hidden; border-radius: 99px; background: #e4e7ec; }
.pc-share-track i { display: block; height: 100%; border-radius: inherit; background: #16a34a; }
.pc-share-track i.api { background: #7c3aed; }

.pc-promo-toolbar { margin: 0; }
.pc-promo-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.pc-promo-stats .pc-metric { min-height: 110px; box-sizing: border-box; align-content: center; justify-content: stretch; padding: 17px 20px; border-left: 4px solid #16a34a; border-radius: 11px; box-shadow: none; }
.pc-promo-stats .pc-metric:nth-child(2) { border-left-color: #2563eb; }
.pc-promo-stats .pc-metric:nth-child(3) { border-left-color: #f59e0b; background: #fffbeb; }
.pc-promo-stats .pc-metric:nth-child(4) { border-left-color: #7c3aed; }
.pc-promo-stats .pc-metric span { font-size: 13px; font-weight: 600; }
.pc-promo-stats .pc-metric strong { font-size: 27px; }
.pc-promo-stats .pc-metric small { display: none; }
.pc-promo-stats .pc-discount-metric { align-content: stretch; gap: 8px; }
.pc-discount-metric-value { display: flex; align-items: baseline; gap: 9px; min-width: 0; }
.pc-promo-stats .pc-discount-metric-value strong { color: #0f172a; font-size: 25px; line-height: 1.2; }
.pc-promo-stats .pc-discount-metric-value small { display: inline; color: #64748b; font-size: 11px; white-space: nowrap; }
.pc-discount-detail-button { justify-self: start; min-height: 30px; padding: 5px 9px; border-color: #bfdbfe; color: #1d4ed8; background: #eff6ff; font-size: 11.5px; }
.pc-discount-detail-button:hover { border-color: #93c5fd; color: #1d4ed8; background: #dbeafe; }
.pc-discount-detail-modal { width: min(680px, calc(100vw - 24px)); }
.pc-discount-detail-summary { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.pc-discount-detail-summary > div { display: grid; gap: 4px; padding: 12px 14px; border: 1px solid #dbe3ee; border-radius: 10px; background: #f8fafc; }
.pc-discount-detail-summary span { color: #667085; font-size: 11.5px; }
.pc-discount-detail-summary strong { color: #101828; font-size: 17px; }
.pc-discount-detail-value { color: #15803d; font-weight: 700; text-align: right !important; }
body.platform-light .pc-discount-detail-button,
body.platform-light .pc-discount-detail-button:hover { min-height: 30px !important; padding: 5px 9px !important; border: 1px solid #bfdbfe !important; color: #1d4ed8 !important; background: #eff6ff !important; box-shadow: none !important; }
body.platform-light .pc-discount-detail-button:hover { border-color: #93c5fd !important; background: #dbeafe !important; }

.pc-resource-section { overflow: visible; border: 0; border-radius: 0; background: transparent; }
.pc-resource-section .pc-section-head { padding: 0 0 14px; border: 0; }
.pc-resource-section .pc-section-head h2 { font-size: 20px; }
.pc-resource-section > .pc-table-wrap, .pc-resource-section > .pc-empty { overflow: hidden; border: 1px solid #e5e9f0; border-radius: 11px; background: #fff; }
.pc-customer-section { padding: 17px 19px 0; }
.pc-customer-section .pc-section-head { padding: 0 0 14px; border: 0; }
.pc-customer-section .pc-section-head h2 { font-size: 20px; }
.pc-customer-section > .pc-table-wrap { margin: 0 -1px; width: calc(100% + 2px); border-radius: 9px; }
.pc-customer-filterbar { display: flex; align-items: center; gap: 9px; padding: 0 0 18px; }
.pc-customer-filterbar input, .pc-customer-filterbar select { box-sizing: border-box; height: 38px; padding: 8px 11px; border: 1px solid #d0d5dd; border-radius: 8px; color: #101828; background: #fff; }
.pc-customer-filterbar input { width: min(330px, 100%); }
.pc-customer-filterbar select { width: 180px; }
.pc-customer-results > .pc-table-wrap { width: 100%; overflow-x: auto; border-radius: 9px; }
.pc-analysis-customer-section .pc-table td { vertical-align: middle; }
.pc-analysis-customer-section .pc-table th:first-child,
.pc-analysis-customer-section .pc-table td:first-child { min-width: 285px; max-width: none; overflow-wrap: normal; white-space: nowrap; }
.pc-analysis-customer-section .pc-actions { min-width: 150px; white-space: nowrap; }
.pc-analysis-customer-section .pc-actions .pc-button { color: #344054; border-color: #d0d5dd; background: #fff; }
.pc-analysis-customer-section .pc-actions .pc-button:hover { color: #3156d3; border-color: #5575e7; background: #fff; }
.pc-customer-profile { white-space: normal !important; }
.pc-customer-profile strong, .pc-customer-profile small { display: block; }
.pc-customer-profile small { margin-top: 4px; color: #667085; }
.pc-customer-profile.muted { color: #667085; }

.pc-business-section { padding: 18px; }
.pc-business-section .pc-section-head { padding: 0 0 14px; border: 0; }
.pc-business-section .pc-section-head h2, .pc-follow-section .pc-section-head h2 { font-size: 16px; }
.pc-business-section .pc-section-head p, .pc-follow-section .pc-section-head p { font-size: 12.5px; }
.pc-business-flow { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.pc-business-flow > div { min-height: 88px; padding: 13px; border: 1px solid #e1e5ec; border-radius: 8px; background: #f8fafc; }
.pc-business-flow > div.discount { border-color: rgba(124, 58, 237, .28); background: #faf7ff; }
.pc-business-flow strong, .pc-business-flow span { display: block; }
.pc-business-flow strong { color: #101828; font-size: 13px; font-weight: 750; line-height: 1.35; }
.pc-business-flow > div.discount strong { color: #5b21b6; }
.pc-business-flow span { margin-top: 5px; color: #667085; font-size: 12px; line-height: 1.55; }
.pc-follow-section .pc-table td { vertical-align: middle; }
.pc-follow-signal { display: inline-flex; padding: 5px 10px; border: 1px solid #d0d5dd; border-radius: 999px; color: #344054; background: #f8fafc; font-size: 12px; white-space: nowrap; }
.pc-follow-signal.danger { color: #344054; background: #f8fafc; }
.pc-follow-signal.pending { color: #344054; background: #f8fafc; }
.pc-follow-signal.ok { color: #067647; border-color: #abefc6; background: #ecfdf3; }

.pc-customer-modal { width: min(760px, calc(100vw - 32px)); max-height: calc(100vh - 16px); }
.pc-customer-modal .pc-modal-head h2 { color: #101828; font-size: 19px; }
.pc-customer-modal .pc-modal-body { max-height: min(78vh, 760px); gap: 14px; }
.pc-customer-modal .pc-field { gap: 8px; color: #344054; font-size: 13px; }
.pc-customer-modal .pc-field input { min-height: 44px; }
.pc-customer-modal .pc-field textarea { min-height: 86px; resize: vertical; }
.pc-customer-modal .pc-modal-actions .pc-button.primary { min-width: 112px; padding: 10px 22px; border-color: #0f172a; background: #0f172a; }
.pc-log-panel { display: grid; gap: 10px; padding: 12px; border: 1px solid #e1e5ec; border-radius: 10px; background: #f8fafc; }
.pc-log-head { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.pc-log-head strong { color: #101828; font-size: 13px; }
.pc-log-head span { color: #667085; font-size: 11.5px; }
.pc-log-compose { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: start; }
.pc-log-compose textarea { min-height: 70px; width: 100%; box-sizing: border-box; margin: 0; padding: 10px 12px; resize: vertical; border: 1px solid #d0d5dd; border-radius: 8px; color: #101828; background: #fff; font: inherit; }
.pc-log-compose .pc-button { min-height: 44px; padding: 9px 14px; white-space: nowrap; }
.pc-log-list { display: grid; gap: 8px; }
.pc-log-empty { padding: 10px 0; color: #98a2b3; font-size: 12.5px; }
.pc-log-item { position: relative; display: grid; gap: 4px; padding: 10px 12px 10px 18px; border: 1px solid #e1e5ec; border-radius: 8px; background: #fff; }
.pc-log-item::before { content: ""; position: absolute; top: 14px; bottom: 14px; left: 7px; width: 3px; border-radius: 999px; background: #2563eb; }
.pc-log-time { color: #667085; font-size: 11.5px; font-weight: 650; }
.pc-log-content { color: #101828; font-size: 12.5px; line-height: 1.55; white-space: pre-wrap; }
.pc-customer-user-id { padding: 10px 12px; border: 1px solid #e1e5ec; border-radius: 8px; color: #475467; background: #f8fafc; font-size: 12.5px; overflow-wrap: anywhere; }

.pc-user-detail-modal-overlay { background: rgba(16, 24, 40, .42); backdrop-filter: blur(3px); }
.pc-user-detail-modal { width: min(1480px, calc(100vw - 48px)); max-height: calc(100vh - 48px); border-radius: 18px; }
.pc-user-detail-modal .pc-modal-head { padding: 20px 22px 10px; border-bottom: 0; }
.pc-user-detail-modal .pc-modal-head h2 { color: #101828; font-size: 18px; }
.pc-user-detail-modal .pc-modal-head .pc-button.ghost { color: #667085; font-size: 22px; line-height: 1; }
.pc-user-detail-modal .pc-modal-body { display: flex; flex-direction: column; gap: 14px; padding: 8px 22px 18px; overflow-y: auto; }
.pc-user-detail-modal .pc-modal-body > * { flex: 0 0 auto; }
.pc-user-detail-modal .pc-modal-actions { padding: 0 22px 18px; border-top: 0; }
.pc-user-detail-modal .pc-detail-close { min-width: 112px; padding: 10px 22px; border-color: #101828; background: #101828; }
.pc-user-detail-summary { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 10px; }
.pc-user-detail-summary-card { min-width: 0; min-height: 90px; display: flex; flex-direction: column; box-sizing: border-box; padding: 15px; border: 1px solid #dfe3e8; border-radius: 9px; background: #f8fafc; }
.pc-user-detail-summary-card span { color: #667085; font-size: 12px; font-weight: 600; }
.pc-user-detail-summary-card strong { margin-top: 7px; color: #101828; font-size: 15px; line-height: 1.35; overflow-wrap: anywhere; }
.pc-user-detail-summary-card small { margin-top: 5px; color: #667085; font-size: 12px; line-height: 1.45; overflow-wrap: anywhere; }
.pc-user-detail-section { overflow: hidden; border: 1px solid #dfe3e8; border-radius: 9px; background: #fff; }
.pc-user-detail-section h3 { margin: 0; padding: 17px 15px 12px; color: #101828; font-size: 15px; }
.pc-user-detail-section .pc-table-wrap { overflow-x: auto; padding: 8px 14px 12px; }
.pc-user-detail-section .pc-table { font-size: 13px; }
.pc-user-detail-section .pc-table th { padding: 13px 12px; color: #8b9bb5; background: #fff; }
.pc-user-detail-section .pc-table td { padding: 13px 12px; color: #475467; vertical-align: middle; }
.pc-user-detail-section .pc-table th:first-child, .pc-user-detail-section .pc-table td:first-child { padding-left: 0; }
.pc-user-detail-section .pc-table th:last-child, .pc-user-detail-section .pc-table td:last-child { padding-right: 0; }
.pc-user-detail-section .pc-empty { padding: 28px 16px; text-align: left; color: #98a2b3; }
.pc-user-detail-usage-content > .pc-pager { border-top: 1px solid #edf0f5; padding: 12px 14px; }
.pc-user-detail-section.follow-ups { min-height: 100px; }
.pc-user-detail-empty { margin: 0; padding: 10px 15px 24px; color: #98a2b3; font-size: 13px; }
.pc-detail-status { display: inline-flex; padding: 3px 9px; border: 1px solid #d0d5dd; border-radius: 999px; color: #475467; background: #f9fafb; font-size: 12px; }
.pc-detail-status.active { color: #067647; border-color: #abefc6; background: #ecfdf3; }

.pc-analysis-tabs { display: flex; gap: 9px; padding-bottom: 10px; border-bottom: 1px solid #e5e9f0; }
.pc-analysis-tabs .pc-button.pc-analysis-tab { padding: 9px 15px; color: #344054 !important; border-color: #d0d5dd !important; background: #fff !important; font-weight: 650; }
.pc-analysis-tabs .pc-button.pc-analysis-tab.active { color: #fff !important; border-color: #101828 !important; background: #101828 !important; }
.pc-analysis-panel { display: grid; gap: 16px; }
.pc-analysis-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.pc-analysis-metrics .pc-metric { min-height: 112px; box-shadow: none; border-left: 4px solid #7c3aed; }
.pc-analysis-metrics .pc-metric:nth-child(2) { border-left-color: #10b981; }
.pc-analysis-metrics .pc-metric:nth-child(3) { border-left-color: #f59e0b; background: #fffbeb; }
.pc-analysis-metrics .pc-metric:nth-child(4) { border-left-color: #2563eb; }
.pc-analysis-metrics > .pc-region-loading, .pc-analysis-metrics > .pc-region-error { grid-column: 1 / -1; }
.pc-analysis-section .pc-section-head { padding-bottom: 13px; }
.pc-analysis-body { display: grid; gap: 14px; padding: 14px 18px 18px; }
.pc-analysis-controls { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.pc-analysis-filters, .pc-analysis-ranges { display: flex; align-items: center; gap: 8px; }
.pc-analysis-filters select { min-width: 170px; box-sizing: border-box; padding: 8px 10px; border: 1px solid #d0d5dd; border-radius: 8px; color: #101828; background: #fff; }
.pc-analysis-ranges .pc-button.pc-range-toggle { color: #344054 !important; border-color: #d0d5dd !important; background: #fff !important; }
.pc-analysis-ranges .pc-button.pc-range-toggle.is-active { color: #fff !important; border-color: #101828 !important; background: #101828 !important; }
.pc-trend-svg { width: 100%; height: 300px; min-height: 240px; border: 1px solid #e5e9f0; border-radius: 10px; background: #fff; }
.pc-chart-grid { stroke: #e7ebf0; stroke-width: 1; stroke-dasharray: 3 5; }
.pc-chart-axis, .pc-chart-empty { fill: #667085; font-size: 11px; }
.pc-chart-axis-title { font-weight: 700; }
.pc-interactive-chart { display: grid; gap: 12px; }
.pc-chart-legend { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.pc-chart-legend-item { display: inline-flex; align-items: center; gap: 6px; padding: 4px 9px; border: 1px solid #e1e5ec; border-radius: 999px; color: #475467; background: #fff; font: inherit; font-size: 12px; cursor: pointer; }
.pc-chart-legend-item:hover { border-color: #98a2b3; }
.pc-chart-legend-item.hidden { opacity: .45; text-decoration: line-through; }
.pc-chart-legend i { width: 9px; height: 9px; border-radius: 3px; }
.pc-commission-toolbar { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; padding: 15px 17px; border: 1px solid #e1e5ec; border-radius: 12px; background: #fff; }
.pc-commission-toolbar-title { display: grid; gap: 4px; min-width: 190px; }
.pc-commission-toolbar-title strong { color: #101828; font-size: 14px; }
.pc-commission-toolbar-title span { color: #667085; font-size: 12px; }
.pc-commission-controls { display: flex; align-items: flex-end; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
.pc-commission-controls label { display: grid; gap: 5px; color: #667085; font-size: 12px; }
.pc-commission-controls input, .pc-commission-controls select { min-width: 150px; box-sizing: border-box; padding: 8px 10px; border: 1px solid #d0d5dd; border-radius: 8px; color: #101828; background: #fff; }
.pc-commission-controls select { min-width: 135px; }
.pc-date-separator { align-self: center; margin-top: 18px; color: #667085; }
.pc-commission-metrics .pc-metric { min-height: 112px; box-shadow: none; border-left: 4px solid #16a34a; }
.pc-commission-metrics .pc-metric:nth-child(2) { border-left-color: #2563eb; }
.pc-commission-metrics .pc-metric:nth-child(3) { border-left-color: #7c3aed; }
.pc-commission-metrics .pc-metric:nth-child(4) { border-left-color: #f59e0b; background: #fffbeb; }
.pc-commission-customer, .pc-commission-detail { display: grid; gap: 3px; max-width: 270px; white-space: normal; }
.pc-commission-customer strong, .pc-commission-detail strong { color: #101828; font-weight: 650; }
.pc-commission-customer span, .pc-commission-customer small, .pc-commission-detail span { color: #667085; font-size: 12px; overflow-wrap: anywhere; }
.pc-commission-section .pc-table td { vertical-align: middle; }

@media (max-width: 1200px) { .pc-overview-grid, .pc-promo-stats, .pc-business-flow, .pc-analysis-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); } .pc-promo-stats > .pc-region-error { grid-column: span 1; } .pc-commission-toolbar { align-items: flex-start; flex-direction: column; } .pc-commission-controls { justify-content: flex-start; } }
@media (max-width: 1000px) { .pc-metrics, .pc-detail-grid, .pc-user-detail-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) { .pc-modal-overlay { padding: 8px; } .pc-user-detail-modal { width: calc(100vw - 16px); max-height: calc(100vh - 16px); } .pc-user-detail-modal .pc-modal-head { padding: 16px 16px 8px; } .pc-user-detail-modal .pc-modal-body { padding: 8px 16px 14px; } .pc-user-detail-modal .pc-modal-actions { padding: 0 16px 16px; } .pc-metrics, .pc-detail-grid, .pc-user-detail-summary, .pc-overview-grid, .pc-promo-stats, .pc-business-flow, .pc-analysis-metrics, .pc-discount-detail-summary { grid-template-columns: 1fr; } .pc-section-head, .pc-region-error, .pc-analysis-controls { align-items: flex-start; flex-direction: column; } .pc-region-error .pc-button { width: 100%; } .pc-summary-split.three, .pc-log-compose { grid-template-columns: 1fr; } .pc-log-compose .pc-button, .pc-user-detail-modal .pc-detail-close { width: 100%; } .pc-analysis-tabs { overflow-x: auto; } .pc-analysis-tabs .pc-button { flex: 0 0 auto; } .pc-analysis-filters, .pc-analysis-ranges { width: 100%; flex-wrap: wrap; } .pc-analysis-filters select { flex: 1; min-width: 130px; } .pc-trend-svg { height: 250px; } .pc-customer-filterbar { align-items: stretch; flex-direction: column; } .pc-customer-filterbar input, .pc-customer-filterbar select { width: 100%; } .pc-commission-toolbar, .pc-commission-controls { width: 100%; box-sizing: border-box; } .pc-commission-controls label, .pc-commission-controls input, .pc-commission-controls select, .pc-commission-controls .pc-button { width: 100%; } .pc-date-separator { display: none; } }
@media (max-width: 620px) {
  .pc-model-discount-modal { width: calc(100vw - 16px); max-height: calc(100vh - 16px); }
  .pc-model-discount-modal .pc-modal-body { padding: 14px; }
  .pc-model-discount-modal .pc-modal-actions { padding: 12px 14px; }
  .pc-model-discount-bulk-controls { grid-template-columns: 1fr; }
  .pc-model-discount-bulk-controls .pc-button { width: 100%; }
  .pc-model-discount-picker, .pc-model-discount-current-grid { grid-template-columns: 1fr; max-height: 310px; }
  .pc-model-discount-panel-title, .pc-model-discount-section-head { align-items: flex-start; flex-direction: column; gap: 5px; }
  .pc-model-discount-provider-toggle, .pc-model-discount-provider-action, .pc-model-discount-model-option, .pc-model-discount-current-toggle { min-height: 44px; }
  .pc-model-discount-step-head { align-items: flex-start; flex-wrap: wrap; }
  .pc-model-discount-step-head .pc-model-discount-selection-count { width: 100%; }
  .pc-model-discount-selection-toolbar { display: grid; grid-template-columns: 1fr 1fr; }
  .pc-model-discount-selection-toolbar .pc-button { min-width: 0; }
}
