code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8fafc;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}.App{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1 1;padding-top:0}.btn-primary{display:inline-block;text-align:center;text-decoration:none;transition:all .2s ease}.btn-primary:hover{box-shadow:0 4px 6px -1px #0000001a;transform:translateY(-1px)}.btn-secondary{border-radius:.5rem;display:inline-block;padding:.75rem 1.5rem;text-align:center;text-decoration:none;transition:all .2s ease}.btn-secondary:hover{transform:translateY(-1px)}.modal-overlay{padding:1rem}.modal{box-shadow:0 25px 50px -12px #00000040;width:100%}.modal-header h3{font-size:1.25rem}.modal-close{border-radius:.25rem;padding:.25rem;transition:background-color .2s ease}.modal-close:hover{background:#f3f4f6}.form-group label{font-size:.875rem}.form-group input,.form-group select,.form-group textarea{transition:border-color .2s ease,box-shadow .2s ease}.form-actions button{border:none;transition:all .2s ease}table{border-collapse:collapse;font-size:.875rem;width:100%}td,th{border-bottom:1px solid #e5e7eb;padding:.75rem;text-align:left}th{color:#374151;font-weight:600;position:-webkit-sticky;position:sticky;top:0}tbody tr:hover,th{background-color:#f9fafb}.priority-badge,.status-badge{border-radius:9999px;display:inline-block;padding:.25rem .75rem}.loading{align-items:center;color:#6b7280;display:flex;justify-content:center;padding:2rem}.empty-state{color:#6b7280;padding:3rem 1rem;text-align:center}.empty-state h3{color:#374151;margin:0 0 .5rem}.empty-state p{margin:0}@media (max-width:768px){.main-content{padding:0}.modal{margin:1rem;max-height:calc(100vh - 2rem)}.form-actions{flex-direction:column}.form-actions button{width:100%}}@media print{.btn-primary,.btn-secondary,.modal-overlay,.navbar{display:none!important}.main-content{padding:0}}.navbar{align-items:center;background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 6px -1px #0000001a;color:#fff;display:flex;justify-content:space-between;padding:1rem 2rem;position:-webkit-sticky;position:sticky;top:0;z-index:1000}.navbar-brand h1{font-size:1.5rem;font-weight:700;margin:0}.navbar-brand p{font-size:.875rem;margin:0;opacity:.9}.navbar-nav{display:flex;gap:1rem}.nav-link{align-items:center;border-radius:.5rem;color:#fff;display:flex;font-weight:500;gap:.5rem;padding:.75rem 1rem;text-decoration:none;transition:all .2s ease}.nav-link:hover{background-color:#ffffff1a;transform:translateY(-1px)}.nav-link.active{background-color:#fff3;box-shadow:0 2px 4px #0000001a}.nav-icon{font-size:1.25rem}.nav-label{font-size:.875rem}@media (max-width:768px){.navbar{flex-direction:column;gap:1rem;padding:1rem}.navbar-nav{flex-wrap:wrap;justify-content:center}.nav-link{padding:.5rem .75rem}.nav-label{display:none}}.dashboard{margin:0 auto;max-width:1200px;padding:2rem}.dashboard-header{margin-bottom:2rem}.dashboard-header h1{color:#1f2937;font-size:2rem;margin-bottom:.5rem}.dashboard-header p{color:#6b7280;font-size:1.1rem}.stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.stat-card{align-items:center;display:flex;gap:1rem;transition:transform .2s ease,box-shadow .2s ease}.stat-card:hover{box-shadow:0 4px 6px -1px #0000001a;transform:translateY(-2px)}.stat-icon{align-items:center;background:#f3f4f6;border-radius:.5rem;display:flex;font-size:2rem;height:3rem;justify-content:center;width:3rem}.stat-content h3{color:#1f2937;font-size:1.5rem;font-weight:700;margin:0}.stat-content p{color:#6b7280;font-size:.875rem;margin:0}.charts-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr;margin-bottom:2rem}.chart-card{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px 0 #0000001a;padding:1.5rem}.chart-card h3{color:#1f2937;font-size:1.25rem;margin:0 0 1rem}.recent-tickets{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px 0 #0000001a;padding:1.5rem}.recent-tickets h3{color:#1f2937;font-size:1.25rem;margin:0 0 1rem}.tickets-table{overflow-x:auto}.tickets-table table{border-collapse:collapse;width:100%}.tickets-table td,.tickets-table th{border-bottom:1px solid #e5e7eb;padding:.75rem;text-align:left}.tickets-table th{color:#374151;font-weight:600}.tickets-table tbody tr:hover,.tickets-table th{background-color:#f9fafb}.status-completed{background-color:#d1fae5;color:#065f46}.status-in-progress{background-color:#dbeafe;color:#1e40af}.status-pending{background-color:#fef3c7;color:#92400e}.priority-badge{border-radius:9999px;padding:.25rem .75rem}@media (max-width:768px){.dashboard{padding:1rem}.charts-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}}.scheduling{margin:0 auto;max-width:1200px;padding:2rem}.scheduling-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.scheduling-header h1{color:#1f2937;margin:0}.scheduling-content{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr}.calendar-section{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px 0 #0000001a;padding:1.5rem}.calendar{border:1px solid #e5e7eb;border-radius:.5rem;overflow:hidden;width:100%}.calendar-header{align-items:center;background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1rem}.calendar-header h3{color:#1f2937;font-size:1.125rem;margin:0}.calendar-nav{background:none;border:none;border-radius:.25rem;color:#6b7280;cursor:pointer;font-size:1.5rem;padding:.5rem;transition:background-color .2s ease}.calendar-nav:hover{background:#e5e7eb;color:#374151}.calendar-grid{background:#fff}.calendar-weekdays{background:#f3f4f6;border-bottom:1px solid #e5e7eb;display:grid;grid-template-columns:repeat(7,1fr)}.calendar-weekdays div{color:#374151;font-size:.875rem;font-weight:600;padding:.75rem;text-align:center}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-day{align-items:center;border-bottom:1px solid #e5e7eb;border-right:1px solid #e5e7eb;cursor:pointer;display:flex;flex-direction:column;justify-content:flex-start;min-height:60px;padding:.5rem;position:relative;transition:background-color .2s ease}.calendar-day:nth-child(7n){border-right:none}.calendar-day:hover{background:#f9fafb}.calendar-day.selected{background:#dbeafe;color:#1e40af}.calendar-day.other-month{background:#f9fafb;color:#9ca3af}.calendar-day.empty{background:#f9fafb;cursor:default}.day-number{font-size:.875rem;font-weight:500}.appointment-indicator{align-items:center;background:#ef4444;border-radius:50%;color:#fff;display:flex;font-size:.75rem;font-weight:700;height:18px;justify-content:center;position:absolute;right:.25rem;top:.25rem;width:18px}.appointments-section{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px 0 #0000001a;padding:1.5rem}.appointments-section h3{color:#1f2937;margin:0 0 1rem}.no-appointments{color:#6b7280;padding:2rem;text-align:center}.appointments-list{display:flex;flex-direction:column;gap:1rem}.appointment-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;display:flex;gap:1rem;padding:1rem}.appointment-time{color:#2563eb;font-weight:700;min-width:60px}.appointment-details h4{color:#1f2937;margin:0 0 .25rem}.appointment-details p{color:#6b7280;font-size:.875rem;margin:0 0 .25rem}.appointment-phone{color:#374151!important}.appointment-status{display:flex;gap:.5rem;margin-top:.5rem}.status-badge{border-radius:.25rem;padding:.25rem .5rem}.status-scheduled{background-color:#dbeafe;color:#1e40af}.priority-badge{border-radius:.25rem;font-size:.75rem;font-weight:500;padding:.25rem .5rem;text-transform:uppercase}.priority-high{background-color:#fee2e2;color:#991b1b}.priority-medium{background-color:#fef3c7;color:#92400e}.priority-low{background-color:#d1fae5;color:#065f46}.modal{max-width:500px}.appointment-form{padding:1.5rem}@media (max-width:768px){.scheduling{padding:1rem}.scheduling-content{grid-template-columns:1fr}.scheduling-header{align-items:stretch;gap:1rem}.appointment-card,.scheduling-header{flex-direction:column}.appointment-status{flex-wrap:wrap}}.ticketing{margin:0 auto;max-width:1200px;padding:2rem}.ticketing-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.ticketing-header h1{color:#1f2937;margin:0}.btn-secondary{border-radius:.375rem;cursor:pointer;font-weight:500;padding:.5rem 1rem;transition:background-color .2s ease}.filter-group select{border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;padding:.5rem}.tickets-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.ticket-card{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px 0 #0000001a;padding:1.5rem;transition:transform .2s ease,box-shadow .2s ease}.ticket-card:hover{box-shadow:0 4px 6px -1px #0000001a;transform:translateY(-2px)}.ticket-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.ticket-header h3{color:#1f2937;font-size:1.125rem;margin:0}.ticket-badges{display:flex;gap:.5rem}.priority-badge,.status-badge{border-radius:.25rem;color:#fff;font-size:.75rem;font-weight:500;padding:.25rem .5rem;text-transform:uppercase}.ticket-content h4{color:#1f2937;font-size:1rem;margin:0 0 .5rem}.ticket-content p{color:#6b7280;font-size:.875rem;margin:0 0 .25rem}.ticket-email,.ticket-phone{color:#374151!important}.ticket-issue-type{color:#2563eb!important;font-weight:500}.ticket-description{background:#f9fafb;border-radius:.375rem;font-style:italic;margin:.5rem 0!important;padding:.5rem}.ticket-assigned{color:#059669!important;font-weight:500}.ticket-dates{color:#9ca3af!important;font-size:.75rem!important}.ticket-actions{border-top:1px solid #e5e7eb;display:flex;gap:.5rem;margin-top:1rem;padding-top:1rem}.status-select{border:1px solid #d1d5db;border-radius:.375rem;flex:1 1;font-size:.875rem;padding:.5rem}.ticket-details,.ticket-form{padding:1.5rem}.detail-row{align-items:center;display:flex;gap:.5rem;margin-bottom:1rem}.detail-row strong{color:#374151;min-width:120px}.detail-row p{background:#f9fafb;border-radius:.375rem;font-style:italic;margin:.5rem 0 0;padding:.5rem}@media (max-width:768px){.ticketing{padding:1rem}.ticketing-header{align-items:stretch;flex-direction:column;gap:1rem}.filters{flex-direction:column;gap:.5rem}.tickets-grid{grid-template-columns:1fr}.detail-row,.ticket-actions{flex-direction:column}.detail-row{align-items:flex-start}}.inventory{margin:0 auto;max-width:1400px;padding:2rem}.inventory-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.inventory-header h1{color:#1f2937;margin:0}.inventory-stats{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.low-stock-alert{background:#fef3c7;border:1px solid #f59e0b;border-radius:.75rem;margin-bottom:2rem;padding:1.5rem}.low-stock-alert h3{color:#92400e;margin:0 0 1rem}.low-stock-items{display:flex;flex-wrap:wrap;gap:1rem}.low-stock-item{align-items:center;background:#fff;border:1px solid #f59e0b;border-radius:.5rem;display:flex;justify-content:space-between;min-width:200px;padding:.75rem 1rem}.stock-quantity{color:#dc2626;font-weight:700}.inventory-table-container{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px 0 #0000001a;overflow-x:auto}.inventory-table{border-collapse:collapse;width:100%}.inventory-table td,.inventory-table th{border-bottom:1px solid #e5e7eb;padding:1rem;text-align:left}.inventory-table th{color:#374151;font-weight:600;position:-webkit-sticky;position:sticky;top:0}.inventory-table tbody tr:hover,.inventory-table th{background-color:#f9fafb}.item-name strong{color:#1f2937;display:block;margin-bottom:.25rem}.item-name small{color:#6b7280;font-size:.75rem}.quantity{color:#1f2937;font-weight:700}.quantity.low{color:#dc2626}.quantity+small{color:#6b7280;display:block;font-size:.75rem;margin-top:.25rem}.stock-status{border-radius:9999px;color:#fff;font-size:.75rem;font-weight:500;padding:.25rem .75rem;text-transform:uppercase}.action-buttons{display:flex;gap:.5rem}.btn-delete,.btn-edit{border-radius:.375rem;cursor:pointer;font-size:.75rem;font-weight:500;padding:.5rem .75rem;transition:background-color .2s ease}.btn-edit{border:1px solid #93c5fd}.btn-delete{border:1px solid #fca5a5}.modal{max-width:800px}.inventory-form{padding:1.5rem}.form-group{display:flex;flex-direction:column}.form-group input,.form-group select{border:1px solid #d1d5db;border-radius:.5rem;font-size:.875rem;padding:.75rem}.form-group input:focus,.form-group select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a;outline:none}@media (max-width:768px){.inventory{padding:1rem}.inventory-header{align-items:stretch;flex-direction:column;gap:1rem}.filters{flex-direction:column;gap:.5rem}.filter-group{align-items:stretch;flex-direction:column}.filter-group input,.filter-group select{min-width:auto}.form-row{grid-template-columns:1fr}.inventory-table{font-size:.875rem}.inventory-table td,.inventory-table th{padding:.5rem}.action-buttons{flex-direction:column}}.services{margin:0 auto;max-width:1200px;padding:2rem}.services-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.services-header h1{color:#1f2937;margin:0}.services-stats{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.filters{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px 0 #0000001a;margin-bottom:2rem}.filter-group input,.filter-group select{min-width:200px}.services-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.service-card{background:#fff;border:2px solid #0000;border-radius:.75rem;box-shadow:0 1px 3px 0 #0000001a;padding:1.5rem;transition:transform .2s ease,box-shadow .2s ease}.service-card:hover{box-shadow:0 4px 6px -1px #0000001a;transform:translateY(-2px)}.service-card.inactive{border-color:#e5e7eb;opacity:.7}.service-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.service-header h3{color:#1f2937;flex:1 1;font-size:1.25rem;margin:0}.service-badges{align-items:flex-end;display:flex;flex-direction:column;gap:.5rem}.status-badge.active{background-color:#d1fae5;color:#065f46}.status-badge.inactive{background-color:#f3f4f6;color:#6b7280}.category-badge{background-color:#dbeafe;border-radius:9999px;color:#1e40af;font-size:.75rem;font-weight:500;padding:.25rem .75rem}.service-content{margin-bottom:1.5rem}.service-description{color:#6b7280;line-height:1.5;margin-bottom:1rem}.service-details{display:flex;flex-direction:column;gap:.5rem}.detail-item{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;justify-content:space-between;padding:.5rem 0}.detail-item:last-child{border-bottom:none}.detail-item strong{color:#374151;font-size:.875rem}.detail-item span{color:#1f2937;font-weight:500}.service-actions{display:flex;flex-wrap:wrap;gap:.5rem}.btn-delete,.btn-edit,.btn-toggle{border:none;border-radius:.375rem;cursor:pointer;font-size:.75rem;font-weight:500;padding:.5rem .75rem;transition:background-color .2s ease}.btn-toggle.activate{background:#d1fae5;color:#065f46}.btn-toggle.activate:hover{background:#a7f3d0}.btn-toggle.deactivate{background:#fef3c7;color:#92400e}.btn-toggle.deactivate:hover{background:#fde68a}.btn-edit{background:#dbeafe;color:#1e40af}.btn-edit:hover{background:#bfdbfe}.btn-delete{background:#fee2e2;color:#dc2626}.btn-delete:hover{background:#fecaca}.service-form{padding:1.5rem}.form-group{margin-bottom:1rem}.form-group label{color:#374151;display:block;font-weight:500;margin-bottom:.5rem}.form-group input,.form-group select,.form-group textarea{border:1px solid #d1d5db;border-radius:.5rem;font-size:.875rem;padding:.75rem;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a;outline:none}.checkbox-label{align-items:center;cursor:pointer;display:flex;gap:.5rem}.checkbox-label input[type=checkbox]{margin:0;width:auto}@media (max-width:768px){.services{padding:1rem}.services-header{align-items:stretch;flex-direction:column;gap:1rem}.filters{flex-direction:column;gap:.5rem}.filter-group{align-items:stretch;flex-direction:column}.filter-group input,.filter-group select{min-width:auto}.services-grid{grid-template-columns:1fr}.service-header{flex-direction:column;gap:1rem}.service-badges{align-items:center;flex-direction:row}.service-actions{justify-content:center}.form-row{grid-template-columns:1fr}}.quotation{margin:0 auto;max-width:1400px;padding:2rem}.quotation-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.quotation-header h1{color:#1f2937;margin:0}.btn-primary{background:#2563eb;border:none;border-radius:.5rem;cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:background-color .2s ease}.btn-primary:hover{background:#1d4ed8}.quotation-stats{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.stat-card{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px 0 #0000001a;padding:1.5rem;text-align:center}.stat-card h3{color:#1f2937;font-size:2rem;margin:0 0 .5rem}.stat-card p{color:#6b7280;font-weight:500;margin:0}.quotation-content{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr 1fr;margin-bottom:2rem}.inventory-section,.quote-section,.services-section{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px 0 #0000001a;padding:1.5rem}.inventory-section h3,.quote-section h3,.services-section h3{color:#1f2937;margin:0 0 1rem}.filters{background:#f9fafb;border-radius:.5rem;display:flex;gap:1rem;margin-bottom:1rem;padding:1rem}.filter-group{align-items:center;display:flex;gap:.5rem}.filter-group label{color:#374151;font-size:.875rem;font-weight:500;white-space:nowrap}.filter-group input,.filter-group select{border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;min-width:120px;padding:.5rem}.inventory-grid,.services-grid{display:flex;flex-direction:column;gap:1rem;max-height:400px;overflow-y:auto}.inventory-item,.service-item{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;display:flex;justify-content:space-between;padding:1rem}.item-info,.service-info{flex:1 1}.item-info h4,.service-info h4{color:#1f2937;font-size:.875rem;margin:0 0 .25rem}.item-info p,.service-info p{color:#6b7280;font-size:.75rem;margin:0 0 .25rem}.item-price,.service-price{color:#059669!important;font-weight:700!important}.item-stock{color:#dc2626!important;font-weight:500!important}.service-time{color:#2563eb!important;font-weight:500!important}.btn-add{background:#10b981;border:none;border-radius:.375rem;color:#fff;cursor:pointer;font-size:.75rem;font-weight:500;padding:.5rem 1rem;transition:background-color .2s ease}.btn-add:hover{background:#059669}.btn-add:disabled{background:#9ca3af;cursor:not-allowed}.quote-items{margin-bottom:1rem;max-height:300px;overflow-y:auto}.quote-item{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;display:flex;gap:1rem;margin-bottom:.5rem;padding:.75rem}.item-details{flex:1 1}.item-details h4{color:#1f2937;font-size:.875rem;margin:0 0 .25rem}.item-details p{color:#6b7280;font-size:.75rem;margin:0}.quantity-controls{align-items:center;display:flex;gap:.5rem}.quantity-controls button{align-items:center;background:#f3f4f6;border:1px solid #d1d5db;border-radius:50%;cursor:pointer;display:flex;font-size:.75rem;height:24px;justify-content:center;width:24px}.quantity-controls button:hover{background:#e5e7eb}.quantity-controls span{font-weight:500;min-width:20px;text-align:center}.item-total{color:#1f2937;font-weight:700;min-width:60px;text-align:right}.btn-remove{align-items:center;border:none;border-radius:50%;cursor:pointer;display:flex;font-size:.75rem;height:24px;justify-content:center;width:24px}.quote-total{background:#dbeafe;border-radius:.5rem;padding:1rem;text-align:center}.quote-total h3{color:#1e40af;margin:0}.quotations-list{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px 0 #0000001a;padding:1.5rem}.quotations-list h3{color:#1f2937;margin:0 0 1rem}.quotations-table{overflow-x:auto}.quotations-table table{border-collapse:collapse;width:100%}.quotations-table td,.quotations-table th{border-bottom:1px solid #e5e7eb;padding:.75rem;text-align:left}.quotations-table th{color:#374151;font-weight:600}.quotations-table tbody tr:hover,.quotations-table th{background-color:#f9fafb}.status-badge{border-radius:9999px;color:#fff;font-size:.75rem;font-weight:500;padding:.25rem .75rem;text-transform:uppercase}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal{background:#fff;border-radius:.75rem;max-height:90vh;max-width:600px;overflow-y:auto;width:90%}.modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1.5rem}.modal-header h3{color:#1f2937;margin:0}.modal-close{background:none;border:none;color:#6b7280;cursor:pointer;font-size:1.5rem}.quotation-form{padding:1.5rem}.customer-info,.quote-summary{margin-bottom:1.5rem}.customer-info h4,.quote-summary h4{color:#1f2937;margin:0 0 1rem}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-bottom:1rem}.form-row input{border:1px solid #d1d5db;border-radius:.5rem;font-size:.875rem;padding:.75rem}.form-row input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a;outline:none}.summary-items{margin-bottom:1rem}.summary-item{border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:.5rem 0}.summary-item:last-child{border-bottom:none}.summary-total{background:#f3f4f6;border-radius:.5rem;font-size:1.125rem;padding:1rem;text-align:center}.form-actions{border-top:1px solid #e5e7eb;display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1.5rem}.form-actions button{border-radius:.5rem;cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:background-color .2s ease}.form-actions button[type=button]{background:#f3f4f6;border:1px solid #d1d5db;color:#374151}.form-actions button[type=button]:hover{background:#e5e7eb}@media (max-width:1024px){.quotation-content{grid-template-columns:1fr 1fr}.quote-section{grid-column:1/-1}}@media (max-width:768px){.quotation{padding:1rem}.quotation-header{align-items:stretch;flex-direction:column;gap:1rem}.quotation-content{grid-template-columns:1fr}.filters{flex-direction:column;gap:.5rem}.filter-group{align-items:stretch;flex-direction:column}.filter-group input,.filter-group select{min-width:auto}.form-row{grid-template-columns:1fr}.inventory-item,.service-item{align-items:stretch}.inventory-item,.quote-item,.service-item{flex-direction:column;gap:.5rem}.quantity-controls{justify-content:center}}.pc-builder{margin:0 auto;max-width:1400px;padding:20px}.pc-builder-header{margin-bottom:30px;text-align:center}.pc-builder-header h1{color:#1f2937;font-size:2.5rem;margin-bottom:10px}.pc-builder-header p{color:#6b7280;font-size:1.1rem}.pc-builder-content{grid-gap:30px;display:grid;gap:30px;grid-template-columns:2fr 1fr}.component-selection{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:25px}.selection-header{margin-bottom:25px}.selection-header h2{color:#1f2937;font-size:1.5rem;margin-bottom:15px}.category-filters{align-items:center;display:flex;flex-wrap:wrap;gap:15px}.category-filters label{color:#374151;font-weight:600}.category-filters select{background:#fff}.category-filters select,.search-input{border:1px solid #d1d5db;border-radius:6px;font-size:14px;padding:8px 12px}.search-input{min-width:200px}.components-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.component-card{background:#fff;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;padding:20px;position:relative;transition:all .2s ease}.component-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f626}.component-card.selected{background:#f0fdf4;border-color:#10b981;box-shadow:0 4px 12px #10b98126}.component-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:15px}.component-header h3{color:#1f2937;flex:1 1;font-size:1.1rem;margin:0 10px 0 0}.component-price{font-size:1.2rem}.component-details{margin-bottom:15px}.component-details p{color:#4b5563;font-size:.9rem;margin:5px 0}.component-details .description{color:#6b7280;font-style:italic;margin-top:10px}.component-actions{display:flex;gap:10px}.btn-remove,.btn-select{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-size:.9rem;font-weight:600;padding:8px 16px;transition:all .2s ease}.btn-select{background:#3b82f6;color:#fff}.btn-select:hover{background:#2563eb}.btn-remove{background:#ef4444;color:#fff}.btn-remove:hover{background:#dc2626}.build-summary{background:#fff;border:1px solid #e5e7eb;border-radius:12px;height:-webkit-fit-content;height:fit-content;padding:25px;position:-webkit-sticky;position:sticky;top:20px}.summary-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.summary-header h2{color:#1f2937;font-size:1.5rem;margin:0}.compatibility-btn{background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:.9rem;padding:6px 12px;transition:all .2s ease}.compatibility-btn:hover{background:#e5e7eb}.selected-components{margin-bottom:25px}.selected-component{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:15px;padding:15px}.selected-component h4{color:#374151;font-size:1rem;letter-spacing:.5px;margin:0 0 10px;text-transform:uppercase}.component-info{align-items:center;display:flex;gap:10px;justify-content:space-between}.component-name{color:#1f2937;flex:1 1;font-size:.9rem;font-weight:500}.component-price{color:#059669;font-size:.9rem;font-weight:700}.remove-btn{align-items:center;background:#ef4444;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:14px;height:24px;justify-content:center;transition:all .2s ease;width:24px}.remove-btn:hover{background:#dc2626}.no-selection{color:#9ca3af;font-size:.9rem;font-style:italic}.compatibility-check{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:25px;padding:15px}.compatibility-check h3{color:#1f2937;font-size:1.1rem;margin:0 0 10px}.compatibility-success{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;color:#059669;font-weight:600;padding:10px}.compatibility-issues{display:flex;flex-direction:column;gap:8px}.compatibility-issue{background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:.9rem;padding:8px}.cost-summary{border-top:2px solid #e5e7eb;padding-top:20px}.cost-breakdown{margin-bottom:20px}.cost-item{align-items:center;display:flex;font-size:.95rem;justify-content:space-between;padding:8px 0}.cost-item.profit{border-top:1px solid #e5e7eb;color:#059669;font-weight:600;margin-top:8px;padding-top:12px}.cost-item.total{border-top:2px solid #e5e7eb;color:#1f2937;font-size:1.1rem;font-weight:700;margin-top:8px;padding-top:12px}.build-actions{display:flex;flex-direction:column;gap:10px}.btn-primary,.btn-secondary{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 20px;transition:all .2s ease}.btn-primary{background:#3b82f6;color:#fff}.btn-primary:hover:not(:disabled){background:#2563eb}.btn-primary:disabled{background:#9ca3af;cursor:not-allowed}.btn-secondary{background:#f3f4f6;border:1px solid #d1d5db;color:#374151}.btn-secondary:hover{background:#e5e7eb}@media (max-width:1024px){.pc-builder-content{grid-template-columns:1fr}.build-summary{position:static}}@media (max-width:768px){.pc-builder{padding:15px}.components-grid{grid-template-columns:1fr}.category-filters{align-items:stretch;flex-direction:column}.search-input{min-width:auto}.component-header{align-items:flex-start;flex-direction:column}.component-price{margin-top:5px}}
/*# sourceMappingURL=main.9a6a47b4.css.map*/