.prc-settings { max-width: 1100px; margin: 0 auto 2rem; font-size: 1rem; line-height: 1.5; }
.prc-section { padding: 1.25rem 0.5rem; }
.prc-section + .prc-section { border-top: 1px solid var(--dm-border, #e3e6f0); }
.prc-section:first-of-type { padding-top: 0.5rem; }
.prc-card-head { margin: 0 0 1rem; }
.prc-grid-head { margin-top: 1.75rem; }
.prc-title { margin: 0; font-size: 1.25rem; font-weight: 700; line-height: 1.3; }
.prc-text { margin: 0.25rem 0 0; }
.prc-muted { opacity: .8; }
.prc-loading { display: flex; align-items: center; justify-content: center; gap: 0.75rem; padding: 2.5rem 1.5rem; }
.prc-actions { display: flow-root; margin: 0.5rem -0.75rem -0.75rem; padding-top: 0.25rem; border-top: 1px solid var(--dm-border, #e3e6f0); }

.prc-notice { display: flex; align-items: flex-start; gap: 0.75rem; margin: 0 0 1rem; padding: 0.875rem 1rem; background: rgba(54, 185, 204, .1); border: 1px solid rgba(54, 185, 204, .45); border-radius: 0.35rem; }
.prc-notice .fas { margin-top: 0.2rem; color: #36b9cc; }
.prc-notice.is-success { background: rgba(28, 200, 138, .1); border-color: rgba(28, 200, 138, .45); }
.prc-notice.is-success .fas { color: #1cc88a; }
.prc-notice.is-error { background: rgba(231, 74, 59, .08); border-color: rgba(231, 74, 59, .45); }
.prc-notice.is-error .fas { color: #e74a3b; }
.prc-section .prc-notice { margin: 0; }

.prc-status { display: flex; align-items: center; gap: 1.25rem; }
.prc-status-icon { flex: 0 0 auto; display: flex; align-items: center; justify-content: center; width: 3.5rem; height: 3.5rem; border-radius: 50%; background: rgba(0, 163, 211, .12); color: #00a3d3; font-size: 1.5rem; }
.prc-status-body { flex: 1 1 auto; min-width: 0; }
.prc-status-head { display: flex; align-items: center; flex-wrap: wrap; gap: 0.625rem; }
.prc-status code { overflow-wrap: anywhere; }
.prc-pill { display: inline-flex; align-items: center; gap: 0.375rem; padding: 0.125rem 0.75rem; border-radius: 0.35rem; background: rgba(0, 163, 211, .12); font-size: 1rem; font-weight: 700; line-height: 1.5; }
.prc-pill::before { content: ''; width: 0.5rem; height: 0.5rem; border-radius: 50%; background: #00a3d3; }

.prc-regions { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0 0 1rem; }
.prc-region { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.375rem 0.875rem; background: var(--dm-surface, #fff); border: 1px solid var(--dm-border-2, #d1d3e2); border-radius: 0.35rem; color: inherit; font-weight: 700; cursor: pointer; transition: background-color .15s ease; }
.prc-region:hover { background: var(--dm-surface-2, #f8f9fc); }
.prc-region.is-selected { border-color: #00a3d3; background: var(--dm-surface-2, #e8f1f7); box-shadow: inset 0 0 0 1px #00a3d3; }
.prc-region:focus-visible { outline: 2px solid #00a3d3; outline-offset: 2px; }
.prc-region-currency { font-weight: 400; opacity: .8; }

.prc-list { border: 1px solid var(--dm-border, #e3e6f0); border-radius: 0.35rem; overflow: hidden; }
.prc-row-line { display: flex; align-items: center; flex-wrap: wrap; gap: 0.75rem 1rem; margin: 0; padding: 1rem 1.25rem; }
.prc-row-main { flex: 1 1 18rem; display: flex; align-items: center; gap: 1rem; min-width: 0; margin: 0; font-weight: 400; }
.prc-row-icon { flex: 0 0 auto; display: flex; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; border-radius: 0.35rem; background: rgba(0, 163, 211, .12); color: #00a3d3; font-size: 1.25rem; }
.prc-row-text { display: flex; flex-direction: column; min-width: 0; }
.prc-row-name { font-weight: 700; }
.prc-row-detail { overflow-wrap: anywhere; }
.prc-row-actions { flex: 0 0 auto; display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 0.75rem; margin-left: auto; }
.prc-field-input { display: flex; align-items: center; gap: 0.5rem; }
.prc-suffix { flex: 0 0 auto; font-weight: 700; }

.prc-grid { border: 1px solid var(--dm-border, #e3e6f0); border-radius: 0.35rem; overflow-x: auto; }
.prc-table { width: 100%; border-collapse: collapse; }
.prc-table th { padding: 0.75rem 1rem; background: var(--dm-surface-2, #f8f9fc); border-bottom: 1px solid var(--dm-border, #e3e6f0); font-weight: 700; text-align: left; white-space: nowrap; }
.prc-table td { padding: 0.5rem 1rem; border-bottom: 1px solid var(--dm-border, #e3e6f0); vertical-align: middle; }
.prc-table tbody tr:last-child td { border-bottom: 0; }
.prc-table tbody tr:hover td { background: var(--dm-surface-2, #f8f9fc); }
.prc-name { font-weight: 700; white-space: nowrap; }
.prc-row.is-off .prc-name, .prc-row.is-off .prc-derived { opacity: .55; }
.prc-derived { font-variant-numeric: tabular-nums; white-space: nowrap; }
.prc-input { width: 8.5rem; border-color: var(--dm-border-2, #d1d3e2); background: var(--dm-field-bg, #fff); font-variant-numeric: tabular-nums; }
.prc-input:focus, .prc-admin-input:focus { border-color: #00a3d3; box-shadow: 0 0 0 .15rem rgba(0, 163, 211, .35); }
.prc-switch { min-height: 1.5rem; margin: 0; }

.prc-savebar { position: sticky; bottom: 1rem; z-index: 5; display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 0.5rem 0.75rem; margin: 0.5rem 0 1rem; padding: 0.75rem 1rem; background: var(--dm-surface, #fff); border: 1px solid #00a3d3; border-radius: 0.35rem; box-shadow: 0 0.25rem 1rem rgba(58, 59, 69, .15); }
.prc-savebar-text { margin-right: auto; font-weight: 700; }

.prc-add-list { margin: 0; }
.prc-add-admin .prc-row-actions { flex: 1 1 22rem; }
.prc-admin-input { flex: 1 1 14rem; min-width: 0; border-color: var(--dm-border-2, #d1d3e2); background: var(--dm-field-bg, #fff); }
.prc-tag { display: inline-block; margin-left: 0.375rem; padding: 0 0.5rem; border-radius: 0.2rem; background: rgba(0, 163, 211, .14); font-size: 0.875rem; font-weight: 700; line-height: 1.6; }

@media (max-width: 576px) {
  .prc-section { padding-left: 0; padding-right: 0; }
  .prc-status { flex-wrap: wrap; }
  .prc-row-line { padding: 1rem; }
  .prc-row-icon { display: none; }
  .prc-row-actions { width: 100%; margin-left: 0; }
  .prc-table th, .prc-table td { padding: 0.5rem; }
}
@media (prefers-reduced-motion: reduce) {
  .prc-region { transition: none; }
}
.prc-status-action { flex: 0 0 auto; }
.prc-region-add { border-style: dashed; color: #00a3d3; }
.prc-add-region { margin: 0 0 1rem; }
.prc-add-region .prc-row-line + .prc-row-line { border-top: 1px solid var(--dm-border, #e3e6f0); }
.prc-region-fields { align-items: flex-end; }
.prc-field { display: flex; flex-direction: column; gap: 0.25rem; flex: 1 1 7rem; margin: 0; font-weight: 400; }
.prc-field-wide { flex: 2 1 12rem; }
.prc-field-label { font-size: 0.875rem; font-weight: 700; }
@media (max-width: 576px) {
  .prc-status-action { width: 100%; }
  .prc-status-action .btn { width: 100%; }
}
.prc-field .prc-admin-input { flex: 0 0 auto; width: 100%; }
.prc-link { min-width: 13rem; border-color: var(--dm-border-2, #d1d3e2); background: var(--dm-field-bg, #fff); }
.prc-link.is-missing { border-color: #f6c23e; }
.prc-link:focus { border-color: #00a3d3; box-shadow: 0 0 0 .15rem rgba(0, 163, 211, .35); }
.prc-unlinked { margin-top: 1rem !important; }
.prc-add-addon { margin-top: 1rem; }
.prc-add-addon-main { flex: 1 1 100%; }
.prc-table .prc-link { width: 15rem; }
.prc-unlinked .prc-unlinked-name { margin: 0 0 0 6px; padding: 0; font-weight: 700; vertical-align: baseline; text-decoration: underline; text-underline-offset: 3px; }
.prc-unlinked .prc-unlinked-name + .prc-unlinked-name::before { content: ","; margin-right: 6px; color: inherit; text-decoration: none; display: inline-block; }
.prc-row.is-found td { background: #fff8e1 !important; transition: background 0.3s ease; }
.prc-feature-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 12px 0 18px; }
.prc-feature-group { margin: 0 0 22px; }
.prc-feature-plan { margin: 0 0 10px; font-size: 1.05rem; font-weight: 700; color: var(--dm-ink, #3a3b45); }
.prc-feature-table input[type="text"] { min-width: 160px; }
.prc-feature-table .prc-feature-description { min-width: 260px; }
.prc-feature-buttons { white-space: nowrap; }
.prc-feature-buttons .btn-link { padding: 4px 6px; }
.prc-add-feature { display: flex; gap: 10px; margin-top: 10px; max-width: 520px; }
.prc-add-feature .prc-new-feature { flex: 1; }
.prc-addon-link { min-width: 120px; }
.prc-pa-grid { max-height: 640px; overflow: auto; }
.prc-pa-table thead th { position: sticky; top: 0; z-index: 1; background: var(--dm-paper, #fff); }
.prc-pa-table thead th:hover, .prc-pa-table thead th:focus-within { z-index: 5; }
.prc-pa-table td, .prc-pa-table th { white-space: nowrap; }
.prc-pa-row.is-main .prc-pa-name { font-weight: 700; }
.prc-pa-row:not(.is-main) .prc-pa-name { padding-left: 28px; }
.prc-pa-row.is-section td { font-weight: 700; background: var(--dm-paper2, #f3f6f9); }
.prc-pa-unlock { min-width: 180px; }
.prc-pa-search { max-width: 320px; }
.prc-trial-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 14px 18px; margin: 6px 0 14px; }
.prc-trial-form .prc-field-wide { display: block; margin: 0 0 12px; }
.prc-trial-form textarea { resize: vertical; }
.prc-trial-switch .custom-control { margin-top: 8px; }
.prc-tip { position: relative; display: inline-block; margin-left: 4px; color: var(--dm-muted, #858796); font-size: 0.875rem; font-weight: 400; line-height: 1; text-transform: none; letter-spacing: normal; vertical-align: baseline; cursor: help; }
.prc-tip:hover, .prc-tip:focus-visible { color: #00a3d3; outline: none; }
.prc-tip:focus-visible i { outline: 2px solid #00a3d3; outline-offset: 2px; border-radius: 50%; }
.prc-tip::after { content: attr(data-tip); position: absolute; left: 50%; bottom: calc(100% + 10px); z-index: 1080; width: max-content; max-width: 300px; padding: 10px 14px; border-radius: 10px; background: linear-gradient(135deg, #00b4e0, #0087b3); color: #fff; font-size: 13px; font-weight: 400; line-height: 1.45; text-align: left; white-space: normal; box-shadow: 0 10px 26px rgba(0, 163, 211, 0.38); transform: translateX(-50%); }
.prc-tip::before { content: ''; position: absolute; left: 50%; bottom: calc(100% + 5px); z-index: 1081; width: 11px; height: 11px; margin-left: -5.5px; border-radius: 2px; background: #0087b3; transform: rotate(45deg); }
.prc-tip::after, .prc-tip::before { opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 0.16s ease-out; }
.prc-tip:hover::after, .prc-tip:hover::before, .prc-tip:focus-visible::after, .prc-tip:focus-visible::before { opacity: 1; visibility: visible; }
.prc-tip-below-start::after, .prc-tip-below-end::after { top: calc(100% + 10px); bottom: auto; }
.prc-tip-below-start::before, .prc-tip-below-end::before { top: calc(100% + 5px); bottom: auto; background: #00b4e0; }
.prc-tip-below-start::after { left: -10px; transform: none; }
.prc-tip-below-end::after { left: auto; right: -10px; transform: none; }
@media (prefers-reduced-motion: reduce) { .prc-tip::after, .prc-tip::before { transition: none; } }
