.pricing-page { padding-bottom: var(--space-10, 4rem); }
.pricing-page-head { padding: clamp(2.5rem, 7vw, 4.5rem) 0 var(--space-6, 2rem); }
.pricing-page-head h1 { max-width: 14ch; margin: 0; font-size: clamp(2.5rem, 5vw, 4.75rem); line-height: .98; letter-spacing: -.035em; }
.pricing-page-deck { max-width: 62ch; margin: var(--space-5, 1.5rem) 0 0; color: var(--color-text-2, #4a5260); font-size: 1.125rem; }
.wpp-workbook { color: var(--color-text, #16181d); font-variant-numeric: tabular-nums; }
.wpp-workbook-meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .75rem 2rem; padding: .75rem 0; border-block: 1px solid var(--hairline, #e9ebee); color: var(--color-muted, #5e6878); font-size: .9375rem; }
.wpp-workbook-meta p { margin: 0; }
.wpp-sheet-tabs { display: flex; gap: 0; overflow-x: auto; padding-top: 1rem; border-bottom: 1px solid var(--color-border-strong, #d4d7dd); scrollbar-width: thin; }
.wpp-sheet-tabs button { flex: 0 0 auto; min-width: 7rem; padding: .65rem 1rem; border: 1px solid var(--color-border, #e4e6ea); border-bottom: 0; border-radius: 0; background: var(--color-surface-2, #f6f7f9); color: var(--color-text-2, #4a5260); font: inherit; font-size: .9375rem; font-weight: 650; cursor: pointer; }
.wpp-sheet-tabs button + button { border-left: 0; }
.wpp-sheet-tabs button[aria-selected="true"] { position: relative; margin-bottom: -1px; background: var(--color-surface, #fefefe); color: var(--accent-text, #3457c9); border-top-color: var(--accent, #3b62d9); border-top-width: 2px; }
.wpp-toolbar { display: grid; grid-template-columns: minmax(15rem, 1fr) auto; gap: .75rem 1rem; align-items: end; padding: .75rem; background: var(--color-surface-2, #f6f7f9); border: 1px solid var(--color-border-strong, #d4d7dd); border-top: 0; }
.wpp-toolbar label { display: grid; gap: .25rem; color: var(--color-muted, #5e6878); font-size: .8125rem; font-weight: 650; }
.wpp-toolbar input, .wpp-toolbar select, .wpp-toolbar button, .wpp-toolbar summary, .wpp-table-meta select, .wpp-pagination button, .wpp-report-form input, .wpp-report-form select, .wpp-report-form textarea, .wpp-report-form button { min-height: 2.5rem; border: 1px solid var(--color-border-strong, #d4d7dd); border-radius: 5px; background: var(--color-input-bg, #fefefe); color: var(--color-text, #16181d); padding: .5rem .65rem; font: inherit; }
.wpp-search input { width: min(100%, 32rem); }
.wpp-toolbar-menus { display: flex; gap: .5rem; align-items: end; }
.wpp-toolbar-menu { position: relative; }
.wpp-toolbar-menu > summary { display: flex; min-width: 7rem; align-items: center; justify-content: space-between; gap: .4rem; list-style: none; cursor: pointer; font-weight: 650; }
.wpp-toolbar-menu > summary::-webkit-details-marker { display: none; }
.wpp-toolbar-menu > summary::after { content: ""; width: .42rem; height: .42rem; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg) translateY(-2px); }
.wpp-toolbar-menu[open] > summary::after { transform: rotate(225deg) translate(-2px, -1px); }
.wpp-advanced, .wpp-column-picker { position: absolute; right: 0; top: calc(100% + .4rem); z-index: 20; width: min(34rem, calc(100vw - 2rem)); padding: .85rem; border: 1px solid var(--color-border-strong, #d4d7dd); border-radius: 5px; background: var(--color-surface, #fefefe); box-shadow: 0 10px 30px rgba(16,20,27,.13); }
.wpp-advanced { display: grid; grid-template-columns: repeat(2, minmax(10rem, 1fr)); gap: .75rem; align-items: end; }
.wpp-advanced > button { grid-column: 1 / -1; justify-self: start; }
.wpp-column-picker { display: grid; gap: .65rem; min-width: 14rem; width: auto; margin: 0; }
.wpp-column-picker legend { padding: 0 0 .45rem; color: var(--color-muted, #5e6878); font-size: .8125rem; font-weight: 700; }
.wpp-column-picker label { display: flex; align-items: center; gap: .5rem; color: var(--color-text, #16181d); font-size: .9375rem; }
.wpp-column-picker input { min-height: 0; }
.wpp-check { display: flex !important; align-items: center; gap: .5rem !important; min-height: 2.5rem; white-space: nowrap; }
.wpp-check input { min-height: 0; }
.wpp-filter-chips { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: .4rem; }
.wpp-filter-chips button { min-height: 1.8rem; padding: .25rem .5rem; border-radius: 999px; color: var(--accent-text, #3457c9); font-size: .8125rem; }
.wpp-table-meta { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 0 .5rem; }
.wpp-table-meta label { display: flex; align-items: center; gap: .45rem; color: var(--color-muted, #5e6878); font-size: .8125rem; font-weight: 650; }
.wpp-table-meta select { min-height: 2rem; padding: .3rem 1.75rem .3rem .45rem; }
.wpp-result-count { margin: 0; color: var(--color-muted, #5e6878); font-size: .875rem; }
.wpp-price-sort-note { padding: .65rem .75rem; color: var(--color-warn, #8a5c09); background: var(--color-surface-2, #f6f7f9); border-inline: 1px solid var(--color-border-strong, #d4d7dd); font-size: .9375rem; }
.wpp-sheet-panel { padding-top: 0; }
.wpp-sheet-panel > h2 { margin: 0 0 .75rem; font-size: 1.25rem; }
.wpp-grid-region { overflow-x: auto; border: 1px solid var(--color-border-strong, #d4d7dd); background: var(--color-surface, #fefefe); }
.wpp-grid { width: 100%; min-width: 52rem; border-collapse: separate; border-spacing: 0; font-size: .875rem; }
.wpp-grid th, .wpp-grid td { padding: .68rem .65rem; text-align: left; vertical-align: top; white-space: nowrap; border-right: 1px solid var(--hairline-row, #eceef1); }
.wpp-grid th { position: sticky; top: 0; z-index: 4; padding: 0; border-bottom: 2px solid var(--color-border-strong, #d4d7dd); background: var(--color-surface-3, #f1f3f6); }
.wpp-grid th button { width: 100%; padding: .5rem .55rem; border: 0; border-radius: 0; background: transparent; color: var(--color-text, #16181d); font: inherit; font-weight: 700; text-align: left; cursor: pointer; }
.wpp-column-label { display: block; padding: .5rem .55rem; font-weight: 700; }
.wpp-grid th button:hover { background: var(--hover-veil, rgba(16,20,27,.04)); }
.wpp-grid th[aria-sort="ascending"] button span::after { content: " ↑"; }
.wpp-grid th[aria-sort="descending"] button span::after { content: " ↓"; }
.wpp-grid .wpp-product-row td { border-bottom: 2px solid var(--color-border-strong, #d4d7dd); background: var(--color-surface, #fefefe); }
.wpp-grid tbody:hover .wpp-product-row td { background: var(--accent-weak, rgba(59,98,217,.1)); }
.wpp-grid tbody.is-open .wpp-product-row td { border-bottom: 0; background: var(--accent-weak, rgba(59,98,217,.07)); }
.wpp-grid .wpp-sticky-product { position: sticky; left: 0; z-index: 2; min-width: 13rem; max-width: 18rem; box-shadow: 1px 0 0 var(--color-border-strong, #d4d7dd); }
.wpp-grid th:first-child { left: 0; z-index: 5; min-width: 13rem; }
.wpp-grid th:last-child, .wpp-grid td:last-child { border-right: 0; }
.wpp-column--optional { display: none; }
.wpp-column--optional.is-visible { display: table-cell; }
.wpp-product-name, .wpp-vendor-name { display: block; overflow: hidden; text-overflow: ellipsis; }
.wpp-product-name { max-width: 17rem; font-size: .9375rem; }
.wpp-vendor-name { margin-top: .15rem; color: var(--color-muted, #5e6878); font-size: .8125rem; }
.wpp-cell-primary, .wpp-cell-secondary { display: block; }
.wpp-cell-primary { font-weight: 650; }
.wpp-cell-secondary { margin-top: .18rem; color: var(--color-muted, #5e6878); font-size: .8125rem; }
.wpp-cell-secondary .wpp-money { color: inherit; }
.wpp-money { display: inline-flex; gap: .2rem; align-items: baseline; }
.wpp-money small, .wpp-empty { color: var(--color-muted, #5e6878); font-size: .8125rem; }
.wpp-yes, .wpp-price-state { color: var(--color-success, #0e7a55); font-weight: 700; }
.wpp-freshness { display: block; margin-top: .15rem; color: var(--color-muted, #5e6878); font-size: .75rem; }
.wpp-freshness--stale, .wpp-freshness--missing { color: var(--color-error, #b53129); }
.wpp-freshness--due { color: var(--color-warn, #8a5c09); }
.wpp-row-actions { display: flex; align-items: center; gap: .75rem; }
.wpp-detail-toggle { font-weight: 700; }
.wpp-detail-row { display: none; }
.wpp-detail-row:target, .wpp-enhanced tbody.is-open .wpp-detail-row { display: table-row; }
.wpp-detail-row td { padding: 0; white-space: normal; border-right: 0; border-bottom: 2px solid var(--color-border-strong, #d4d7dd); background: var(--accent-weak, rgba(59,98,217,.07)); box-shadow: inset 3px 0 0 var(--accent, #3b62d9); }
.wpp-product-details { padding: .85rem 1rem 1rem; }
.wpp-detail-head { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; padding-bottom: .7rem; border-bottom: 1px solid var(--color-border, #e4e6ea); }
.wpp-detail-head h3 { margin: 0; font-size: 1rem; }
.wpp-detail-head a { white-space: nowrap; font-size: .875rem; }
.wpp-detail-layout { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(12rem, .5fr); gap: 2rem; padding-top: 1rem; }
.wpp-summary { max-width: 70ch; margin: 0 0 1rem; color: var(--color-text-2, #4a5260); }
.wpp-plan-table { width: 100%; border-collapse: collapse; font-size: .875rem; }
.wpp-plan-table th, .wpp-plan-table td { position: static; padding: .4rem .5rem; white-space: normal; background: transparent; border: 0; border-bottom: 1px solid var(--hairline-row, #eceef1); }
.wpp-source-line { margin: 1rem 0 0; color: var(--color-muted, #5e6878); font-size: .8125rem; }
.wpp-report-link { align-self: start; margin: 0; }
.wpp-pagination { display: flex; align-items: center; justify-content: flex-end; gap: .75rem; padding: .75rem 0 1rem; }
.wpp-pagination span { min-width: 7rem; color: var(--color-muted, #5e6878); font-size: .875rem; text-align: center; }
.wpp-pagination button { cursor: pointer; }
.wpp-pagination button:disabled { cursor: default; opacity: .5; }
.wpp-report-section { display: grid; grid-template-columns: minmax(15rem, .7fr) minmax(20rem, 1fr); gap: 2rem; padding: 2rem 0; border-bottom: 1px solid var(--hairline, #e9ebee); }
.wpp-report-section h2 { margin: 0 0 .5rem; font-size: 1.5rem; }
.wpp-report-section p { max-width: 42ch; margin: 0; color: var(--color-muted, #5e6878); }
.wpp-report-form { align-self: start; }
.wpp-report-form .frm-fluent-form { padding: var(--space-5, 1.5rem); border: 1px solid var(--color-border-strong, #d4d7dd); border-radius: var(--radius-md, 9px); background: var(--color-surface, #fefefe); }
.wpp-report-form .frm-fluent-form > fieldset { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(12rem, .6fr); gap: var(--space-4, 1rem); }
.wpp-report-form .ff-el-group, .wpp-report-form .ff_submit_btn_wrapper { min-width: 0; margin: 0; }
.wpp-report-form .wpp-field-full, .wpp-report-form .ff_submit_btn_wrapper { grid-column: 1 / -1; }
.wpp-report-form .ff-el-input--label { margin-bottom: var(--space-1, .25rem); }
.wpp-report-form .ff-el-input--label label { color: var(--color-text-2, #4a5260); font-size: .875rem; font-weight: 700; line-height: 1.35; }
.wpp-report-form .ff-el-input--label .ff-el-required { color: var(--color-error, #b53129); }
.wpp-report-form .ff-el-form-control { width: 100%; min-height: 2.75rem; border-color: var(--color-border-strong, #d4d7dd); background: var(--color-input-bg, #fefefe); color: var(--color-text, #16181d); line-height: 1.4; transition: border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease; }
.wpp-report-form textarea.ff-el-form-control { min-height: 7.5rem; resize: vertical; }
.wpp-report-form .ff-el-form-control::placeholder { color: var(--color-muted, #5e6878); opacity: .8; }
.wpp-report-form .ff-el-form-control:hover:not(:disabled) { border-color: var(--accent, #3b62d9); }
.wpp-report-form .ff-el-form-control:focus { border-color: var(--color-focus, #3b62d9); outline: 0; box-shadow: 0 0 0 3px var(--accent-weak, rgba(59,98,217,.1)); }
.wpp-report-form .ff-el-form-control:disabled { cursor: not-allowed; opacity: .6; background: var(--color-surface-2, #f6f7f9); }
.wpp-report-form .ff-el-is-error .ff-el-form-control { border-color: var(--color-error, #b53129); background: var(--color-error-bg, rgba(181,49,41,.08)); }
.wpp-report-form .text-danger { display: block; margin-top: var(--space-1, .25rem); color: var(--color-error, #b53129); font-size: .875rem; line-height: 1.4; }
.wpp-report-form .ff-btn-submit { min-width: 9rem; min-height: 2.75rem; padding-inline: var(--space-5, 1.5rem); background: var(--accent-button, #3b62d9); color: var(--accent-on, #fefefe); border-color: var(--accent-button, #3b62d9); font-weight: 700; cursor: pointer; transition: background-color 160ms ease, border-color 160ms ease, opacity 160ms ease; }
.wpp-report-form .ff-btn-submit:hover:not(:disabled) { background: var(--accent-button-strong, #2848ae); border-color: var(--accent-button-strong, #2848ae); }
.wpp-report-form .ff-btn-submit:focus-visible { outline: 2px solid var(--color-focus, #3b62d9); outline-offset: 2px; }
.wpp-report-form .ff-btn-submit:disabled, .wpp-report-form .ff-btn-submit.ff-loading, .wpp-report-form .ff-btn-submit.ff-working { cursor: wait; opacity: .65; }
.wpp-report-form .ff-message-success { margin: 0; padding: var(--space-4, 1rem); color: var(--color-success, #0e7a55); background: var(--color-success-bg, rgba(14,122,85,.09)); border: 1px solid currentColor; border-radius: var(--radius-md, 9px); box-shadow: none; }
.wpp-report-unavailable { margin: 0; }
.wpp-disclosure { padding: 1rem 0; color: var(--color-muted, #5e6878); font-size: .8125rem; }
.wpp-disclosure p { margin: 0; }
.wpp-enhanced .wpp-sheet-panel[hidden] { display: none; }
.wpp-workbook :focus-visible { outline: 2px solid var(--color-focus, #3b62d9); outline-offset: 2px; }

@media (max-width: 899.98px) {
  .wpp-toolbar { grid-template-columns: minmax(0, 1fr) auto; }
  .wpp-detail-layout { grid-template-columns: 1fr; }
  .wpp-report-section { grid-template-columns: 1fr; }
  .wpp-report-form .frm-fluent-form > fieldset { grid-template-columns: minmax(0, 1fr); }
  .wpp-report-form .ff-el-group, .wpp-report-form .ff_submit_btn_wrapper { grid-column: 1; }
}

@media (max-width: 599.98px) {
  .pricing-page-head { padding-top: 2.5rem; }
  .wpp-workbook-meta { display: block; }
  .wpp-workbook-meta p + p { margin-top: .5rem; }
  .wpp-toolbar { grid-template-columns: 1fr; }
  .wpp-toolbar-menus { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wpp-toolbar-menu > summary { width: 100%; }
  .wpp-toolbar-menu:first-child .wpp-advanced { left: 0; right: auto; }
  .wpp-advanced { grid-template-columns: 1fr; }
  .wpp-table-meta { align-items: flex-end; }
  .wpp-pagination { display: grid; grid-template-columns: 1fr auto 1fr; }
  .wpp-pagination button { width: 100%; }
  .wpp-report-form .frm-fluent-form { padding: var(--space-4, 1rem); }
  .wpp-report-form .ff-btn-submit { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .wpp-workbook * { scroll-behavior: auto !important; }
}
