.quote-page{background:linear-gradient(180deg,#f4f9f6 0,#fff 45%);padding:64px 0 90px;min-height:70vh}
.quote-heading{text-align:center;margin-bottom:34px}.quote-heading h1{font-size:clamp(30px,4vw,44px);margin-bottom:10px}.quote-heading p{margin:0}
.quote-card{background:#fff;border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow);padding:34px}
.category-field{max-width:560px;margin-bottom:36px}.category-field label{font-weight:700;color:var(--dark)}.category-field label span{color:#b42318}.form-select,.form-control{border-color:#cddbd3;border-radius:10px;min-height:46px}.form-select:focus,.form-control:focus{border-color:var(--primary);box-shadow:0 0 0 .2rem rgba(11,107,58,.13)}
.quote-grid-section+ .quote-grid-section{margin-top:38px}.grid-title-row{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:14px}.grid-title-row h2{font-size:23px;margin:0}.result-count{font-size:13px;color:#738078}
.search-box{position:relative;width:min(100%,320px)}.search-box i{position:absolute;left:15px;top:15px;color:#7b8981}.search-box .form-control{padding-left:42px}
.quote-table-wrap{border:1px solid var(--border);border-radius:14px;overflow:hidden}.quote-table{width:100%;table-layout:fixed;margin:0;vertical-align:middle}.quote-table thead th{background:#eaf4ee;color:#19392a;border:0;padding:14px 16px;font-size:14px}.quote-table tbody td{padding:13px 16px;border-color:#edf2ef;color:#34483e}.quote-table tbody tr:hover{background:#fafcfb}.id-column{display:none}.price-column{width:245px;text-align:right}.select-column{width:72px;text-align:center}.form-check-input{width:1.15em;height:1.15em;cursor:pointer}.form-check-input:checked{background-color:var(--primary);border-color:var(--primary)}.empty-grid{text-align:center!important;color:#7c8b83!important;padding:32px!important}.grid-error{color:#b42318!important}
.quote-actions{display:flex;justify-content:center;gap:12px;margin-top:34px}.quote-actions .btn{min-width:115px}.quote-summary{margin-top:28px;border-left:4px solid var(--secondary);background:#fbf8ef;border-radius:10px;padding:18px 20px}.quote-summary strong{color:var(--primary);font-size:20px}
.quote-actions .btn{transition:transform .22s ease,box-shadow .22s ease,background-color .22s ease}.quote-actions .btn:not(:disabled):hover{transform:translateY(-3px) scale(1.03);box-shadow:0 9px 20px rgba(11,107,58,.2)}.quote-actions .btn:not(:disabled):active{transform:translateY(0) scale(.96);box-shadow:0 3px 8px rgba(11,107,58,.16)}.quote-actions .btn i{transition:transform .3s ease}.quote-actions #addQuote:not(:disabled):hover i{transform:rotate(90deg)}.quote-actions #clearQuote:hover i{transform:rotate(-18deg) translateX(-2px)}
.btn:disabled{cursor:not-allowed;transform:none!important;opacity:.55}.selected-section{padding-top:36px}.selected-section .quote-table{width:100%;table-layout:fixed}.selected-section .price-column{width:230px}.remove-column{width:100px;text-align:center}.remove-test{border:0;background:#fff1f0;color:#b42318;border-radius:8px;width:34px;height:34px}.remove-test:hover{background:#b42318;color:#fff}.quote-table tfoot th{background:#fbf8ef;border:0;padding:15px 16px;color:var(--dark)}.selected-total-label{text-align:right}.personal-details{border-top:1px solid var(--border);margin-top:42px;padding-top:36px}.section-heading-inline{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:20px}.section-heading-inline h2{font-size:23px;margin:0}.section-heading-inline p{font-size:13px;margin:0}.section-heading-inline span,.personal-details label span{color:#b42318}.personal-details label{font-weight:650;color:var(--dark)}.save-quote-action{display:flex;justify-content:center;margin-top:32px}.save-quote-action .btn{min-width:245px}
.selected-section .category-group-row th{background:#f2f7f4;color:var(--primary);font-size:15px;font-weight:750;letter-spacing:.15px;padding:0;border-top:2px solid #d5e5dc}.category-toggle{display:flex;align-items:center;width:100%;gap:8px;border:0;background:transparent;color:var(--primary);font:inherit;font-weight:750;text-align:left;padding:11px 16px}.category-toggle:hover{background:#e8f2ec}.category-toggle:focus-visible{outline:3px solid rgba(201,145,25,.55);outline-offset:-3px}.category-chevron{font-size:11px;transition:transform .2s ease}.category-toggle[aria-expanded="false"] .category-chevron{transform:rotate(-90deg)}.category-folder{color:var(--secondary);margin-right:2px}.selected-section .category-subtotal{text-align:right;padding:11px 16px;white-space:nowrap}.category-remove-spacer{width:100px}
.selected-section .selected-test-row td{padding:0;border:0}.cell-slide{max-height:64px;overflow:hidden;opacity:1;padding:13px 16px;border-bottom:1px solid #edf2ef;transition:max-height .32s ease,padding-top .32s ease,padding-bottom .32s ease,opacity .2s ease}.cell-price{text-align:right}.cell-remove{display:flex;align-items:center;justify-content:center}.selected-test-row.is-collapsed .cell-slide{max-height:0;opacity:0;padding-top:0;padding-bottom:0}.selected-test-row.is-collapsed .remove-test{pointer-events:none}.selected-test-row:not(.is-collapsed):hover .cell-slide{background:#fafcfb}
.grid-pagination{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:14px}.grid-page-button{min-width:36px;height:36px;border:1px solid #cddbd3;border-radius:8px;background:#fff;color:var(--primary);font-weight:700}.grid-page-button:hover:not(:disabled),.grid-page-button.is-active{background:var(--primary);border-color:var(--primary);color:#fff}.grid-page-button:disabled{cursor:not-allowed;opacity:.45}.grid-page-status{margin:0 7px;color:#6b7b72;font-size:13px}
@media(prefers-reduced-motion:reduce){.cell-slide,.category-chevron,.quote-actions .btn,.quote-actions .btn i{transition:none}.quote-actions .btn:not(:disabled):hover,.quote-actions .btn:not(:disabled):active{transform:none}}
@media(max-width:767.98px){.quote-page{padding-top:40px}.quote-card{padding:22px 16px}.grid-title-row,.section-heading-inline{align-items:stretch;flex-direction:column;gap:12px}.search-box{width:100%}.price-column,.selected-section .price-column{width:auto}.remove-column{width:76px}.quote-table thead th,.quote-table tbody td{padding:11px 10px}.quote-actions{justify-content:center}.quote-actions .btn{flex:0 1 140px}.save-quote-action .btn{width:100%}.selected-total-label{text-align:left}}
