/* ================================================================
   ALMAX Quoting Sandbox — scoped calculator UI (#prc-root)
   Shared tokens/components: prc-tokens.css, prc-components.css
   ================================================================ */

#prc-root *, #prc-root *::before, #prc-root *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

#prc-root {
  font-family: 'Tektur', 'Segoe UI', system-ui, sans-serif;
  color: var(--c-text);
  background: var(--c-bg);
  padding: 28px 20px 40px;
  line-height: 1.45;
  font-weight: 400;
}

/* ── Header ──────────────────────────────────────────────────── */
#prc-root .prc-topbar {
  max-width: 1500px;
  margin: 0 auto 20px;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}
#prc-root .prc-topbar__brand-wrap {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}
#prc-root .prc-topbar__brand {
  font-size: 18px;
  font-weight: 700;
  color: var(--c-accent);
  letter-spacing: .01em;
  line-height: 1.2;
}
#prc-root .prc-topbar__subtitle {
  font-size: 12px;
  font-weight: 400;
  color: var(--c-muted);
  line-height: 1.45;
  max-width: 640px;
}
#prc-root .prc-topbar__actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

/* Kept in DOM for future use; hidden for now */
#prc-root .prc-topbar__auth-btn,
#prc-root .prc-topbar__actions .prc-theme-switch {
  display: none !important;
}

#prc-root .prc-favorite-status {
  max-width: 1500px;
  margin: 0 auto 12px;
  padding: 0.5rem 0.75rem;
  border-radius: var(--r-sm);
  background: var(--c-accent-bg);
  color: var(--c-accent-dk);
  font-size: 12px;
}

/* ── Layout ──────────────────────────────────────────────────── */
#prc-root .prc-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.82fr) minmax(320px, 1fr);
  gap: 20px;
  align-items: start;
  max-width: 1500px;
  margin: 0 auto;
}
@media (max-width: 960px) {
  #prc-root .prc-layout {
    grid-template-columns: 1fr;
  }
  #prc-root .prc-sidebar {
    order: -1;
  }
  #prc-root .prc-sidebar--sticky {
    top: 12px;
    max-height: calc(100vh - 24px);
  }
}

#prc-root .prc-sidebar {
  align-self: start;
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
}

#prc-root .prc-sidebar--sticky {
  position: sticky;
  top: 20px;
  max-height: calc(100vh - 40px);
  overflow-y: auto;
  overscroll-behavior: contain;
  z-index: 2;
}

/* ── Block panels (calculator-specific) ──────────────────────── */
#prc-root .prc-block--collapsed .prc-block__fields {
  display: none;
}
#prc-root .prc-block__head-row--with-toggle .prc-block__head-rule {
  min-width: 24px;
}
#prc-root .prc-block__head-toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
  align-self: flex-end;
  margin: 0 10px 4px auto;
}
#prc-root .prc-block__head-toggle-label {
  font-size: 12px;
  font-weight: 500;
  color: var(--c-muted);
  line-height: 1;
  white-space: nowrap;
}
#prc-root .prc-block__head-toggle-label.is-on {
  color: var(--c-accent);
}
#prc-root .prc-block__toggle {
  display: none;
}

#prc-root .prc-block__fields {
  gap: 0;
}
#prc-root .prc-summary__body {
  gap: 0;
}
#prc-root .prc-summary {
  flex: 0 0 auto;
}
#prc-root .prc-field__hint,
#prc-root .prc-block__geo-hint {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  font-size: 12px;
  color: var(--c-muted);
  line-height: 1.4;
  letter-spacing: 0.3px;
}
#prc-root .prc-field__hint {
  margin-top: 2px;
}
#prc-root .prc-block__geo-hint {
  margin-top: 14px;
  margin-left: -8px;
}
#prc-root .prc-info-hint__icon {
  flex-shrink: 0;
  width: 13px;
  height: 13px;
  display: block;
  margin-top: -1px;
  margin-left: 8px;
}
#prc-root .prc-info-hint__text {
  flex: 1;
  min-width: 0;
}

/* ── Geometry unit switch (Inches / Millimeters) ─────────────── */
#prc-root .prc-dim-unit-bar {
  margin: 0;
}
#prc-root .prc-dim-unit-bar__options {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 18px;
}
#prc-root .prc-dim-unit-option {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 0;
  border: none;
  background: none;
  cursor: pointer;
  font-family: inherit;
  font-size: 13px;
  font-weight: 400;
  color: var(--c-muted);
  line-height: 1.2;
}
#prc-root .prc-dim-unit-option--active {
  color: var(--c-text);
  font-weight: 500;
}
#prc-root .prc-dim-unit-option__box {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  border: 1px solid var(--c-border-md);
  background: var(--c-input-bg);
  box-sizing: border-box;
}
#prc-root .prc-dim-unit-option--active .prc-dim-unit-option__box {
  background: var(--c-accent);
  border-color: var(--c-accent);
}
#prc-root .prc-dim-unit-option:focus-visible {
  outline: 2px solid var(--c-accent);
  outline-offset: 2px;
}

#prc-root .prc-field-grid--geometry-units {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  gap: 40px;
  width: fit-content;
  max-width: 100%;
  margin: 0;
}
#prc-root .prc-geometry-units__length,
#prc-root .prc-geometry-units__width {
  flex: 0 0 auto;
}
#prc-root .prc-geometry-units__units {
  flex: 0 0 auto;
  margin-left: 30px;
}
#prc-root .prc-geometry-units__length > .prc-field,
#prc-root .prc-geometry-units__width > .prc-field,
#prc-root .prc-geometry-units__units > .prc-field {
  width: fit-content;
}

/* ── Fields ──────────────────────────────────────────────────── */
#prc-root .prc-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
#prc-root .prc-field--toggle {
  flex-direction: row;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
#prc-root .prc-field--disabled { opacity: .42; pointer-events: none; }
#prc-root .prc-field--toggle-row.prc-field--disabled {
  opacity: 1;
  pointer-events: auto;
}
#prc-root .prc-field--toggle-row.prc-field--disabled .prc-field__control {
  opacity: .42;
  pointer-events: none;
}
#prc-root .prc-field--toggle-row.prc-field--disabled .prc-field__toggle-state {
  color: var(--c-muted);
}

#prc-root .prc-field__label {
  font-size: 12px;
  font-weight: 500;
  color: var(--c-input-text);
  display: block;
  margin: 0;
  padding: 0;
  border: none;
  background: none;
  line-height: 14px;
}
#prc-root .prc-field__unit {
  font-size: 11px;
  color: var(--c-muted);
  font-weight: 400;
}
#prc-root .prc-field__toggle-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
}
#prc-root .prc-req { color: var(--c-accent); }

/* ── Inputs ──────────────────────────────────────────────────── */
#prc-root .prc-input {
  height: 40px;
  padding: 0 12px;
  border: 0px !important;
  border-radius: var(--r-sm);
  font-size: 16px;
  font-family: inherit;
  font-weight: 500;
  color: var(--c-input-text);
  background: var(--c-input-bg) !important;
  width: auto;
  min-width: 100px;
  outline: none;
  box-shadow: none !important;
  transition: border-color .15s;
  -webkit-appearance: none;
}
#prc-root .prc-input:focus {
  border-color: var(--c-accent) !important;
  box-shadow: none !important;
}
#prc-root .prc-input::placeholder { color: var(--c-muted); font-weight: 400; }
#prc-root .prc-input:disabled { background: var(--c-bg) !important; cursor: not-allowed; }

#prc-root .prc-number-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin: 0;
  align-items: start;
}
#prc-root .prc-field-grid {
  display: flex;
  gap:12px;  

  margin: 0;
  align-items: start;
}
#prc-root .prc-field--row {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
#prc-root .prc-field--row .prc-field__label {
  flex: 0 1 46%;
  margin: 0;
}
#prc-root .prc-field--row .prc-field__control {
  flex: 1 1 54%;
  min-width: 0;
}
#prc-root .prc-field--row .prc-field__hint--full {
  flex-basis: 100%;
  width: 100%;
}
#prc-root .prc-field--toggle-row {
  align-items: flex-start;
}
#prc-root .prc-field--toggle-row .prc-field__control {
  display: inline-flex;
  justify-content: flex-start;
  width: 100%;
}
#prc-root .prc-field--toggle-row .prc-field__toggle-group {
  justify-content: flex-start;
}
#prc-root .prc-field__toggle-group {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
#prc-root .prc-field__toggle-state {
  font-size: 12px;
  font-weight: 500;
  color: var(--c-muted);
  line-height: 1;
  white-space: nowrap;
}
#prc-root .prc-field__toggle-state.is-on {
  color: var(--c-accent);
}

/* ── Select ──────────────────────────────────────────────────── */
#prc-root .prc-select {
  height: 40px;
  padding: 0 36px 0 12px;
  border: 1px solid var(--c-border-md) !important;
  border-radius: var(--r-sm) !important;
  font-size: 13px;
  font-family: inherit;
  font-weight: 500;
  color: var(--c-muted);
  background-color: var(--c-surface) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%234d4d4d' stroke-width='1.5' d='M4 6l4 4 4-4'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  background-size: 13px !important;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
  width: 100%;
  outline: none;
  box-shadow: none !important;
  transition: border-color .15s;
}
#prc-root .prc-select:focus {
  border-color: var(--c-accent) !important;
}
#prc-root .prc-select--active { color: var(--c-text); border-color: var(--c-accent) !important; }
#prc-root .prc-select:disabled { background-color: var(--c-bg) !important; cursor: not-allowed; }

/* ── Radio tiles ─────────────────────────────────────────────── */
#prc-root .prc-radio-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
#prc-root .prc-radio-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1px;
  padding: 3px 15px;
  justify-content: center;
  border: 1px solid var(--c-tile-border) !important;
  border-radius: var(--r-lg) !important;
  background: var(--prc-radio-tile-bg) !important;
  cursor: pointer;
  transition: border-color .12s, color .12s, background .12s;
  text-align: left;
  min-width: 64px;
  min-height: 40px;
  font-family: inherit;
  font-size: 14px;
  line-height: 1.2;
  color: var(--c-text);
  box-shadow: none !important;

}
#prc-root .prc-radio-card:hover:not(:disabled) {
  border-color: var(--c-accent) !important;
}
#prc-root .prc-radio-card--active {
  border: 2px solid var(--c-accent) !important; 
  background: var(--prc-radio-tile-bg-active) !important;
  color: var(--c-accent);
  box-shadow: none !important;
}
#prc-root .prc-radio-card--with-image.prc-radio-card--active {
  padding: 5px 9px 5px 5px;
}
#prc-root .prc-radio-card--active .prc-radio-card__label {
  color: var(--c-accent);
}
#prc-root .prc-radio-card--disabled { opacity: .42; cursor: not-allowed; }
#prc-root .prc-radio-card__label {
  font-size: 14px;
  font-weight: 500;
  color: var(--c-text);
  line-height: 1.2;
  display: block;
}
#prc-root .prc-radio-card__sub {
  font-size: 9px;
  font-weight: 400;
  color: var(--c-muted);
  display: block;
  line-height: 1.25;
}
#prc-root .prc-radio-card--active .prc-radio-card__sub {
  color: var(--c-accent);
  opacity: .85;
}
#prc-root .prc-radio-card--with-image {
  flex-direction: row;
  align-items: center;
  gap: 8px;
  padding: 6px 10px 6px 6px;
  min-width: 0;
}
#prc-root .prc-radio-card__thumb {
  width: 40px;
  height: 40px;
  object-fit: cover;
  border-radius: 4px;
  flex-shrink: 0;
  background: var(--c-bg);
  display: block;
}
#prc-root .prc-radio-card__text {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
  text-align: center;
}
#prc-root .prc-field--tiles .prc-field__control {
  width: 100%;
}
#prc-root .prc-field--included-row {
  margin-bottom: 0;
}

#prc-root .prc-field--included-row + .prc-field-divider {
  margin: 9px var(--prc-field-divider-inset-x);
}

#prc-root .prc-field__included-control {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
#prc-root .prc-field__included-label {
  font-size: 13px;
  font-weight: 600;
  color: var(--c-muted);
  line-height: 1;
}
#prc-root .prc-field__included-label.is-on {
  color: var(--c-accent);
}
#prc-root .prc-field__label-tip {
  position: relative;
  display: inline-flex;
  align-items: center;
  margin-left: 4px;
  vertical-align: middle;
  cursor: help;
  padding: 0;
  border: none;
  background: none;
  font: inherit;
  line-height: 0;
}
#prc-root .prc-field__label-tip:focus-visible {
  outline: 2px solid var(--c-accent);
  outline-offset: 2px;
  border-radius: 2px;
}
#prc-root .prc-field__label-tooltip--floating,
.prc-field__label-tooltip--floating {
  position: fixed;
  transform: translateX(-50%);
  z-index: 100000;
  display: block;
  width: max-content;
  max-width: min(240px, calc(100vw - 24px));
  padding: 8px 10px;
  border-radius: 3px;
  background: #1a1a18;
  color: #fff;
  font-family: 'Tektur', 'Segoe UI', system-ui, sans-serif;
  font-size: 11px;
  font-weight: 400;
  line-height: 1.4;
  white-space: normal;
  box-shadow: 0 4px 12px rgba(0, 0, 0, .18);
  pointer-events: none;
}
#prc-root .prc-field-grid__spacer {
  min-height: 1px;
}
#prc-root .prc-field-grid--windows-pair {
  align-items: start;
}
#prc-root [data-prc-panel-id="block-overlay"] .prc-field-grid:has(#overlayColors) {
  gap: 58px;
}
#prc-root .prc-field-grid--shield-pair {
  gap: 50px;
}
#prc-root [data-prc-panel-id="block-keys"] .prc-field-grid:last-child {
  gap: 40px;
}
#prc-root .prc-field-grid--triple-row {
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 0;
}
#prc-root .prc-field-grid--triple-row > .prc-field {
  flex: 0 0 auto;
  width: max-content;
  max-width: 100%;
}
#prc-root .prc-field-grid--triple-row > .prc-field-grid__spacer {
  display: none;
}
#prc-root .prc-field-grid--triple-row .prc-field--toggle-row .prc-field__control {
  width: auto;
}
#prc-root [data-prc-panel-id="block-backlighting"] .prc-field-grid--triple-row > .prc-field:nth-child(2),
#prc-root [data-prc-panel-id="block-backlighting"] .prc-field-grid--triple-row > .prc-field:nth-child(3),
#prc-root [data-prc-panel-id="block-connector"] .prc-field-grid--triple-row > .prc-field:nth-child(3) {
  margin-left: 40px;
}
#prc-root [data-prc-panel-id="block-connector"] .prc-field-grid--triple-row > .prc-field:nth-child(2) {
  margin-left: 12px;
}
/* Reserve height while Windows is off so the row does not grow when Window texture appears. */
#prc-root .prc-field-grid--windows-pair .prc-field--windows:not(:has(.prc-toggle--on)) {
  padding-bottom: 28px;
}

/* ── Toggle ──────────────────────────────────────────────────── */
#prc-root .prc-toggle {
  position: relative;
  width: 41px;
  height: 21px;
  min-width: 41px;
  border-radius: 3px;
  border: none !important;
  background: var(--c-border-md) !important;
  cursor: pointer;
  transition: background .2s;
  padding: 0;
  outline: none;
  box-shadow: none !important;
  margin-top: 2px;
}
#prc-root .prc-toggle--on  { background: var(--c-accent) !important; }
#prc-root .prc-toggle--disabled { opacity: .42; cursor: not-allowed; }
#prc-root .prc-toggle__thumb {
  position: absolute;
  top: 3px;
  left: 3px;
  width: 15px;
  height: 15px;
  border-radius: 1px;
  background: #fff;
  transition: left .2s;
  box-shadow: 0 1px 2px rgba(26, 26, 24, .12);
  display: block;
}
#prc-root .prc-toggle--on .prc-toggle__thumb { left: 22px; }

/* ── Quote summary (content) ─────────────────────────────────── */
#prc-root .prc-summary__empty {
  font-size: 12px;
  color: var(--c-muted);
  line-height: 1.5;
  margin: 0;
}

#prc-root .prc-summary__stats {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  margin: 0;
}
#prc-root .prc-summary__stat-card {
  padding: 0;
  background: transparent;
}
#prc-root .prc-summary__stat-label {
  margin: 0 0 6px;
  font-size: 12px;
  color: var(--c-muted);
  text-transform: uppercase;
  letter-spacing: .06em;
  font-weight: 500;
}
#prc-root .prc-summary__stat-value {
  margin: 0 0 4px;
  font-size: 36px;
  font-weight: 700;
  color: var(--c-text);
  line-height: 1.05;
}
#prc-root .prc-summary__stat-value--accent {
  color: var(--c-accent);
}
#prc-root .prc-summary__stat-meta {
  margin: 0;
  font-size: 12px;
  color: var(--c-muted);
  line-height: 1.4;
}

#prc-root .prc-summary__explanation {
  margin: 0;
  padding: 12px 14px;
  border: 1px solid var(--c-border);
  border-radius: var(--r-sm);
  background: var(--c-bg);
}
#prc-root .prc-summary__explanation-title {
  margin: 0 0 8px;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--c-text);
}
#prc-root .prc-summary__explanation-list {
  margin: 0;
  padding-left: 18px;
  color: var(--c-muted);
  font-size: 11px;
  line-height: 1.45;
}
#prc-root .prc-summary__explanation-list li + li {
  margin-top: 6px;
}

/* ── Margin Ladder panel (tabs + tables) ─────────────────────── */
#prc-root .prc-margin-ladder {
  --prc-tab-h: 30px;
}
#prc-root .prc-margin-ladder__body {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0;
  margin: 15px 10px 12px;
  background: var(--prc-panel-white-bg);
  --prc-clip-corner: var(--prc-clip-white-corner);
  clip-path: polygon(
    0 0,
    100% 0,
    100% calc(100% - var(--prc-clip-corner)),
    calc(100% - var(--prc-clip-corner)) 100%,
    0 100%
  );
  overflow: hidden;
}
#prc-root .prc-margin-ladder__tabs {
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  flex-wrap: nowrap;
  gap: 0;
  background: transparent;
  border-bottom: 1px solid var(--c-border-md);
  overflow: visible;
}
#prc-root .prc-margin-ladder__tab {
  flex: 0 0 auto;
  min-width: auto;
  border: none;
  border-right: 1px solid var(--c-border-md);
  border-radius: 6px 6px 0 0;
  background: var(--prc-tab-bg);
  color: var(--c-muted);
  font: inherit;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .02em;
  text-transform: none;
  padding: 9px 18px 8px;
  cursor: pointer;
  transition: color .12s, background .12s;
  white-space: nowrap;
}
#prc-root .prc-margin-ladder__tab--last {
  border-right: none;
}
#prc-root .prc-margin-ladder__tab:hover {
  color: var(--c-text);
}
#prc-root .prc-margin-ladder__tab--active {
  background: var(--prc-panel-white-bg);
  color: var(--c-accent);
  box-shadow: inset 0 -1px 0 var(--prc-panel-white-bg);
}
#prc-root .prc-margin-ladder__panel {
  padding: 14px 16px 16px;
  background: var(--prc-panel-white-bg);
}
#prc-root .prc-margin-ladder__desc {
  font-size: 11px;
  line-height: 1.45;
  color: var(--c-muted);
  margin: 0 0 12px;
}
#prc-root .prc-margin-ladder__empty {
  font-size: 12px;
  color: var(--c-muted);
  margin: 0;
  line-height: 1.45;
}
#prc-root .prc-margin-ladder__tip {
  font-size: 10px;
  color: var(--c-muted);
  margin: 10px 0 0;
  line-height: 1.45;
}
#prc-root .prc-margin-ladder__tip-label {
  color: var(--c-accent);
  font-weight: 600;
}

#prc-root .prc-data-table-wrap {
  border: 1px solid var(--c-border);
  border-radius: var(--r-sm);
  overflow: hidden;
  background: var(--c-surface);
}
#prc-root .prc-data-table-wrap--spaced {
  margin-top: 12px;
}
#prc-root .prc-data-table-wrap--scroll-x {
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
}
#prc-root .prc-data-table-wrap--scroll-x .prc-data-table {
  width: max-content;
  min-width: 100%;
}
#prc-root .prc-data-table-wrap--scroll-x .prc-data-table th,
#prc-root .prc-data-table-wrap--scroll-x .prc-data-table td {
  white-space: nowrap;
}
#prc-root .prc-data-table-wrap--ladder-compact {
  overflow-x: visible;
}
#prc-root .prc-data-table--ladder-compact {
  width: 100%;
}
#prc-root .prc-data-table-wrap--ladder {
  border: none;
  border-radius: 0;
  background: transparent;
  overflow: visible;
}
#prc-root .prc-data-table--ladder {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}
#prc-root .prc-data-table--ladder th {
  padding: 6px 8px 8px;
  text-align: left;
  font-weight: 600;
  font-size: 11px;
  color: var(--c-accent);
  border-bottom: 1px solid var(--c-border-md);
  background: transparent;
}
#prc-root .prc-data-table--ladder th:not(:first-child),
#prc-root .prc-data-table--ladder td:not(:first-child) {
  text-align: right;
}
#prc-root .prc-data-table--ladder td {
  padding: 8px 8px;
  border-bottom: 1px solid var(--c-border);
  color: var(--c-text);
  background: transparent;
}
#prc-root .prc-data-table--ladder tbody tr:last-child td {
  border-bottom: none;
}
#prc-root .prc-data-table--ladder .prc-data-table__row--clickable {
  cursor: pointer;
  transition: color .12s ease;
}
#prc-root .prc-data-table--ladder .prc-data-table__row--clickable:hover td,
#prc-root .prc-data-table--ladder .prc-data-table__row--active td {
  color: var(--c-accent);
  background: transparent;
}
#prc-root .prc-data-table--ladder .prc-data-table__row--active td {
  font-weight: 600;
}
#prc-root .prc-data-table--ladder .prc-data-table__row--clickable:hover .prc-data-table__warn,
#prc-root .prc-data-table--ladder .prc-data-table__row--active .prc-data-table__warn {
  color: var(--c-accent);
}
#prc-root .prc-data-table-wrap--ladder.prc-data-table-wrap--scroll-x {
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
}
#prc-root .prc-data-table-wrap--ladder.prc-data-table-wrap--scroll-x .prc-data-table--ladder {
  width: max-content;
  min-width: 100%;
}
#prc-root .prc-data-table-wrap--ladder.prc-data-table-wrap--scroll-x .prc-data-table--ladder th,
#prc-root .prc-data-table-wrap--ladder.prc-data-table-wrap--scroll-x .prc-data-table--ladder td {
  white-space: nowrap;
}
#prc-root .prc-data-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}
#prc-root .prc-data-table th {
  padding: 8px 10px;
  text-align: left;
  font-weight: 700;
  color: var(--c-text);
  border-bottom: 1px solid var(--c-border);
  font-size: 11px;
  background: var(--c-surface);
}
#prc-root .prc-data-table td {
  padding: 7px 10px;
  border-bottom: 1px solid var(--c-border);
  color: var(--c-text);
}
#prc-root .prc-data-table tr:last-child td {
  border-bottom: none;
}
#prc-root .prc-data-table__row--clickable {
  cursor: pointer;
  transition: background .1s;
}
#prc-root .prc-data-table__row--clickable:hover td {
  background: var(--c-accent-bg);
}
#prc-root .prc-data-table__row--active td {
  font-weight: 700;
  color: var(--c-text);
}
#prc-root .prc-data-table__row--total td {
  font-weight: 600;
}
#prc-root .prc-data-table__row--warn td {
  color: var(--c-warn);
}
#prc-root .prc-data-table__row--accent td:last-child {
  color: var(--c-accent);
  font-weight: 600;
}
#prc-root .prc-data-table__warn {
  color: var(--c-warn);
}


#prc-root .prc-summary__tab-desc {
  font-size: 11px;
  color: var(--c-muted);
  line-height: 1.45;
  margin: 0 0 10px;
}
#prc-root .prc-summary__lines {
  margin-bottom: 12px;
}
#prc-root .prc-summary__clear-btn {
  border: 1px solid var(--c-border-md);
  background: var(--c-surface);
  color: var(--c-text);
  border-radius: var(--r-sm);
  padding: 7px 12px;
  font-size: 12px;
  font-family: inherit;
  font-weight: 500;
  cursor: pointer;
  transition: background .12s, border-color .12s, color .12s;
}
#prc-root .prc-summary__clear-btn:hover {
  border-color: var(--c-accent);
  color: var(--c-accent);
  background: var(--c-accent-bg);
}

#prc-root .prc-summary__lines {
  display: flex;
  flex-direction: column;
  gap: 7px;
}
#prc-root .prc-summary__line {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  font-size: 12px;
}
#prc-root .prc-summary__line--total {
  padding-top: 8px;
  border-top: 1px dashed var(--c-border);
  font-weight: 600;
}
#prc-root .prc-summary__line-label { color: var(--c-muted); flex: 1; line-height: 1.4; }
#prc-root .prc-summary__line-val   { font-weight: 500; white-space: nowrap; color: var(--c-text); }

#prc-root .prc-summary__meta {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
#prc-root .prc-summary__meta-row {
  display: flex;
  justify-content: space-between;
  font-size: 12px;
}
#prc-root .prc-summary__meta-row span  { color: var(--c-muted); }
#prc-root .prc-summary__meta-row strong{ color: var(--c-text); font-weight: 600; }
#prc-root .prc-summary__meta-row--warn span,
#prc-root .prc-summary__meta-row--warn strong { color: var(--c-warn); }
#prc-root .prc-summary__meta-row--accent span { color: var(--c-muted); }
#prc-root .prc-summary__meta-row--accent strong { color: var(--c-accent); }
#prc-root .prc-summary__floor { color: var(--c-warn); }

#prc-root .prc-ladder {
  border: 1px solid var(--c-border);
  border-radius: var(--r-sm);
  overflow: hidden;
}
#prc-root .prc-ladder__table {
  width: 100%;
  border-collapse: collapse;
  font-size: 11px;
}
#prc-root .prc-ladder__table th {
  background: var(--c-bg);
  padding: 7px 8px;
  text-align: left;
  font-weight: 500;
  color: var(--c-muted);
  border-bottom: 1px solid var(--c-border);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .04em;
}
#prc-root .prc-ladder__table td {
  padding: 6px 8px;
  border-bottom: 1px solid var(--c-border);
  color: var(--c-text);
}
#prc-root .prc-ladder__table tr:last-child td { border-bottom: none; }
#prc-root .prc-ladder__row {
  cursor: pointer;
  transition: background .1s;
}
#prc-root .prc-ladder__row:hover td {
  background: var(--c-accent-bg);
}
#prc-root .prc-ladder__row--active td {
  background: var(--c-accent-bg);
  font-weight: 600;
  color: var(--c-accent);
}
#prc-root .prc-ladder__floor { color: var(--c-warn); }
#prc-root .prc-ladder__note {
  font-size: 10px;
  color: var(--c-muted);
  padding: 7px 8px;
  background: var(--c-bg);
  border-top: 1px solid var(--c-border);
  line-height: 1.4;
}

#prc-root .prc-summary__coefficients { margin-top: 0; }
#prc-root .prc-summary__coeff-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 7px;
}
#prc-root .prc-summary__coeff-item {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: baseline;
  font-size: 12px;
}
#prc-root .prc-summary__coeff-item span { color: var(--c-muted); }
#prc-root .prc-summary__coeff-item strong {
  color: var(--c-text);
  font-weight: 600;
  white-space: nowrap;
}

#prc-root .prc-summary__error {
  margin-bottom: 10px;
  padding: 10px 12px;
  border-radius: var(--r-sm);
  background: var(--prc-error-bg);
  border: 1px solid var(--prc-error-border);
  color: var(--prc-error-text);
  font-size: 12px;
}

#prc-root .prc-summary__note {
  font-size: 10px;
  color: var(--c-muted);
  text-align: center;
  line-height: 1.45;
  margin: 8px 0 0;
}

/* Loader / errors */
#prc-root .prc-loader {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  padding: 60px;
  color: var(--c-muted);
  font-size: 14px;
}
#prc-root .prc-loader__spinner {
  width: 32px;
  height: 32px;
  border: 2.5px solid var(--c-border);
  border-top-color: var(--c-accent);
  border-radius: 50%;
  animation: prc-spin .7s linear infinite;
}
@keyframes prc-spin { to { transform: rotate(360deg); } }
#prc-root .prc-error {
  padding: 20px;
  background: var(--prc-error-bg);
  border: 1px solid var(--prc-error-border);
  border-radius: var(--r-md);
  color: var(--prc-error-text);
  font-size: 14px;
}
#prc-root #orderQty,
#prc-root #toolingFee,
#prc-root #lengthMm,
#prc-root #widthMm
{
  width: 190px;
}
#prc-root #overlayColors {
  width: 133px;
}
#prc-root .prc-field__static-value {
  display: block;
  font-size: 12px;
  color: var(--c-muted);
  line-height: 1.4;
  padding-top: 2px;
  padding-left: 12px;
  white-space: nowrap;
}
#prc-root [data-prc-panel-id] .prc-field__label 
{
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 2px;
  min-height: 15px;
}
