/* CPQ (WP-E): quotes, deal desk, configurator, catalogue. */
.qt-tabs { flex-wrap: wrap; }
.qt-tabs .n { opacity: .75; font-weight: 600; margin-left: 4px; }
.qt-hi { color: #b42335; font-weight: 700; }
.qt-mid { color: #a86a00; font-weight: 700; }
.qt-warn { color: #a86a00 !important; font-weight: 600; }
.qt-pos { color: #0b7a50; font-weight: 700; }
.qt-neg { color: #b42335; font-weight: 700; }
.qt-score { display: inline-block; min-width: 30px; padding: 1px 7px; border-radius: 10px; font-weight: 700; text-align: center; background: #eef3f8; color: #2f5f88; }
.qt-score.s0 { background: #fde8eb; color: #a3283d; } .qt-score.s1 { background: #fff1d6; color: #8b620d; }
.qt-score.s2 { background: #e4f0ff; color: #0f5aa6; } .qt-score.s3, .qt-score.s4 { background: #e1f6ec; color: #0b7a50; }
.qt-scorebig { display: flex; align-items: baseline; gap: 6px; justify-content: center; padding: 6px 0 10px; }
.qt-scorebig b { font-size: 46px; line-height: 1; font-weight: 800; }
.qt-scorebig span { color: var(--muted); }
.qt-scorebig.s0 b { color: #b42335; } .qt-scorebig.s1 b { color: #a86a00; } .qt-scorebig.s2 b { color: #0f5aa6; } .qt-scorebig.s3 b, .qt-scorebig.s4 b { color: #0b7a50; }
.qt-factors td { padding: 5px 8px; font-size: 12.5px; }
.qt-hints, .qt-rules { list-style: none; margin: 0; padding: 0; display: grid; gap: 7px; }
.qt-hints li { display: flex; gap: 8px; font-size: 12.5px; line-height: 1.4; padding: 7px 9px; border-radius: 4px; background: #f4f8fc; }
.qt-hints li i { margin-top: 1px; }
.qt-hints li.warn { background: #fff7e4; } .qt-hints li.bad { background: #fcecef; } .qt-hints li.ok { background: #e9f7f0; }
.qt-rules li { font-size: 12.5px; padding-left: 10px; border-left: 3px solid #cfe0f2; }
.qt-check { display: flex; gap: 8px; font-size: 12.5px; padding: 6px 0; border-bottom: 1px solid var(--line2, #e3eaf1); }
.qt-check:last-child { border-bottom: 0; }
.qt-check.ok i { color: #0b7a50; } .qt-check.bad i { color: #b42335; } .qt-check.warn i { color: #a86a00; } .qt-check.info i { color: var(--brand-primary, #1a7fe0); }
.qt-lines .qt-num { width: 76px; text-align: right; padding: 4px 6px; }
.qt-lines .qt-reason { width: 120px; margin-top: 4px; padding: 4px 6px; font-size: 12px; }
.qt-lines tr.qt-child td { background: #fafcfe; }
.qt-lines tr.qt-child .qt-desc { padding-left: 14px; color: #3d5166; }
.qt-lines tr.qt-bundle td:first-child b { color: #0b3e7a; }
.qt-rm { font-size: 11.5px; white-space: nowrap; }
.qt-grid2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 14px; }
.qt-grid3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 14px; }
.qt-actions { display: grid; gap: 10px; }
.qt-actions .inline-form .ct-field { max-width: 360px; }
.qt-secondary { border-top: 1px dashed var(--line2, #e3eaf1); padding-top: 10px; }
.qt-more > summary { list-style: none; cursor: pointer; display: inline-flex; }
.qt-more > summary::-webkit-details-marker { display: none; }
.qt-more[open] > form, .qt-more[open] > div { margin-top: 8px; }
.qt-esign { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: space-between; }
.qt-opts { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 10px; }
.qt-opts fieldset { border: 1px solid var(--line2, #e3eaf1); border-radius: 4px; padding: 8px 10px; display: grid; gap: 6px; }
.qt-opts legend { font-weight: 700; font-size: 12px; padding: 0 4px; }
.qt-opts .qt-num { width: 70px; }
.qt-cert td { background: #f3faf6; font-size: 12px; }
.qt-current td { background: #f2f8ff; }
.qt-compare .qt-chg { background: #fff3cd; font-weight: 700; }
.qt-compare tr.qt-added td { background: #effaf4; } .qt-compare tr.qt-removed td { background: #fdf0f2; color: #7d1c2e; }
.qt-events li b { font-weight: 600; }
.cq-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 10px; }
.cq-card { border: 1px solid var(--line2, #e3eaf1); border-radius: 6px; padding: 12px; background: #fff; display: grid; gap: 6px; }
.cq-card h3 { margin: 0; font-size: 14px; }
.cq-card .row { display: flex; justify-content: space-between; gap: 8px; font-size: 12.5px; }
.cq-card .row b { font-variant-numeric: tabular-nums; }
.cq-qa { display: grid; gap: 10px; }
.cq-qa .q { border: 1px solid var(--line2, #e3eaf1); border-radius: 4px; padding: 10px 12px; background: #fbfdff; }
.cq-qa .q > b { display: block; margin-bottom: 6px; }
.cq-qa .opts { display: flex; flex-wrap: wrap; gap: 6px 14px; }
.cq-pick td .qt-num { width: 76px; }
.cq-tree { margin: 4px 0 0 18px; padding: 0; font-size: 12px; color: #3d5166; }
.cq-tree li { list-style: disc; }
.cq-mobile .facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.cq-mobile .facts div { border: 1px solid var(--line2, #e3eaf1); border-radius: 6px; padding: 8px 10px; background: #fbfdff; }
.cq-mobile .facts span { display: block; font-size: 11px; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); }
.cq-mobile .facts b { font-size: 16px; font-variant-numeric: tabular-nums; }
.cq-decide { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.db-inline { display: inline; margin: 0; }
@media (max-width: 900px) { .qt-grid3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) {
    .qt-grid2, .qt-grid3, .cq-decide { grid-template-columns: 1fr; }
    .qt-actions .inline-form .ct-field { max-width: none; }
    .qt-lines .qt-reason { width: 100%; }
    .cq-mobile .facts { grid-template-columns: 1fr 1fr; }
}
.cq-checks { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 4px 12px; font-size: 13px; }
.cq-checks label { display: flex; gap: 6px; align-items: center; font-weight: 400; }
