/* QuoteForge custom styles */ /* Tailwind is loaded via CDN, this file is for any custom overrides */ .line-clamp-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; } /* Pricing footer totals: instant hover popup explaining how much of the sum rests on world-pricelist stand-in prices. A native title= tooltip was too slow and too easy to miss on a number the user is meant to distrust. */ .pricing-total-tip { position: relative; cursor: help; } .pricing-total-tip > .pricing-total-tip__body { visibility: hidden; opacity: 0; position: absolute; right: 0; bottom: calc(100% + 6px); z-index: 30; width: max-content; max-width: 20rem; padding: 0.5rem 0.625rem; border-radius: 0.375rem; background: #1f2937; color: #f9fafb; font-size: 0.75rem; font-weight: 400; line-height: 1.35; text-align: left; white-space: normal; box-shadow: 0 4px 12px rgb(0 0 0 / 0.18); transition: opacity 0.1s ease-in; pointer-events: none; } .pricing-total-tip:hover > .pricing-total-tip__body, .pricing-total-tip:focus-visible > .pricing-total-tip__body { visibility: visible; opacity: 1; } /* Colour-blind-safe price-quality indicator (mono mode). 5-step signal meter, single neutral hue — magnitude reads from the number of lit bars, not colour. */ .qf-quality-meter { display: inline-flex; align-items: flex-end; gap: 1px; height: 12px; vertical-align: middle; line-height: 0; } .qf-quality-meter > i { display: inline-block; width: 3px; background-color: #d1d5db; border-radius: 1px; } .qf-quality-meter > i.on { background-color: #374151; } .qf-quality-meter > i:nth-child(1) { height: 30%; } .qf-quality-meter > i:nth-child(2) { height: 45%; } .qf-quality-meter > i:nth-child(3) { height: 62%; } .qf-quality-meter > i:nth-child(4) { height: 80%; } .qf-quality-meter > i:nth-child(5) { height: 100%; } .qf-quality-meter[data-size="sm"] { height: 10px; gap: 1px; } .qf-quality-meter[data-size="sm"] > i { width: 2px; } /* Leading meter column on the pricing tab tables (mono mode). */ .pricing-quality-meter { width: 1%; white-space: nowrap; text-align: center; }