/* Scoped to the pricing workspace; follows the existing HC dark/light tokens. */
.pricing {
  --pc-bg: var(--surface, #18141f);
  --pc-line: var(--border, #362d43);
  --pc-muted: var(--muted, #b3a9c4);
  --pc-text: var(--text, #f1edf7);
  --pc-accent: #b9a0ff;
  color: var(--pc-text);
  max-width: 1580px;
  margin: 0 auto;
}
.pricing * {
  box-sizing: border-box;
}
.pricing button,
.pricing input,
.pricing select,
.pricing textarea {
  font: inherit;
}
.pricing input,
.pricing select,
.pricing textarea {
  border: 1px solid var(--pc-line);
  border-radius: 9px;
  background: var(--pc-bg);
  color: var(--pc-text);
  padding: 10px 12px;
  min-height: 42px;
  max-width: 100%;
}
.pricing input:focus,
.pricing textarea:focus,
.pricing select:focus {
  outline: 2px solid #ad8bfa;
  outline-offset: 2px;
}
.pricing input[type="checkbox"] {
  min-height: 18px;
  width: 18px;
  accent-color: #9771ed;
}
.pricing button:disabled {
  opacity: 0.42;
  cursor: not-allowed;
}
.pricing a {
  color: var(--pc-accent);
}
.pricing h1 {
  font-size: clamp(23px, 2.4vw, 34px);
  line-height: 1.2;
  letter-spacing: -0.035em;
  margin: 10px 0;
}
.pricing h2 {
  font-size: 19px;
  line-height: 1.35;
  margin: 0 0 9px;
}
.pricing h3 {
  font-size: 15px;
  line-height: 1.4;
  margin: 0 0 12px;
}
.pricing p {
  color: var(--pc-muted);
  font-size: 13px;
  line-height: 1.7;
  white-space: pre-line;
}
.pricing small {
  color: var(--pc-muted);
}
.pc-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 24px;
}
.pc-eyebrow {
  letter-spacing: 0.13em;
  font-size: 10px;
  font-weight: 700;
  color: var(--pc-accent);
}
.pc-header p {
  margin: 0;
}
.pc-header .row {
  padding-top: 6px;
}
.pc-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 25px;
}
.pc-kpis article {
  padding: 18px 20px;
  border: 1px solid var(--pc-line);
  border-radius: 14px;
  background: linear-gradient(145deg, rgba(169, 129, 255, 0.065), transparent);
}
.pc-kpis span,
.pc-kpis small {
  display: block;
  font-size: 11px;
}
.pc-kpis strong {
  font-size: 31px;
  font-weight: 600;
  display: block;
  line-height: 1.3;
  margin: 8px 0 5px;
  font-variant-numeric: tabular-nums;
}
.pc-kpis em {
  font-size: 16px;
  font-style: normal;
  color: var(--pc-muted);
}
.pc-kpis .pc-word {
  font-size: 23px;
}
.pc-tabs {
  display: flex;
  gap: 26px;
  border-bottom: 1px solid var(--pc-line);
  margin-bottom: 26px;
  overflow-x: auto;
}
.pc-tabs button {
  color: var(--pc-muted);
  background: none;
  border: 0;
  border-bottom: 2px solid transparent;
  padding: 0 0 14px;
  white-space: nowrap;
  font-size: 13px;
  cursor: pointer;
}
.pc-tabs .active {
  color: var(--pc-text);
  border-bottom-color: var(--pc-accent);
}
.pc-section-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  margin-bottom: 18px;
}
.pc-section-heading p {
  margin: 0;
}
.pc-section-heading select {
  max-width: 330px;
}
.pc-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
  white-space: nowrap;
}
.pc-table th {
  text-align: left;
  font-size: 9px;
  letter-spacing: 0.09em;
  font-weight: 600;
  color: var(--pc-muted);
  padding: 16px;
}
.pc-table td {
  padding: 17px 16px;
  border-top: 1px solid var(--pc-line);
}
.pc-table td > small {
  display: block;
  margin-top: 5px;
  font-size: 10px;
}
.pc-table .pill {
  font-size: 10px;
}
.pc-product {
  display: flex;
  align-items: center;
  gap: 14px;
}
.pc-product img {
  width: 56px;
  height: 60px;
  object-fit: cover;
  border-radius: 8px;
  background: #251c35;
}
.pc-product strong {
  font-size: 13px;
}
.pc-product small {
  display: block;
  font-size: 10px;
  line-height: 1.8;
}
.pc-symbol {
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  background: rgba(166, 130, 255, 0.1);
  border-radius: 10px;
  color: var(--pc-accent);
}
.pc-symbol svg {
  width: 24px;
  height: 24px;
}
.pc-footer-card {
  margin-top: 18px;
  padding: 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  border: 1px solid var(--pc-line);
  border-radius: 14px;
}
.pc-footer-card h3 {
  display: flex;
  gap: 8px;
  align-items: center;
  margin: 0;
}
.pc-footer-card p {
  margin: 6px 0 0;
}
.pc-footer-card svg {
  width: 17px;
  height: 17px;
}
.pc-calc-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(310px, 1fr);
  gap: 20px;
  align-items: start;
}
.pc-cost-form {
  padding: 22px;
  min-width: 0;
}
.pc-form-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 20px;
}
.pc-form-head h2 {
  font-size: 21px;
}
.pc-field-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 15px;
}
.pricing label {
  display: flex;
  flex-direction: column;
  gap: 7px;
  font-size: 11px;
  line-height: 1.5;
  color: var(--pc-muted);
}
.pc-span {
  grid-column: 1/-1;
}
.pc-cost-form details {
  border-top: 1px solid var(--pc-line);
  margin-top: 22px;
  padding-top: 18px;
}
.pc-cost-form summary {
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  margin-bottom: 15px;
  color: var(--pc-text);
}
.pc-help {
  font-size: 11px !important;
  line-height: 1.65 !important;
}
.pricing .pc-missing {
  border-color: #9b783c;
  background: rgba(185, 139, 65, 0.04);
}
.pc-sticky-actions {
  position: sticky;
  bottom: 8px;
  background: var(--pc-bg);
  padding: 14px 0 0;
  margin-top: 10px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.pc-result,
.pc-tier-compare {
  padding: 22px;
}
.pc-result {
  position: sticky;
  top: 20px;
  background: linear-gradient(
    155deg,
    rgba(146, 101, 235, 0.12),
    transparent 45%
  );
}
.pc-result-controls {
  display: flex;
  gap: 8px;
  margin-bottom: 28px;
}
.pc-result-controls select {
  min-width: 0;
  flex: 1;
  font-size: 11px;
}
.pc-result-label {
  font-size: 10px;
  letter-spacing: 0.11em;
  color: var(--pc-accent);
  margin: 15px 0;
}
.pc-main-price {
  display: block;
  font-size: clamp(25px, 2.7vw, 39px);
  letter-spacing: -0.04em;
  line-height: 1.2;
}
.pc-main-price small {
  display: block;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0;
  margin-top: 7px;
}
.pc-stackbar {
  display: flex;
  height: 9px;
  border-radius: 5px;
  overflow: hidden;
  margin: 23px 0;
}
.pc-stackbar .b0 {
  background: #8061b9;
}
.pc-stackbar .b1 {
  background: #ad91e4;
}
.pc-stackbar .b2 {
  background: #74c5ae;
}
.pc-breakdown {
  font-size: 11px;
  margin: 0;
}
.pc-breakdown > div {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding: 10px 0;
  border-bottom: 1px solid var(--pc-line);
}
.pc-breakdown dt {
  color: var(--pc-muted);
}
.pc-breakdown dd {
  margin: 0;
  text-align: right;
  font-weight: 600;
}
.pc-tier-compare {
  margin-top: 14px;
}
.pc-tier-compare > div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 13px 0;
  border-bottom: 1px solid var(--pc-line);
  font-size: 11px;
}
.pc-errors {
  padding-left: 19px;
  color: #e8c085;
  font-size: 12px;
  line-height: 1.9;
}
.pc-quote-layout {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: 20px;
  align-items: start;
}
.pc-queue {
  padding: 18px;
  min-width: 0;
}
.pc-queue h3 {
  margin: 4px 0 14px;
}
.pc-queue h3 span {
  color: var(--pc-muted);
  font-size: 12px;
}
.pc-queue > input {
  width: 100%;
  margin-bottom: 12px;
}
.pc-queue-list {
  max-height: 580px;
  overflow: auto;
  margin-bottom: 24px;
}
.pc-queue-list > button,
.pc-saved-quote {
  display: block;
  width: 100%;
  border: 0;
  border-radius: 9px;
  color: var(--pc-text);
  text-align: left;
  background: transparent;
  padding: 13px 11px;
  cursor: pointer;
}
.pc-queue-list .active,
.pc-queue-list > button:hover,
.pc-saved-quote:hover {
  background: rgba(163, 126, 244, 0.13);
}
.pc-queue-list strong,
.pc-saved-quote strong {
  display: block;
  font-size: 12px;
}
.pc-queue-list span,
.pc-saved-quote span {
  display: block;
  font-size: 11px;
  color: var(--pc-muted);
  margin: 4px 0;
}
.pc-queue-list small {
  font-size: 10px;
}
.pc-compose {
  padding: 24px;
  min-width: 0;
}
.pc-context {
  padding: 12px 0;
  margin-bottom: 20px;
  border-bottom: 1px solid var(--pc-line);
}
.pc-context summary {
  font-size: 12px;
  cursor: pointer;
}
.pc-editor {
  border: 0;
  padding: 0;
  margin: 0;
  min-width: 0;
}
.pc-quote-prices {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  padding: 19px 0;
}
.pc-quote-prices strong,
.pc-quote-prices small {
  display: block;
}
.pc-quote-prices strong {
  font-size: 18px;
  margin-top: 7px;
}
.pc-quote-prices small {
  font-size: 10px;
}
.pricing .pc-check {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
  margin: 18px 0;
  flex-wrap: wrap;
}
.pc-ai {
  padding: 18px;
  border: 1px solid #6c548f;
  border-radius: 12px;
  background: rgba(158, 123, 225, 0.06);
  margin: 24px 0;
}
.pc-ai h3 {
  display: flex;
  align-items: center;
  gap: 9px;
}
.pc-ai h3 svg {
  width: 20px;
}
.pc-ai .btn {
  margin-top: 12px;
}
.pc-ai > small {
  display: block;
  font-size: 10px;
  margin-top: 10px;
}
.pc-ai-proposal {
  margin-top: 18px;
  border-top: 1px solid var(--pc-line);
  padding-top: 16px;
}
.pc-ai-proposal h4 {
  font-size: 11px;
  margin: 12px 0 0;
}
.pc-preview {
  margin-top: 26px;
  border-top: 1px solid var(--pc-line);
  padding-top: 24px;
}
.pc-preview dl {
  font-size: 12px;
}
.pc-preview dl div {
  display: flex;
  gap: 12px;
  margin: 8px 0;
}
.pc-preview dt {
  min-width: 65px;
  color: var(--pc-muted);
}
.pc-preview dd {
  margin: 0;
  overflow-wrap: anywhere;
}
.pc-preview iframe {
  display: block;
  width: 100%;
  height: 780px;
  border: 1px solid var(--pc-line);
  border-radius: 12px;
  background: white;
  margin: 18px 0;
}
.pc-preview > .btn {
  margin-top: 14px;
}
.pc-source-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.pc-source-grid article,
.pc-legacy,
.pc-sales {
  padding: 24px;
}
.pc-source-grid h2 {
  margin: 12px 0;
}
.pc-source-grid strong {
  font-size: 13px;
}
.pc-source-grid small {
  display: block;
  font-size: 10px;
  margin-top: 12px;
}
.pc-legacy {
  margin-top: 20px;
}
.pc-legacy table {
  width: 100%;
  font-size: 12px;
}
.pc-legacy th,
.pc-legacy td {
  text-align: left;
  padding: 11px;
  border-bottom: 1px solid var(--pc-line);
}
.pc-legacy ul {
  font-size: 12px;
  color: var(--pc-muted);
  line-height: 1.9;
  padding-left: 18px;
}
.pc-empty {
  padding: 35px 20px;
}
.pc-price-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
}
.pc-price-grid article {
  padding: 16px;
  background: rgba(160, 124, 233, 0.08);
  border-radius: 10px;
}
.pc-price-grid strong,
.pc-price-grid small {
  display: block;
}
.pc-price-grid strong {
  font-size: 22px;
  margin: 15px 0;
}
.pc-error-banner {
  margin-bottom: 20px !important;
}
.pricing .notice {
  margin: 18px 0;
}
.pricing .notice .btn {
  margin: 10px 0 0 10px;
}
html[data-theme="light"] .pricing {
  --pc-bg: #fff;
  --pc-line: #e2ddea;
  --pc-muted: #655c74;
  --pc-text: #211a30;
  --pc-accent: #6741ab;
}
html[data-theme="light"] .pc-errors {
  color: #895b1d;
}
html[data-theme="light"] .pc-result {
  background: linear-gradient(145deg, #f0e9fc, white 60%);
}
@media (min-width: 1450px) {
  .pc-calc-layout {
    grid-template-columns: minmax(0, 1.6fr) minmax(340px, 1fr);
  }
}
@media (max-width: 1050px) {
  .pc-kpis {
    grid-template-columns: repeat(2, 1fr);
  }
  .pc-calc-layout {
    grid-template-columns: 1fr;
  }
  .pc-result {
    position: static;
  }
  .pc-quote-layout {
    grid-template-columns: 240px minmax(0, 1fr);
  }
  .pc-quote-prices {
    grid-template-columns: 1fr;
  }
  .pc-quote-prices > span {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .pc-quote-prices strong {
    margin: 0;
  }
  .pc-header {
    flex-direction: column;
    gap: 12px;
  }
}
@media (max-width: 700px) {
  .pc-kpis {
    gap: 9px;
  }
  .pc-kpis article {
    padding: 14px;
  }
  .pc-kpis strong {
    font-size: 26px;
  }
  .pc-kpis small {
    font-size: 10px;
  }
  .pc-tabs {
    gap: 22px;
  }
  .pc-section-heading,
  .pc-footer-card {
    align-items: stretch;
    flex-direction: column;
    gap: 12px;
  }
  .pc-section-heading select {
    max-width: 100%;
  }
  .pc-quote-layout {
    grid-template-columns: 1fr;
  }
  .pc-queue-list {
    max-height: 220px;
  }
  .pc-field-grid {
    grid-template-columns: 1fr;
  }
  .pc-span {
    grid-column: auto;
  }
  .pc-source-grid,
  .pc-price-grid {
    grid-template-columns: 1fr;
  }
  .pc-compose,
  .pc-cost-form,
  .pc-result {
    padding: 17px;
  }
  .pc-header .row {
    flex-wrap: wrap;
  }
  .pc-form-head {
    flex-direction: column;
  }
  .pc-sticky-actions {
    position: static;
  }
  .pc-preview iframe {
    height: 680px;
  }
  .pc-preview dl div {
    flex-direction: column;
    gap: 4px;
  }
  .pc-product img {
    width: 44px;
    height: 48px;
  }
  .pc-table th,
  .pc-table td {
    padding: 13px;
  }
  .pricing .btn {
    white-space: normal;
  }
}
.pc-rate-helper {
  padding: 15px;
  border: 1px solid var(--pc-line);
  border-radius: 10px;
  margin-bottom: 18px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.pc-rate-helper .pc-help {
  grid-column: 1/-1;
  margin: 0;
}
.pc-rate-helper .btn {
  justify-self: start;
  align-self: end;
}
@media (max-width: 700px) {
  .pc-rate-helper {
    grid-template-columns: 1fr;
  }
}
.pc-history-summary {
  border-left: 3px solid #a78bfa;
  margin-bottom: 20px;
}
.pc-history-summary p {
  max-width: 100ch;
  color: var(--muted);
  line-height: 1.6;
}
.pc-history-filters {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr auto;
  gap: 16px;
  align-items: end;
}
.pc-history-filters label {
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 13px;
}
.pc-history-filters input,
.pc-history-filters select {
  width: 100%;
  min-width: 0;
}
.pc-history-table small {
  max-width: 460px;
  line-height: 1.6;
}
.pc-history-selected {
  background: rgba(167, 139, 250, 0.08);
}
.pc-history-detail {
  margin-top: 24px;
  scroll-margin-top: 24px;
}
.pc-history-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.pc-history-options article,
.pc-history-inline {
  padding: 20px;
  border: 1px solid var(--pc-line);
  border-radius: 12px;
  background: rgba(167, 139, 250, 0.035);
}
.pc-history-options h3 {
  font-size: 16px;
  margin: 0;
}
.pc-history-price {
  font-size: 18px;
  display: block;
  color: #c4b5fd;
  line-height: 1.6;
}
.pc-history-options .pc-breakdown {
  font-size: 13px;
}
.pc-history-options .pc-breakdown dd {
  white-space: normal;
  text-align: right;
}
.pc-history-notes {
  margin: 24px 0;
  line-height: 1.7;
}
.pc-history-files {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}
.pc-history-files > div {
  max-width: 360px;
}
.pc-history-files small,
.pc-history-inline small,
#pc-history-document .notice small {
  display: block;
  margin-top: 8px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.6;
}
.pc-history-inline {
  margin: 20px 0;
}
.pc-history-inline > div {
  margin: 14px 0;
}
.pc-history-mail {
  width: 100%;
  height: 760px;
  border: 1px solid var(--pc-line);
  border-radius: 12px;
  background: white;
}
@media (max-width: 1000px) {
  .pc-history-filters {
    grid-template-columns: 1fr 1fr;
  }
  .pc-history-options {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 700px) {
  .pc-history-filters {
    grid-template-columns: 1fr;
  }
  .pc-history-options article,
  .pc-history-inline {
    padding: 15px;
  }
  .pc-history-files {
    display: block;
  }
  .pc-history-files > div {
    margin-bottom: 15px;
  }
  .pc-history-detail {
    padding: 17px;
  }
  .pc-history-detail .pc-form-head p {
    overflow-wrap: anywhere;
  }
  .pc-history-options .pc-breakdown > div {
    flex-wrap: wrap;
    gap: 5px;
  }
}
/* Leave room for the portal's sticky top bar when opening a detail. */
.pricing {
  scroll-margin-top: 96px;
}
.pc-history-summary,
.pc-history-detail {
  padding: 22px 24px;
}
.pc-history-detail,
#pc-history-document {
  scroll-margin-top: 96px;
}
.pc-history-filters {
  padding: 20px 22px 0;
}
.pc-history-filters + .pc-help {
  padding: 0 22px;
}
@media (max-width: 700px) {
  .pc-history-summary,
  .pc-history-detail {
    padding: 17px;
  }
  .pc-history-filters {
    padding: 16px 16px 0;
  }
  .pc-history-filters + .pc-help {
    padding: 0 16px;
  }
}
.pc-three-costs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 18px;
}
.pc-three-costs article {
  padding: 22px;
  border: 1px solid var(--pc-line);
  border-radius: 14px;
  background: var(--pc-bg);
}
.pc-three-costs h3 {
  margin: 12px 0;
  font-size: 17px;
}
.pc-three-costs article > strong {
  display: block;
  font-size: 25px;
  color: var(--pc-accent);
}
.pc-three-costs strong small {
  font-size: 12px;
  font-weight: 400;
}
.pc-three-costs dl {
  margin: 18px 0;
  font-size: 12px;
}
.pc-three-costs dl > div {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 7px 0;
  border-bottom: 1px solid var(--pc-line);
}
.pc-three-costs dd {
  margin: 0;
  text-align: right;
  white-space: nowrap;
}
.pc-three-costs p,
.pc-three-costs article > small {
  font-size: 12px;
  color: var(--pc-muted);
  line-height: 1.7;
}
.pc-three-total p {
  margin: 7px 0 0;
}
.pc-token-costs {
  border-top: 1px solid var(--pc-line);
  margin-top: 20px;
  padding-top: 20px;
}
.pc-token-costs > .pc-field-grid {
  margin-top: 14px;
}
.pc-math {
  margin: 20px 0;
  padding: 15px;
  border: 1px solid var(--pc-line);
  border-radius: 10px;
}
.pc-math summary {
  font-weight: 600;
  cursor: pointer;
}
.pc-math ol {
  padding-left: 18px;
}
.pc-math li,
.pc-math p {
  font-size: 12px;
  color: var(--pc-muted);
  line-height: 1.7;
  margin: 10px 0;
}
@media (max-width: 1000px) {
  .pc-three-costs {
    grid-template-columns: 1fr;
  }
  .pc-three-costs article {
    padding: 18px;
  }
}

.pc-base-prices {
  margin: 20px 0;
  padding: 24px;
}
.pc-base-prices > h3,
.pc-base-prices .pc-form-head h3 {
  margin: 4px 0;
}
.pc-base-source {
  margin: 14px 0;
}
.pc-base-source small,
.pc-base-prices > small {
  display: block;
  color: var(--muted);
  overflow-wrap: anywhere;
}
.pc-base-offer {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin: 18px 0;
}
.pc-base-offer > div {
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 12px;
}
.pc-base-offer strong {
  display: block;
  font-size: 24px;
  margin: 8px 0;
}
.pc-base-offer p,
.pc-base-source p {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.6;
}
.pc-comparison-scroll {
  max-height: 520px;
  margin: 12px 0;
}
.pc-comparison-scroll table {
  min-width: 1050px;
}
.pc-comparison-scroll th {
  position: sticky;
  top: 0;
  background: var(--panel);
  z-index: 1;
}
.pc-negative {
  color: #ffb6a5;
}
@media (max-width: 800px) {
  .pc-base-offer {
    grid-template-columns: 1fr;
  }
}

.pc-cost-editor {
  margin: 20px 0;
  border: 1px solid var(--pc-line);
  border-radius: 14px;
  padding: 20px;
}
.pc-cost-editor > summary,
.pc-base-prices > summary {
  cursor: pointer;
  font-weight: 650;
  font-size: 15px;
  padding: 4px 0;
}
.pc-cost-editor[open] > summary,
.pc-base-prices[open] > summary {
  margin-bottom: 20px;
}
.pc-calc-next {
  margin: 18px 0;
}
.pc-offer-editor {
  margin: 8px 0 24px;
}
.pc-offer-add {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin: 14px 0;
}
.pc-offer-lines {
  display: grid;
  gap: 12px;
}
.pc-offer-lines article {
  border: 1px solid var(--pc-line);
  border-radius: 12px;
  padding: 16px;
}
.pc-offer-line-heading,
.pc-offer-line-price {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.pc-offer-line-fields {
  display: grid;
  grid-template-columns: 1.2fr 1.2fr 110px;
  gap: 12px;
  margin: 12px 0;
}
.pc-offer-line-fields label {
  display: grid;
  gap: 7px;
  font-size: 12px;
  color: var(--pc-muted);
  min-width: 0;
}
.pc-offer-line-fields select {
  width: 100%;
}
.pc-offer-line-price {
  font-size: 13px;
  flex-wrap: wrap;
}
@media (max-width: 800px) {
  .pc-offer-line-fields {
    grid-template-columns: 1fr;
  }
  .pc-cost-editor {
    padding: 12px;
  }
}

/* Internal costs and negotiating guidance stay together at the point of quoting. */
.pc-quote-prices { display: block; }
.pc-economics {
  margin: 20px 0;
  padding: 22px;
  background: var(--panel, var(--pc-bg));
  border: 1px solid var(--pc-line);
  border-radius: 14px;
}
.pc-economics h3 { margin: 0; font-size: 18px; }
.pc-economics-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin: 18px 0; }
.pc-economics-grid article { border: 1px solid var(--pc-line); padding: 16px; border-radius: 10px; }
.pc-economics-grid small, .pc-economics-bottom small, .pc-offer-totals small { display: block; color: var(--pc-muted); font-size: 12px; }
.pc-economics-grid strong, .pc-economics-bottom strong { display: block; margin: 10px 0; font-size: 24px; }
.pc-economics-grid span { display: block; color: var(--pc-muted); font-size: 12px; line-height: 1.6; }
.pc-economics-bottom { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; padding: 16px 0; }
.pc-economics p { font-size: 13px; line-height: 1.7; }
.pc-economics-line { padding: 16px 0; border-top: 1px solid var(--pc-line); }
.pc-economics-line dl { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.pc-economics-line dl > div { display: flex; gap: 12px; justify-content: space-between; font-size: 12px; }
.pc-economics-line dt { color: var(--pc-muted); }
.pc-economics-line dd { margin: 0; white-space: nowrap; }
.pc-offer-totals { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.pc-return-quote { display: flex; gap: 16px; justify-content: space-between; align-items: center; margin-bottom: 20px; }
.pc-missing-list { color: var(--pc-muted); }
@media (max-width: 1200px) {
  .pc-economics-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 700px) {
  .pc-economics { padding: 14px; }
  .pc-economics-grid, .pc-economics-bottom, .pc-economics-line dl, .pc-offer-totals { grid-template-columns: 1fr; }
  .pc-economics .pc-form-head, .pc-return-quote { flex-direction: column; align-items: flex-start; }
  .pc-economics .pc-offer-line-heading { flex-wrap: wrap; }
}
.pc-economics-details > summary { cursor: pointer; padding: 14px 0; font-size: 14px; font-weight: 600; }
.pc-economics > .pc-form-head { flex-wrap: wrap; }
.pc-partial-cost { margin: 16px 0; border-left: 3px solid #d4ad66; }
.pc-partial-cost details { font-size: 12px; line-height: 1.7; margin: 12px 0; }
.pc-partial-cost summary { cursor: pointer; font-weight: 600; }
.pc-partial-cost li { overflow-wrap: anywhere; }

/* First-year comparison: each tier is visible without opening the calculator. */
.pc-catalog-filters { display: flex; gap: 16px; align-items: flex-end; flex-wrap: wrap; margin: 18px 0; }
.pc-catalog-filters label { min-width: 150px; }
.pc-catalog-filters p { margin: 0 0 2px auto; font-size: 12px; }
.pc-catalog-guide { border: 1px solid var(--pc-line); border-radius: 12px; margin: 18px 0; background: var(--pc-bg); }
.pc-catalog-guide > summary { cursor: pointer; padding: 16px 18px; font-size: 14px; font-weight: 600; }
.pc-catalog-guide-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; padding: 0 18px 18px; }
.pc-catalog-guide h3 { font-size: 15px; margin: 8px 0 12px; }
.pc-catalog-guide p { font-size: 13px; line-height: 1.75; margin: 10px 0; }
.pc-catalog-guide summary:focus-visible, .pc-catalog-allocation summary:focus-visible { outline: 2px solid var(--pc-accent); outline-offset: 3px; border-radius: 3px; }
.pc-customer-fee + .pc-customer-fee { margin-top: 15px; padding-top: 12px; border-top: 1px solid var(--pc-line); }
.pc-customer-fee > span { display: block; font-size: 12px; color: var(--pc-muted); }
.pc-customer-fee > strong { display: block; font-size: 15px; line-height: 1.5; margin: 4px 0; }
.pc-customer-fee small { display: block; font-size: 11px; font-weight: 400; color: var(--pc-muted); }
.pc-annual-panel { padding: 0; }
.pc-annual-table { min-width: 1220px; white-space: normal; table-layout: fixed; }
.pc-annual-table th, .pc-annual-table td { padding: 17px 13px; }
.pc-annual-table th:nth-child(1) { width: 230px; }
.pc-annual-table th:nth-child(2) { width: 145px; }
.pc-annual-table th:nth-child(3) { width: 185px; }
.pc-annual-table th:nth-child(4) { width: 145px; }
.pc-annual-table th:nth-child(5) { width: 190px; }
.pc-annual-table th:nth-child(6) { width: 185px; }
.pc-annual-table th:nth-child(7) { width: 90px; }
.pc-annual-table td { vertical-align: top; line-height: 1.65; }
.pc-annual-table td > strong { display: block; font-size: 13px; }
.pc-annual-table td > small { font-size: 11px; line-height: 1.8; }
.pc-annual-table tbody + tbody { border-top: 2px solid var(--pc-line); }
.pc-annual-table .pc-product { align-items: flex-start; gap: 10px; }
.pc-annual-table .pc-product img { width: 42px; height: 50px; }
.pc-annual-product-meta { display: grid; gap: 12px; margin-top: 18px; }
.pc-annual-product-meta > small { display: block; font-size: 11px; }
.pc-annual-product-meta button { justify-self: start; }
.pc-tier-letter { display: inline-grid; place-items: center; width: 25px; height: 25px; margin-right: 7px; border: 1px solid var(--pc-line); border-radius: 7px; color: var(--pc-accent); }
.pc-annual-result { background: rgba(136, 189, 154, .07); }
.pc-annual-table td.pc-annual-result > strong { color: #9dd9b2; font-size: 20px; line-height: 1.4; margin-bottom: 8px; }
.pc-annual-table td.pc-annual-result > strong.pc-negative { color: #ffb6a5; }
.pc-catalog-allocation { margin-top: 12px; font-size: 11px; }
.pc-catalog-allocation summary { cursor: pointer; color: var(--pc-accent); }
.pc-catalog-allocation dl { display: grid; gap: 9px; margin: 14px 0; }
.pc-catalog-allocation dt { color: var(--pc-muted); }
.pc-catalog-allocation dd { margin: 1px 0 0; font-weight: 600; }
.pc-catalog-allocation p { font-size: 11px; margin-bottom: 0; }
.pc-cash-bridge small { display: block; margin-top: 5px; color: var(--pc-muted); font-size: 11px; }
.pc-annual-formula { margin: 18px 0; }
@media (max-width: 800px) {
  .pc-catalog-filters label { min-width: 0; flex: 1 1 140px; }
  .pc-catalog-filters p { flex-basis: 100%; margin-left: 0; }
  .pc-catalog-guide-grid { grid-template-columns: 1fr; gap: 12px; }
  .pc-catalog-guide-grid article + article { border-top: 1px solid var(--pc-line); padding-top: 12px; }
  .pc-annual-scroll { overflow: visible; }
  .pc-annual-table { min-width: 0; width: 100%; display: block; }
  .pc-annual-table thead { display: none; }
  .pc-annual-table tbody { display: block; border: 1px solid var(--pc-line); border-radius: 12px; overflow: hidden; margin-bottom: 18px; }
  .pc-annual-table tbody + tbody { border-top-width: 1px; }
  .pc-annual-table tr { display: grid; grid-template-columns: 1fr 1fr; }
  .pc-annual-table td { display: block; min-width: 0; padding: 14px; border-top: 1px solid var(--pc-line); }
  .pc-annual-table td[data-label]::before { display: block; content: attr(data-label); font-size: 12px; color: var(--pc-muted); margin-bottom: 8px; }
  .pc-annual-table td { grid-column: 1 / -1; }
  .pc-customer-fees { background: rgba(169,135,220,.05); }
  .pc-customer-fee > span { font-size: 13px; }
  .pc-customer-fee > strong { font-size: 20px; }
  .pc-customer-fee small, .pc-annual-table td > small, .pc-annual-product-meta > small,
  .pc-catalog-allocation, .pc-catalog-allocation p, .pc-cash-bridge small { font-size: 13px; }
  .pc-catalog-allocation summary { padding: 10px 0; min-height: 24px; }
  .pc-annual-table td.pc-annual-result > strong { font-size: 25px; }
  .pc-annual-table td.pc-annual-result { display: block; }
  .pc-annual-action button { width: 100%; }
  .pc-annual-product-meta { gap: 9px; }
}
.pc-annual-table td.pc-annual-result > strong.pc-annual-uncertain { color: var(--pc-muted); }
.pc-upfront-panel { margin: 18px 0; padding: 22px; }
.pc-upfront-panel > summary { cursor: pointer; font-weight: 600; font-size: 14px; }
.pc-upfront-panel > summary:focus-visible { outline: 2px solid var(--pc-accent); outline-offset: 4px; }
.pc-upfront-panel .pc-upfront-breakdown { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; margin-top: 20px; }
.pc-upfront-panel .pc-upfront-breakdown dt, .pc-upfront-panel .pc-upfront-breakdown small { font-size: 13px; }
.pc-upfront-panel .pc-upfront-breakdown dd { font-size: 18px; }
.pc-upfront-breakdown > div { min-width: 0; }
.pc-upfront-breakdown dt { color: var(--pc-muted); }
.pc-upfront-breakdown dd { margin: 5px 0; font-weight: 600; }
.pc-upfront-breakdown small { display: block; line-height: 1.8; color: var(--pc-muted); }
.pc-upfront-panel p { font-size: 13px; line-height: 1.8; }
.pc-upfront-panel form { border-top: 1px solid var(--pc-line); padding-top: 18px; margin-top: 18px; }
.pc-history-review-counts { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 16px; }
.pricing .pill.red { background: rgba(234,119,103,.12); color: #ffb6a5; }
.pc-history-review-cell { min-width: 200px; max-width: 270px; white-space: normal; }
.pc-history-review-cell .pill { white-space: normal; }
.pc-history-table { min-width: 1180px; white-space: normal; }
.pc-history-audit { border: 1px solid var(--pc-line); border-radius: 12px; padding: 20px; margin: 22px 0; }
.pc-history-audit p { font-size: 13px; line-height: 1.75; }
.pc-audit-group { border-top: 1px solid var(--pc-line); margin-top: 14px; }
.pc-audit-group summary { cursor: pointer; font-size: 14px; padding: 14px 0; font-weight: 600; }
.pc-audit-group summary:focus-visible { outline: 2px solid var(--pc-accent); outline-offset: 3px; }
.pc-audit-risk > summary, .pc-audit-error > summary { color: #ffb6a5; }
.pc-audit-review > summary { color: #dfbc7b; }
.pc-audit-info > summary { color: var(--pc-accent); }
.pc-audit-group ul { padding-left: 20px; }
.pc-audit-group li + li { border-top: 1px solid var(--pc-line); padding-top: 16px; margin-top: 16px; }
.pc-audit-group li > strong { font-size: 14px; }
@media (max-width: 800px) {
  .pc-history-scroll { overflow: visible; }
  .pc-history-table, .pc-history-table tbody { display: block; min-width: 0; width: 100%; }
  .pc-history-table thead { display: none; }
  .pc-history-table tr { display: grid; grid-template-columns: 1fr; border: 1px solid var(--pc-line); border-radius: 12px; margin: 14px; overflow: hidden; }
  .pc-history-table td { display: block; min-width: 0; max-width: none; padding: 14px; }
  .pc-history-table td[data-label]::before { content: attr(data-label); display: block; color: var(--pc-muted); font-size: 12px; margin-bottom: 8px; }
  .pc-history-table small { font-size: 13px; }
  .pc-history-table button { width: 100%; }
  .pc-history-audit { padding: 16px; }
  .pc-history-audit .pc-form-head { flex-wrap: wrap; }
}
@media (max-width: 700px) {
  .pc-upfront-panel .pc-upfront-breakdown { grid-template-columns: 1fr; }
  .pc-upfront-panel { padding: 16px; }
}
