@media screen{body{background-color:hsl(var(--background))}.print-controls{position:fixed;top:1rem;left:1rem;display:flex;gap:.5rem;z-index:10}.print-container{margin:1rem auto;width:21cm;min-height:29.7cm;padding:1.5cm;background:#fff;color:#333;display:flex;flex-direction:column;font-size:9pt;position:relative;box-sizing:border-box;box-shadow:0 0 10px rgba(0,0,0,.5)}.preview-wrapper-outer{width:100%;overflow:auto;-webkit-overflow-scrolling:touch}.preview-wrapper-inner{width:21cm;margin:1rem auto;transform-origin:top center;transform:scale(min(1,calc(100vw / (21cm + 2rem))))}}@media print{body{-webkit-print-color-adjust:exact;print-color-adjust:exact;background-color:#fff;margin:0;padding:0}.print-container{height:auto;min-height:29.7cm;width:21cm;margin:0!important;padding:1.5cm;border:none;box-sizing:border-box;box-shadow:none;display:flex;flex-direction:column}.preview-wrapper-inner,.preview-wrapper-outer,.print-controls{display:none!important}.preview-wrapper{display:block}@page{size:A4;margin:0}}.print-controls .bg-background{color:hsl(var(--foreground))!important}.print-body{flex-grow:1;display:flex;flex-direction:column}.print-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem;flex-shrink:0}.company-logo{width:35%;display:flex;align-items:center}.company-logo img{max-width:100%;height:auto;object-fit:contain}.client-info-box{width:60%;text-align:right;padding-top:.2rem;display:flex;flex-direction:column;justify-content:flex-start;min-height:30px}.client-info-box .client-name{font-size:22pt;font-weight:700;color:#444;line-height:1.1}.client-details-box{width:50%;text-align:right;font-size:11pt;line-height:1.5;color:#333}.client-details-box p{margin:0}.client-details-box .client-name-quote{font-weight:700;font-size:12pt;margin-bottom:4px}.print-content{flex-grow:1}.print-section{margin-bottom:.3rem}.section-content-text{font-size:10pt;color:#333}.section-content-text-inline{font-weight:400;text-transform:none;font-size:10pt;color:#333}.print-separator{border-top:1px solid #bbb;margin:.6rem 0}.print-separator-light{border-top:1px solid #f0f0f0;width:100%;margin:.4rem 0}.label{font-weight:700;font-size:8pt;color:#333;text-transform:uppercase}p{margin:0}.intervention-list{list-style-type:none;padding:0;margin:.2rem 0 0;font-size:10pt;column-count:2;column-gap:2rem}.intervention-list li{break-inside:avoid;-webkit-column-break-inside:avoid;page-break-inside:avoid;position:relative;padding-left:.75rem;margin-bottom:.1rem;color:#333}.intervention-list-item:before{content:"•";position:absolute;left:0;color:#555}.operative-header{display:flex;justify-content:space-between;align-items:flex-end}.operative-grid{font-size:10pt}.operative-grid .label{font-weight:700;text-transform:uppercase;font-size:10pt}.operative-text{color:#333}.operative-text-inline{font-weight:400;text-transform:none}.operative-grid .ml-4{margin-left:1rem}.operative-grid .mt-2{margin-top:.5rem}.total-hours-box{text-align:right;display:flex;justify-content:flex-end;align-items:baseline;gap:.5rem}.total-hours-box .label{font-size:10pt;font-weight:700;color:#333;text-transform:uppercase}.total-hours-value{font-size:16pt;line-height:1;color:#333;font-weight:700}.section-title-main{font-weight:700;font-size:12pt;color:#333;margin-bottom:.4rem;text-transform:uppercase}.costs-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem 2rem}.cost-item{break-inside:avoid;display:flex;flex-direction:column;width:100%;border-bottom:1px solid #eee;padding-bottom:.5rem}.cost-item-header{display:flex;align-items:baseline;width:100%;justify-content:space-between}.cost-label{text-transform:uppercase}.cost-label,.cost-weight{font-weight:700;font-size:9pt;color:#333}.cost-value{font-size:10pt;font-weight:700;color:#333;text-align:right;white-space:nowrap;padding-left:1rem}.cost-item-details{width:100%;font-size:8pt;color:#666;padding-top:2px}.cost-breakdown{display:flex;justify-content:space-between;align-items:flex-start}.cost-breakdown-desc{white-space:normal;word-break:break-word;flex-grow:1}.cost-breakdown-details{color:#777;text-align:right;white-space:nowrap;padding-left:1rem}.print-footer{flex-shrink:0;margin-top:auto;padding-top:.5rem}.total-section{width:100%;margin-top:.5rem;display:flex;justify-content:space-between;align-items:flex-end}.date-field{font-size:12pt;color:#444}.total-cost-box{text-align:right}.total-cost-title{text-transform:uppercase;margin-bottom:.1rem}.total-cost-title,.total-cost-value{font-weight:700;font-size:18pt;color:#333}.quote-title{text-align:center;font-size:24pt;font-weight:700;margin:1rem 0;color:#333}.quote-table{width:100%;border-collapse:collapse;margin-bottom:1.5rem}.quote-table td,.quote-table th{padding:.75rem;text-align:left;border-bottom:1px solid #e5e7eb}.quote-table th{font-weight:700;text-transform:uppercase;font-size:9pt}.quote-table.works-table th{background:linear-gradient(90deg,#92c83e,#fff);color:#333}.quote-table.items-table th{background:linear-gradient(90deg,#0077b5,#fff);color:#333}.quote-table td{font-size:9pt;color:#1f2937}.quote-table td:nth-child(2),.quote-table th:nth-child(2){text-align:center}.quote-table td:nth-child(3),.quote-table td:nth-child(4),.quote-table th:nth-child(3),.quote-table th:nth-child(4){text-align:right}.quote-totals{width:50%;margin-left:auto;margin-top:2rem;font-size:10pt}.total-row{display:flex;justify-content:space-between;padding:.5rem 0}.total-row .label{font-weight:400;color:#6b7280;font-size:10pt;text-transform:none}.total-row.grand-total .label,.total-row.grand-total span{font-weight:700;font-size:14pt;color:#111827}.total-row span{color:#1f2937}.quote-footer{padding-top:2rem;display:flex;justify-content:space-between;align-items:flex-end}.signature-area{width:50%;text-align:center}.signature-title{font-size:9pt;color:#6b7280;margin-bottom:.5rem}.signature-placeholder{height:60px;border-bottom:1px solid #333}.signature-area img{margin:0 auto;display:block;background-color:#fff}.quote-final-footer{flex-shrink:0;margin-top:1rem;padding-top:1rem}.quote-legal-note{font-style:italic;font-size:8pt;color:#666;text-align:center;margin-bottom:.5rem}.contact-info{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem 2rem;font-size:8pt;color:#444;margin-top:1rem}.contact-item{display:flex;align-items:center;gap:.5rem}.contact-icon{width:.8rem;height:.8rem;fill:#555;color:#555}