body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}.form-group input.input-error,.form-group select.input-error,.form-group textarea.input-error{background-color:#fef5f5;border-color:#e74c3c}.field-error{color:#e74c3c;font-size:12px;font-weight:500;margin-top:4px}.form-group input.input-error:focus,.form-group select.input-error:focus,.form-group textarea.input-error:focus{border-color:#e74c3c;box-shadow:0 0 0 2px #e74c3c1a}.add-suggestion-btn{background:#3498db;padding:8px 16px;transition:all .3s ease}.add-suggestion-btn:hover:not(:disabled){background:#2980b9;transform:translateY(-1px)}.add-suggestion-btn.added{animation:pulse .5s ease-out;background:#27ae60}.add-suggestion-btn:disabled{cursor:not-allowed;opacity:.7}.historical-section{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:20px;padding:20px}.historical-header{align-items:center;display:flex;justify-content:between;margin-bottom:15px}.historical-header h4{color:#2c3e50;margin:0}.hide-historical-btn{background:none;border:none;color:#95a5a6;cursor:pointer;font-size:16px}.historical-summary{background:#fff;border-left:4px solid #3498db;border-radius:5px;margin-bottom:15px;padding:15px}.avg-stats{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.avg-stats span{background:#ecf0f1;border-radius:20px;font-size:14px;padding:8px 12px;text-align:center}.historical-projects{grid-gap:15px;display:grid;gap:15px}.historical-project{align-items:center;background:#fff;border:1px solid #e9ecef;border-radius:5px;display:flex;justify-content:space-between;padding:15px}.project-info h5{color:#2c3e50;margin:0 0 5px}.project-details{display:flex;gap:15px;margin-top:8px}.project-details span{background:#f8f9fa;border-radius:12px;color:#6c757d;font-size:13px;padding:4px 8px}.apply-historical-btn{background:#17a2b8;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;white-space:nowrap}.apply-historical-btn:hover{background:#138496}.used-materials{margin-top:10px}.materials-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.add-all-materials-btn{background:#28a745;border:none;border-radius:15px;color:#fff;cursor:pointer;font-size:11px;padding:4px 12px;transition:all .2s ease}.add-all-materials-btn:hover{background:#218838;transform:translateY(-1px)}.materials-chips{display:flex;flex-wrap:wrap;gap:4px}.material-chip{background:#e7f3ff;border:none;border-radius:12px;color:#06c;cursor:default;display:inline-block;font-size:12px;margin:2px 5px 2px 0;padding:2px 8px}.material-chip.clickable{border:1px solid #b3d9ff;cursor:pointer;transition:all .2s ease}.material-chip.clickable:hover{background:#cce7ff;box-shadow:0 2px 4px #06c3;color:#049;transform:translateY(-1px)}.projects-container{width:100%}.projects-controls{align-items:center;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:20px;padding:15px 20px}.filter-controls,.sort-controls{align-items:center;display:flex;gap:10px}.filter-controls label,.sort-controls label{color:#2c3e50;font-size:14px;font-weight:500}.filter-select,.sort-select{background:#fff;border:1px solid #ddd;border-radius:5px;font-size:14px;min-width:150px;padding:8px 12px}.sort-order-btn{background:#3498db;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:16px;font-weight:700;padding:8px 12px;transition:all .2s ease}.sort-order-btn:hover{background:#2980b9;transform:scale(1.1)}@media (max-width:768px){.projects-controls{align-items:stretch;flex-direction:column;gap:15px}.filter-controls,.sort-controls{justify-content:space-between}.filter-select,.sort-select{flex:1 1;min-width:auto}}body,html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;overflow-x:auto;padding:0;width:100%}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.container{margin:0 auto;max-width:1200px;padding:20px}.main-content{width:100%}.App.materials-mode{box-sizing:border-box;margin:0;padding:0;width:100vw}.App.materials-mode .header{border-radius:0;box-sizing:border-box;margin:0;width:100vw}.App.materials-mode .main-content{box-sizing:border-box;margin:0;padding:0;width:100vw}.materials-view{margin:0!important;padding:20px!important}.materials-view,.materials-view .filter-section,.materials-view .materials-header,.materials-view .materials-list,.materials-view .materials-section,.materials-view .materials-table-container,.materials-view .upload-container,.materials-view .upload-section{box-sizing:border-box;max-width:none!important;width:100%!important}.header{background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000001a;margin-bottom:40px;padding:20px;position:relative;text-align:center}.header h1{color:#2c3e50;font-size:2.5em;margin:0 0 10px}.header p{color:#7f8c8d;font-size:1.1em;margin:0}.ai-budget-bar{background:#ecf0f1;border-radius:20px;font-size:.85em;gap:8px;padding:8px 16px;position:absolute;right:20px;top:10px}.ai-budget-bar,.budget-summary{align-items:center;display:flex}.budget-summary{font-weight:500;gap:6px}.budget-label{color:#34495e}.budget-used{color:#27ae60;font-weight:700}.budget-separator{color:#bdc3c7}.budget-total{color:#34495e;font-weight:700}.budget-mini-bar{background:#ecf0f1;border-radius:2px;height:4px;overflow:hidden;width:60px}.budget-mini-fill{height:100%;transition:width .3s ease}.budget-tokens{color:#7f8c8d;font-size:.9em}.budget-refresh-btn{background:none;border:none;border-radius:3px;cursor:pointer;font-size:1em;padding:2px;transition:background-color .2s}.budget-refresh-btn:hover{background-color:#bdc3c7}.nav-buttons{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:20px 0}.nav-btn{background:#3498db;border:none;border-radius:6px;box-shadow:0 2px 4px #0000001a;color:#fff!important;cursor:pointer;font-size:.95em;font-weight:600;padding:12px 20px;transition:all .3s ease}.nav-btn:hover{background:#2980b9;box-shadow:0 4px 8px #00000026;color:#fff!important;transform:translateY(-1px)}.nav-btn.active{background:#27ae60;box-shadow:0 3px 6px #0003;color:#fff!important}.logout-btn{background:#e74c3c;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;left:20px;padding:8px 16px;position:absolute;top:20px}.logout-btn:hover{background:#c0392b}.login-form{background:#fff;border-radius:10px;box-shadow:0 4px 20px #0000001a;margin:0 auto;max-width:400px;padding:40px}.login-form h2{color:#2c3e50;margin-bottom:10px;text-align:center}.login-form p{color:#7f8c8d;margin-bottom:30px;text-align:center}.form-group input,.form-group select,.form-group textarea{border:2px solid #ecf0f1;border-radius:6px;font-size:16px}.form-group textarea{min-height:100px;resize:vertical}.form-row{gap:20px}.form-row .form-group{flex:1 1;min-width:250px}.btn{background:#27ae60;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;font-weight:500;padding:14px 28px;transition:all .3s ease;width:100%}.btn:hover:not(:disabled){background:#229954;transform:translateY(-1px)}.btn:disabled{background:#bdc3c7;cursor:not-allowed;transform:none}.btn.btn-secondary{background:#95a5a6}.btn.btn-secondary:hover:not(:disabled){background:#7f8c8d}.btn.btn-small{font-size:14px;padding:6px 12px;width:auto}.btn.btn-primary{background:#3498db}.btn.btn-primary:hover:not(:disabled){background:#2980b9}.btn.btn-danger{background:#e74c3c}.btn.btn-danger:hover:not(:disabled){background:#c0392b}.error{background:#f8d7da;border:1px solid #f5c6cb;border-radius:6px;color:#721c24;margin:20px 0;padding:12px}.quote-form{background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000001a;margin-bottom:30px;padding:30px}.quote-form h2{color:#2c3e50;margin-bottom:20px;text-align:center}.loading{background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000001a;padding:50px 20px}.loading-animation{align-items:center;display:flex;flex-direction:column;gap:20px}.loading-spinner{border:5px solid #ecf0f1}.loading-text h3{color:#2c3e50;margin:0 0 15px}.loading-steps{display:flex;flex-direction:column;gap:8px}.loading-steps .step{color:#bdc3c7;transition:color .3s ease}.loading-steps .step.active{color:#27ae60;font-weight:500}.loading-progress{margin-top:30px}.progress-bar{background:#ecf0f1;border-radius:3px;height:6px;overflow:hidden;width:100%}.progress-fill{animation:progress 20s ease-in-out;background:linear-gradient(90deg,#3498db,#27ae60);border-radius:3px}@keyframes progress{0%{width:0}to{width:100%}}.loading-time{color:#7f8c8d;font-style:italic;margin-top:10px}.quote-result{background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000001a;margin-top:30px;padding:30px}.quote-result h2{color:#27ae60;margin-bottom:20px}.quote-result div{color:#2c3e50;font-size:15px;line-height:1.6;white-space:pre-line}.quote-actions{margin-top:30px}.quote-actions .btn{flex:1 1;min-width:200px}.feedback-section{background:#f8f9fa;border-left:4px solid #3498db;border-radius:8px;margin-top:30px;padding:25px}.feedback-section h3{color:#2c3e50;margin-bottom:15px}.upload-section{background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000001a;padding:30px}.upload-section h2{color:#2c3e50;margin-bottom:15px}.upload-section p{color:#7f8c8d;margin-bottom:25px}.upload-form{margin-bottom:30px}.file-info{color:#27ae60;font-style:italic;margin-top:8px}.upload-status{border-radius:6px;margin:20px 0;padding:15px}.upload-status.success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.upload-status.error{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.parse-results{background:#ffffff80;border-radius:4px;margin-top:15px;padding:15px}.parse-results ul{margin:10px 0;padding-left:20px}.recent-uploads{margin:30px 0}.recent-uploads h3{color:#2c3e50;margin-bottom:15px}.uploads-list{display:flex;flex-direction:column;gap:8px}.upload-item{align-items:center;background:#f8f9fa;border-left:4px solid #3498db;border-radius:6px;display:flex;justify-content:space-between;padding:12px}.upload-name{color:#2c3e50;flex:1 1;font-weight:500}.upload-status{font-size:.9em}.upload-status,.upload-type{border-radius:4px;padding:4px 8px}.upload-type{background:#ecf0f1;color:#34495e;font-size:.85em}.upload-date{color:#7f8c8d;font-size:.9em}.materials-overview{margin-top:30px}.materials-overview h3{color:#2c3e50;margin-bottom:15px}.materials-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.material-item{border-left:4px solid #27ae60}.material-item strong{color:#2c3e50;display:block;margin-bottom:8px}.material-item .price{color:#27ae60;display:block;font-weight:500;margin-bottom:4px}.material-item .category{color:#3498db;display:block;font-size:.9em;margin-bottom:4px}.material-item .supplier{color:#7f8c8d;font-size:.85em}.more-items{color:#7f8c8d;font-style:italic;margin-top:15px;text-align:center}.pricing-management-section{background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000001a;padding:30px}.pricing-management-section h2{color:#2c3e50;margin-bottom:15px}.pricing-management-section p{color:#7f8c8d;margin-bottom:25px}.category-selector{margin-bottom:20px}.category-selector label{color:#2c3e50;display:block;font-weight:700;margin-bottom:5px}.category-selector select{background:#fff;border:1px solid #ddd;border-radius:4px;font-size:14px;margin-bottom:10px;max-width:300px;padding:8px 12px;width:100%}.web-search-btn{align-items:center;background:linear-gradient(135deg,#3498db,#2980b9);border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:5px;margin-left:10px;padding:8px 16px;transition:all .3s ease}.web-search-btn:hover{background:linear-gradient(135deg,#2980b9,#3498db);box-shadow:0 4px 8px #3498db4d;transform:translateY(-1px)}.web-search-btn:disabled{background:#bdc3c7;box-shadow:none;cursor:not-allowed;transform:none}.add-price-form{background:#f8f9fa;border-left:4px solid #27ae60;border-radius:8px;margin-bottom:40px;padding:25px}.add-price-form h3{color:#2c3e50;margin-bottom:20px}.prices-list{margin-top:30px}.prices-list h3{color:#2c3e50;margin-bottom:20px}.prices-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.price-item{border:1px solid #ecf0f1;border-radius:8px;box-shadow:0 2px 5px #0000000d;padding:20px;transition:box-shadow .3s ease}.price-item:hover{box-shadow:0 4px 15px #0000001a}.price-header{align-items:center;border-bottom:2px solid #ecf0f1;display:flex;justify-content:space-between;margin-bottom:15px;padding-bottom:10px}.price-header strong{color:#2c3e50;font-size:1.1em}.price-value{color:#27ae60;font-size:1.1em}.price-details{margin-bottom:15px}.price-details p{color:#34495e;font-size:.95em;margin:5px 0}.price-date{color:#7f8c8d;font-size:.85em;margin-bottom:15px}.price-actions{display:flex;gap:10px}.edit-form{background:#f8f9fa;border:2px solid #3498db;border-radius:8px;padding:15px}.edit-actions{margin-top:15px}.no-data{color:#7f8c8d;padding:40px 20px}.usage-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.usage-overview{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:30px}.stat-card{border-radius:10px;box-shadow:0 2px 10px #0000001a}.stat-card h3{color:#2c3e50;font-size:1.2em;margin-bottom:15px}.budget-info p,.general-info p,.token-info p{color:#34495e;margin:8px 0}.budget-bar,.token-bar{background:#ecf0f1;border-radius:6px;height:12px;margin:10px 0;overflow:hidden;width:100%}.budget-fill,.token-fill{border-radius:6px;height:100%;transition:width .3s ease}.budget-percent,.token-percent{color:#2c3e50;font-weight:500}.warning-level{border-radius:4px;font-size:.9em;font-weight:500;padding:2px 8px}.warning-level.low{background:#d4edda;color:#155724}.warning-level.medium{background:#fff3cd;color:#856404}.warning-level.high{background:#f8d7da;color:#721c24}.refresh-section{background:#f8f9fa;border-radius:8px;margin-top:30px;padding:20px;text-align:center}.last-update{color:#7f8c8d;font-size:.9em;margin-top:15px}.loading-usage{color:#7f8c8d;padding:50px 20px;text-align:center}@media (max-width:768px){.container,.header{padding:15px}.ai-budget-bar{justify-content:center;margin-top:15px;position:static}.logout-btn{margin-bottom:15px;position:static}.nav-buttons{align-items:center;flex-direction:column}.nav-btn{max-width:300px;width:100%}.form-row{flex-direction:column}.form-row .form-group{min-width:auto}.quote-actions{flex-direction:column}.quote-actions .btn{min-width:auto}.materials-grid,.prices-grid,.usage-overview{grid-template-columns:1fr}}.approval-dialog{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000004d;max-height:80vh;max-width:700px;overflow-y:auto;padding:30px;width:90%}.approval-dialog h3{color:#2c3e50;font-size:1.4em;margin:0 0 15px}.approval-dialog p{color:#7f8c8d;margin-bottom:25px}.approval-list{margin-bottom:25px}.approval-item{border:2px solid #ecf0f1;border-radius:8px;margin-bottom:12px;transition:all .2s ease}.approval-item:hover{border-color:#3498db;box-shadow:0 2px 8px #3498db1a}.approval-checkbox{align-items:flex-start;cursor:pointer;display:flex;gap:12px;padding:15px}.approval-checkbox input[type=checkbox]{margin:4px 0 0;transform:scale(1.2)}.approval-details{flex:1 1}.approval-main{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.approval-main strong{color:#2c3e50;font-size:1.1em}.approval-price{background:#e8f5e8;border-radius:20px;color:#27ae60;font-size:.9em;font-weight:700;padding:4px 12px}.approval-meta{display:flex;gap:15px;margin-bottom:8px}.approval-source{color:#7f8c8d;font-size:.9em}.approval-confidence{color:#8e44ad;font-size:.9em;font-weight:500}.approval-notes{background:#f8f9fa;border-left:3px solid #dee2e6;border-radius:6px;color:#6c757d;font-size:.85em;padding:8px 12px}.approval-actions{border-top:1px solid #ecf0f1;display:flex;gap:15px;justify-content:flex-end;margin-top:25px;padding-top:20px}.approval-actions .btn{min-width:120px}.btn-primary:disabled{background:#bdc3c7;cursor:not-allowed}@media (max-width:768px){.approval-dialog{margin:20px;padding:20px}.approval-main{align-items:flex-start;flex-direction:column;gap:8px}.approval-meta{flex-direction:column;gap:5px}.approval-actions{flex-direction:column-reverse}}.search-and-filter{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;display:flex;flex-wrap:wrap;gap:15px;margin-bottom:20px;padding:20px}.search-input{border:2px solid #e9ecef;flex:1 1;font-size:14px;min-width:250px;transition:border-color .2s ease}.search-input:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.category-filter{background:#fff;border:2px solid #e9ecef;border-radius:6px;font-size:14px;min-width:200px;padding:12px 16px;transition:border-color .2s ease}.category-filter:focus{border-color:#007bff;outline:none}.materials-table-container{border-radius:8px;box-shadow:0 2px 10px #0000001a;box-sizing:border-box;margin-top:20px;overflow:hidden;width:100%!important}.materials-view .materials-table-container{max-width:none!important;width:100%!important}.results-info{background:#f8f9fa;border-bottom:1px solid #e9ecef;color:#6c757d;font-size:14px;font-weight:500;padding:15px 20px}.materials-table.enhanced{border-collapse:collapse;margin:0;min-width:100%;table-layout:fixed;width:100%!important}.materials-view .materials-table.enhanced{min-width:100%!important;width:100%!important}.edit-input,.edit-select{border:1px solid #ddd;border-radius:4px;box-sizing:border-box;font-size:12px;padding:4px 8px}.edit-input:focus,.edit-select:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.btn-success{background-color:#28a745;border:1px solid #28a745;color:#fff}.btn-success:hover{background-color:#218838;border-color:#1e7e34}.btn-secondary{background-color:#6c757d;border:1px solid #6c757d;color:#fff}.btn-secondary:hover{background-color:#5a6268;border-color:#545b62}.materials-table.enhanced th{background:#495057;border:none;color:#fff;font-size:14px;font-weight:600;padding:15px 12px;text-align:left;white-space:nowrap}.materials-table.enhanced th:first-child{width:25%}.materials-table.enhanced th:nth-child(2){width:15%}.materials-table.enhanced th:nth-child(3){width:10%}.materials-table.enhanced th:nth-child(4),.materials-table.enhanced th:nth-child(5){width:15%}.materials-table.enhanced th:nth-child(6){width:20%}.materials-table.enhanced th:nth-child(7){width:10%}.materials-table.enhanced td{border-bottom:1px solid #e9ecef;overflow:hidden;padding:12px;text-overflow:ellipsis;vertical-align:middle}.materials-table.enhanced tr:hover{background-color:#f8f9fa}.material-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-badge{display:inline!important;font-size:inherit!important;font-weight:inherit!important;padding:4px 8px;white-space:nowrap}.category-badge,.unit-cell{background:#0000!important;border-radius:0!important;color:inherit!important}.unit-cell{font-family:Courier New,monospace;font-size:12px;font-weight:500;padding:6px 8px;text-align:center}.price-cell{padding-right:16px;text-align:right}.price-value{color:inherit!important;font-weight:700;white-space:nowrap}.supplier-cell{color:inherit!important;font-size:13px;font-style:normal!important}.description-cell,.supplier-cell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.description-cell{color:#6c757d;font-size:12px;line-height:1.3;max-width:0}.actions-cell{text-align:center;white-space:nowrap}.btn-small{border:none;border-radius:4px;cursor:pointer;font-size:12px;margin:0 2px;padding:6px 10px;transition:all .2s ease}.btn-edit{background:#ffc107;color:#212529}.btn-edit:hover{background:#e0a800;transform:translateY(-1px)}.btn-danger{background:#dc3545;color:#fff}.btn-danger:hover{background:#c82333;transform:translateY(-1px)}.empty-state{color:#6c757d}.empty-icon{display:block;font-size:48px;margin-bottom:20px}.empty-state h4{color:#495057;font-weight:600;margin:0 0 10px}.empty-state p{font-size:14px;line-height:1.5;margin:0 0 20px}.usage-stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:30px}.stat-card{align-items:flex-start;background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 4px 20px #0000001a;display:flex;gap:15px;padding:25px;transition:transform .2s ease,box-shadow .2s ease}.stat-card:hover{box-shadow:0 8px 30px #00000026;transform:translateY(-2px)}.stat-card.primary-stat{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;grid-column:span 2}.stat-card.secondary-stat{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.stat-card.wide-stat{background:#f8f9fa;grid-column:span 2}.stat-icon{background:#ffffff1a;border-radius:8px;flex-shrink:0;font-size:24px;padding:8px}.stat-card.primary-stat .stat-icon,.stat-card.secondary-stat .stat-icon{background:#fff3}.stat-content{flex:1 1}.stat-card h3{font-size:14px;font-weight:600;margin:0 0 8px;opacity:.9}.stat-value{line-height:1.2;margin:0 0 5px}.stat-value.large{font-size:32px}.stat-value.medium{font-size:20px}.stat-value.small{font-size:14px;font-weight:500}.stat-label{font-size:12px;opacity:.7}.token-breakdown{display:flex;flex-direction:column;gap:8px;margin-top:10px}.token-item{align-items:center;background:#fff;border-radius:6px;display:flex;font-size:14px;justify-content:space-between;padding:8px 12px}.token-item.total{background:#e3f2fd;border:2px solid #1976d2;font-weight:600}.loading-spinner{border:4px solid #f3f3f3;border-top-color:#007bff}@media (max-width:768px){.search-and-filter{align-items:stretch;flex-direction:column}.category-filter,.search-input{min-width:auto;width:100%}.usage-stats-grid{grid-template-columns:1fr}.stat-card.primary-stat,.stat-card.wide-stat{grid-column:span 1}.materials-table.enhanced{font-size:11px}.materials-table.enhanced td,.materials-table.enhanced th{padding:8px 4px}.materials-table.enhanced td:nth-child(5),.materials-table.enhanced td:nth-child(6),.materials-table.enhanced th:nth-child(5),.materials-table.enhanced th:nth-child(6){display:none}.materials-table.enhanced th:first-child{width:35%}.materials-table.enhanced th:nth-child(2){width:20%}.materials-table.enhanced th:nth-child(3){width:15%}.materials-table.enhanced th:nth-child(4){width:20%}.materials-table.enhanced th:nth-child(7){width:10%}}.stat-card.budget-status{border-left:4px solid #ccc}.stat-card.budget-status.ok{background:#f0f8f5;border-left-color:#28a745}.stat-card.budget-status.notice{background:#fffef0;border-left-color:#ffc107}.stat-card.budget-status.warning{background:#fff3e0;border-left-color:#ff9800}.stat-card.budget-status.critical{background:#ffe5e5;border-left-color:#dc3545}.budget-progress-bar{background:#e0e0e0;border-radius:4px;height:8px;margin-top:10px;overflow:hidden;width:100%}.progress-fill{background:#007bff;height:100%;transition:width .3s ease}.progress-fill.ok{background:#28a745}.progress-fill.notice{background:#ffc107}.progress-fill.warning{background:#ff9800}.progress-fill.critical{background:#dc3545}.progress-fill.token{background:#17a2b8}.budget-details,.costs-breakdown,.token-limit-details{display:flex;flex-direction:column;gap:8px;margin-top:12px}.budget-row,.cost-item,.token-row{align-items:center;background:#fff;border:1px solid #e9ecef;border-radius:6px;display:flex;font-size:14px;justify-content:space-between;padding:8px 12px}.budget-row span,.cost-item span,.token-row span{color:#666;font-weight:500}.budget-row strong,.cost-item strong,.token-row strong{color:#333;font-weight:600}.budget-row.remaining strong{color:#28a745;font-weight:700}.budget-row.warning strong{color:#dc3545;font-weight:700}.cost-section{background:#fff;border:1px solid #e9ecef;border-radius:6px;padding:12px}.cost-section h4{color:#555;font-size:13px;font-weight:600;margin:0 0 8px}.cost-section .cost-item{background:#f8f9fa;border:none;margin-bottom:4px;padding:6px 8px}.daily-costs-table{margin-top:12px;overflow-x:auto}.daily-costs-table table{background:#fff;border:1px solid #e9ecef;border-collapse:collapse;border-radius:6px;font-size:13px;overflow:hidden;width:100%}.daily-costs-table thead{background:#f8f9fa;color:#333;font-weight:600}.daily-costs-table th{border-bottom:2px solid #dee2e6;padding:10px 12px;text-align:left}.daily-costs-table td{border-bottom:1px solid #e9ecef;padding:8px 12px}.daily-costs-table tbody tr:hover{background:#f8f9fa}.daily-costs-table .cost-value{color:#0d6efd;font-family:Courier New,monospace;font-weight:600;text-align:right}.cost-summary{background:#f0f7ff;border-left:4px solid #0d6efd;border-radius:4px;color:#333;font-size:13px;margin-bottom:12px;padding:10px}.cost-summary strong{color:#0d6efd;font-size:14px;font-weight:700}.more-data{background:#fff3cd;border-radius:4px;color:#856404;font-size:12px;margin-top:8px;padding:8px 12px;text-align:center}.project-flow{margin:0 auto;max-width:1200px;padding:20px}.project-header{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:30px;padding:20px}.project-info h2{color:#2c3e50;margin:0 0 5px}.project-info p{color:#6c757d;margin:2px 0}.reset-btn{background:#dc3545;border:none;border-radius:5px;color:#fff;font-size:14px;padding:10px 15px}.reset-btn:hover{background:#c82333}.loading-overlay{align-items:center;background:#0000004d;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:10000}.loading-message{box-shadow:0 4px 12px #00000026;color:#2c3e50;font-size:16px;font-weight:500;padding:20px 40px}.loading-message,.step-navigation{background:#fff;border-radius:10px}.step-navigation{box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;margin-bottom:40px;overflow-x:auto;padding:20px}.step{align-items:center;border-radius:8px;cursor:pointer;display:flex;flex:1 1;margin:0 5px;min-width:180px;padding:15px;transition:all .3s ease}.step.active{background:#007bff;color:#fff;transform:scale(1.05)}.step.accessible:hover{background:#e9ecef}.step.accessible.active:hover{background:#0056b3}.step.locked{cursor:not-allowed;opacity:.5}.step-icon{font-size:24px;margin-right:10px}.step-info{flex:1 1}.step-name{font-size:16px;font-weight:700}.step-description{font-size:12px;opacity:.8}.step-arrow{font-size:20px;margin-left:10px;opacity:.5}.step.active .step-arrow{display:none}.step-content{background:#fff;border-radius:10px;box-shadow:0 2px 8px #0000001a;min-height:600px;padding:30px}.project-creation{margin:0 auto;max-width:800px}.section-header h3{color:#2c3e50;font-size:28px}.section-header p{color:#6c757d;margin:0}.header-actions{justify-content:center;margin-top:20px}.toggle-btn{background:#fff;border:2px solid #007bff;border-radius:5px;color:#007bff;padding:10px 20px;transition:all .3s ease}.toggle-btn.active,.toggle-btn:hover{background:#007bff}.toggle-btn:hover{color:#fff}.form-container{margin:0 auto;max-width:600px;overflow:visible}.project-form{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;overflow:visible;padding:30px}.form-grid{grid-gap:20px;gap:20px;grid-template-columns:1fr 1fr;overflow:visible}.form-group{display:flex;flex-direction:column}.form-group.full-width{grid-column:1/-1}.form-group.checkbox-group{align-items:center;flex-direction:row}.form-group.checkbox-group input{margin-right:8px;width:auto}.form-group label{color:#2c3e50;font-weight:700;margin-bottom:5px;z-index:1}.form-group input,.form-group select,.form-group textarea{background:#fff;border:1px solid #ced4da;border-radius:3px;box-sizing:border-box;font-size:11px;height:18px;line-height:1;margin:0;padding:3px 5px;position:relative;z-index:1}.geometry-form,.geometry-form .form-row{margin-top:0!important;padding-top:0!important}.geometry-form .form-row{flex-wrap:wrap;gap:15px!important}.geometry-form .form-group{display:block!important;flex:0 1 auto!important;margin:0!important;width:auto!important}.geometry-form .form-group label{color:#333!important;display:block!important;font-size:11px!important;font-weight:500!important;margin-bottom:3px!important}.geometry-form .form-group input,.geometry-form .form-group select,.geometry-form .form-group textarea{background:#fff!important;border:1px solid #ced4da!important;box-sizing:border-box!important;display:inline-block!important;font-size:11px!important;height:18px!important;line-height:1!important;margin:0!important;max-width:160px!important;overflow:hidden!important;padding:3px 5px!important;width:160px!important}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.form-help{color:#6c757d;display:block;font-size:12px;font-style:italic;margin-top:4px}.submit-btn{background:#28a745;border:none;border-radius:5px;cursor:pointer;font-size:16px;font-weight:700;margin-top:20px;padding:15px;transition:background .3s ease;width:100%}.submit-btn:hover{background:#218838}.submit-btn:disabled{background:#6c757d;cursor:not-allowed}.error-message{margin:15px 0;padding:12px}.existing-projects{margin:0 auto;max-width:900px}.no-projects{color:#6c757d;padding:60px 20px;text-align:center}.create-first-btn{background:#007bff;border:none;border-radius:5px;color:#fff;cursor:pointer;margin-top:20px;padding:12px 24px}.projects-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.project-card{background:#fff;border:1px solid #e9ecef;border-radius:8px;box-shadow:0 2px 4px #0000001a;cursor:pointer;padding:20px;transition:all .3s ease}.project-card:hover{border-color:#007bff;box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.project-card-header{align-items:center}.project-card-header h4{color:#2c3e50;margin:0}.project-card-body p{color:#6c757d;font-size:14px;margin:8px 0}.project-card-footer{display:flex;gap:10px;justify-content:space-between;margin-top:15px}.continue-btn,.smartpakke-btn{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-size:14px;font-weight:700;padding:12px 20px;transition:all .2s}.continue-btn{background:#007bff}.continue-btn:hover{background:#0056b3;box-shadow:0 4px 8px #007bff4d}.smartpakke-btn{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.smartpakke-btn:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 4px 12px #10b98166;transform:translateY(-2px)}.continue-text{color:#007bff;font-size:12px;font-weight:700}.geometry-input{margin:0 auto;max-width:800px}.geometry-form{background:#0000;border:none;padding:0}.calculations-display{background:#e3f2fd;border:1px solid #bbdefb;border-radius:8px;margin:20px 0;padding:20px}.calculations-display h4{color:#1976d2;margin:0 0 15px}.calc-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.calc-item{align-items:center;background:#fff;border:1px solid #bbdefb;border-radius:5px;display:flex;justify-content:space-between;padding:12px}.calc-label{color:#2c3e50;font-weight:700}.calc-value{color:#1976d2}.smart-estimate{background:linear-gradient(135deg,#e8f5e8,#f0f8f0);border:2px solid #4caf50;border-radius:12px;box-shadow:0 2px 8px #4caf501a;margin-top:20px;padding:20px}.smart-estimate h4{color:#2e7d32;font-size:1.1em;margin-bottom:15px}.smart-grid{grid-gap:15px;display:grid;gap:15px}.estimate-main{align-items:center;background:#fff;border:1px solid #c8e6c9;border-radius:8px;display:flex;justify-content:space-between;padding:15px}.estimate-primary{align-items:flex-start;display:flex;flex-direction:column}.estimate-hours{color:#1b5e20;font-size:2em;font-weight:700;line-height:1}.estimate-unit{color:#4caf50;font-size:.9em;margin-top:2px}.estimate-rate{color:#666;font-style:italic}.confidence-indicator{align-items:center;background:#ffffffb3;border:1px solid #c8e6c9;border-radius:6px;display:flex;justify-content:space-between;padding:8px 12px}.confidence-value{color:#2e7d32;font-weight:700}.data-source{background:#ffffff80;border-left:4px solid #4caf50;padding:10px}.data-source small{color:#555;line-height:1.4}.work-breakdown{border:1px solid #c8e6c9;padding:15px}.work-breakdown h5{color:#2e7d32;font-size:1em;margin-bottom:10px}.breakdown-item{background:#f9f9f9;border-left:3px solid #4caf50;border-radius:4px;margin-bottom:10px;padding:8px}.breakdown-header{align-items:center;margin-bottom:4px}.breakdown-category{color:#1b5e20;font-weight:700}.breakdown-hours{color:#4caf50;font-weight:700}.breakdown-description{color:#333;font-size:.9em;margin-bottom:2px}.breakdown-source{color:#666;font-size:.8em;font-style:italic}.original-data{color:#2e7d32;font-style:normal;font-weight:700}.confidence-badge{background:#c8e6c9;border-radius:3px;color:#1b5e20;font-size:.7em;font-style:normal;margin-left:4px;padding:2px 6px}.similar-cases{background:#fff;border:1px solid #c8e6c9;border-radius:8px;margin-top:10px;padding:15px}.similar-cases h5{color:#2e7d32;font-size:1em;margin-bottom:12px}.cases-list{grid-gap:8px;display:grid;gap:8px;max-height:300px;overflow-y:auto}.case-item{background:#f8f9fa;border-left:3px solid #4caf50;border-radius:6px;padding:10px;transition:background-color .2s ease}.case-item:hover{background:#e8f5e8}.case-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.case-number{color:#1b5e20;font-size:.9em;font-weight:700}.case-hours{background:#4caf50;border-radius:12px;color:#fff;font-size:.8em;font-weight:700;padding:2px 8px}.case-description{color:#333;font-size:.85em;line-height:1.3;margin-bottom:4px}.case-similarity{color:#666;font-size:.75em;font-style:italic}.labor-input{margin:0 auto;max-width:900px}.labor-form{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:30px}.labor-overview{background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;margin-bottom:30px;padding:20px}.overview-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:20px}.overview-item{display:flex;flex-direction:column}.overview-item label{color:#2c3e50;font-weight:700;margin-bottom:5px}.overview-item input{border:1px solid #ced4da;border-radius:5px;padding:10px}.overview-item input.fixed-rate{background:#e9ecef}.overview-item small{color:#6c757d;font-size:.875em;margin-top:5px}.input-with-ai{align-items:center;display:flex;gap:10px}.input-with-ai input{flex:1 1}.ai-estimate-btn{background:#8e44ad;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:.875rem;padding:10px 15px;transition:background-color .2s ease;white-space:nowrap}.ai-estimate-btn:hover{background:#7d3c98}.ai-estimate-btn:disabled{background:#bdc3c7;cursor:not-allowed}.ai-guided-section{background:linear-gradient(135deg,#667eea,#764ba2);border:1px solid #e1e8ff;border-radius:12px;box-shadow:0 4px 12px #667eea26;margin-bottom:30px;padding:20px;text-align:center}.ai-guided-btn{background:linear-gradient(135deg,#ff6b6b,#ee5a24);border:none;border-radius:8px;box-shadow:0 4px 15px #ff6b6b4d;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;margin-bottom:10px;padding:15px 30px;text-transform:none;transition:all .3s ease}.ai-guided-btn:hover{background:linear-gradient(135deg,#ff5252,#d84315);box-shadow:0 6px 20px #ff6b6b66;transform:translateY(-2px)}.ai-guided-btn:disabled{background:#bdc3c7;box-shadow:none;cursor:not-allowed;transform:none}.ai-guided-description{color:#fff;font-size:.95rem;line-height:1.4;margin:0;opacity:.9}.calculations{display:flex;gap:30px;justify-content:center;margin-top:20px}.work-breakdown{background:#fff;border:1px solid #e9ecef;border-radius:8px;margin:20px 0;padding:20px}.work-breakdown h4{color:#2c3e50;margin:0 0 20px}.breakdown-list{display:flex;flex-direction:column;gap:15px}.breakdown-item{background:#f8f9fa;border:1px solid #e9ecef;border-radius:5px;padding:15px}.breakdown-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:10px}.task-title-section{align-items:center;display:flex;flex:1 1;gap:10px}.task-input{background:#fff;border:1px solid #ced4da;border-radius:3px;flex:1 1;font-weight:600;padding:8px}.remove-task-btn{background:#dc3545;border:none;border-radius:3px;color:#fff;cursor:pointer;font-size:14px;padding:5px 8px;transition:background-color .2s}.remove-task-btn:hover{background:#c82333}.hours-inputs{align-items:flex-end;display:flex;gap:15px}.add-task-section{display:flex;gap:10px;justify-content:center;margin-top:15px;text-align:center}.add-task-btn{background:#28a745;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:background-color .2s}.add-task-btn:hover{background:#218838}.clear-all-btn{background:#dc3545;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:background-color .2s}.clear-all-btn:hover{background:#c82333}.hour-input-group{align-items:center;display:flex;flex-direction:column;gap:5px}.hour-input-group label{color:#6c757d;font-size:12px;font-weight:500}.hours-input{border:1px solid #ced4da;border-radius:3px;padding:5px;text-align:center;width:80px}.hours-input.allocated{background-color:#f8fff9;border-color:#28a745}.description-input{border:1px solid #ced4da;border-radius:3px;font-family:inherit;font-size:14px;line-height:1.4;min-height:60px;padding:8px;resize:vertical;width:100%}.breakdown-totals{display:flex;flex-direction:column;gap:10px;margin-top:20px}.total-row{background:#d4edda;border-radius:5px;color:#155724;padding:12px;text-align:center}.total-row.allocated{background:#d1ecf1;color:#0c5460}.tag-experience-section{background:#e7f3ff;border:1px solid #b3d7ff;border-radius:8px;margin-bottom:30px;padding:20px}.suggestions-info{color:#495057;font-size:14px;font-style:italic;margin:10px 0}.suggestions-grid{margin-top:15px}.suggestion-card{align-items:flex-start;border:1px solid #dee2e6;border-radius:8px;transition:all .2s ease}.suggestion-card:hover{border-color:#007bff;box-shadow:0 2px 8px #0000001a}.suggestion-info{margin-right:10px}.suggestion-info h4{color:#2c3e50;font-size:14px;line-height:1.3;margin:0 0 8px}.suggestion-stats{color:#6c757d;display:flex;flex-direction:column;font-size:12px;gap:3px;margin-bottom:8px}.suggestion-stats span{display:block}.suggestion-source{background:#f0f8ff;border-radius:3px;color:#007bff;display:inline-block;font-size:11px;padding:2px 6px}.add-suggestion-btn{font-size:12px;height:-webkit-fit-content;height:fit-content;white-space:nowrap}.materials-manager{margin:0 auto;max-width:1000px}.suggestions-section{background:#d1ecf1;border:1px solid #bee5eb;border-radius:8px;margin-bottom:30px;padding:20px}.suggestions-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.suggestions-header h4{color:#0c5460;margin:0}.hide-suggestions-btn{background:none;border:none;color:#0c5460;cursor:pointer;font-size:16px}.suggestions-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.suggestion-card{align-items:center;background:#fff;border:1px solid #bee5eb;border-radius:5px;display:flex;justify-content:space-between;padding:15px}.suggestion-info{flex:1 1}.suggestion-info strong{color:#2c3e50}.suggestion-info p{color:#6c757d;font-size:14px;margin:5px 0}.suggestion-details{color:#6c757d;display:flex;flex-direction:column;font-size:12px;gap:2px}.add-suggestion-btn{background:#28a745;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:14px;padding:8px 12px}.add-suggestion-btn:hover{background:#218838}.add-material-section{background:#fff;border:1px solid #e9ecef;border-radius:8px;margin-bottom:30px;padding:20px}.add-material-section h4{color:#2c3e50;margin:0 0 20px}.material-form{display:flex;flex-direction:column}.total-display{background:#d4edda;border:1px solid #c3e6cb;border-radius:5px;color:#155724;padding:15px;text-align:center}.add-btn{background:#007bff;border:none;border-radius:5px;cursor:pointer;margin-top:15px;padding:12px 20px}.add-btn:hover{background:#0056b3}.add-btn:disabled{background:#6c757d;cursor:not-allowed}.add-material-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.toggle-search-btn{background:#28a745;border-radius:5px;transition:background-color .2s}.toggle-search-btn:hover{background:#218838}.toggle-search-btn.active{background:#007bff}.material-search-section{border:1px solid #e9ecef;margin-bottom:20px;padding:15px}.search-controls{margin-bottom:15px}.search-row{grid-gap:15px;align-items:end;display:grid;gap:15px;grid-template-columns:2fr 1fr}.category-filter-group,.search-input-group{display:flex;flex-direction:column;gap:5px}.category-select,.search-input{border:1px solid #ced4da;border-radius:4px;font-size:14px;padding:8px 12px}.category-select:focus,.search-input:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.search-loading{color:#6c757d;padding:20px;text-align:center}.search-results{margin-top:15px}.search-results h5{color:#495057;margin-bottom:10px}.materials-search-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));max-height:400px;overflow-y:auto}.search-material-card{background:#fff;border:1px solid #e9ecef;border-radius:6px;cursor:pointer;padding:12px;transition:all .2s ease}.search-material-card:hover{border-color:#007bff;box-shadow:0 2px 4px #007bff1a;transform:translateY(-1px)}.material-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.material-card-header strong{color:#2c3e50;font-size:14px}.material-price{background:#007bff;border-radius:12px;color:#fff;font-size:12px;font-weight:700;padding:2px 8px}.material-card-details{display:flex;gap:10px;margin-bottom:6px}.material-category,.material-supplier{color:#6c757d;font-size:12px}.material-description{color:#495057;font-size:12px;line-height:1.3}.selected-material-preview{background:#d4edda;border:1px solid #c3e6cb;margin-top:15px;padding:15px}.selected-material-preview h5{color:#155724;margin-bottom:10px}.selected-material-info{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.selected-material-info strong{color:#155724}.quantity-input-group{align-items:center;display:flex;gap:10px;margin-bottom:15px}.quantity-input-group input{border:1px solid #c3e6cb;border-radius:4px;padding:6px 10px;width:100px}.add-selected-btn{background:#28a745;border:none;border-radius:5px;color:#fff;cursor:pointer;font-weight:700;padding:10px 16px}.add-selected-btn:hover{background:#218838}.add-selected-btn:disabled{background:#6c757d;cursor:not-allowed}.materials-list{background:#fff;border:1px solid #e9ecef;padding:20px}.materials-list h4{color:#2c3e50;margin:0 0 20px}.material-category h5{border-bottom:1px solid #e9ecef;color:#495057;font-size:16px;margin:0 0 10px;padding-bottom:5px}.materials-table{display:flex;flex-direction:column;gap:10px}.material-row{background:#f8f9fa;border:1px solid #e9ecef;border-radius:5px;display:flex;justify-content:space-between;padding:15px}.material-info{flex:1 1}.material-info strong{color:#2c3e50}.material-info span{color:#6c757d;font-size:14px}.material-actions{gap:15px}.material-total{color:#28a745;font-size:16px}.edit-btn{background:#007bff;border:none;border-radius:3px;color:#fff;cursor:pointer;font-size:14px}.edit-btn:hover{background:#0056b3}.remove-btn{border-radius:3px;font-size:14px}.material-edit-form{background:#fff3cd;border:1px solid #ffc107;border-radius:5px;width:100%}.edit-row{margin-bottom:15px}.input-group label{color:#6c757d;font-size:12px}.input-group input{border:1px solid #ced4da;border-radius:3px;flex:1 1;font-size:14px;padding:5px 8px}.input-group span{color:#6c757d;font-size:12px;min-width:30px}.edit-actions{border-top:1px solid #dee2e6;margin-top:10px;padding-top:10px}.save-btn{border-radius:3px;font-size:14px;padding:8px 16px}.save-btn:hover{background:#218838}.cancel-btn{border-radius:3px;padding:8px 16px}.cancel-btn:hover{background:#545b62}.materials-summary{background:#e9ecef;border-radius:8px;margin-top:20px;padding:20px}.summary-item{margin-bottom:10px}.summary-item.total{border-top:1px solid #ced4da;color:#28a745;font-size:18px;margin-top:15px;padding-top:10px}.calculation-view{max-width:1000px}.project-summary{border:1px solid #e9ecef}.project-summary h4{margin:0 0 15px}.summary-item{background:#fff;border:1px solid #e9ecef;border-radius:5px;padding:12px}.calculation-section{border:1px solid #e9ecef;padding:20px}.calculate-btn{background:#17a2b8;font-size:14px;padding:12px 20px}.calculate-btn:hover{background:#138496}.calculation-results{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:20px}.calculation-breakdown{display:flex;flex-direction:column;gap:20px}.breakdown-section{background:#fff;border:1px solid #e9ecef;border-radius:5px;padding:15px}.breakdown-section h5{color:#495057;margin:0 0 10px}.breakdown-item{padding:5px 0}.breakdown-item.total{border-top:2px solid #28a745;color:#28a745;font-size:18px;margin-top:10px;padding-top:10px}.quote-generation{background:#fff;border:1px solid #e9ecef;border-radius:8px;margin-bottom:30px;padding:20px}.quote-generation h4{color:#2c3e50;margin:0 0 20px}.quote-options{background:#f8f9fa;border-radius:5px;margin-bottom:20px;padding:15px}.options-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.quote-buttons{display:flex;gap:15px;justify-content:center;margin-bottom:20px}.static-quote-btn{background:#28a745;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:16px;font-weight:700;padding:15px 25px}.static-quote-btn:hover{background:#218838}.ai-quote-btn{background:#6f42c1;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:16px;font-weight:700;padding:15px 25px}.ai-quote-btn:hover{background:#5a32a3}.html-quote-btn{background:#fd7e14;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:16px;font-weight:700;padding:15px 25px}.html-quote-btn:hover{background:#e96500}.quote-info{background:#d1ecf1;border:1px solid #bee5eb;border-radius:5px;padding:15px}.quote-info p{color:#0c5460}.quotes-list{background:#fff;border:1px solid #e9ecef;border-radius:8px;padding:20px}.quotes-list h4{color:#2c3e50;margin:0 0 20px}.quotes-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.quote-card{background:#f8f9fa;border:1px solid #e9ecef;border-radius:5px;padding:15px}.quote-header{margin-bottom:10px}.quote-id{color:#2c3e50;font-weight:700}.quote-info{margin-bottom:15px}.quote-info p{color:#495057;font-size:14px;margin:5px 0}.quote-actions{flex-wrap:wrap;gap:5px;justify-content:center;text-align:center}.view-quote-btn{background:#007bff;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:14px;padding:8px 15px}.view-quote-btn:hover{background:#0056b3}.pdf-download-btn{background:#dc3545;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:14px;padding:8px 15px}.pdf-download-btn:hover{background:#c82333}.pdf-generate-btn{background:#6c757d;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:14px;padding:8px 15px}.pdf-generate-btn:hover{background:#545b62}.pdf-generate-btn:disabled{cursor:not-allowed;opacity:.6}@media (max-width:768px){.step-navigation{flex-direction:column;gap:10px}.step{min-width:auto}.step-arrow{display:none}.calc-grid,.form-grid,.overview-grid,.projects-grid,.quotes-grid,.suggestions-grid,.summary-grid{grid-template-columns:1fr}.quote-buttons{flex-direction:column}}.project-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:15px}.header-actions{align-items:center;display:flex;gap:10px}.card-actions{display:flex;gap:5px}.action-btn{align-items:center;background:none;display:flex;font-size:14px;height:28px;justify-content:center;padding:5px;transition:all .2s ease;width:28px}.action-btn:hover{box-shadow:0 2px 8px #00000026;transform:scale(1.1)}.form-actions{align-items:center}.cancel-btn{border-radius:5px;font-size:14px;padding:12px 20px;transition:background-color .2s ease}.smart-packages-step{background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000001a;padding:30px}.package-controls{flex-direction:column;gap:20px;margin-bottom:30px}.roof-type-selector{display:flex;flex-direction:column;gap:10px}.roof-types-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.roof-type-btn{align-items:center;background:#fff;border:2px solid #e9ecef;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;padding:15px;transition:all .2s ease}.roof-type-btn:hover{background:#f8f9ff;border-color:#007bff}.roof-type-btn.selected{background:#007bff;border-color:#007bff;color:#fff}.roof-icon{font-size:24px;margin-bottom:5px}.area-input,.search-input{display:flex;flex-direction:column;gap:8px}.search-box{display:flex;gap:10px}.search-box input{border:1px solid #ddd;border-radius:5px;flex:1 1;padding:10px}.search-box button{background:#007bff;border:none;border-radius:5px;color:#fff;cursor:pointer;padding:10px 15px}.packages-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.package-card{border:2px solid #e9ecef;border-radius:10px;cursor:pointer;padding:20px;transition:all .2s ease}.package-card:hover{border-color:#007bff;box-shadow:0 4px 15px #007bff26}.package-card.selected{background:#f8fff9}.package-header{align-items:start}.package-price{color:#28a745;font-size:18px;font-weight:700}.package-materials ul{margin:10px 0;padding-left:20px}.selected-badge{background:#28a745;border-radius:15px;color:#fff;font-size:12px;padding:5px 10px;position:absolute;right:10px;top:10px}.selected-summary{background:#f8f9fa;border-radius:8px;margin-bottom:20px;padding:20px}.selected-package{border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:5px 0}.total-price{border-top:2px solid #007bff;margin-top:15px;padding-top:15px}.enhanced-geometry-step{background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000001a;padding:30px}.geometry-form{background:#f8f9fa;border-radius:8px;margin-bottom:30px;padding:20px;position:relative;z-index:50}.form-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.form-group,.form-row{position:relative;z-index:100}.form-group{flex:1 1;margin:0;min-width:80px}.form-group label{color:#333;font-size:11px;font-weight:500;line-height:1;margin-bottom:2px;position:relative;z-index:100}.project-form .form-group input,.project-form .form-group select{background:#fff;border:1px solid #ddd;border-radius:4px;font-size:12px;height:28px;padding:6px 8px;position:relative;width:100%;z-index:100}.calculate-btn{border-radius:5px;font-size:16px}.geometry-results{margin-top:30px}.results-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:30px}.result-card{background:#f8f9fa;border-left:4px solid #007bff;border-radius:8px;padding:20px}.result-card h4{color:#2c3e50;margin:0 0 15px}.measurements div,.time-estimate div,.windboard-details div{border-bottom:1px solid #e9ecef;padding:5px 0}.svg-illustration{background:#f8f9fa;border-radius:8px;padding:20px;text-align:center}.svg-container{background:#fff;border:1px solid #ddd;border-radius:5px;display:inline-block;max-width:100%}.step-actions{border-top:1px solid #e9ecef;display:flex;gap:15px;justify-content:flex-end;margin-top:30px;padding-top:20px}.primary-btn{background:#007bff;border:none;border-radius:5px;cursor:pointer;font-size:16px;font-weight:500;padding:12px 24px}.primary-btn:disabled{background:#6c757d;cursor:not-allowed}.secondary-btn{background:#6c757d;border:none;border-radius:5px;cursor:pointer;font-size:16px;padding:12px 24px}.smart-packages-navigation{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;display:flex;justify-content:space-between;margin-top:30px;padding:20px}.navigation-info{align-items:center;color:#6c757d;display:flex;font-size:14px}.navigation-info span{background:#fff;border:1px solid #dee2e6;border-radius:5px;padding:8px 12px}.navigation-buttons{display:flex;gap:10px}.navigation-buttons .btn-primary{background:#28a745;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:16px;font-weight:500;padding:12px 24px;transition:background .3s ease}.navigation-buttons .btn-primary:hover:not(:disabled){background:#218838}.navigation-buttons .btn-primary:disabled{background:#6c757d;cursor:not-allowed;opacity:.6}.smart-packages-enhanced{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1200px;padding:20px}.packages-header{margin-bottom:30px;text-align:center}.packages-header h2{color:#2c5530;font-size:2rem;margin:0 0 10px}.packages-header p{color:#666;font-size:1.1rem}.calculation-info-box{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:2px solid #0284c7;border-radius:12px;box-shadow:0 4px 6px #0000000d;margin-bottom:50px;padding:24px;position:relative;z-index:1}.info-header{align-items:center;border-bottom:2px solid #0284c7;display:flex;gap:12px;margin-bottom:20px;padding-bottom:16px}.info-icon{animation:pulse 2s infinite;font-size:2rem}.info-header h3{color:#0c4a6e;font-size:1.4rem;margin:0}.info-content{grid-gap:16px;display:grid;gap:16px}.info-step{border-left:4px solid #0284c7;border-radius:8px;gap:16px;padding:16px;transition:transform .2s ease}.info-step:hover{box-shadow:0 2px 8px #0000001a;transform:translateX(4px)}.step-number{background:#0284c7;font-size:1.1rem;height:32px;width:32px}.step-content{flex:1 1}.step-content strong{color:#0c4a6e;display:block;font-size:1.05rem;margin-bottom:4px}.step-content p{color:#475569;font-size:.95rem;line-height:1.6}.info-example{background:#fef3c7;border:2px dashed #f59e0b;border-radius:8px;margin-top:8px;padding:16px}.info-example strong{color:#92400e;display:block;font-size:1.05rem;margin-bottom:12px}.real-data-highlight{background:linear-gradient(135deg,#dcfce7,#bbf7d0);border:3px solid #16a34a;box-shadow:0 4px 12px #16a34a33;margin-bottom:50px;padding:20px;position:relative;z-index:1}.real-data-header{align-items:center;display:flex;gap:12px;margin-bottom:16px}.data-icon{font-size:2rem}.real-data-header h4{color:#166534;font-size:1.3rem;margin:0}.project-categories{grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:16px}.category-item{align-items:center;border:2px solid #16a34a;display:flex;gap:10px;padding:12px;transition:transform .2s ease,box-shadow .2s ease}.category-item:hover{box-shadow:0 4px 8px #16a34a4d;transform:translateY(-2px)}.category-icon{flex-shrink:0;font-size:1.8rem}.category-info{flex:1 1}.category-info strong{color:#166534;display:block;font-size:.95rem;margin-bottom:4px}.category-info p{color:#15803d;font-size:.85rem;font-weight:600;margin:0}.data-source{background:#fff;border:2px solid #16a34a;border-radius:6px;color:#166534;font-size:.95rem;font-weight:700;padding:12px;text-align:center}.example-calc{color:#78350f;display:flex;flex-direction:column;font-family:Courier New,monospace;gap:8px}.example-calc>div{background:#fff;border-radius:4px;padding:6px 12px}.calc-section{background:#fef3c7;border:2px solid #f59e0b;border-radius:6px;margin-bottom:8px;padding:12px}.calc-section strong{color:#92400e;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;margin-bottom:8px}.calc-section>div{background:#fff;border-radius:4px;font-size:.9rem;margin-bottom:4px;padding:6px 10px}.calc-result{background:#fbbf24!important;border:2px solid #f59e0b!important;color:#92400e;font-size:1rem!important;font-weight:700!important}.calc-subtotal{background:#fde68a!important;border:1px solid #f59e0b!important;font-weight:600!important}.example-total{background:#16a34a!important;border:3px solid #15803d!important;border-radius:8px!important;color:#fff!important;font-size:1.1rem;font-weight:700;padding:16px!important}.example-total>div{background:#0000!important;border:none!important;color:#fff!important;padding:4px 0!important}.total-line{border-top:2px solid #fff!important;font-size:1.3rem!important;margin-top:8px!important;padding-top:8px!important}.reliability-note{background:#e0f2fe;border:2px solid #0284c7;border-radius:6px;margin-top:12px;padding:12px}.reliability-note strong{color:#0c4a6e;display:block;font-size:1rem;margin-bottom:6px}.reliability-note{color:#0369a1;font-size:.9rem;line-height:1.6}.packages-controls{align-items:center;background:#f8f9fa;border-radius:8px;clear:both;display:flex;flex-wrap:wrap;gap:20px;margin-bottom:30px;margin-top:40px;padding:20px;position:relative;z-index:10}.search-section{flex:1 1;min-width:300px}.search-input-group{display:flex;flex-direction:column;gap:10px}.search-input{border:2px solid #ddd;border-radius:6px;font-size:1rem;transition:border-color .3s ease}.search-input:focus{border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a}.search-across-all{align-items:center;color:#666;cursor:pointer;display:flex;font-size:.9rem;gap:8px}.search-across-all input[type=checkbox]{margin:0}.roof-type-filter{display:flex;flex-direction:column;gap:8px}.roof-type-filter label{color:#333;font-weight:600}.roof-type-filter select{border:2px solid #ddd;border-radius:6px;font-size:1rem;min-width:180px;padding:10px 12px}.create-package-btn{background:linear-gradient(135deg,#4a90e2,#357abd);font-size:1rem;padding:12px 24px;transition:transform .2s ease,box-shadow .2s ease}.create-package-btn:hover{box-shadow:0 4px 12px #4a90e24d}.loading-indicator{padding:40px;text-align:center}.spinner{border:4px solid #f3f3f3;border-top-color:#4a90e2;margin:0 auto 20px}.packages-grid{grid-gap:24px;gap:24px;margin-bottom:30px}.package-card{padding:24px;position:relative}.package-card:hover{border-color:#4a90e2;box-shadow:0 8px 25px #0000001a;transform:translateY(-2px)}.package-card.selected{background:linear-gradient(145deg,#f8fff9,#fff);border-color:#28a745;box-shadow:0 8px 25px #28a74533}.package-card.custom{border-left:6px solid #ff6b6b}.package-card.standard{border-left:6px solid #4a90e2}.package-header{align-items:flex-start;margin-bottom:16px}.package-header h3{align-items:center;color:#2c5530;display:flex;flex:1 1;font-size:1.3rem;gap:8px;margin:0}.custom-badge{background:#ff6b6b;border-radius:10px;color:#fff;font-size:.7rem;font-weight:500;padding:2px 8px}.package-controls{display:flex;gap:8px}.delete-btn,.edit-btn{border:none;border-radius:4px;cursor:pointer;font-size:.9rem;padding:6px 10px;transition:background-color .2s ease}.edit-btn{color:#212529}.delete-btn{background:#dc3545}.delete-btn:hover{background:#c82333}.package-description{line-height:1.5;margin-bottom:20px}.package-info{margin-bottom:20px}.info-row{display:flex;font-size:.9rem;justify-content:space-between;margin-bottom:8px}.info-row span:first-child{color:#555;font-weight:600}.package-pricing{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:20px;padding:16px}.pricing-header{align-items:center;border-bottom:2px solid #dee2e6;color:#2c5530;display:flex;font-weight:600;justify-content:space-between;margin-bottom:12px;padding-bottom:8px}.pricing-info-btn{align-items:center;background:#e7f3ff;border:1px solid #0284c7;border-radius:50%;cursor:help;display:flex;font-size:.9rem;height:24px;justify-content:center;transition:all .2s ease;width:24px}.pricing-info-btn:hover{background:#0284c7;transform:scale(1.1)}.pricing-row.total{border-top:2px solid #dee2e6;color:#28a745;margin-top:8px}.pricing-note{border-top:1px dashed #dee2e6;margin-top:12px;padding-top:8px;text-align:center}.pricing-note small{align-items:center;color:#6c757d;display:flex;font-size:.85rem;gap:4px;justify-content:center}.materials-preview{font-size:.9rem;margin-bottom:20px}.materials-preview strong{color:#333;display:block;margin-bottom:8px}.material-preview{color:#666;margin-bottom:4px;padding-left:8px}.more-materials{color:#4a90e2;padding-left:8px}.select-package-btn{background:#fff;border:2px solid #4a90e2;border-radius:6px;color:#4a90e2;font-size:1rem;padding:12px;width:100%}.select-package-btn:hover{background:#4a90e2;color:#fff}.select-package-btn.selected{background:#28a745;border-color:#28a745;color:#fff}.select-package-btn.selected:hover{background:#218838;border-color:#218838}.show-similar-btn{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:6px;color:#666;cursor:pointer;display:flex;font-size:.9rem;gap:6px;justify-content:center;margin-bottom:12px;padding:10px;transition:all .2s ease;width:100%}.show-similar-btn:hover{background:#f8f9fa;border-color:#4a90e2;color:#4a90e2}.similar-loading{align-items:center;background:#f8f9fa;border-radius:6px;color:#666;display:flex;font-size:.9rem;gap:10px;justify-content:center;margin-bottom:12px;padding:12px}.mini-spinner{animation:spin .8s linear infinite;border:2px solid #e0e0e0;border-radius:50%;border-top-color:#4a90e2;height:16px;width:16px}.similar-projects{background:#f8fcff;border:1px solid #d0e7f9;border-radius:6px;margin-bottom:12px;padding:12px}.similar-projects strong{color:#2c5530;display:block;font-size:.95rem;margin-bottom:10px}.similar-project{background:#fff;border:1px solid #e8f2fb;border-radius:4px;margin-bottom:8px;padding:10px}.similar-project:last-child{margin-bottom:0}.similar-project-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:4px}.similar-project-name{color:#333;font-size:.9rem;font-weight:600}.similar-project-date{color:#999;font-size:.8rem;white-space:nowrap}.similar-project-location{color:#666;font-size:.85rem;margin-bottom:4px}.similar-project-desc{border-top:1px solid #f0f0f0;color:#666;font-size:.85rem;line-height:1.4;margin-top:6px;padding-top:6px}.no-similar-projects{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:6px;color:#666;font-size:.9rem;margin-bottom:12px;padding:12px;text-align:center}.selected-packages-summary{background:linear-gradient(135deg,#e8f5e8,#f0f8f0);border:2px solid #28a745;border-radius:12px;margin-bottom:30px;padding:24px}.selected-packages-summary h3{color:#2c5530;margin:0 0 16px}.selected-list{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.selected-item{align-items:center;background:#fff;border:1px solid #28a745;border-radius:20px;display:flex;font-size:.9rem;gap:8px;padding:8px 12px}.remove-selected{background:none;border:none;cursor:pointer;font-size:.8rem;padding:0}.summary-total{color:#28a745;text-align:right}.modal-overlay{background:#000000b3;padding:20px;z-index:1000}.modal-content{max-height:90vh;max-width:900px;width:100%}.modal-header{border-bottom:2px solid #e1e8ed;padding:24px}.modal-header h2{color:#2c5530;font-size:1.5rem;margin:0}.close-modal{background:none;border:none;border-radius:4px;cursor:pointer;font-size:1.2rem;padding:8px;transition:background-color .2s ease}.close-modal:hover{background:#e9ecef}.form-section{margin-bottom:32px}.form-section h3{border-bottom:2px solid #e1e8ed;color:#2c5530;font-size:1.2rem;margin:0 0 16px;padding-bottom:8px}.form-row{grid-gap:16px;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:16px}.form-section label{color:#333;display:flex;flex-direction:column;font-weight:600;gap:6px}.form-section input,.form-section select,.form-section textarea{border:2px solid #ddd;border-radius:6px;font-size:1rem;padding:10px 12px;transition:border-color .3s ease}.form-section input:focus,.form-section select:focus,.form-section textarea:focus{border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a;outline:none}.add-material-form{background:#f8f9fa;border-radius:8px;margin-bottom:24px;padding:20px}.add-material-form h4{color:#2c5530;margin:0 0 16px}.material-form-grid{grid-gap:12px;align-items:end;display:grid;gap:12px;grid-template-columns:2fr 1fr 1fr 1fr 1.5fr auto}.add-material-btn{background:#28a745;font-weight:600;padding:10px 16px;transition:background-color .2s ease}.add-material-btn:hover{background:#218838}.materials-list{border:2px solid #e1e8ed;border-radius:8px;overflow:hidden}.materials-list h4{background:#f8f9fa;border-bottom:1px solid #e1e8ed;margin:0;padding:12px 16px}.material-item{border-bottom:1px solid #f1f3f4;display:flex;justify-content:space-between;padding:12px 16px}.material-item:last-child{border-bottom:none}.material-info strong{color:#333}.material-info span{color:#666;font-size:.9rem}.material-info .category{color:#4a90e2;font-style:italic}.remove-material-btn{border-radius:4px;font-size:.8rem;padding:6px 10px}.package-totals{background:linear-gradient(135deg,#e8f4f8,#f0f8ff);border:2px solid #4a90e2;border-radius:8px;padding:20px}.totals-grid{display:flex;flex-direction:column;gap:8px}.total-row{display:flex;font-size:1rem;justify-content:space-between}.total-row.final{border-top:2px solid #4a90e2;color:#2c5530;font-size:1.2rem;margin-top:8px;padding-top:8px}.modal-footer{border-top:2px solid #e1e8ed;padding:24px}.cancel-btn,.save-btn{border:2px solid #0000;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 24px;transition:all .2s ease}.cancel-btn{background:#6c757d}.cancel-btn:hover{background:#5a6268}.save-btn{background:linear-gradient(135deg,#28a745,#20c997)}.save-btn:hover{box-shadow:0 4px 12px #28a7454d;transform:translateY(-1px)}.save-btn:disabled{background:#6c757d;box-shadow:none;transform:none}.packages-footer{padding:24px 0;text-align:center}.continue-btn{background:linear-gradient(135deg,#28a745,#20c997);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;padding:16px 32px;transition:all .3s ease}.continue-btn:hover{box-shadow:0 8px 25px #28a7454d;transform:translateY(-2px)}@media (max-width:768px){.packages-controls{align-items:stretch;flex-direction:column}.search-section{min-width:auto}.form-row,.material-form-grid,.packages-grid{grid-template-columns:1fr}.material-form-grid{gap:8px}.modal-content{margin:10px;width:auto}}.material-input-toggle{margin-bottom:16px}.toggle-search-btn{background:linear-gradient(135deg,#3498db,#2980b9);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;transition:all .3s ease}.toggle-search-btn:hover{background:linear-gradient(135deg,#2980b9,#21618c);transform:translateY(-1px)}.material-search-section{background:#f8f9fa;border:1px solid #e1e8ed;border-radius:8px;margin-bottom:16px;padding:16px}.search-input-container{position:relative}.search-loading{font-size:12px;position:absolute;right:16px;top:50%;transform:translateY(-50%)}.search-results{background:#fff;border:1px solid #ddd;border-radius:6px;margin-top:8px;max-height:200px;overflow-y:auto}.material-name{align-items:center;display:flex;gap:8px;margin-bottom:4px}.material-name strong{color:#2c3e50}.varenummer{background:#ecf0f1;border-radius:4px;color:#7f8c8d;font-size:12px;padding:2px 6px}.material-details{color:#666;display:flex;font-size:12px;gap:12px}.material-details .price{color:#27ae60;font-weight:600}.material-details .category{color:#8e44ad}.selected-material-preview{background:#d5f4e6;border:1px solid #2ecc71;border-radius:6px;margin-bottom:16px;padding:12px}.selected-material-preview h5{color:#27ae60;font-size:14px;margin:0 0 8px}.selected-info{align-items:center;display:flex;justify-content:space-between}.selected-info strong{color:#2c3e50}.selected-info span{color:#27ae60;font-weight:600}@media (max-width:480px){.smart-packages-enhanced{padding:10px}.modal-body,.package-card{padding:16px}.material-details,.selected-info{flex-direction:column;gap:4px}.selected-info{align-items:flex-start}}.auto-save-status{align-items:center;border-radius:6px;display:flex;font-size:.9rem;font-weight:500;padding:8px 12px}.auto-save-status .saving{background:#fff3cd;border-radius:4px;color:#fd7e14;padding:4px 8px}.auto-save-status .saved{background:#d4edda;border-radius:4px;color:#155724;padding:4px 8px}.auto-save-status .will-save{background:#d1ecf1;border-radius:4px;color:#0c5460;padding:4px 8px}.auto-save-status .incomplete{background:#f8d7da;border-radius:4px;color:#721c24;padding:4px 8px}.inline-smart-package{background:#f8f9fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1400px;min-height:100vh;padding:20px}.package-header{background:linear-gradient(135deg,#2c5530,#4a7c59);border-radius:12px;color:#fff;margin-bottom:30px;padding:20px;text-align:center}.package-header h2{font-size:2rem;font-weight:700;margin:0 0 10px}.package-header p{font-size:1.1rem;margin:0;opacity:.9}.calculation-info-box{background:linear-gradient(135deg,#fff,#f0fdf4);border:3px solid #10b981;border-radius:16px;box-shadow:0 8px 24px #10b98126;margin-bottom:30px;padding:30px}.calculation-info-box h3{color:#1a1a1a;font-size:24px;margin-bottom:25px;text-align:center}.package-description-box{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:2px solid #0284c7;border-radius:12px;margin-bottom:25px;padding:20px}.package-description-box h4{color:#0369a1;font-size:16px;font-weight:700;margin-bottom:12px}.package-description-box ul{color:#6b7280;line-height:1.8;list-style-type:disc;margin:5px 0 0 20px}.package-description-box li{margin:4px 0}.calculation-method{background:#fff;border:2px solid #6ee7b7;border-radius:10px;margin-bottom:20px;padding:20px}.calculation-method h5{color:#047857;font-size:15px;font-weight:700;margin-bottom:10px}.calculation-method ul{color:#374151;font-size:13px;line-height:1.8;list-style-type:disc;margin:0 0 0 20px}.calculation-method li{margin:6px 0}.calculation-method li strong{color:#059669}.real-data-highlight{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border:3px solid #059669;border-radius:12px;box-shadow:0 4px 12px #05966933;margin-bottom:30px;padding:25px}.real-data-highlight h4{color:#065f46;font-size:18px;margin-bottom:20px;text-align:center}.project-categories{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:20px 0}.category-item{background:#fff;border:2px solid #6ee7b7;border-radius:8px;padding:15px;text-align:center;transition:all .3s}.category-item:hover{box-shadow:0 6px 16px #10b9814d;transform:translateY(-3px)}.category-label{color:#047857;display:block;font-size:13px;font-weight:700;margin-bottom:8px}.category-value{color:#065f46;display:block;font-size:16px;font-weight:700}.info-steps{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin:25px 0}.info-step{align-items:flex-start;background:#fff;border:2px solid #e5e7eb;border-radius:10px;display:flex;gap:15px;padding:20px;transition:all .3s}.info-step:hover{border-color:#10b981;box-shadow:0 4px 12px #10b98126}.step-number{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:18px;font-weight:700;height:40px;justify-content:center;width:40px}.step-content h4{color:#1f2937;font-size:16px;margin:0 0 8px}.step-content p{color:#6b7280;font-size:14px;line-height:1.5;margin:0}.calc-section{background:#f0f9ff;border:2px solid #bae6fd;border-radius:8px;margin-top:25px;padding:20px}.calc-section h4{color:#0369a1;font-size:16px;margin-bottom:15px}.calc-details{display:flex;flex-direction:column;gap:12px}.calc-row{align-items:center;border-bottom:1px solid #bae6fd;display:flex;justify-content:space-between;padding:10px 0}.calc-label{color:#374151;font-size:14px}.calc-value{color:#0369a1;font-size:16px;font-weight:700}.calc-result{border-bottom:none;border-top:3px solid #0369a1;margin-top:10px;padding-top:15px}.example-total{color:#047857;font-size:20px}.reliability-note{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;margin-top:20px;padding:15px}.reliability-note p{color:#1e40af;font-size:13px;margin:0}.package-sections{grid-gap:30px;display:grid;gap:30px;grid-template-columns:1fr}.section{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 2px 10px #00000014;padding:25px}.section h3{border-bottom:2px solid #f0f0f0;color:#2c5530;font-size:1.4rem;font-weight:600;margin:0 0 20px;padding-bottom:10px}.package-selector{border-left:4px solid #6f42c1}.package-options{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.package-option{background:#f8f9fa;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;padding:20px;transition:all .3s ease}.package-option:hover{border-color:#6f42c1;box-shadow:0 2px 8px #6f42c133}.package-option.selected{background:linear-gradient(135deg,#f8f4ff,#fff);border-color:#6f42c1;box-shadow:0 4px 12px #6f42c14d}.package-option h4{color:#2c5530;font-size:1.1rem;margin:0 0 8px}.package-option p{color:#666;font-size:.9rem;line-height:1.4;margin:0 0 10px}.package-info{color:#6f42c1;font-size:.8rem;font-weight:500}.profit-section{border-left:4px solid #28a745}.profit-controls{background:#f8f9fa;border-radius:8px;padding:20px}.profit-controls label{color:#2c5530;display:block;font-weight:600;margin-bottom:10px}.profit-slider{-webkit-appearance:none;appearance:none;background:#ddd;border-radius:5px;height:8px;margin-bottom:15px;outline:none;width:100%}.profit-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#28a745;border-radius:50%;box-shadow:0 2px 4px #0003;cursor:pointer;height:20px;width:20px}.profit-slider::-moz-range-thumb{background:#28a745;border:none;border-radius:50%;box-shadow:0 2px 4px #0003;cursor:pointer;height:20px;width:20px}.profit-info{align-items:center;display:flex;flex-wrap:wrap;font-size:.95rem;gap:10px;justify-content:space-between}.profit-info span{background:#fff;border:1px solid #e0e0e0;border-radius:4px;padding:8px 12px}.total-highlight{background:linear-gradient(135deg,#28a745,#20c997)!important;border:none!important;color:#fff!important;font-weight:600!important}.materials-section{border-left:4px solid #4a90e2;min-height:500px;overflow:visible}.materials-list{gap:15px;margin-bottom:20px;max-height:none;min-height:400px;overflow:visible}.material-item{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;padding:15px}.material-info{align-items:center;flex-wrap:wrap;gap:15px;margin-bottom:15px;padding:0}.material-name{background:#fff;border:2px solid #ddd;border-radius:6px;color:#333;flex:1 1;font-size:1.1rem;min-width:200px;padding:12px 15px;transition:border-color .2s ease}.material-name:focus{border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a;outline:none}.calculation{background:#f1f3f5;border:1px solid #e9ecef;border-radius:6px;color:#666;font-size:.9rem;font-style:italic;min-width:120px;padding:8px 12px;white-space:nowrap}.material-inputs{align-items:center;display:flex;flex-wrap:wrap;gap:15px;min-height:50px;padding:10px 0}.price-input,.quantity-input{background:#fff;border:2px solid #ddd;border-radius:6px;color:#333;font-size:1rem;font-weight:500;padding:10px 12px;text-align:right;transition:border-color .2s ease;width:100px}.price-input:focus,.quantity-input:focus{border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a;outline:none}.currency,.unit{color:#666;font-size:.95rem;font-weight:500;min-width:80px;padding:0 5px;white-space:nowrap}.total{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;color:#28a745;font-size:1.1rem;margin-left:auto;min-width:120px;padding:8px 15px;text-align:center}.remove-btn{background:#dc3545;border:none;border-radius:6px;box-shadow:0 2px 4px #dc354533;cursor:pointer;font-size:1rem;padding:8px 12px;transition:all .2s ease}.remove-btn:hover{background:#c82333;box-shadow:0 4px 8px #dc35454d}.no-materials{background:#f8f9fa;border:2px dashed #dee2e6;border-radius:8px;color:#666;padding:40px;text-align:center}.add-material-btn{background:linear-gradient(135deg,#28a745,#20c997);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;padding:12px 24px;transition:transform .2s ease}.add-material-btn:hover{transform:translateY(-2px)}.materials-total{border-top:2px solid #f0f0f0;font-size:1.1rem;padding:15px 0;text-align:right}.material-category{border-radius:8px;box-shadow:0 2px 4px #0000000d;display:block;margin-bottom:30px;overflow:visible;width:100%}.category-header{align-items:center;background:linear-gradient(135deg,#4a90e2,#357abd);border-bottom:1px solid #e0e0e0;color:#fff;display:flex;font-size:1.1rem;font-weight:600;gap:10px;margin:0;min-height:50px;padding:15px 20px;text-shadow:0 1px 2px #0000001a}.category-icon{filter:drop-shadow(0 1px 1px rgba(0,0,0,.2));font-size:1.2em}.material-category .material-item{background:#fff;border:none;border-bottom:1px solid #f0f0f0;border-radius:0;box-sizing:border-box;display:block;margin:0;min-height:120px;padding:20px;transition:background-color .2s ease;width:100%}.material-category .material-item:hover{background:#f8f9fa}.material-category .material-item:last-child{border-bottom:none}.source-badge{border:1px solid #0000;border-radius:12px;font-size:.75rem;font-weight:600;letter-spacing:.5px;margin-left:8px;padding:4px 8px;text-transform:uppercase}.source-badge.dynamic_database{background:#d4edda;border-color:#c3e6cb;color:#155724}.source-badge.static{background:#fff;border:1px solid #dee2e6;color:#6c757d}.material-item-detailed{background:#fff;border:2px solid #e9ecef;border-radius:10px;box-shadow:0 2px 8px #00000014;margin-bottom:20px;overflow:hidden;transition:all .3s ease}.material-item-detailed:hover{border-color:#4a90e2;box-shadow:0 4px 12px #4a90e226}.material-header{align-items:center;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-bottom:1px solid #dee2e6;display:flex;gap:15px;padding:12px 20px}.material-number{background:#4a90e2;font-size:.9rem;height:30px;width:30px}.material-category-badge{align-items:center;background:#fff;border:1px solid #dee2e6;border-radius:20px;color:#495057;display:flex;font-size:.85rem;font-weight:600;gap:6px;padding:6px 12px}.material-content{padding:20px}.input-group{flex-direction:column;gap:5px;min-width:150px}.input-group label{color:#495057;font-size:.85rem;font-weight:600;margin-bottom:5px}.total-section{background:#f8f9fa;border:1px solid #e9ecef;flex-direction:column;gap:5px;padding:10px 20px}.total-label{color:#495057;font-size:.85rem}.material-item-detailed .total{color:#28a745;font-size:1.2rem;font-weight:700}.complete-materials-list{background:#fff;border:1px solid #e0e0e0;border-radius:10px;box-shadow:0 2px 8px #0000001a;display:block;overflow:hidden;width:100%}.material-list-item{background:#fff;border-bottom:1px solid #f0f0f0;padding:20px;transition:background-color .2s ease}.material-list-item:last-child{border-bottom:none}.material-list-item:hover{background-color:#f8f9fa}.material-header-row{align-items:center;display:flex;gap:15px;margin-bottom:15px}.material-number{align-items:center;background:#3498db;border-radius:50%;box-shadow:0 2px 4px #3498db4d;color:#fff;display:flex;flex-shrink:0;font-size:1rem;font-weight:700;height:32px;justify-content:center;width:32px}.material-name-title{color:#2c3e50;flex-grow:1;font-size:1.3rem;font-weight:600;margin:0}.material-category-label{background:#ecf0f1;border:1px solid #bdc3c7;border-radius:15px;color:#7f8c8d;font-size:.85rem;font-weight:500;padding:6px 12px}.material-calculation{background:#f8f9fa;border-left:4px solid #3498db;border-radius:0 6px 6px 0;color:#555;font-size:.95rem;margin-bottom:15px;padding:10px 15px}.material-calculation strong{color:#2c3e50}.material-inputs-row{align-items:center;display:flex;flex-wrap:wrap;gap:25px;min-height:50px}.input-section{align-items:center;display:flex;gap:8px}.input-section label{color:#555;font-size:.95rem;font-weight:600;min-width:100px}.material-input{background:#fff;border:2px solid #ddd;border-radius:6px;font-size:1rem;padding:8px 12px;text-align:center;transition:all .2s ease;width:80px}.material-input:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db33;outline:none}.input-unit{color:#777;font-size:.9rem;font-weight:500;min-width:30px}.total-section{align-items:center;background:#e8f5e8;border:1px solid #d4edda;border-radius:8px;box-shadow:0 1px 3px #28a74533;display:flex;gap:10px;margin-left:auto;padding:8px 15px}.total-label{color:#2d5a2d;font-size:.95rem;font-weight:600}.material-total{color:#27ae60;font-size:1.15rem}.remove-material-btn{background:#e74c3c;box-shadow:0 2px 4px #e74c3c4d;font-size:1.1rem;height:36px;transition:all .2s ease;width:36px}.remove-material-btn:hover{background:#c0392b;box-shadow:0 3px 6px #e74c3c66;transform:scale(1.05)}@media (max-width:768px){.material-inputs-row{align-items:stretch;flex-direction:column;gap:15px}.input-section{justify-content:space-between;width:100%}.total-section{justify-content:center;margin-left:0}.material-input{width:100px}}.labor-section{border-left:4px solid #fd7e14}.drag-instruction{background:#e6f3ff;border:1px solid #007bff;border-radius:6px;color:#0056b3;font-size:.9rem;font-style:italic;margin-bottom:15px;padding:10px 15px}.tasks-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:20px}.task-card{background:#f8f9fa;border:2px solid #e0e0e0;border-radius:8px;cursor:grab;padding:15px;position:relative;transition:all .3s ease}.task-card:hover{border-color:#fd7e14;box-shadow:0 2px 8px #fd7e1433}.task-card.selected{background:linear-gradient(135deg,#fff5f0,#fff);border-color:#fd7e14;box-shadow:0 4px 12px #fd7e144d}.task-card.dragging{border-color:#007bff;box-shadow:0 8px 16px #007bff66;cursor:grabbing;opacity:.5;transform:rotate(2deg)}.task-card:active{cursor:grabbing}.task-header{align-items:center;gap:10px;margin-bottom:8px}.drag-handle{color:#666;cursor:grab;font-size:1.2rem;padding:2px;-webkit-user-select:none;user-select:none}.drag-handle:hover{color:#fd7e14}.drag-handle:active{cursor:grabbing}.task-order{background:#fd7e14;border-radius:50%;color:#fff;font-size:.8rem;font-weight:700;line-height:1;min-width:24px;padding:4px 8px;text-align:center}.task-header input[type=checkbox]{transform:scale(1.2)}.task-header h4{color:#2c5530;flex-grow:1;font-size:1rem;margin:0}.task-description{color:#666;font-size:.9rem;line-height:1.4;margin:8px 0}.task-details{color:#555;font-size:.85rem}.task-calculation{background:#e9ecef;border-radius:4px;font-size:.8rem;margin-top:8px;padding:8px}.task-total{color:#fd7e14;font-weight:600}.labor-total{border-top:2px solid #f0f0f0;font-size:1.1rem;padding:15px 0;text-align:right}.summary-section{border-left:4px solid #6f42c1}.summary-breakdown{margin-bottom:25px}.summary-row{display:flex;font-size:1rem;justify-content:space-between;padding:8px 0}.subtotal-row{border-bottom:1px solid #ddd;border-top:1px solid #ddd;font-weight:600;margin:10px 0;padding:12px 0}.profit-row{color:#28a745;font-weight:500}.summary-total{border-top:2px solid #6f42c1;color:#6f42c1;display:flex;font-size:1.2rem;justify-content:space-between;padding:15px 0}.package-actions{flex-wrap:wrap;gap:15px;justify-content:center}.next-btn,.save-package-btn{border:none;border-radius:8px;cursor:pointer;font-size:1.1rem;font-weight:600;min-width:180px;padding:15px 30px;transition:all .3s ease}.save-package-btn{background:linear-gradient(135deg,#28a745,#20c997);color:#fff}.save-package-btn:hover{box-shadow:0 4px 15px #28a74566;transform:translateY(-2px)}.next-btn{background:linear-gradient(135deg,#6f42c1,#5a32a3);color:#fff}.next-btn:hover:not(:disabled){box-shadow:0 4px 15px #6f42c166;transform:translateY(-2px)}.next-btn:disabled{background:#6c757d;cursor:not-allowed;opacity:.6}@media (max-width:768px){.inline-smart-package{padding:15px}.package-header h2{font-size:1.5rem}.material-inputs{align-items:stretch;flex-direction:column}.tasks-grid{grid-template-columns:1fr}.package-actions{flex-direction:column}.next-btn,.save-package-btn{min-width:auto;width:100%}}.section{animation:slideIn .6s ease-out}.material-item,.task-card{transition:all .3s ease}.material-item:hover,.task-card:hover{transform:translateY(-1px)}.hint-icon{align-items:center;cursor:help;display:inline-flex;font-size:18px;justify-content:center;margin-left:5px;position:relative;vertical-align:middle}.hint-icon .tooltip{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;bottom:125%;box-shadow:0 4px 12px #0003;color:#fff;font-size:13px;font-style:normal;font-weight:500;opacity:0;padding:10px 15px;pointer-events:none;transition:opacity .3s,visibility .3s;visibility:hidden;white-space:nowrap;z-index:1000}.hint-icon .tooltip,.hint-icon .tooltip:after{left:50%;position:absolute;transform:translateX(-50%)}.hint-icon .tooltip:after{border:6px solid #0000;border-top-color:#764ba2;content:"";top:100%}.hint-icon:hover .tooltip{opacity:1;visibility:visible}.hint-icon .tooltip.multiline{max-width:300px;text-align:left;white-space:normal}.final-review{background:#f8f9fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1200px;min-height:100vh;padding:20px}.review-header{background:linear-gradient(135deg,#6f42c1,#5a32a3);border-radius:12px;color:#fff;margin-bottom:30px;padding:25px;text-align:center}.review-header h2{font-size:2rem;font-weight:700;margin:0 0 10px}.review-header p{font-size:1.1rem;margin:0;opacity:.9}.review-sections{display:flex;flex-direction:column;gap:25px}.review-section{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 2px 10px #00000014;padding:25px}.review-section h3{border-bottom:2px solid #f0f0f0;color:#2c5530;font-size:1.3rem;font-weight:600;margin:0 0 20px;padding-bottom:10px}.project-info{border-left:4px solid #17a2b8}.info-grid{grid-gap:15px;gap:15px}.info-item{gap:5px}.info-item label{color:#555;font-size:.9rem;font-weight:600}.info-item span{color:#333;font-size:1rem}.geometry-info{border-left:4px solid #28a745}.geometry-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.geo-item{background:#f8f9fa;border-radius:6px;display:flex;flex-direction:column;gap:5px;padding:10px;text-align:center}.geo-item.total-area{background:linear-gradient(135deg,#e8f5e8,#f0f8f0);border:1px solid #28a745;font-weight:600}.geo-item label{color:#666;font-size:.85rem;font-weight:500}.geo-item span{color:#2c5530;font-size:1.1rem;font-weight:600}.materials-review{border-left:4px solid #4a90e2}.labor-table,.materials-table{background:#fff;border:1px solid silver;border-collapse:collapse;box-shadow:0 2px 4px #00000014;font-family:Calibri,Segoe UI,system-ui,sans-serif;font-size:14px;table-layout:fixed;width:100%}.labor-table td,.labor-table th,.materials-table td,.materials-table th{border:1px solid #d0d0d0;overflow:hidden;padding:6px 10px;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.labor-table thead th,.materials-table thead th{background-color:#f2f2f2;font-size:13px;font-weight:600;letter-spacing:.3px;padding:10px 8px;text-align:center}.materials-table .text-left{padding-left:12px;text-align:left}.labor-table .text-center,.materials-table .text-center{text-align:center}.labor-table .text-right,.materials-table .text-right{padding-right:12px;text-align:right}.labor-table .number-cell,.materials-table .number-cell{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;padding-right:12px;text-align:right}.labor-table tbody tr:nth-child(2n),.materials-table tbody tr:nth-child(2n){background-color:#fafafa}.labor-table tbody tr:hover,.materials-table tbody tr:hover{background-color:#f0f8ff}.labor-table tfoot td,.materials-table tfoot td{background:linear-gradient(180deg,#e0e0e0,#d0d0d0);border-top:2px solid grey;font-weight:700;padding:12px 10px}.table-header{background:linear-gradient(180deg,#f8f8f8,#e8e8e8);border-bottom:2px solid grey;display:grid;grid-template-columns:2fr .8fr .6fr .9fr 1fr}.table-header span{align-items:center;border-right:1px solid silver;color:#000;display:flex;font-size:11pt;font-weight:700;justify-content:center;letter-spacing:.3px;padding:12px 8px;text-align:center}.table-header span:first-child{justify-content:flex-start;padding-left:12px;text-align:left}.table-header span:last-child{border-right:none;justify-content:center;text-align:center}.labor-table .table-header{grid-template-columns:2fr .9fr .9fr 1fr}.table-row{align-items:center;background:#fff!important;border-bottom:1px solid #d4d4d4;display:grid;grid-template-columns:2fr .8fr .6fr .9fr 1fr;transition:background-color .1s}.table-row:nth-child(2n){background:#fafafa!important}.table-row:hover{background:#f0f8ff!important}.table-row>input,.table-row>span{align-items:center;border-right:1px solid #e0e0e0;display:flex;font-size:10.5pt;justify-content:center;line-height:1.3;padding:10px 8px;text-align:center}.table-row>.material-name,.table-row>span:first-child{border-right:1px solid silver;color:#1a1a1a;font-weight:500;justify-content:flex-start;padding-left:12px;text-align:left}.table-row>span:last-child{border-right:none;font-weight:600;justify-content:center;text-align:center}.table-row>input{background:#fff!important;border:none!important;border-right:1px solid #e0e0e0!important;color:#000;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:10.5pt;padding:10px 8px!important;text-align:center}.table-row>input:focus{background:#fff8e1!important;box-shadow:none!important;outline:2px solid #2e75b6!important;outline-offset:-2px}.labor-table .table-row{grid-template-columns:2fr .9fr .9fr 1fr}.editable-input,.price-input,.quantity-input,.table-row input,input[type=number]{-webkit-appearance:none;appearance:none}.labor-table input,.labor-table input:-webkit-autofill,.materials-table input,.materials-table input:-webkit-autofill{-webkit-text-fill-color:#000!important;background:#fff!important;background-color:#fff!important;-webkit-box-shadow:inset 0 0 0 1000px #fff!important}.material-name{background:#0000!important;border-right:1px solid silver!important;color:#1a1a1a;padding-left:12px!important;text-align:left}.total{color:#000;font-weight:700;padding-right:16px!important;text-align:right}.table-total{align-items:center;background:linear-gradient(180deg,#e0e0e0,#d0d0d0);border-bottom:1px solid grey;border-top:2px solid grey;display:grid;font-size:11pt;font-weight:700;grid-template-columns:2fr .8fr .6fr .9fr 1fr;padding:12px 0}.table-total span:first-child{align-items:center;color:#000;display:flex;font-weight:700;grid-column:1/5;justify-content:flex-end;padding-right:12px;text-align:right}.table-total span:last-child{align-items:center;color:#000;display:flex;font-size:11.5pt;font-weight:700;justify-content:center;text-align:center}.labor-table .table-total{grid-template-columns:2fr .9fr .9fr 1fr}.labor-table .table-total span:first-child{grid-column:1/4}.total-amount{color:#000;font-size:11.5pt;padding-right:16px;text-align:right}.editable-input,.labor-table input,.materials-table input{-webkit-appearance:none;appearance:none;background:#fff!important;border:none;border-radius:0;box-sizing:border-box;color:#000;font-family:Calibri,Segoe UI,system-ui,sans-serif;font-size:14px;padding:6px 10px;text-align:right;width:100%}.editable-input:focus,.labor-table input:focus,.materials-table input:focus{background:#fff8e1!important;box-shadow:none;outline:2px solid #2e75b6!important;outline-offset:-2px}.labor-review{border-left:4px solid #fd7e14}.financial-summary{border-left:4px solid #6f42c1}.financial-breakdown{background:#f8f9fa;border-radius:8px;padding:20px}.financial-row{display:flex;font-size:1rem;justify-content:space-between;padding:8px 0}.financial-row.subtotal{border-bottom:1px solid #ddd;border-top:1px solid #ddd;font-weight:600;margin:10px 0;padding:12px 0}.financial-row.total{border-top:2px solid #6f42c1;color:#6f42c1;font-size:1.2rem;margin-top:15px;padding-top:15px}.ordering-section{border-left:4px solid #dc3545}.ordering-info p{color:#555;line-height:1.5;margin-bottom:15px}.details-toggle{background:none;border:none;color:#6f42c1;cursor:pointer;font-size:.9rem;padding:5px 0;text-decoration:underline}.ordering-details{background:#f8f9fa;border-left:3px solid #6f42c1;border-radius:6px;margin-top:15px;padding:15px}.ordering-details h4{color:#6f42c1;margin:0 0 10px}.ordering-details ul{margin:0;padding-left:20px}.ordering-details li{color:#555;margin-bottom:5px}.submit-result{border-left:4px solid;border-radius:8px;margin-top:20px;padding:15px}.submit-result.success{background:#d4edda;border-color:#28a745;color:#155724}.submit-result.error{background:#f8d7da;border-color:#dc3545;color:#721c24}.submit-result h4{margin:0 0 8px}.submit-result p{line-height:1.4;margin:0}.no-data{color:#666;font-style:italic;padding:40px;text-align:center}.review-actions{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;margin-top:30px}.back-btn,.submit-btn{border:none;border-radius:8px;cursor:pointer;font-size:1.1rem;font-weight:600;min-width:200px;padding:15px 30px;transition:all .3s ease}.back-btn{background:#6c757d;color:#fff}.back-btn:hover:not(:disabled){background:#5a6268;transform:translateY(-2px)}.submit-btn{background:linear-gradient(135deg,#dc3545,#c82333);color:#fff}.submit-btn:hover:not(:disabled){box-shadow:0 4px 15px #dc354566;transform:translateY(-2px)}.back-btn:disabled,.submit-btn:disabled{background:#6c757d;cursor:not-allowed;opacity:.6;transform:none}@media (max-width:768px){.final-review{padding:15px}.review-header h2{font-size:1.5rem}.table-header,.table-row{grid-template-columns:1fr;text-align:left}.table-header{display:none}.table-row{border:1px solid #e0e0e0;border-radius:6px;display:block;margin-bottom:10px;padding:15px}.table-row>span{display:block;margin-bottom:5px}.table-row>span:before{color:#555;content:attr(data-label) ": ";font-weight:600}.geometry-grid,.info-grid{grid-template-columns:1fr}.review-actions{flex-direction:column}.back-btn,.submit-btn{min-width:auto;width:100%}}.review-section{animation:slideIn .6s ease-out}.table-row{animation:slideIn .3s ease-out}.quote-text-section{background:linear-gradient(135deg,#f8f9fa,#e9ecef)}.quote-generation-controls{display:flex;flex-direction:column;gap:15px;margin-bottom:20px}.quote-type-selector{background:#fff;border:2px solid #dee2e6;border-radius:8px;display:flex;gap:20px;padding:15px}.quote-type-selector label{align-items:center;border-radius:6px;cursor:pointer;display:flex;gap:8px;padding:8px 15px;transition:background .3s}.quote-type-selector label:hover{background:#f8f9fa}.quote-type-selector input[type=radio]{cursor:pointer;height:18px;width:18px}.quote-type-selector span{font-size:15px;font-weight:500}.ai-instructions{display:flex;flex-direction:column;gap:8px}.ai-instructions label{color:#495057;font-weight:600}.ai-instructions textarea{border:2px solid #dee2e6;border-radius:8px;font-family:inherit;font-size:14px;padding:12px;resize:vertical;transition:border-color .3s}.ai-instructions textarea:focus{border-color:#6f42c1;outline:none}.generate-quote-btn{background:linear-gradient(135deg,#6f42c1,#5a32a3);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:14px 24px;transition:all .3s}.generate-quote-btn:hover:not(:disabled){box-shadow:0 4px 12px #6f42c14d;transform:translateY(-2px)}.generate-quote-btn:disabled{cursor:not-allowed;opacity:.6}.quote-editor{display:flex;flex-direction:column;gap:15px;margin-top:20px}.quote-editor label{color:#495057;font-size:15px;font-weight:600}.quote-textarea{border:2px solid #dee2e6;border-radius:8px;font-family:Courier New,monospace;font-size:14px;line-height:1.6;padding:15px;resize:vertical;transition:border-color .3s;width:100%}.quote-textarea:focus{border-color:#6f42c1;outline:none}.quote-actions{align-items:center;display:flex;gap:15px}.generate-pdf-btn{background:linear-gradient(135deg,#28a745,#218838);border:none;border-radius:8px;cursor:pointer;font-size:15px;font-weight:600;padding:12px 24px;transition:all .3s}.generate-pdf-btn:hover:not(:disabled){box-shadow:0 4px 12px #28a7454d;transform:translateY(-2px)}.generate-pdf-btn:disabled{opacity:.6}.view-pdf-btn{background:#17a2b8;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:12px 24px;transition:all .3s}.view-pdf-btn:hover{background:#138496;box-shadow:0 4px 12px #17a2b84d;transform:translateY(-2px)}.view-pdf-link{background:#17a2b8;border-radius:8px;color:#fff;display:inline-block;font-size:15px;font-weight:600;padding:12px 24px;text-decoration:none;transition:all .3s}.view-pdf-link:hover{background:#138496;box-shadow:0 4px 12px #17a2b84d;transform:translateY(-2px)}.quote-hint{background:#fff3cd;border:2px dashed #ffc107;border-radius:8px;color:#856404;font-style:italic;margin-top:15px;padding:20px;text-align:center}.editable-table .editable-row{align-items:center;background:#fff!important}.editable-input,.editable-table .table-row{background:#fff!important}.editable-input{border:1px solid #ddd;border-radius:0;font-size:14px;font-weight:400;padding:8px 12px;text-align:center;transition:all .2s;width:80px}.editable-input:focus{border-color:#4a90e2;box-shadow:0 0 0 2px #4a90e21a}.editable-input,.price-input,.quantity-input,.table-row input,input[type=number]{background-color:#fff!important;background-image:none!important;background:#fff!important}.editable-input:-webkit-autofill,.editable-input:-webkit-autofill:active,.editable-input:-webkit-autofill:focus,.editable-input:-webkit-autofill:hover,.price-input:-webkit-autofill,.quantity-input:-webkit-autofill,.table-row input:-webkit-autofill,input[type=number]:-webkit-autofill{-webkit-text-fill-color:#000!important;background-color:#fff!important;background:#fff!important;background-image:none!important;box-shadow:inset 0 0 0 1000px #fff!important;caret-color:#000!important;color:#000!important;-webkit-transition:background-color 5000s ease-in-out 0s;transition:background-color 5000s ease-in-out 0s}.editable-table input,.editable-table input:-webkit-autofill,.editable-table input:-webkit-autofill:focus,.editable-table input:-webkit-autofill:hover,.labor-table input,.labor-table input:-webkit-autofill,.materials-table input,.materials-table input:-webkit-autofill{-webkit-text-fill-color:#000!important;background-color:#fff!important;background:#fff!important;background-image:none!important;box-shadow:inset 0 0 0 1000px #fff!important;color:#000!important}.editable-table .editable-row,.editable-table .table-row,.labor-table .table-row,.materials-table .table-row{background:#fff!important;background-color:#fff!important;background-image:none!important}input[type=number].editable-input{background-color:#fff!important;background:#fff!important;background-image:none!important}input[type=number].editable-input:-webkit-autofill{-webkit-text-fill-color:#000!important;background:#fff!important;background-color:#fff!important;-webkit-box-shadow:inset 0 0 0 1000px #fff!important;color:#000!important}.editable-input:focus{background:#fff!important;border-color:#6f42c1;box-shadow:0 0 0 3px #6f42c11a;outline:none}.editable-input.hours-input,.editable-input.quantity-input{width:70px}.editable-input.price-input,.editable-input.rate-input{width:90px}.profit-margin-row{grid-gap:15px;align-items:center;background:#fff3cd;border-radius:8px;display:grid;gap:15px;grid-template-columns:1fr auto auto;margin:10px 0;padding:12px}.profit-margin-row label{color:#856404;font-weight:600}.profit-input{background:#fff;width:80px!important}.profit-amount{color:#856404;font-weight:600;min-width:100px;text-align:right}.material-packages{background:#0000;border-radius:0;margin:0;min-height:auto;padding:0;position:relative;width:100%}.material-packages:before{background-image:radial-gradient(circle at 25% 25%,#ffffff0d 2px,#0000 0),radial-gradient(circle at 75% 75%,#ffffff08 1px,#0000 0);background-size:60px 60px,40px 40px;border-radius:20px;bottom:0;content:"";left:0;opacity:.7;pointer-events:none;position:absolute;right:0;top:0}.packages-header{align-items:center;border-bottom:1px solid #0000000f;display:flex;justify-content:space-between;margin-bottom:12px;padding:8px 10px 6px;position:relative;z-index:1}.packages-header h2{color:#2c3e50;font-size:18px;margin:0}.create-package-btn{background:linear-gradient(135deg,#27ae60,#2ecc71);border:none;border-radius:6px;box-shadow:0 4px 6px #0000001a;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:8px 14px;transition:all .3s ease}.create-package-btn:hover{box-shadow:0 6px 12px #00000026;transform:translateY(-2px)}.form-overlay{align-items:center;background:#00000080;display:flex;height:100%;justify-content:center;left:0;padding:20px;position:fixed;top:0;width:100%;z-index:1000}.create-form,.create-package-form{background:#fff;border:2px solid #e1e8ed;border-radius:12px;box-shadow:0 4px 6px #0000000d;margin-bottom:30px;max-height:90vh;max-width:90vw;overflow-y:auto;padding:30px;width:800px}.create-package-form h3{color:#2c3e50;font-size:22px;margin-bottom:25px}.form-group{margin-bottom:20px}.form-group label{color:#34495e;display:block;font-weight:600;margin-bottom:8px}.form-group input,.form-group select,.form-group textarea{border:2px solid #ddd;border-radius:8px;font-size:14px;padding:12px;transition:border-color .3s ease;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a;outline:none}.materials-section{border-top:2px solid #ecf0f1;margin-top:30px;padding-top:30px}.materials-section h4{color:#2c3e50;margin-bottom:20px}.material-form{background:#f8f9fa;border-radius:8px;margin-bottom:20px;padding:20px}.form-row{grid-gap:10px;align-items:start;display:grid;gap:10px;grid-template-columns:3fr 1.5fr .8fr .8fr 1fr 1fr .8fr;margin-bottom:10px}.form-row input,.form-row select{margin-bottom:0}.material-search-container{display:flex;flex-direction:column;gap:8px;min-width:300px}.material-search-results{background:#fff;border:2px solid #ddd;border-radius:0 0 8px 8px;border-top:none;box-shadow:0 4px 8px #0000001a;left:0;max-height:300px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.search-result-item{border-bottom:1px solid #f0f0f0;padding:12px}.search-result-item:hover{background:#f0f0f0}.material-item.editable{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:6px;margin-bottom:10px;padding:15px}.material-name-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.remove-material-btn{align-items:center;background:#dc3545;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:700;height:25px;justify-content:center;transition:background-color .2s;width:25px}.remove-material-btn:hover{background:#c82333}.editable-details{align-items:center;display:flex;flex-wrap:wrap;gap:15px}.detail-group{align-items:center;display:flex;gap:5px}.detail-group label{color:#333;font-weight:500}.detail-group input{border:1px solid #ccc;border-radius:4px;font-size:14px;padding:4px 8px;width:80px}.detail-group input:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.result-name{font-weight:600}.result-details{align-items:center;color:#666;font-size:12px;gap:8px}.bygma-badge{border-radius:4px;font-size:10px;font-weight:600;padding:2px 6px}.no-search-results,.search-loading{color:#666;font-style:italic;padding:12px;text-align:center}.form-row button{background:#3498db;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:12px 16px;transition:background-color .3s ease}.form-row button:hover{background:#2980b9}.materials-list{margin-top:20px}.materials-list h4{border-bottom:2px solid #f0f0f0;color:#2c5530;font-size:1.3rem;margin-bottom:20px;padding-bottom:10px}.material-category{background:#fff;border:1px solid #e0e0e0;margin-bottom:25px;overflow:hidden}.material-category h5{background:linear-gradient(180deg,#f8f8f8,#e8e8e8);border-bottom:2px solid silver;color:#1a1a1a;font-size:14px;font-weight:600;letter-spacing:.3px;margin:0;padding:12px 15px}.materials-table{border:none;box-shadow:none;font-family:Calibri,Segoe UI,system-ui,sans-serif;overflow:visible}.material-row{align-items:center;background:#fff;border-bottom:1px solid #d0d0d0;display:grid;grid-template-columns:3fr 1fr;padding:0;transition:background-color .1s}.material-row:nth-child(2n){background:#fafafa}.material-row:hover{background:#f0f8ff}.material-info{border-right:1px solid #e0e0e0;display:flex;flex-direction:column;gap:4px;padding:12px 15px}.material-info strong{color:#1a1a1a;font-size:14px;font-weight:600;margin-bottom:4px}.material-info span{color:#555;font-size:13px;line-height:1.4}.material-actions{align-items:center;display:flex;gap:8px;justify-content:flex-end;padding:8px 12px}.material-total{font-feature-settings:"tnum";color:#000;font-size:14px;font-variant-numeric:tabular-nums;font-weight:700;margin-right:auto;min-width:100px;padding-right:12px;text-align:right}.edit-btn,.manual-btn,.remove-btn{border:none;border-radius:4px;cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px;transition:all .2s ease;white-space:nowrap}.manual-btn{background:#17a2b8;color:#fff}.manual-btn:hover{background:#138496;transform:translateY(-1px)}.edit-btn{background:#ffc107;color:#000;padding:6px 10px}.edit-btn:hover{background:#e0a800;transform:translateY(-1px)}.remove-btn{background:#e74c3c;color:#fff;padding:6px 10px}.remove-btn:hover{background:#c0392b;transform:translateY(-1px)}.material-edit-form{background:#fff8e1;border:2px solid #ffc107;border-radius:0;padding:15px}.edit-row{align-items:center;display:flex;flex-wrap:wrap;gap:15px;margin-bottom:12px}.edit-row strong{font-size:14px;font-weight:600;min-width:200px}.edit-inputs{display:flex;flex:1 1;flex-wrap:wrap;gap:15px}.input-group{align-items:center;display:flex;gap:8px}.input-group label{color:#555;font-size:13px;font-weight:500;min-width:70px}.input-group input{background:#fff;border:1px solid silver;border-radius:0;font-family:Calibri,Segoe UI,system-ui,sans-serif;font-size:13px;padding:6px 10px;width:100px}.input-group input:focus{border-color:#2e75b6;outline:2px solid #2e75b6;outline-offset:-2px}.input-group span{color:#555;font-size:13px;font-weight:500}.edit-actions{border-top:1px solid #e0e0e0;display:flex;gap:10px;justify-content:flex-end;margin-top:8px;padding-top:12px}.save-btn{background:#28a745;font-size:13px;padding:8px 20px}.save-btn:hover:not(:disabled){background:#218838;transform:translateY(-1px)}.save-btn:disabled{background:#95a5a6}.materials-summary{align-items:center;background:linear-gradient(180deg,#e0e0e0,#d0d0d0);border-top:2px solid grey;display:flex;justify-content:space-between;padding:12px 15px}.summary-item{color:#000;font-size:13px}.summary-item.total{color:#000;font-size:14px;font-weight:700}.old-table-header{background:#34495e;color:#fff;font-weight:600}.old-table-header,.old-table-row{grid-gap:10px;display:grid;gap:10px;grid-template-columns:2fr 1.5fr .8fr .8fr 1fr 1fr .8fr;padding:15px 10px}.old-table-row{align-items:center;border-bottom:1px solid #ecf0f1}.total-price{background:#ecf0f1;color:#2c3e50;font-size:18px;padding:15px;text-align:right}.form-actions{border-top:1px solid #ecf0f1;gap:15px;justify-content:flex-end;margin-top:30px;padding-top:20px}.cancel-btn{background:#95a5a6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:12px 24px;transition:background-color .3s ease}.cancel-btn:hover{background:#7f8c8d}.create-btn{background:linear-gradient(135deg,#27ae60,#2ecc71);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:12px 24px;transition:all .3s ease}.create-btn:hover:not(:disabled){box-shadow:0 4px 8px #0000001a;transform:translateY(-1px)}.create-btn:disabled{background:#bdc3c7;cursor:not-allowed}.packages-list{margin-top:30px}.packages-table{background:#0000;border-radius:6px;display:block;margin:8px 0 18px;max-width:100%;width:100%}.packages-table .table-header{background:#fafafa;border-bottom:2px solid #0000000a;color:#2c3e50;font-size:13px;font-weight:700;padding:10px 8px;text-transform:none}.packages-table .package-row-wrapper,.packages-table .table-header{display:grid;grid-template-columns:2fr 1fr 1fr .8fr 1fr 1.2fr 2.2fr}.packages-table .package-row-wrapper{grid-gap:12px;align-items:center;background:#fff;border-bottom:1px solid #0000000a;gap:12px;padding:12px 8px}.package-cell{color:#34495e;font-size:13px;overflow:hidden;padding:0 6px;text-overflow:ellipsis;white-space:normal}.package-cell.description{max-height:3.2em;overflow:hidden;white-space:normal}.package-cell.actions{align-items:center;display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-start;min-width:260px}.packages-grid{display:none}@media (max-width:900px){.packages-table{grid-template-columns:1fr;padding:8px}.packages-table .table-header{display:none}.packages-table .package-cell{padding:8px 6px;white-space:normal}.packages-table .package-row-wrapper{grid-gap:8px;align-items:start;border-bottom:1px solid #0000000a;display:grid;gap:8px;grid-template-columns:1fr .9fr;padding:10px 6px}.packages-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr}}.loading{color:#7f8c8d;padding:40px}.no-packages{color:#7f8c8d;padding:60px 20px}.no-packages p{font-size:18px;margin-bottom:10px}.packages-grid{grid-gap:25px;gap:25px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.package-card{background:#fff;border:2px solid #e1e8ed;border-radius:12px;box-shadow:0 4px 6px #0000000d;padding:25px;transition:all .3s ease}.package-card:hover{box-shadow:0 8px 15px #0000001a;transform:translateY(-4px)}.package-header{margin-bottom:15px}.package-header h3{color:#2c3e50;font-size:20px;margin:0 0 8px}.package-category{background:#3498db;border-radius:20px;color:#fff;font-size:12px;font-weight:600;padding:4px 12px}.package-info p{color:#7f8c8d;line-height:1.5;margin-bottom:15px}.package-stats{display:flex;gap:15px;margin-bottom:20px}.package-stats span{color:#34495e;font-size:14px;font-weight:600}.package-actions{display:flex;gap:10px}.details-btn{background:#3498db;border-radius:6px;flex:1 1;font-weight:600;padding:10px 16px;transition:background-color .3s ease}.details-btn:hover{background:#2980b9}.add-to-project-btn{background:#27ae60;border-radius:6px;flex:1 1;font-weight:600;padding:10px 16px;transition:background-color .3s ease}.add-to-project-btn:hover{background:#229954}.package-details-modal{align-items:center;background:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.modal-content{box-shadow:0 10px 30px #0003;max-width:800px;overflow:hidden}.modal-header{background:#f8f9fa;border-bottom:1px solid #e1e8ed;padding:25px 30px}.modal-header h3{font-size:22px}.close-btn{border-radius:50%;font-size:24px;height:30px;transition:all .3s ease;width:30px}.close-btn:hover{background:#e74c3c;color:#fff}.modal-body{max-height:60vh;overflow-y:auto;padding:30px}.modal-body p{color:#34495e;margin-bottom:15px}.modal-body h4{color:#2c3e50;font-size:18px;margin:25px 0 15px}@media (max-width:768px){.material-packages{padding:15px}.packages-header{flex-direction:column;gap:15px;text-align:center}.form-row{gap:10px;grid-template-columns:1fr}.table-header,.table-row{gap:5px}.packages-grid,.table-header,.table-row{grid-template-columns:1fr}.package-actions{flex-direction:column}.modal-content{margin:20px;width:95%}.modal-body,.modal-header{padding:20px}}.material-packages,.material-packages-section{box-sizing:border-box;grid-column:1/-1;margin:0;padding:0;text-align:left;width:100%}.manage-packages-btn{background:linear-gradient(135deg,#3498db,#2980b9);border:none;border-radius:12px;box-shadow:0 4px 8px #3498db33;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-bottom:20px;padding:15px 30px;transition:all .3s ease}.manage-packages-btn:hover{background:linear-gradient(135deg,#2980b9,#21618c);box-shadow:0 6px 12px #3498db4d;transform:translateY(-2px)}.packages-integration{display:block;margin-left:auto!important;margin-right:auto!important;max-width:980px!important;padding:0 18px;width:100%!important;.packages-centered-list,.packages-list-container{display:block;margin:0;padding:0;text-align:left;width:100%}.package-list-item{align-items:center;background:#fff;border-bottom:1px solid #eee;border-radius:0;display:flex;justify-content:space-between;margin:0;padding:12px 0;width:100%}.material-packages,.packages-centered-list{margin:0;padding:0;width:100%}@media (max-width:1100px){.material-packages,.packages-centered-list,.packages-list-container{padding:0;width:100%}.package-list-item{align-items:stretch;flex-direction:column;text-align:left}}@media (max-width:600px){.material-packages,.packages-centered-list,.packages-list-container{padding:0;width:100%}.package-list-item{margin:0;padding:12px 0}}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%{box-shadow:0 0 0 0 #3498db66}70%{box-shadow:0 0 0 10px #3498db00}to{box-shadow:0 0 0 0 #3498db00}}.packages-list-container{margin:0;padding:0;position:relative;width:100%}.packages-centered-list{background:#0000;border-radius:0;box-shadow:none;margin:0;padding:0;width:100%}.packages-centered-list h3{background:none;border-bottom:1px solid #0000000f;color:#2c3e50;font-size:18px;font-weight:600;margin-bottom:12px;padding-bottom:8px;position:relative;text-align:left}.packages-centered-list h3:after{display:none}.package-list-item{background:linear-gradient(135deg,#fff,#f8f9fa);border:2px solid #3498db1a;border-radius:16px;box-shadow:0 8px 25px #00000014;margin-bottom:25px;opacity:1;padding:25px;position:relative;transition:all .4s cubic-bezier(.175,.885,.32,1.275)}.package-list-item:hover{background-color:#f8f9fa}.package-main-info{margin-bottom:15px}.package-title-section{align-items:center;display:flex;gap:15px;margin-bottom:10px}.package-title-section h4{color:#2c3e50;flex-grow:1;font-size:24px;font-weight:700;letter-spacing:-.5px;margin:0}.package-category-tag{background:linear-gradient(135deg,#3498db,#2980b9);border:2px solid #fff3;border-radius:25px;box-shadow:0 4px 15px #3498db4d;color:#fff;font-size:11px;font-weight:700;letter-spacing:1px;padding:8px 16px;text-transform:uppercase}.package-description{color:#6c757d;font-size:15px;font-style:italic;line-height:1.6;margin:15px 0}.package-quick-stats{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-left:4px solid #3498db;border-radius:12px;display:flex;gap:25px;margin:20px 0;padding:15px}.stat-item{align-items:center;background:#ffffffb3;border-radius:20px;box-shadow:0 2px 8px #0000000d;color:#2c3e50;font-size:15px;font-weight:600;gap:8px;padding:5px 10px}.package-list-actions{border-top:2px solid #3498db1a;display:flex;gap:12px;justify-content:center;margin-top:20px;padding-top:20px}.edit-package-btn{background:linear-gradient(135deg,#f39c12,#e67e22);border:none;border-radius:25px;box-shadow:0 4px 15px #f39c124d;color:#fff;cursor:pointer;font-size:14px;font-weight:700;min-width:120px;padding:12px 20px;transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.edit-package-btn:hover{background:linear-gradient(135deg,#e67e22,#d35400);box-shadow:0 6px 20px #f39c1266;transform:translateY(-2px) scale(1.05)}.details-btn{background:linear-gradient(135deg,#3498db,#2980b9);border:none;border-radius:25px;box-shadow:0 4px 15px #3498db4d;color:#fff;cursor:pointer;font-size:14px;font-weight:700;min-width:120px;padding:12px 20px;transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.details-btn:hover{background:linear-gradient(135deg,#2980b9,#21618c);box-shadow:0 6px 20px #3498db66;transform:translateY(-2px) scale(1.05)}.delete-package-btn{background:linear-gradient(135deg,#e74c3c,#c0392b);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:8px 12px;transition:all .3s ease}.delete-package-btn:hover{background:linear-gradient(135deg,#c0392b,#a93226);transform:translateY(-1px)}.view-package-btn{background:linear-gradient(135deg,#17a2b8,#138496);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:8px 12px;transition:all .3s ease;white-space:nowrap}.view-package-btn:hover{background:linear-gradient(135deg,#138496,#117a8b);transform:translateY(-1px)}.packages-table .delete-package-btn,.packages-table .edit-package-btn,.packages-table .view-package-btn{border-radius:4px;font-size:11px;min-width:auto;padding:6px 10px;white-space:nowrap}.packages-table .edit-package-btn{background:#f39c12;box-shadow:none}.packages-table .edit-package-btn:hover{background:#e67e22;box-shadow:none;transform:none}.packages-table .view-package-btn{background:#17a2b8}.packages-table .view-package-btn:hover{background:#138496;transform:none}.packages-table .delete-package-btn{background:#e74c3c}.packages-table .delete-package-btn:hover{background:#c0392b;transform:none}.select-package-btn{background:linear-gradient(135deg,#28a745,#20c997);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:11px;font-weight:600;min-width:60px;padding:6px 10px;transition:all .3s ease;white-space:nowrap}.select-package-btn:hover{background:linear-gradient(135deg,#20c997,#17a2b8)}.select-package-btn.selected{background:linear-gradient(135deg,#007bff,#0056b3);box-shadow:0 0 8px #007bff66}.select-package-btn.selected:hover{background:linear-gradient(135deg,#0056b3,#004085)}.add-to-project-btn{background:linear-gradient(135deg,#27ae60,#2ecc71);border:none;border-radius:25px;box-shadow:0 4px 15px #27ae604d;color:#fff;cursor:pointer;font-size:14px;font-weight:700;min-width:120px;padding:12px 20px;transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.add-to-project-btn:hover{background:linear-gradient(135deg,#2ecc71,#27ae60);box-shadow:0 6px 20px #27ae6066;transform:translateY(-2px) scale(1.05)}.loading{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:16px;box-shadow:0 8px 25px #00000014;font-size:18px;margin:20px auto;max-width:400px;padding:60px 20px}.no-packages{background:linear-gradient(135deg,#fff,#f8f9fa);border:2px solid #3498db1a;border-radius:20px;box-shadow:0 10px 30px #0000001a;margin:40px auto;max-width:500px;padding:80px 40px;text-align:center}.no-packages p:first-child{color:#2c3e50;font-size:24px;font-weight:700;margin-bottom:15px}.no-packages p:last-child{color:#6c757d;font-size:16px;font-style:italic;line-height:1.6}@media (max-width:768px){.packages-list-container{padding:20px 10px}.packages-centered-list{margin:0 10px;max-width:100%;padding:20px}.packages-centered-list h3{font-size:24px;margin-bottom:30px}.package-title-section{align-items:flex-start;flex-direction:column;gap:15px}.package-title-section h4{font-size:20px}.package-list-actions{flex-direction:column;gap:10px}.add-to-project-btn,.details-btn,.edit-package-btn{min-width:auto;text-align:center;width:100%}.package-quick-stats{flex-direction:column;gap:10px;padding:10px}.stat-item{justify-content:center}.no-packages{margin:20px 10px;padding:60px 30px}.no-packages p:first-child{font-size:20px}}.smart-packages-section{border-top:2px solid #3498db1a;margin-top:40px;padding-top:20px;position:relative}.smart-packages-section h2{border-bottom:1px solid #0000000f;color:#2c3e50;font-size:20px;font-weight:600;margin:0 0 20px;padding:0 10px 10px;text-align:left}.smart-packages{margin:0;padding:0;width:100%}.smart-filters{align-items:center;background:#3498db0d;border-radius:8px;display:flex;flex-wrap:wrap;gap:15px;margin-bottom:20px;padding:15px}.smart-filters>div{display:flex;flex-direction:column;gap:5px}.smart-filters label{color:#666;font-size:12px;font-weight:500}.smart-filters input,.smart-filters select{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:8px 12px}.smart-filters button{align-self:flex-end;background:linear-gradient(135deg,#3498db,#2980b9);border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px 12px}.smart-filters button:hover{background:linear-gradient(135deg,#2980b9,#21618c)}.search-filter{align-items:flex-end;display:flex!important;flex-direction:row!important;gap:5px!important}.search-filter input{min-width:200px}.create-smart-package-btn{align-self:flex-end;background:linear-gradient(135deg,#27ae60,#2ecc71)!important;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 16px;transition:all .3s ease}.create-smart-package-btn:hover{background:linear-gradient(135deg,#229954,#27ae60)!important;transform:translateY(-1px)}.modal-content{border-radius:12px;box-shadow:0 20px 60px #0000004d;max-width:700px}.modal-header{background:linear-gradient(135deg,#3498db,#2980b9);border-bottom:1px solid #eee;border-radius:12px 12px 0 0;color:#fff}.modal-header h3{font-weight:600}.close-btn{color:#fff}.close-btn:hover{background:#fff3}.package-info{background:#f8f9fa;border-radius:8px;margin-bottom:24px;padding:16px}.package-info h4{color:#2c3e50;font-size:16px;margin:0 0 12px}.package-info p{color:#5a6c7d;margin:8px 0}.materials-info h4{color:#2c3e50;font-size:16px;margin:0 0 16px}.materials-list{display:flex;flex-direction:column;gap:8px}.material-item{grid-gap:12px;align-items:center;background:#fff;border:1px solid #e1e8ed;border-radius:6px;display:grid;gap:12px;grid-template-columns:1fr auto auto;padding:12px}.material-name{color:#2c3e50;font-weight:500}.material-qty{color:#7f8c8d;font-size:14px}.material-price{color:#27ae60;font-weight:600}.modal-footer{background:#f8f9fa;border-radius:0 0 12px 12px;border-top:1px solid #eee;display:flex;gap:12px;justify-content:flex-end;padding:20px 24px}.primary-btn,.secondary-btn{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.primary-btn{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff}.primary-btn:hover{background:linear-gradient(135deg,#2980b9,#21618c);transform:translateY(-1px)}.secondary-btn{background:#95a5a6;color:#fff}.secondary-btn:hover{background:#7f8c8d}.add-materials-section{background:#f8f9fa;border:1px solid #e1e8ed;border-radius:8px;margin-top:24px;padding:16px}.add-materials-section h4{color:#2c3e50;font-size:16px;margin:0 0 16px}.material-search-container{position:relative}.material-search-input{border:2px solid #ddd;border-radius:6px;font-size:14px;padding:12px 16px;transition:border-color .2s;width:100%}.material-search-input:focus{border-color:#3498db;outline:none}.search-loading{color:#7f8c8d;font-size:14px;font-style:italic;padding:8px 12px}.search-results-dropdown{background:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 4px 12px #0000001a;left:0;max-height:200px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1001}.search-result-item{border-bottom:1px solid #f1f2f6;cursor:pointer;padding:12px 16px;transition:background-color .2s}.search-result-item:hover{background:#f8f9fa}.search-result-item:last-child{border-bottom:none}.result-name{color:#2c3e50;font-weight:500;margin-bottom:4px}.result-details{display:flex;font-size:13px;justify-content:space-between}.result-category{color:#7f8c8d}.result-price{color:#27ae60;font-weight:500}.no-results{color:#7f8c8d;font-style:italic;padding:12px 16px;text-align:center}.manual-modal-overlay{align-items:center;background:#000000b3;display:flex;height:100%;justify-content:center;left:0;overflow-y:auto;padding:20px;position:fixed;top:0;width:100%;z-index:2000}.manual-modal{animation:slideIn .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;max-height:90vh;max-width:900px;overflow-y:auto;width:100%}@keyframes slideIn{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.manual-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:2px solid #e1e8ed;border-radius:12px 12px 0 0;color:#fff;display:flex;justify-content:space-between;padding:20px 25px}.manual-header h3{font-size:20px;font-weight:600;margin:0}.close-modal-btn{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:24px;height:35px;justify-content:center;transition:all .2s ease;width:35px}.close-modal-btn:hover{background:#ffffff4d;transform:rotate(90deg)}.manual-content{padding:25px}.manual-section{border-bottom:1px solid #e1e8ed;margin-bottom:25px;padding-bottom:20px}.manual-section:last-child{border-bottom:none}.manual-section h4{align-items:center;color:#2c3e50;display:flex;font-size:16px;font-weight:600;gap:8px;margin:0 0 12px}.manual-section p{color:#34495e;line-height:1.6;margin:8px 0}.time-estimate{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;color:#fff;padding:15px;text-align:center}.time-estimate h4{color:#fff;justify-content:center}.time-estimate p{color:#fff;font-size:18px;margin:8px 0 0}.billable-note{background:linear-gradient(135deg,#27ae60,#2ecc71);box-shadow:0 2px 4px #27ae6033;color:#fff;font-weight:600}.billable-note,.non-billable-note{border-radius:12px;display:inline-block;font-size:12px;margin:0 0 12px;padding:4px 12px}.non-billable-note{background:#e9ecef;color:#6c757d;font-style:italic;font-weight:500}.installation-steps{counter-reset:step-counter;list-style:none;margin:0;padding:0}.installation-steps li{background:#f8f9fa;border-left:3px solid #667eea;border-radius:8px;counter-increment:step-counter;margin-bottom:10px;padding:12px 12px 12px 45px;position:relative;transition:all .2s ease}.installation-steps li:hover{background:#e9ecef;transform:translateX(3px)}.installation-steps li:before{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;content:counter(step-counter);display:flex;font-size:12px;font-weight:600;height:24px;justify-content:center;left:12px;position:absolute;top:50%;transform:translateY(-50%);width:24px}.key-points-list,.materials-list,.tools-list{list-style:none;margin:0;padding:0}.key-points-list li,.materials-list li,.tools-list li{align-items:center;background:#f8f9fa;border-left:3px solid #27ae60;border-radius:6px;display:flex;margin-bottom:8px;padding:10px 12px}.tools-list li:before{content:"🛠️";margin-right:10px}.materials-list li:before{content:"📦";margin-right:10px}.key-points-list li:before{content:"💡";margin-right:10px}.safety-section{background:#fff3cd;border:2px solid #ffc107;border-radius:8px;padding:15px}.safety-section h4{color:#856404}.safety-list{list-style:none;margin:0;padding:0}.safety-list li{align-items:center;background:#fff;border-left:3px solid #dc3545;border-radius:6px;color:#721c24;display:flex;margin-bottom:8px;padding:10px 12px}.safety-list li:before{content:"⚠️";margin-right:10px}.manual-source{background:#e9ecef;border-radius:6px;margin-top:10px;padding:12px;text-align:center}.manual-source a{color:#667eea;font-weight:500;text-decoration:none;transition:color .2s ease}.manual-source a:hover{color:#764ba2;text-decoration:underline}.manual-loading-overlay{align-items:center;background:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1999}.loading-spinner{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;padding:30px 40px}.loading-spinner p{color:#2c3e50;font-size:16px;font-weight:500;margin:0}.material-actions .manual-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;box-shadow:0 2px 4px #0000001a;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:all .2s ease;white-space:nowrap}.material-actions .manual-btn:hover{background:linear-gradient(135deg,#5568d3,#6941a3);box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}@media (max-width:768px){.manual-modal{max-height:100vh;max-width:100%}.manual-header,.manual-modal{border-radius:0}.manual-content{padding:15px}.installation-steps li{padding:10px 10px 10px 40px}}.calculation-view{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1200px;padding:20px}.section-header{margin-bottom:30px;text-align:center}.section-header h3{color:#2c5530;font-size:2rem;margin:0 0 10px}.section-header p{color:#666;font-size:1.1rem}.project-summary{background:#f8f9fa;border-radius:8px;margin-bottom:30px;padding:20px}.project-summary h4{color:#2c3e50;margin:0 0 16px}.summary-grid{grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.summary-item{border-bottom:1px solid #eee;padding:8px 0}.packages-section{background:linear-gradient(135deg,#e8f5e8,#f0f8f0);border:2px solid #28a745;border-radius:12px;margin-bottom:30px;padding:24px}.packages-section h4{color:#2c5530;margin:0 0 8px}.packages-section p{color:#555;font-size:.95rem;margin:0 0 20px}.packages-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));margin-bottom:20px}.package-item{background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.package-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.package-header h5{color:#2c3e50;font-size:1.1rem;margin:0}.package-type{background:#007bff;border-radius:4px;color:#fff;font-size:.8rem;padding:4px 8px;text-transform:uppercase}.package-description{color:#666;font-size:.9rem;line-height:1.4;margin-bottom:16px}.package-pricing{border-top:1px solid #eee;padding-top:16px}.pricing-row{display:flex;font-size:.9rem;justify-content:space-between;margin-bottom:8px}.pricing-row.total{border-top:1px solid #ddd;font-size:1rem;margin-top:12px;padding-top:8px}.profit-adjustment{align-items:center;background:#f8f9fa;border:1px solid #ddd;border-radius:6px;display:flex;gap:8px;margin:12px 0;padding:12px}.profit-adjustment label{color:#2c3e50;font-weight:500;min-width:120px}.profit-adjustment input{border:1px solid #ccc;border-radius:4px;font-size:.9rem;padding:4px 8px;text-align:center;width:60px}.profit-adjustment span{color:#007bff;font-weight:500}.materials-preview{border-top:1px solid #eee;margin-top:16px;padding-top:16px}.materials-preview h6{color:#2c3e50;font-size:.9rem;margin:0 0 8px}.materials-list{max-height:120px;overflow-y:auto}.material-item{color:#555;font-size:.85rem;line-height:1.3;margin-bottom:4px}.material-item small{color:#888}.more-materials{color:#666;font-size:.8rem;font-style:italic;margin-top:8px}.packages-total{border-top:2px solid #28a745;color:#28a745;font-size:1.2rem;padding:16px 0;text-align:right}.calculation-section{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:30px;padding:24px}.calculation-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.calculation-header h4{color:#2c3e50;margin:0}.calculate-btn{background:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:12px 24px;transition:background-color .3s}.calculate-btn:hover:not(:disabled){background:#0056b3}.calculate-btn:disabled{background:#6c757d;cursor:not-allowed}.calculation-results{margin-top:20px}.calculation-breakdown{grid-gap:16px;display:grid;gap:16px}.breakdown-section{border:1px solid #ddd;border-radius:6px;padding:16px}.breakdown-section h5{color:#2c3e50;font-size:1rem;margin:0 0 12px}.breakdown-item{display:flex;font-size:.9rem;justify-content:space-between;margin-bottom:8px}.breakdown-item.total-item{border-top:2px solid #007bff;font-size:1.1rem;font-weight:700;margin-top:12px;padding-top:12px}.total-amount{color:#007bff;font-size:1.2rem}@media (max-width:768px){.packages-grid,.summary-grid{grid-template-columns:1fr}.calculation-header{align-items:stretch;flex-direction:column;gap:16px}.profit-adjustment{flex-wrap:wrap}.profit-adjustment label{margin-bottom:8px;min-width:auto;width:100%}}*{box-sizing:border-box}.materials-list-view{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f6f7;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;min-height:100vh;padding:0;width:100%}.materials-header{background:#fff;border-bottom:1px solid #e0e0e0;box-shadow:0 1px 3px #00000014;padding:32px 24px}.materials-header h2{color:#1a1a1a;font-size:32px;font-weight:700;margin:0 0 8px}.materials-header p{color:#666;font-size:16px;font-weight:400;margin:0 0 24px}.materials-controls{display:flex;flex-direction:column;gap:16px}.action-controls{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.add-btn,.import-btn,.manual-scraper-btn,.refresh-btn{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 16px;transition:all .2s ease;white-space:nowrap}.add-btn{background:#27ae60;color:#fff}.add-btn:hover{background:#229954;box-shadow:0 2px 6px #27ae604d}.refresh-btn{background:#f0f0f0;border:1px solid #d0d0d0;color:#333}.refresh-btn:hover:not(:disabled){background:#e0e0e0}.refresh-btn:disabled{cursor:not-allowed;opacity:.6}.import-btn{background:#ff6b35;color:#fff}.import-btn:hover:not(:disabled){background:#e55a27}.import-btn:disabled{cursor:not-allowed;opacity:.6}.manual-scraper-btn{background:#9b59b6;color:#fff}.manual-scraper-btn:hover:not(:disabled){background:#8e44ad}.manual-scraper-btn:disabled{cursor:not-allowed;opacity:.6}.new-material-form{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:6px;margin-top:16px;padding:20px}.new-material-form h4{color:#1a1a1a;font-size:16px;font-weight:600;margin:0 0 16px}.form-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:16px}.form-grid input,.form-grid select{background:#fff;border:1px solid #d0d0d0;border-radius:4px;color:#333;font-size:14px;padding:10px 12px}.form-grid input:focus,.form-grid select:focus{border-color:#4a90e2;box-shadow:0 0 0 2px #4a90e233;outline:none}.form-actions{display:flex;gap:12px}.save-btn{background:#27ae60;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .2s ease}.save-btn:hover:not(:disabled){background:#229954}.save-btn:disabled{cursor:not-allowed;opacity:.6}.materials-summary{background:#fff;border-bottom:1px solid #e0e0e0;margin-bottom:0;padding:20px 24px}.summary-stats{gap:32px;margin-bottom:20px}.stat-item{display:flex;flex-direction:column;gap:4px}.stat-label{font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.stat-value{color:#1a1a1a}.pagination-controls{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.page-btn{background:#fff;border:1px solid #d0d0d0;border-radius:4px;color:#333;cursor:pointer;font-size:14px;font-weight:500;min-width:70px;padding:8px 14px;transition:all .2s ease}.page-btn:hover:not(:disabled){background:#f0f0f0;border-color:#999}.page-btn:disabled{cursor:not-allowed;opacity:.5}.page-info{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:4px;color:#666;font-size:14px;font-weight:500;padding:8px 16px}.items-per-page{background:#fff;border:1px solid #d0d0d0;border-radius:4px;color:#333;cursor:pointer;font-size:14px;padding:8px 12px}.items-per-page:focus{border-color:#4a90e2;box-shadow:0 0 0 2px #4a90e233;outline:none}.error-message{background:#fee;border-left:4px solid #c62828;border-radius:4px;color:#c62828;font-size:14px;font-weight:500;margin:16px 24px;padding:12px 24px}.empty-state,.loading-state{background:#fff;color:#666;margin:0;padding:60px 24px;text-align:center}.empty-state p,.loading-state p{font-size:16px;margin:8px 0}.materials-table-container{background:#fff;margin:0;overflow-x:auto;overflow-y:visible;padding:0;width:100%}.materials-table{border:1px solid #e0e0e0;border-bottom:none;border-right:none;display:table!important;font-size:14px;line-height:1.4;margin:0;padding:0;table-layout:fixed!important}.materials-table thead{background:#f5f6f7;border-bottom:2px solid #d0d0d0;display:table-header-group!important}.materials-table th{background:#f5f6f7;border-bottom:1px solid #d0d0d0;border-right:1px solid #e0e0e0;color:#1a1a1a;display:table-cell!important;font-size:13px;font-weight:700;letter-spacing:.5px;padding:12px 10px;text-align:center;text-transform:uppercase;vertical-align:middle}.materials-table th:last-child{border-right:none}.materials-table tbody{display:table-row-group!important}.materials-table tr{border-bottom:1px solid #e0e0e0;display:table-row!important;height:auto}.materials-table tbody tr:nth-child(2n){background:#fafafa}.materials-table tbody tr:hover{background:#f0f8ff}.materials-table td{background:inherit;border-bottom:1px solid #e0e0e0;border-right:1px solid #e0e0e0;color:#333;display:table-cell!important;height:auto;line-height:1.4;padding:10px;vertical-align:middle}.materials-table td:last-child{border-right:none}.materials-table td:first-child,.materials-table th:first-child{word-wrap:break-word!important;padding-left:12px!important;text-align:left!important;white-space:normal!important;width:28%!important}.materials-table td:nth-child(2),.materials-table th:nth-child(2){text-align:center!important;width:10%!important}.materials-table td:nth-child(3),.materials-table th:nth-child(3){text-align:center!important;width:13%!important}.materials-table td:nth-child(4),.materials-table th:nth-child(4){text-align:center!important;width:10%!important}.materials-table td:nth-child(5),.materials-table td:nth-child(6),.materials-table th:nth-child(5),.materials-table th:nth-child(6){padding-right:12px!important;text-align:right!important;width:10%!important}.materials-table td:nth-child(7),.materials-table th:nth-child(7){text-align:center!important;width:7%!important}.materials-table td:nth-child(8),.materials-table th:nth-child(8){text-align:center!important;width:12%!important}.bygma-badge,.category-badge,.product-code-badge{border-radius:3px;display:inline-block;font-size:12px;font-weight:500;padding:4px 8px;white-space:nowrap}.product-code-badge{background:#f0f0f0;border:1px solid #e0e0e0;color:#555;font-family:Courier New,monospace}.category-badge{background:#e3f2fd;border:1px solid #90caf9;color:#1976d2}.bygma-badge{background:#ff6b35;border:none;color:#fff;font-size:11px;letter-spacing:.5px;padding:4px 8px;text-transform:uppercase}.price-cell{font-feature-settings:"tnum"!important;font-variant-numeric:tabular-nums!important;white-space:nowrap!important}.actions{align-items:center;display:flex!important;flex-wrap:wrap;gap:6px;justify-content:center;text-align:center!important}.cancel-edit-btn,.delete-btn,.edit-btn,.save-edit-btn{background:#fff;border:1px solid #d0d0d0;border-radius:4px;box-shadow:0 1px 3px #0000001a;cursor:pointer;font-size:16px;padding:6px 10px;transition:all .2s ease}.edit-btn{background:#e3f2fd;border-color:#90caf9;color:#1976d2}.edit-btn:hover{background:#bbdefb;box-shadow:0 2px 6px #1976d233}.delete-btn{background:#ffebee;border-color:#ef9a9a;color:#c62828}.delete-btn:hover{background:#ffcdd2;box-shadow:0 2px 6px #c6282833}.save-edit-btn{background:#e8f5e9;border-color:#a5d6a7;color:#2e7d32}.save-edit-btn:hover{background:#c8e6c9}.cancel-edit-btn{background:#f5f5f5;border-color:#bdbdbd;color:#666}.cancel-edit-btn:hover{background:#eee}.edit-input,.edit-select{background:#fff!important;border:1px solid #d0d0d0;border-radius:3px;color:#333;font-family:inherit;font-size:14px;padding:6px 8px;width:100%}.edit-input:focus,.edit-select:focus{background:#f9f9ff!important;border-color:#4a90e2;box-shadow:0 0 0 2px #4a90e233;outline:none}.edit-input:-webkit-autofill,.edit-input:-webkit-autofill:focus,.edit-input:-webkit-autofill:hover{-webkit-text-fill-color:#333!important;background-color:#fff!important;-webkit-box-shadow:inset 0 0 0 1000px #fff!important}.table-filter-controls{background:#f9f9f9;border-bottom:1px solid #e0e0e0;padding:16px 20px}.filter-row,.table-filter-controls{display:flex;flex-wrap:wrap;gap:20px}.filter-row{align-items:flex-end;width:100%}.filter-group,.sort-group{align-items:flex-end;display:flex;gap:16px}.filter-group label,.sort-group label{display:flex;flex-direction:column;gap:6px}.filter-group label span,.sort-group label span{color:#333;font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.filter-group input,.filter-group select,.sort-group select{background:#fff;border:1px solid #d0d0d0;border-radius:4px;color:#333;font-size:14px;min-width:140px;padding:8px 12px}.filter-group input:focus,.filter-group select:focus,.sort-group select:focus{border-color:#4a90e2;box-shadow:0 0 0 2px #4a90e233;outline:none}.search-container{background:#fff;border:1px solid #d0d0d0;border-radius:4px;display:flex;min-width:240px;overflow:hidden}.search-container input{border:none;color:#333;flex:1 1;font-size:14px;padding:8px 12px}.search-container input:focus{background:#f9f9ff;outline:none}.search-btn{background:#4a90e2;border:none;color:#fff;cursor:pointer;font-weight:600;padding:8px 12px;transition:background .2s ease}.search-btn:hover{background:#2e5c8a}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.modal-content{background:#fff;border-radius:8px;box-shadow:0 10px 40px #0003;max-height:80vh;max-width:600px;overflow-y:auto;width:90%}.modal-header{border-bottom:1px solid #e0e0e0}.modal-header h3{color:#1a1a1a;font-size:18px;font-weight:700}.close-btn{align-items:center;color:#999;display:flex;font-size:28px;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.close-btn:hover{background:#f0f0f0;color:#333}.modal-body{padding:24px}.manual-scraper-input{margin-bottom:20px}.manual-scraper-input label{color:#1a1a1a;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.manual-scraper-input .input-group{display:flex;gap:10px}.manual-scraper-input input{border:1px solid #d0d0d0;border-radius:4px;flex:1 1;font-family:Courier New,monospace;font-size:14px;padding:10px 12px}.manual-scraper-input input:focus{border-color:#9b59b6;box-shadow:0 0 0 2px #9b59b633;outline:none}.scrape-btn{background:#9b59b6;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:600;padding:10px 16px;transition:background .2s ease;white-space:nowrap}.scrape-btn:hover:not(:disabled){background:#8e44ad}.scrape-btn:disabled{cursor:not-allowed;opacity:.6}.scraper-console{background:#1e1e1e;border-radius:4px;box-shadow:0 2px 8px #0003;display:flex;flex-direction:column;margin:20px 0;max-height:400px;overflow:hidden}.console-header{background:#2d2d2d;border-bottom:1px solid #3d3d3d;color:#9b59b6;font-size:12px;font-weight:600;padding:10px 15px}.console-content{color:#d4d4d4;font-family:Courier New,monospace;font-size:12px;line-height:1.6;max-height:320px;overflow-y:auto;padding:15px}.console-line{margin:2px 0;white-space:pre-wrap;word-break:break-word}.reset-btn{background:#fff;border:2px solid #9b59b6;border-radius:4px;color:#9b59b6;cursor:pointer;font-weight:600;margin-top:16px;padding:10px 20px;transition:all .2s ease}.reset-btn:hover{background:#9b59b6;color:#fff}.file-upload-section{margin-bottom:20px}.file-label{background:#f9f9f9;border:2px dashed #d0d0d0;border-radius:4px;color:#666;cursor:pointer;display:block;font-weight:500;padding:20px;text-align:center;transition:all .2s ease}.file-label:hover{background:#fff5f2;border-color:#ff6b35;color:#ff6b35}#bygma-csv-input{display:none}.upload-btn{background:#ff6b35;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px;transition:all .2s ease;width:100%}.upload-btn:hover:not(:disabled){background:#e55a27}.upload-btn:disabled{cursor:not-allowed;opacity:.6}.import-status{padding:20px;text-align:center}.loading-spinner{border:4px solid #f0f0f0;border-top-color:#ff6b35;height:50px;margin:0 auto 16px;width:50px}.import-error,.import-success{padding:20px;text-align:center}.import-error h4,.import-success h4{color:#1a1a1a;font-size:16px;font-weight:700;margin:0 0 16px}.import-stats{background:#f9f9f9;border-radius:4px;margin:20px 0;padding:16px;text-align:left}.import-stats p{color:#333;font-size:14px;margin:8px 0}.retry-btn{background:#fff;border:1px solid #d0d0d0;color:#1a1a1a;font-weight:600;margin-top:16px;transition:all .2s ease}.retry-btn:hover{background:#f0f0f0;border-color:#999}@media (max-width:1024px){.materials-table{font-size:13px}.materials-table td,.materials-table th{padding:8px}}@media (max-width:768px){.materials-header{padding:20px 16px}.materials-header h2{font-size:24px}.materials-summary{padding:16px}.action-controls{align-items:stretch;flex-direction:column}.add-btn,.import-btn,.manual-scraper-btn,.refresh-btn{width:100%}.table-filter-controls{flex-direction:column;padding:12px 16px}.filter-group,.filter-row,.sort-group{flex-direction:column;width:100%}.filter-group label,.sort-group label{width:100%}.filter-group input,.filter-group select,.search-container,.sort-group select{min-width:auto;width:100%}.summary-stats{gap:16px}.materials-table-container{overflow-x:auto}.materials-table{min-width:900px}.modal-content{width:95%}}@media (max-width:480px){.materials-list-view{padding:0}.materials-header{padding:16px}.materials-header h2{font-size:20px}.materials-table{font-size:12px;min-width:600px}.materials-table td,.materials-table th{padding:6px}.summary-stats{align-items:flex-start;flex-direction:column;gap:12px}}.completed-quotes-view{margin:0 auto;max-width:1400px;padding:20px}.quotes-header{margin-bottom:30px}.quotes-header h2{color:#2c3e50;margin-bottom:10px}.quotes-header p{color:#7f8c8d;margin-bottom:20px}.quotes-controls{gap:20px;justify-content:space-between;margin-bottom:20px}.filter-controls,.quotes-controls{align-items:center;display:flex;flex-wrap:wrap}.filter-controls{gap:15px}.filter-controls label{align-items:center;display:flex;font-weight:500;gap:8px}.filter-controls select{background:#fff;border:1px solid #ddd;border-radius:4px;min-width:120px;padding:8px 12px}.refresh-btn{background:#3498db;border-radius:4px;padding:10px 16px;transition:background-color .2s}.refresh-btn:hover{background:#2980b9}.quotes-summary{background:#f8f9fa;border-radius:8px;margin-bottom:20px;padding:20px}.summary-stats{display:flex;flex-wrap:wrap;gap:30px;justify-content:center}.stat-label{color:#7f8c8d;display:block;font-size:14px;margin-bottom:5px}.stat-value{color:#2c3e50;display:block;font-size:24px}.quotes-table-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.quotes-table{border-collapse:collapse;width:100%}.quotes-table th{background:#34495e;color:#fff;font-size:14px;font-weight:600;padding:15px 12px;text-align:left}.quotes-table td{border-bottom:1px solid #ecf0f1;padding:12px;vertical-align:middle}.quote-row:hover{background:#f8f9fa}.quote-row.newest-quote{background:#e8f5e8;border-left:4px solid #27ae60;transition:all .3s ease}.quote-row.newest-quote:hover{background:#d5f4d5}.project-name{font-weight:500;max-width:250px}.quote-type{border-radius:12px;display:inline-block;font-size:12px;font-weight:500;padding:4px 8px}.quote-type.static{background:#e8f5e8;color:#27ae60}.quote-type.ai{background:#e3f2fd;color:#2196f3}.quote-total{color:#27ae60;font-weight:600}.ai-cost{color:#7f8c8d;font-size:14px}.actions{display:flex;gap:8px}.delete-btn,.download-btn,.view-btn{border:none;border-radius:4px;cursor:pointer;font-size:14px;padding:6px 10px;transition:background-color .2s}.download-btn{background:#95a5a6}.download-btn:hover{background:#7f8c8d}.delete-btn{background:#e74c3c}.delete-btn:hover{background:#c0392b}.empty-state{color:#7f8c8d}.empty-state p{font-size:18px;margin:0}.loading-state{padding:60px 20px;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:3px solid #f3f3f3;border-radius:50%;border-top-color:#3498db;height:40px;margin:0 auto 20px;width:40px}.error-message{background:#f8d7da;border:1px solid #f5c6cb;border-radius:6px;color:#721c24}.quote-modal-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.quote-modal{background:#fff;border-radius:8px;box-shadow:0 10px 30px #0000004d;max-height:90vh;max-width:800px;overflow-y:auto;width:100%}.modal-header{align-items:center;border-bottom:1px solid #ecf0f1;display:flex;justify-content:space-between;padding:20px 24px}.modal-header h3{color:#2c3e50;margin:0}.close-btn{background:none;border:none;border-radius:4px;color:#7f8c8d;cursor:pointer;font-size:20px;padding:5px;transition:background-color .2s}.close-btn:hover{background:#ecf0f1}.modal-content{padding:24px}.quote-meta{background:#f8f9fa;border-radius:6px;margin-bottom:20px;padding:16px}.meta-row{display:flex;margin-bottom:8px}.meta-row:last-child{margin-bottom:0}.meta-row strong{color:#34495e;min-width:120px}.quote-text h4{color:#2c3e50;margin-bottom:12px}.quote-content{background:#f8f9fa;border:1px solid #e9ecef}.modal-actions{border-top:1px solid #ecf0f1;display:flex;gap:12px;justify-content:flex-end;padding:20px 24px}.modal-actions .download-btn{background:#27ae60}.modal-actions .download-btn:hover{background:#229954}.modal-actions .close-btn{background:#95a5a6;border-radius:4px;color:#fff;padding:10px 16px}.modal-actions .close-btn:hover{background:#7f8c8d}@media (max-width:768px){.completed-quotes-view{padding:15px}.quotes-controls{align-items:stretch;flex-direction:column}.filter-controls{justify-content:center}.summary-stats{gap:15px}.quotes-table-container{overflow-x:auto}.quotes-table{min-width:700px}.quote-modal{margin:10px;max-height:95vh}.modal-content{padding:16px}.modal-actions{flex-direction:column;padding:16px}}.enhanced-table{min-width:1200px}.enhanced-table th{background:linear-gradient(135deg,#2c3e50,#34495e);color:#fff;font-weight:600;padding:15px 10px;text-align:left}.enhanced-table .quote-row:hover{background:#f8f9fa;box-shadow:0 4px 8px #0000001a;transform:translateY(-1px)}.date-cell{width:120px}.date-info{display:flex;flex-direction:column;gap:4px}.date-main{color:#2c3e50;font-weight:600}.quote-id{background:#ecf0f1;border-radius:10px;color:#7f8c8d;font-size:11px;padding:2px 6px;text-align:center}.project-cell{min-width:200px}.project-info{display:flex;flex-direction:column;gap:4px}.project-name{color:#2c3e50;font-weight:600;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-type{background:#3498db1a;border-radius:10px;color:#3498db;display:inline-block;font-size:12px;padding:2px 6px;width:-webkit-fit-content;width:fit-content}.project-description{color:#7f8c8d;font-size:11px;font-style:italic}.customer-cell{min-width:180px}.customer-info{display:flex;flex-direction:column;gap:3px}.customer-name{color:#2c3e50;font-weight:600;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.customer-email,.customer-phone{color:#7f8c8d;font-size:11px}.measurements-cell{min-width:140px}.measurements-info{display:flex;flex-direction:column;gap:3px}.area,.roof-type,.work-hours,.workers{background:#2ecc711a;border-radius:8px;color:#2c3e50;font-size:12px;padding:2px 6px;width:-webkit-fit-content;width:fit-content}.materials-cell{min-width:120px}.materials-info{display:flex;flex-direction:column;gap:4px}.material-count{color:#e67e22;font-size:12px;font-weight:600}.material-categories{display:flex;flex-direction:column;gap:2px}.material-category{background:#e67e221a;border-radius:6px;color:#e67e22;font-size:10px;padding:1px 4px;width:-webkit-fit-content;width:fit-content}.more-categories{color:#95a5a6;font-size:10px;font-style:italic}.pricing-cell{min-width:140px}.pricing-info{display:flex;flex-direction:column;gap:3px}.total-price{color:#27ae60;font-size:14px;font-weight:700}.labor-cost,.material-cost{color:#7f8c8d;font-size:11px}.quote-badge{border-radius:8px;font-size:10px;margin-top:4px;padding:2px 6px;width:-webkit-fit-content;width:fit-content}.quote-badge.static{background:#95a5a633;color:#95a5a6}.quote-badge.ai{background:#9b59b633;color:#9b59b6}.ai-cost-badge{background:#3498db1a;border-radius:4px;color:#3498db;font-size:11px;font-weight:500;padding:2px 6px;width:-webkit-fit-content;width:fit-content}.quote-status-section{align-items:flex-start;display:flex;flex-direction:column;gap:4px}.accepted-badge{background:#27ae6033;color:#27ae60}.accepted-badge,.rejected-badge{border-radius:8px;font-size:10px;font-weight:600;padding:2px 6px;width:-webkit-fit-content;width:fit-content}.rejected-badge{background:#e74c3c33;color:#e74c3c}.accepted-date,.rejected-date{color:#7f8c8d;font-size:9px;font-style:italic}.accepted-status{color:#27ae60;font-weight:600}.pending-status{color:#f39c12;font-weight:600}.actions-cell{min-width:160px}.actions-buttons{display:flex;flex-direction:column;gap:4px}.action-btn{border:none;border-radius:4px;cursor:pointer;font-size:11px;font-weight:500;padding:4px 8px;text-align:left;transition:all .2s;width:100%}.view-btn{background:#3498db;color:#fff}.view-btn:hover{background:#2980b9;transform:scale(1.02)}.pdf-btn{background:#e74c3c;color:#fff}.pdf-btn:hover{background:#c0392b;transform:scale(1.02)}.generate-pdf-btn{background:#9b59b6;color:#fff;font-size:.85rem}.generate-pdf-btn:hover:not(:disabled){background:#8e44ad;transform:scale(1.02)}.accept-btn{background:#27ae60;color:#fff}.accept-btn:hover{background:#229954;transform:scale(1.02)}.unaccept-btn{background:#e67e22;color:#fff}.unaccept-btn:hover{background:#d35400;transform:scale(1.02)}.reject-btn{background:#e74c3c;color:#fff}.reject-btn:hover{background:#c0392b;transform:scale(1.02)}.unreject-btn{background:#f39c12;color:#fff}.unreject-btn:hover{background:#e67e22;transform:scale(1.02)}.generate-pdf-btn:hover{background:#8e44ad;transform:scale(1.02)}.generate-pdf-btn:disabled{background:#bdc3c7;cursor:not-allowed;transform:none}.download-btn{background:#27ae60;color:#fff}.download-btn:hover{background:#229954;transform:scale(1.02)}.delete-btn{background:#e67e22;color:#fff}.delete-btn:hover{background:#d35400;transform:scale(1.02)}.enhanced-modal{max-height:90vh;max-width:900px;width:90vw}.overview-section{background:#f8f9fa;border-radius:8px;margin-bottom:16px;padding:16px}.overview-section h4{border-bottom:2px solid #3498db;color:#2c3e50;font-size:16px;margin:0 0 12px;padding-bottom:8px}.info-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.info-item{display:flex;flex-direction:column;gap:4px}.info-item.full-width{grid-column:1/-1}.info-item .label{color:#7f8c8d;font-size:12px;font-weight:600;text-transform:uppercase}.info-item .value{color:#2c3e50;font-size:14px;font-weight:500}.material-categories-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.category-tag{background:#e67e221a;border-radius:12px;color:#e67e22;font-size:12px;font-weight:500;padding:4px 8px}.pricing-breakdown{display:flex;flex-direction:column;gap:8px}.price-item{align-items:center;background:#fff;border-left:4px solid #3498db;border-radius:6px;display:flex;justify-content:space-between;padding:8px 12px}.price-item.total-price{background:#27ae600d;border-left-color:#27ae60}.price-label{font-weight:500}.price-label,.price-value{color:#2c3e50;font-size:14px}.price-value{font-weight:600}.price-value.total{color:#27ae60;font-size:18px}.quote-text-section{background:#fff;border:1px solid #ecf0f1;border-radius:8px;overflow:hidden}.quote-text-section h4{background:#34495e;color:#fff;margin:0;padding:12px 16px}.quote-content{background:#fafafa;font-size:12px;line-height:1.4;margin:0;max-height:400px;padding:16px}@media (max-width:1200px){.enhanced-table{min-width:1000px}.info-grid{grid-template-columns:1fr}}@media (max-width:768px){.enhanced-table{min-width:800px}.enhanced-modal{max-height:95vh;width:95vw}.overview-section{padding:12px}.actions-buttons{flex-direction:row;flex-wrap:wrap}.action-btn{flex:1 1;min-width:70px}}.calendar-grid-container{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;padding:20px;text-rendering:optimizeLegibility}.calendar-grid-header{border-bottom:2px solid #e5e7eb;margin-bottom:20px;padding-bottom:15px}.calendar-grid-title h2{color:#1e293b;font-size:1.5rem;font-weight:600;margin:0 0 5px}.week-range{color:#64748b;font-size:.95rem;margin:0}.calendar-grid-nav{display:flex;gap:10px;margin:15px 0}.calendar-grid-nav .nav-btn{background:#64748b;border:1px solid #475569;border-radius:6px;box-shadow:0 2px 4px #0000001a;color:#fff!important;cursor:pointer;font-size:.9rem;font-weight:600;padding:8px 16px;transition:all .2s}.calendar-grid-nav .nav-btn:hover{background:#475569;border-color:#334155;box-shadow:0 4px 6px #00000026;color:#fff!important;transform:translateY(-1px)}.calendar-grid-nav .today-btn{background:#3b82f6;border-color:#2563eb;color:#fff!important}.calendar-grid-nav .today-btn:hover{background:#2563eb;color:#fff!important}.calendar-filters-row{display:flex;gap:20px;margin-top:15px}.filter-group{align-items:center;display:flex;gap:10px}.filter-group label{color:#475569;font-size:.9rem;font-weight:500}.filter-select{background:#fff;border:1px solid #cbd5e1;border-radius:6px;cursor:pointer;font-size:.9rem;padding:6px 12px}.calendar-settings-panel{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:20px;overflow:hidden}.settings-section{border-bottom:1px solid #e2e8f0}.settings-section:last-child{border-bottom:none}.settings-btn{background:#0000;border:none;color:#334155;cursor:pointer;font-size:.95rem;padding:12px 16px;text-align:left;transition:background .2s;width:100%}.settings-btn:hover{background:#e2e8f0}.settings-section.expanded{background:#fff}.settings-header{color:#1e293b;cursor:pointer;font-weight:500;padding:12px 16px;-webkit-user-select:none;user-select:none}.settings-content{border-top:1px solid #e2e8f0;padding:16px}.status-options{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}.status-checkbox{align-items:center;border-radius:6px;cursor:pointer;display:flex;gap:8px;padding:8px;transition:background .2s}.status-checkbox:hover{background:#f1f5f9}.status-checkbox input[type=checkbox]{cursor:pointer;height:16px;width:16px}.status-indicator{border:1px solid #0000001a;border-radius:3px;height:12px;width:12px}.calendar-grid-main{border:1px solid #e2e8f0;border-radius:8px;overflow-x:auto}.calendar-grid-days-header{background:#f8fafc;border-bottom:2px solid #cbd5e1;display:grid;grid-template-columns:200px repeat(7,1fr);position:-webkit-sticky;position:sticky;top:0;z-index:10}.employee-header-cell{align-items:center;border-right:1px solid #e2e8f0;color:#1e293b;display:flex;font-weight:600;padding:12px 16px}.day-header-cell{border-right:1px solid #e2e8f0;min-width:120px;padding:12px;text-align:center}.day-header-cell:last-child{border-right:none}.day-header-cell.today{background:#dbeafe;font-weight:600}.day-name{color:#475569;margin-bottom:4px;text-transform:capitalize}.day-date{color:#64748b;font-size:.85rem}.calendar-grid-rows{background:#fff}.calendar-grid-row{border-bottom:1px solid #e2e8f0;display:grid;grid-template-columns:200px repeat(7,1fr)}.calendar-grid-row:last-child{border-bottom:none}.employee-cell{background:#fafafa;border-right:1px solid #e2e8f0;display:flex;flex-direction:column;justify-content:center;padding:12px 16px}.employee-init{color:#1e293b;font-size:.85rem;font-weight:700;margin-bottom:4px}.employee-name{color:#475569;font-size:.9rem}.day-cell{background:#fff;border-right:1px solid #e2e8f0;min-height:80px;padding:8px;position:relative}.day-cell:last-child{border-right:none}.day-cell.today{background:#f0f9ff}.day-cell.empty{background:#fafafa}.empty-indicator{align-items:center;display:flex;height:100%;justify-content:center;min-height:60px}.empty-text{color:#94a3b8;font-size:.8rem;font-style:italic}.entries-container{display:flex;flex-direction:column;gap:4px}.calendar-entry{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;border:1px solid #0003;border-radius:4px;box-shadow:0 1px 3px #0000001f;color:#1e293b;cursor:pointer;font-size:.813rem;font-weight:600;letter-spacing:-.01em;line-height:1.35;padding:7px 9px;transition:transform .1s,box-shadow .1s}.calendar-entry:hover{border-color:#0000004d;box-shadow:0 4px 12px #00000040;transform:translateY(-1px);z-index:5}.calendar-entry.type-svend{background-color:#d2d6d4;border-color:#a8ada9;color:#1e293b}.calendar-entry.type-laerling-1{background-color:#d4d9d6;border-color:#aab0ac;color:#1e293b}.calendar-entry.type-laerling-4{background-color:#c9c9c9;border-color:#9f9f9f;color:#1e293b}.calendar-entry.type-ferie{background-color:gold;border-color:#d4af37;color:#1e293b;font-weight:700}.calendar-entry.type-moede{background-color:#dc2626;border-color:#991b1b;color:#fff;font-weight:600}.calendar-entry.type-formandstimer{background-color:#10b981;border-color:#059669;color:#fff;font-weight:600}.calendar-entry.type-planlagt{background-color:#2563eb;border-color:#1e40af;color:#fff;font-weight:600}.calendar-entry.type-ikke-fakturerbare{background-color:#c3c4c9;border-color:#999aa0;color:#1e293b}.calendar-entry.type-feriefridag{background-color:#f59e0b;border-color:#d97706;color:#fff;font-weight:600}.calendar-entry.type-ukendt{background-color:#9ca3af;border-color:#6b7280;color:#fff}.calendar-entry.personal{border-style:dashed;border-width:2px}.entry-time{background:#ffffff40;border-radius:3px;display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:-.01em;margin-bottom:3px;padding:2px 6px}.type-feriefridag .entry-time,.type-formandstimer .entry-time,.type-moede .entry-time,.type-planlagt .entry-time,.type-ukendt .entry-time{background:#ffffff4d;color:#fff}.entry-info{align-items:center;display:flex;flex-wrap:wrap;gap:4px;justify-content:space-between;margin-bottom:4px}.entry-case{background:#0003;border-radius:3px;font-size:.75rem;font-weight:700;padding:2px 6px}.type-feriefridag .entry-case,.type-formandstimer .entry-case,.type-moede .entry-case,.type-planlagt .entry-case,.type-ukendt .entry-case{background:#ffffff4d;color:#fff}.entry-status{font-size:.7rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.entry-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;font-size:.813rem;font-weight:700;letter-spacing:-.01em;line-height:1.3;margin-bottom:3px;overflow:hidden;text-overflow:ellipsis}.type-feriefridag .entry-description,.type-formandstimer .entry-description,.type-moede .entry-description,.type-planlagt .entry-description,.type-ukendt .entry-description{font-weight:800}.entry-duration{background:#ffffff40;border-radius:3px;display:inline-block;font-size:.75rem;letter-spacing:-.01em;padding:2px 6px}.type-feriefridag .entry-duration,.type-formandstimer .entry-duration,.type-moede .entry-duration,.type-planlagt .entry-duration,.type-ukendt .entry-duration{background:#ffffff4d;color:#fff}.calendar-grid-footer{border-top:1px solid #e2e8f0;margin-top:20px;padding-top:15px}.footer-info{color:#64748b;display:flex;font-size:.9rem;gap:30px}.footer-info span{align-items:center;display:flex;gap:6px}@media (max-width:1400px){.calendar-grid-days-header,.calendar-grid-row{grid-template-columns:180px repeat(7,minmax(100px,1fr))}.entry-description{-webkit-line-clamp:1}}@media (max-width:1024px){.calendar-grid-days-header,.calendar-grid-row{grid-template-columns:150px repeat(7,minmax(90px,1fr))}.status-options{grid-template-columns:1fr}}@media print{.calendar-filters-row,.calendar-grid-nav,.settings-panel{display:none}.calendar-grid-container{box-shadow:none}.calendar-entry{break-inside:avoid;page-break-inside:avoid}}.planning-dashboard{background-color:#f8fafc;margin:0 auto;max-width:1400px;min-height:100vh;padding:20px}.morning-meeting-view{max-width:100%;padding:0}.view-selector{display:flex;gap:10px;justify-content:center;margin-bottom:30px}.view-btn{background:#fff;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;font-weight:600;padding:12px 24px;transition:all .2s}.view-btn:hover{background-color:#f1f5f9;border-color:#3b82f6}.view-btn.active{background-color:#3b82f6;border-color:#3b82f6;color:#fff}.morning-meeting-dashboard{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000000d;padding:30px}.meeting-header{align-items:center;border-bottom:2px solid #f1f5f9;display:flex;justify-content:space-between;margin-bottom:40px;padding-bottom:20px}.date-section h2{color:#1e293b;font-size:2.5rem;font-weight:700;margin:0}.meeting-subtitle{color:#64748b;font-size:1.2rem;margin:5px 0 0}.stats-section{display:flex;gap:20px}.stat-card{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);min-width:120px}.stat-number{color:#3b82f6;font-size:2rem;font-weight:700;margin-bottom:5px}.stat-label{color:#64748b;font-size:.9rem;font-weight:500}.schedule-section{margin-bottom:40px}.section-title{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-left:4px solid #3b82f6;border-radius:8px;color:#1e293b;font-size:1.5rem;font-weight:700;margin-bottom:20px;padding:15px 20px}.schedule-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.schedule-grid.preview{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.schedule-item{background:#fff;border:2px solid #e2e8f0;border-radius:8px;box-shadow:0 2px 8px #0000000d;display:flex;gap:15px;padding:20px;transition:all .2s}.schedule-item:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-1px)}.schedule-item.today{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-color:#22c55e}.schedule-item.tomorrow{background:linear-gradient(135deg,#fffbeb,#fef3c7);border-color:#f59e0b}.employee-badge{align-items:center;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:1.2rem;font-weight:700;height:50px;justify-content:center;text-shadow:0 1px 2px #0003;width:50px}.schedule-details{flex:1 1}.schedule-time{color:#1e293b;font-size:1.1rem;font-weight:600;margin-bottom:5px}.schedule-employee{color:#475569;font-weight:600;margin-bottom:5px}.schedule-description{color:#64748b;font-size:.9rem}.no-tasks{color:#64748b;font-size:1.2rem;grid-column:1/-1;padding:40px;text-align:center}.no-tasks-icon{display:block;font-size:3rem;margin-bottom:10px}.workload-section{margin-bottom:40px}.employee-workload-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.employee-card{background:#fff;border:2px solid #e2e8f0;border-radius:8px;box-shadow:0 2px 8px #0000000d;padding:20px;transition:all .2s}.employee-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-1px)}.employee-card.active{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-color:#22c55e}.employee-avatar{font-size:1.4rem;height:60px;margin-bottom:15px;text-shadow:0 1px 2px #0003;width:60px}.employee-name{color:#1e293b;font-size:1.2rem;font-weight:600;margin-bottom:10px}.employee-tasks{display:flex;gap:15px;margin-bottom:10px}.task-count{border-radius:4px;font-size:.9rem;font-weight:500;padding:4px 8px}.task-count.today{background:#dcfce7;color:#16a34a}.task-count.tomorrow{background:#fef3c7;color:#d97706}.employee-status{border-radius:6px;font-weight:600;padding:8px 12px;text-align:center}.employee-status.active{background:#fecaca;color:#dc2626}.employee-status.available{background:#dcfce7;color:#16a34a}.morning-meeting-simple{background:#f8fafc;min-height:100vh;padding:30px}.simple-header{margin-bottom:40px;text-align:center}.meeting-title{color:#1e293b;font-size:3rem;font-weight:800;margin-bottom:20px;text-shadow:0 2px 4px #0000001a}.quick-stats{display:flex;gap:30px;justify-content:center}.stat-badge{background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:50px;box-shadow:0 4px 12px #3b82f64d;color:#fff;font-size:1.2rem;font-weight:600;padding:15px 30px}.employee-assignments{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));margin-bottom:40px}.employee-card-large{background:#fff;border-radius:16px;box-shadow:0 8px 24px #0000001a;padding:30px;transition:all .3s ease}.employee-card-large.busy{background:linear-gradient(135deg,#fef2f2,#fff);border-left:8px solid #ef4444}.employee-card-large.available{background:linear-gradient(135deg,#f0fdf4,#fff);border-left:8px solid #22c55e}.employee-card-large:hover{box-shadow:0 12px 32px #00000026;transform:translateY(-4px)}.employee-header{align-items:center;display:flex;gap:20px;margin-bottom:25px}.employee-avatar-big{align-items:center;border:4px solid #fff;border-radius:50%;box-shadow:0 4px 12px #0003;color:#fff;display:flex;font-size:2rem;font-weight:800;height:80px;justify-content:center;text-shadow:0 2px 4px #0000004d;width:80px}.employee-name-big{color:#1e293b;font-size:1.8rem;font-weight:700;margin:0 0 8px}.employee-status-big{border-radius:8px;font-size:1.2rem;font-weight:600;padding:8px 16px}.employee-card-large.busy .employee-status-big{background:#fecaca;color:#dc2626}.employee-card-large.available .employee-status-big{background:#dcfce7;color:#16a34a}.today-tasks{margin-top:20px}.today-tasks h3{color:#374151;font-size:1.3rem;font-weight:700;margin-bottom:15px}.task-simple{background:#f8fafc;border-left:4px solid #3b82f6;border-radius:8px;display:flex;flex-direction:column;gap:8px;margin-bottom:12px;padding:15px}.task-time-simple{color:#1e293b;font-size:1.1rem;font-weight:600}.task-desc-simple{color:#64748b;font-size:1rem}.more-tasks{background:#e2e8f0;border-radius:6px;color:#475569;font-weight:500;padding:10px;text-align:center}.no-tasks-today{color:#64748b;padding:30px;text-align:center}.no-tasks-today p{font-size:1.1rem;margin:8px 0}.availability-note{color:#16a34a;font-weight:600}.meeting-footer{background:#fff;border-radius:16px;box-shadow:0 4px 12px #0000001a;display:flex;gap:40px;justify-content:center;padding:30px}.footer-stat{color:#475569;font-size:1.1rem;text-align:center}.footer-stat strong{color:#1e293b}@media (max-width:1200px){.employee-assignments{gap:25px;grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.meeting-title{font-size:2.5rem}}@media (max-width:768px){.morning-meeting-simple{padding:20px}.meeting-title{font-size:2rem}.quick-stats{align-items:center;flex-direction:column;gap:15px}.employee-assignments{grid-template-columns:1fr}.meeting-footer{flex-direction:column;gap:20px}.employee-card-large{padding:20px}.employee-header{flex-direction:column;gap:15px;text-align:center}}.planning-dashboard.error,.planning-dashboard.loading{align-items:center;display:flex;justify-content:center;min-height:60vh}.loading-spinner{text-align:center}.spinner{animation:spin 1s linear infinite;border:4px solid #e2e8f0;border-radius:50%;border-top-color:#3b82f6;height:40px;margin:0 auto 15px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-message{background:#fff;border-left:4px solid #ef4444;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:30px}.error-message h3{color:#dc2626;margin-bottom:10px}.retry-btn{background:#3b82f6;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;margin-top:15px;padding:10px 20px}.retry-btn:hover{background:#2563eb}.dashboard-header{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:30px;padding:30px;position:relative;text-align:center}.dashboard-header h1{color:#1e293b;font-size:2.2em;font-weight:700;margin-bottom:8px}.dashboard-header p{color:#64748b;font-size:1.1em;margin-bottom:0}.refresh-btn{background:#10b981;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9em;font-weight:500;padding:8px 16px;position:absolute;right:20px;top:20px;transition:background .2s}.refresh-btn:hover{background:#059669}.tab-navigation{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000d;display:flex;margin-bottom:25px;padding:6px}.tab-btn{background:#0000;border:none;border-radius:4px;color:#64748b;cursor:pointer;flex:1 1;font-size:1em;font-weight:500;padding:12px 20px;transition:all .3s ease}.tab-btn:hover{background:#f1f5f9;color:#475569}.tab-btn.active{background:#3b82f6;box-shadow:0 2px 8px #3b82f64d;color:#fff}.active-orders-view{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:25px}.status-overview{background:#f8fafc;border-left:4px solid #3b82f6;border-radius:12px;margin-bottom:30px;padding:25px}.status-overview h3{color:#1e293b;font-size:1.3em;font-weight:600;margin:0 0 20px}.status-graph{display:flex;flex-direction:column;gap:15px;margin-bottom:20px}.status-bar-container{grid-gap:15px;align-items:center;display:grid;gap:15px;grid-template-columns:200px 1fr 80px}.status-label{display:flex;flex-direction:column;gap:2px}.status-text{color:#1f2937;font-size:.95em;font-weight:600}.status-count{color:#6b7280;font-size:.8em}.status-bar{background:#e5e7eb;height:20px;overflow:hidden}.status-bar,.status-fill{border-radius:10px;position:relative}.status-fill{height:100%;transition:width .3s ease}.status-percentage{color:#374151;font-size:.9em;font-weight:600;text-align:right}.quick-stats{grid-gap:20px;border-top:1px solid #e5e7eb;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));padding-top:15px}.quick-stat{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:flex;justify-content:space-between;padding:10px 15px}.quick-stat-label{color:#6b7280;font-size:.9em}.quick-stat-value{color:#1f2937;font-size:1em;font-weight:600}.orders-controls{align-items:center;display:flex;flex-wrap:wrap;gap:20px;margin-bottom:25px}.search-section{flex:2 1;min-width:250px}.search-input{border:2px solid #e2e8f0;border-radius:8px;font-size:1em;padding:12px 16px;transition:border-color .2s;width:100%}.search-input:focus{border-color:#3b82f6;outline:none}.filter-section{flex:1 1;min-width:180px}.status-filter{background:#fff;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;font-size:1em;padding:12px 16px;width:100%}.orders-summary{margin-bottom:25px}.summary-stats{grid-gap:15px;gap:15px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.stat-card{background:#f8fafc;border-left:4px solid #3b82f6;border-radius:8px;padding:20px;text-align:center}.stat-card h4{color:#64748b;font-size:.9em;font-weight:500;letter-spacing:.5px;margin:0 0 8px;text-transform:uppercase}.stat-value{color:#1e293b;font-size:2em;margin:0}.orders-list{display:flex;flex-direction:column;gap:20px}.order-card{background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:25px;position:relative;transition:all .3s ease}.order-card:hover{border-color:#cbd5e1;box-shadow:0 4px 12px #0000001a}.order-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:20px}.order-info h3{color:#1e293b;font-size:1.3em;font-weight:600;margin:0 0 8px}.order-description{color:#64748b;font-size:1em;margin:0}.status-badge{border-radius:20px;color:#fff;font-size:.85em;font-weight:600;letter-spacing:.5px;padding:6px 12px;white-space:nowrap}.status-new{background-color:#6b7280!important}.status-active{background-color:#3b82f6!important}.status-pending{background-color:#f59e0b!important}.status-near-complete{background-color:#10b981!important}.status-ready{background-color:#8b5cf6!important}.status-unknown{background-color:#6b7280!important}.order-details{margin-bottom:20px}.detail-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:15px}.detail-item{align-items:center;display:flex;gap:8px}.detail-item label{color:#374151;font-size:.9em;font-weight:600;min-width:100px}.detail-item span{color:#64748b;font-size:.9em}.additional-techs{border-top:1px solid #e2e8f0;margin-top:15px;padding-top:15px}.additional-techs label{color:#374151;display:block;font-size:.9em;font-weight:600;margin-bottom:8px}.tech-list{display:flex;flex-wrap:wrap;gap:8px}.tech-badge{background:#e0f2fe;border-radius:12px;color:#0369a1;font-size:.8em;font-weight:500;padding:4px 10px}.contact-info{grid-gap:15px;border-top:1px solid #e2e8f0;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:15px;padding-top:15px}.contact-item{align-items:center;display:flex;gap:8px}.contact-item label{color:#374151;font-size:.9em;font-weight:600;min-width:80px}.contact-item span{color:#64748b;font-size:.9em}.order-remarks{border-top:1px solid #e2e8f0;margin-top:15px;padding-top:15px}.order-remarks label{color:#374151;display:block;font-size:.9em;font-weight:600;margin-bottom:8px}.order-remarks p{background:#f8fafc;border-left:3px solid #3b82f6;border-radius:6px;color:#64748b;font-size:.9em;line-height:1.5;margin:0;padding:10px}.order-actions{border-top:1px solid #e2e8f0;display:flex;gap:12px;justify-content:flex-end;margin-top:20px;padding-top:20px}.view-details-btn{background:#f1f5f9;border:2px solid #e2e8f0;border-radius:6px;color:#475569;cursor:pointer;font-size:.9em;font-weight:500;padding:8px 16px;transition:all .2s}.view-details-btn:hover{background:#e2e8f0;border-color:#cbd5e1}.allocate-btn{background:#10b981;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9em;font-weight:500;padding:8px 16px;transition:background .2s}.allocate-btn:hover{background:#059669}.empty-state{color:#64748b;padding:60px 20px;text-align:center}.empty-state h3{font-size:1.3em;margin-bottom:10px}.calendar-view{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:25px}.calendar-overview{background:#f8fafc;border-left:4px solid #10b981;margin-bottom:30px;padding:25px}.calendar-header-nav{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.calendar-nav-btn{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9em;font-weight:500;padding:8px 16px;transition:background .2s}.calendar-nav-btn:hover{background:#2563eb}.calendar-title{color:#1e293b;font-size:1.4em;font-weight:600;text-transform:capitalize}.month-calendar{margin-bottom:25px}.calendar-weekdays{grid-gap:1px;display:grid;gap:1px;grid-template-columns:repeat(7,1fr);margin-bottom:5px}.weekday-header{background:#e5e7eb;color:#374151;font-size:.85em;font-weight:600;letter-spacing:.5px;padding:10px 5px;text-align:center;text-transform:uppercase}.calendar-dates{grid-gap:1px;background:#e5e7eb;border:1px solid #e5e7eb;border-radius:8px;display:grid;gap:1px;grid-template-columns:repeat(7,1fr);overflow:hidden}.calendar-date{background:#fff;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;min-height:80px;padding:8px;transition:background .2s}.calendar-date:hover{background:#f9fafb}.calendar-date.other-month{background:#f3f4f6;color:#9ca3af}.calendar-date.today{background:#dbeafe;border:2px solid #3b82f6}.date-number{color:#374151;font-size:.9em;font-weight:600}.calendar-date.other-month .date-number{color:#9ca3af}.calendar-date.today .date-number{color:#1e40af;font-weight:700}.date-employees{display:flex;flex-wrap:wrap;gap:2px;margin-top:4px}.employee-indicator{align-items:center;border:1px solid #ffffff4d;border-radius:50%;color:#fff;display:flex;font-size:.7em;font-weight:600;height:20px;justify-content:center;text-shadow:0 1px 2px #0000004d;width:20px}.employee-indicator.more{background:#6b7280;font-size:.6em}.employee-legend{border-top:1px solid #e5e7eb;margin-top:25px;padding-top:20px}.employee-legend h4{color:#1e293b;font-size:1.1em;font-weight:600;margin:0 0 15px}.legend-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.legend-item{background:#fff;border:1px solid #e5e7eb;border-radius:6px;gap:8px;padding:6px 10px}.legend-color{border:1px solid #ffffff4d;border-radius:50%;flex-shrink:0;height:16px;width:16px}.legend-name{color:#374151;font-size:.85em;font-weight:500}.legend-more{color:#6b7280;font-size:.85em;font-style:italic}.calendar-controls{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:25px}.week-selector{align-items:center;display:flex;gap:12px}.week-selector label{color:#374151;font-size:.9em;font-weight:600}.week-select{background:#fff;border:2px solid #e2e8f0;border-radius:6px;cursor:pointer;font-size:.9em;min-width:200px;padding:10px 14px}.calendar-legend{align-items:center;display:flex;gap:20px}.legend-item{color:#64748b}.legend-color{border-radius:3px;height:12px;width:12px}.legend-color.active{background:#3b82f6}.legend-color.scheduled{background:#10b981}.legend-color.available{background:#e2e8f0}.calendar-grid,.calendar-header{margin-bottom:25px}.calendar-header{background:#f8fafc;border-left:4px solid #3b82f6;border-radius:8px;padding:20px;text-align:center}.calendar-header h3{color:#1e293b;font-size:1.4em;font-weight:600;margin:0 0 8px}.calendar-header p{color:#64748b;font-size:1em;margin:0}.employee-schedule{display:flex;flex-direction:column;gap:15px}.employee-row{grid-gap:20px;align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;gap:20px;grid-template-columns:300px 1fr;padding:20px;transition:all .2s}.employee-row:hover{background:#f3f4f6;border-color:#d1d5db}.employee-info{flex-direction:column;gap:8px}.employee-name{align-items:center;display:flex;gap:8px}.employee-name strong{color:#1f2937;font-size:1.1em}.employee-init{background:#e5e7eb;color:#6b7280;font-weight:500;padding:2px 8px}.employee-init,.employee-type{border-radius:12px;font-size:.8em}.employee-type{color:#fff;display:inline-block;font-weight:600;letter-spacing:.5px;max-width:-webkit-fit-content;max-width:fit-content;padding:4px 10px;text-transform:uppercase}.employee-stats{color:#6b7280;display:flex;flex-direction:column;font-size:.9em;gap:4px}.hours-total{font-weight:500}.employee-status{border-radius:12px;font-size:.85em;font-weight:500;padding:4px 8px}.employee-status.allocated{background-color:#dcfce7;color:#166534}.employee-status.available{background-color:#fef3c7;color:#92400e}.employee-schedule-bar{align-items:center;display:flex;min-height:50px}.allocations{display:flex;flex-wrap:wrap;gap:8px;width:100%}.allocation-block{background:#dbeafe;border:2px solid #93c5fd;border-radius:8px;cursor:pointer;max-width:200px;min-width:120px;padding:10px 12px;transition:all .2s}.allocation-block:hover{background:#bfdbfe;border-color:#60a5fa;box-shadow:0 2px 8px #3b82f633;transform:translateY(-1px)}.allocation-info{align-items:center;display:flex;justify-content:space-between;margin-bottom:4px}.case-ref{color:#1e40af;font-size:.85em;font-weight:600}.allocation-time{background:#3b82f6;border-radius:10px;color:#fff;font-size:.75em;font-weight:600;padding:2px 6px}.allocation-description{color:#374151;font-size:.8em;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.allocation-dates{color:#6b7280;font-size:.75em;font-weight:500;margin-top:4px}.no-allocations{align-items:center;background:#f3f4f6;border:2px dashed #d1d5db;border-radius:8px;color:#6b7280;display:flex;justify-content:space-between;padding:15px 20px;width:100%}.no-allocations.available{background:#f0fdf4;border-color:#86efac;color:#166534}.availability-status{color:#059669;font-weight:500}.calendar-view-controls{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:20px}.view-toggle{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;gap:10px;padding:4px}.availability-filters{display:flex;gap:8px}.filter-btn{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;cursor:pointer;font-size:.85em;font-weight:500;padding:6px 12px;transition:all .2s}.filter-btn:hover{background:#e2e8f0}.filter-btn.active{background:#10b981;border-color:#10b981;color:#fff}.toggle-btn{background:#0000;border:none;border-radius:6px;color:#64748b;cursor:pointer;font-weight:500;padding:8px 16px;transition:all .2s}.toggle-btn.active{background:#3b82f6;box-shadow:0 2px 4px #3b82f633;color:#fff}.calendar-grid-view{background:#fff;border-radius:10px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.calendar-days-header{background:#f8fafc;border-bottom:2px solid #e2e8f0;display:grid;grid-template-columns:200px repeat(7,1fr)}.employee-name-column{background:#f1f5f9;border-right:1px solid #e2e8f0;color:#374151;font-weight:600;padding:12px 16px}.day-column{border-right:1px solid #e2e8f0;padding:8px 12px;text-align:center}.day-name{color:#374151;font-size:.9em}.day-date{color:#6b7280;font-size:.8em;margin-top:2px}.calendar-rows{max-height:500px;overflow-y:auto}.calendar-employee-row{border-bottom:1px solid #f1f5f9;display:grid;grid-template-columns:200px repeat(7,1fr)}.calendar-employee-row:hover{background:#fafbfc}.employee-name-cell{border-right:1px solid #e2e8f0;display:flex;flex-direction:column;justify-content:center;padding:12px 16px}.employee-name-cell .employee-name{color:#374151;font-size:.9em;font-weight:500}.employee-name-cell .employee-init{color:#6b7280;font-size:.8em}.calendar-day-cell{align-items:center;border-right:1px solid #f1f5f9;cursor:pointer;display:flex;flex-direction:column;justify-content:center;min-height:60px;padding:8px;position:relative;transition:all .2s}.calendar-day-cell:hover{background:#f8fafc}.calendar-day-cell.available{background:#f0fdf4}.calendar-day-cell.lightly-booked{background:#fefce8}.calendar-day-cell.partially-booked{background:#fff7ed}.calendar-day-cell.fully-booked{background:#fef2f2}.status-icon{font-size:1.2em;margin-bottom:4px}.hours-indicator{color:#374151;font-size:.75em;font-weight:600}.calendar-legend{background:#f8fafc;border-top:1px solid #e2e8f0;padding:16px}.calendar-legend h4{color:#374151;font-size:.9em;margin:0 0 10px}.legend-items{display:flex;flex-wrap:wrap;gap:20px}.legend-item{align-items:center;display:flex;font-size:.85em;gap:6px}.legend-icon{font-size:1em}.quick-allocate-btn{background:#3b82f6;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.8em;font-weight:500;padding:6px 12px;transition:background .2s}.quick-allocate-btn:hover{background:#2563eb}.empty-employees{color:#64748b;padding:40px;text-align:center}.empty-employees h3{font-size:1.2em;margin-bottom:10px}.week-summary{background:#f8fafc;border-left:4px solid #10b981;border-radius:8px;padding:20px}.week-summary h4{color:#1e293b;font-size:1.2em;font-weight:600;margin:0 0 15px}.summary-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.summary-item{align-items:center;display:flex;justify-content:space-between;padding:10px 0}.summary-item label{color:#374151;font-size:.9em;font-weight:500}.summary-item span{color:#1f2937;font-size:1.1em;font-weight:600}@media (max-width:1024px){.employee-row{gap:15px;grid-template-columns:1fr}.orders-controls{align-items:stretch;flex-direction:column}.calendar-controls{align-items:flex-start;flex-direction:column}}@media (max-width:768px){.planning-dashboard{padding:15px}.dashboard-header{padding:20px}.dashboard-header h1{font-size:1.8em}.refresh-btn{margin-top:15px;position:static}.tab-navigation{flex-direction:column}.detail-grid{grid-template-columns:1fr}.order-actions{align-items:stretch}.allocations,.order-actions{flex-direction:column}.allocation-block{max-width:none}}@media (max-width:480px){.summary-grid,.summary-stats{grid-template-columns:1fr}.summary-item{align-items:flex-start;flex-direction:column;gap:5px}.status-bar-container{gap:8px;grid-template-columns:1fr}.status-label{align-items:center;flex-direction:row;justify-content:space-between}.status-percentage{margin-top:5px;text-align:left}.calendar-header-nav{flex-direction:column;gap:10px;text-align:center}.calendar-nav-btn{width:100%}.calendar-date{min-height:60px;padding:5px}.date-employees{gap:1px}.employee-indicator{font-size:.6em;height:16px;width:16px}.legend-grid{grid-template-columns:1fr}.weekday-header{font-size:.75em;padding:8px 3px}}.sync-view{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:25px}.sync-view.loading{align-items:center;display:flex;justify-content:center;min-height:300px}.sync-intro{background:#f8fafc;border-left:4px solid #3b82f6;border-radius:8px;margin-bottom:30px;padding:20px;text-align:center}.sync-intro h2{color:#1e293b;font-size:1.4em;font-weight:600;margin-bottom:10px}.sync-intro p{color:#64748b;line-height:1.6;margin:0}.sync-error{background:#fef2f2;border:1px solid #fecaca;border-left:4px solid #dc2626;border-radius:8px;color:#dc2626;margin-bottom:20px;padding:15px 20px}.sync-status-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:30px}.sync-card{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:15px;padding:20px;transition:all .2s}.sync-card:hover{background:#f3f4f6;border-color:#d1d5db}.sync-card-icon{flex-shrink:0;font-size:1.8em}.sync-card-content h3{color:#1f2937;font-size:1.1em;font-weight:600;margin:0 0 5px}.sync-card-content p{color:#374151;font-size:.95em;font-weight:500;margin:0 0 3px}.sync-card-content small{color:#6b7280;font-size:.8em}.status-running{color:#059669!important}.status-stopped{color:#dc2626!important}.sync-actions{display:flex;flex-wrap:wrap;gap:15px;justify-content:center;margin-bottom:30px}.sync-action-btn{border:none;border-radius:8px;cursor:pointer;font-size:.95em;font-weight:600;min-width:160px;padding:12px 20px;transition:all .3s ease}.sync-action-btn:disabled{cursor:not-allowed;opacity:.6}.sync-action-btn.primary{background:#3b82f6;color:#fff}.sync-action-btn.primary:hover:not(:disabled){background:#2563eb;box-shadow:0 4px 12px #3b82f64d;transform:translateY(-1px)}.sync-action-btn.secondary{background:#6b7280;color:#fff}.sync-action-btn.secondary:hover:not(:disabled){background:#4b5563;transform:translateY(-1px)}.sync-action-btn.success{background:#10b981;color:#fff}.sync-action-btn.success:hover:not(:disabled){background:#059669;box-shadow:0 4px 12px #10b9814d;transform:translateY(-1px)}.sync-action-btn.danger{background:#ef4444;color:#fff}.sync-action-btn.danger:hover:not(:disabled){background:#dc2626;box-shadow:0 4px 12px #ef44444d;transform:translateY(-1px)}.sync-data-overview{background:#f8fafc;border-left:4px solid #10b981;border-radius:8px;margin-bottom:30px;padding:20px}.sync-data-overview h3{color:#1e293b;font-size:1.2em;font-weight:600;margin:0 0 20px}.data-stats{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.data-stat{background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:15px;text-align:center;transition:transform .2s}.data-stat:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.data-number{color:#1e293b;font-size:1.6em;font-weight:700;margin-bottom:5px}.data-label{color:#64748b;font-size:.8em;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.sync-recent-activity{background:#f8fafc;border-left:4px solid #f59e0b;border-radius:8px;padding:20px}.sync-recent-activity h3{color:#1e293b;font-size:1.2em;font-weight:600;margin:0 0 15px}.activity-list{display:flex;flex-direction:column;gap:10px}.activity-item{grid-gap:15px;align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:6px;display:grid;gap:15px;grid-template-columns:160px 120px 1fr;padding:12px 15px}.activity-time{color:#6b7280;font-size:.85em}.activity-message{color:#374151;font-size:.9em}.sync-view .status-badge{border-radius:10px;font-size:.75em;font-weight:600;letter-spacing:.5px;padding:3px 8px;text-transform:uppercase}@media (max-width:768px){.sync-status-cards{grid-template-columns:1fr}.sync-actions{align-items:stretch;flex-direction:column}.sync-action-btn{min-width:auto}.data-stats{grid-template-columns:repeat(2,1fr)}.activity-item{gap:8px;grid-template-columns:1fr;text-align:left}.activity-message,.activity-time{font-size:.85em}}@media (max-width:480px){.data-stats{grid-template-columns:1fr}}.planning-tab-wrapper{margin:0 auto;max-width:100%}.tab-header{background:linear-gradient(135deg,#1976d2,#1565c0);border-radius:8px;box-shadow:0 2px 8px #1976d233;color:#fff;margin-bottom:20px;padding:15px 20px}.tab-header h2{font-size:1.4rem;font-weight:600;margin:0 0 5px}.tab-header p{font-size:.9rem;margin:0;opacity:.9}.tab-content-wrapper{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.calendar-overview{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000014;margin:20px;overflow:hidden;padding:0}.calendar-header{background:linear-gradient(135deg,#1e293b,#334155);color:#fff;padding:25px 30px}.calendar-navigation{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.nav-button{background:#ffffff1a;border:1px solid #fff3;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;padding:10px 20px;transition:all .2s}.nav-button:hover{background:#fff3;border-color:#ffffff4d}.calendar-title{flex:1 1;font-size:1.8rem;font-weight:700;margin:0;text-align:center}.current-week-badge{background:#22c55e;border-radius:20px;color:#fff;font-size:.8rem;font-weight:600;margin-left:15px;padding:4px 12px}.calendar-stats{display:flex;gap:30px;justify-content:center}.calendar-stat{background:#ffffff1a;border-radius:20px;font-size:.9rem;font-weight:500;padding:8px 16px}.calendar-filters{align-items:center;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000d;display:flex;flex-wrap:wrap;gap:15px;margin-bottom:15px;padding:15px 20px}.filter-label{color:#475569;font-size:.9rem;font-weight:600}.filter-buttons{display:flex;flex-wrap:wrap;gap:8px}.filter-button{align-items:center;border:2px solid #0000;border-radius:20px;cursor:pointer;display:flex;font-size:.85rem;font-weight:500;gap:5px;padding:6px 12px;transition:all .2s}.filter-button.active{background:#10b981;border-color:#059669;color:#fff}.filter-button.preset{background:#3b82f6;border-color:#2563eb;color:#fff;font-weight:600}.filter-button.preset:hover{background:#2563eb;transform:translateY(-1px)}.filter-divider{background:#e2e8f0;height:30px;margin:0 8px;width:1px}.filter-button.active:hover{background:#059669;transform:translateY(-1px)}.filter-button.inactive{background:#f1f5f9;border-color:#e2e8f0;color:#64748b}.filter-button.inactive:hover{background:#e2e8f0;border-color:#cbd5e1}.filter-indicator{font-size:.75rem;font-weight:700}.calendar-grid{overflow-x:auto}.calendar-grid-header{background:#f8fafc;border-bottom:2px solid #e2e8f0;display:grid;grid-template-columns:250px repeat(7,1fr);min-width:900px}.employee-column-header{align-items:center;background:#f1f5f9;border-right:1px solid #e2e8f0;color:#1e293b;display:flex;font-weight:700;padding:20px}.day-header{background:#f8fafc;border-right:1px solid #e2e8f0;padding:15px 10px;text-align:center}.day-header.today{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1e40af;font-weight:700}.day-header.weekend{background:#f1f5f9;color:#64748b}.day-name{font-size:.9rem;font-weight:600;margin-bottom:5px;text-transform:uppercase}.day-date{font-size:1.1rem;font-weight:700;margin-bottom:5px}.day-total{color:#64748b;font-size:.8rem;font-weight:500}.employee-row{border-bottom:1px solid #f1f5f9;display:grid;grid-template-columns:250px repeat(7,1fr);min-height:100px;min-width:900px}.employee-info{align-items:center;background:#fff;border-right:1px solid #e2e8f0;display:flex;gap:15px;padding:20px}.employee-avatar{align-items:center;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.9rem;font-weight:700;height:45px;justify-content:center;width:45px}.employee-name-row strong{color:#1e293b;display:block;font-size:1rem;margin-bottom:3px}.employee-name-row small{color:#64748b;font-size:.8rem}.calendar-cell{background:#fff;border-right:1px solid #f1f5f9;min-height:100px;overflow:hidden;padding:15px 10px;position:relative}.calendar-cell.today{background:linear-gradient(135deg,#eff6ff,#dbeafe)}.calendar-cell.weekend{background:#fafafa}.calendar-cell.has-entries{background:linear-gradient(135deg,#f0f9ff,#e0f2fe)}.calendar-cell.has-entries.today{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.cell-content{height:100%}.cell-hours{color:#1e40af;font-size:.9rem;font-weight:700;margin-bottom:8px}.cell-entries{display:flex;flex-direction:column;gap:4px}.cell-entry{background:#fff;border-left:3px solid #3b82f6;border-radius:4px;box-shadow:0 1px 2px #0000000d;padding:4px 6px}.entry-time{color:#1e40af;display:block;font-size:.7rem;font-weight:600;margin-bottom:1px}.entry-desc{color:#374151;display:block;font-size:.75rem;line-height:1.2}.more-entries{color:#64748b;font-size:.7rem;font-style:italic;margin-top:4px}.cell-empty{align-items:center;display:flex;height:100%;justify-content:center;opacity:.6}.available-text{color:#64748b;font-size:.8rem;font-style:italic}.today-schedule{background:#f8fafc;border-top:1px solid #e2e8f0;padding:30px}.today-title{color:#1e293b;font-size:1.5rem;font-weight:700;margin-bottom:25px;text-align:center}.today-entries{display:flex;flex-direction:column;gap:15px;margin:0 auto;max-width:800px}.today-entry{grid-gap:20px;align-items:center;background:#fff;border-left:4px solid #3b82f6;border-radius:12px;box-shadow:0 2px 8px #0000000d;display:grid;gap:20px;grid-template-columns:120px 200px 1fr 80px;padding:20px}.entry-time-block{text-align:center}.start-time{color:#1e40af;display:block;font-size:1.1rem;font-weight:700}.end-time{color:#64748b;display:block;font-size:.9rem;margin-top:2px}.entry-employee{border-radius:20px;color:#fff;font-size:.9rem;font-weight:600;padding:8px 16px;text-align:center}.entry-description{color:#374151;font-weight:500}.entry-duration{color:#059669;font-size:1rem;font-weight:700;text-align:right}.no-entries-today{color:#64748b;padding:40px;text-align:center}.no-entries-today p:first-child{font-size:1.2rem;font-weight:600;margin-bottom:10px}@media (max-width:1024px){.calendar-overview{margin:10px}.calendar-grid-header,.employee-row{grid-template-columns:200px repeat(7,120px)}.today-entry{gap:15px;grid-template-columns:100px 150px 1fr 60px;padding:15px}}.noegletal-container{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;min-height:100vh;padding:12px}.noegletal-container h1{color:#333;font-size:1.5em;margin-bottom:12px;text-shadow:0 2px 4px #0000001a}.error-message,.loading{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;color:#666;font-size:18px;padding:40px;text-align:center}.error-message{background:#ffebee;color:#d32f2f}.kpi-cards-row{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:12px}.kpi-card{background:#fff;border-left:4px solid #2196f3;border-radius:8px;box-shadow:0 2px 8px #00000014;padding:12px;transition:transform .3s ease,box-shadow .3s ease}.kpi-card:hover{box-shadow:0 4px 12px #0000001f;transform:translateY(-4px)}.kpi-card.pending{border-left-color:#ff9800}.kpi-card.month{border-left-color:#4caf50}.kpi-card.ytd{border-left-color:#2196f3}.kpi-value{color:#333;font-size:1.8em;font-weight:700;margin-bottom:4px}.kpi-value-large{color:#1976d2;font-size:1.3em;font-weight:700;margin:4px 0}.kpi-label{color:#666;font-size:.8em;margin-bottom:2px}.kpi-subtitle{color:#999;font-size:.75em;font-style:italic}.kpi-top-row{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:4px}.kpi-number{color:#333;font-size:1.4em;font-weight:700}.kpi-sublabel{color:#999;font-size:.75em}.charts-section{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));margin-bottom:12px}@media (max-width:1200px){.charts-section{grid-template-columns:1fr}}.chart-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;padding:12px}.chart-container h3{color:#333;font-size:1.05em;margin-bottom:12px}.bar-chart{gap:12px}.bar-chart,.bar-item{display:flex;flex-direction:column}.bar-item{gap:4px}.bar-label{color:#666;font-size:.8em;font-weight:500;text-transform:capitalize}.bar-wrapper{background:#f5f5f5;border-radius:4px;gap:8px;height:24px;padding:0 8px;position:relative}.bar-fill,.bar-wrapper{align-items:center;display:flex}.bar-fill{border-radius:3px;height:100%;justify-content:flex-end;left:0;position:absolute;top:0;transition:width .3s ease}.bar-count{color:#333;font-size:.8em;font-weight:700;margin-left:auto;position:relative;z-index:1}.conversion-flow{grid-column:1/-1}.flow-diagram{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between}.flow-box{border:2px solid #ddd;border-radius:6px;flex:1 1;min-width:120px;padding:12px;text-align:center;transition:transform .3s ease}.flow-box:hover{transform:scale(1.05)}.flow-box.total{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;flex:0 0 auto;min-width:120px}.flow-box.afventende{background:#fff3e0;border-color:#ff9800}.flow-box.konverteret{background:#e8f5e9;border-color:#4caf50}.flow-box.afvist{background:#ffebee;border-color:#f44336}.flow-percentage{font-size:1.3em;font-weight:700;margin-bottom:4px}.flow-box.afventende .flow-percentage{color:#ff9800}.flow-box.konverteret .flow-percentage{color:#4caf50}.flow-box.afvist .flow-percentage{color:#f44336}.flow-value{font-size:1.5em;font-weight:700}.flow-label{font-size:.8em;font-weight:500;margin-bottom:2px}.flow-label-sm{font-size:.7em;opacity:.9}.flow-count{font-size:1em;font-weight:700;margin-top:4px}.flow-arrow{color:#ccc;flex:0 0 auto;font-size:1.5em;margin:0 6px}.conversion-grid{grid-gap:8px;display:grid;flex:1 1;gap:8px;grid-template-columns:repeat(3,1fr);min-width:250px}@media (max-width:700px){.conversion-grid{grid-template-columns:1fr}.flow-diagram{flex-direction:column}.flow-arrow{margin:0;transform:rotate(90deg)}}.summary-stats{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.stat-item{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;padding:12px;text-align:center}.stat-label{color:#666;font-size:.75em;margin-bottom:6px}.stat-value{color:#2196f3;font-size:1.4em;font-weight:700}@media (max-width:768px){.noegletal-container{padding:8px}.noegletal-container h1{font-size:1.3em;margin-bottom:8px}.kpi-cards-row{gap:8px;grid-template-columns:1fr}.kpi-value{font-size:1.4em}.charts-section{gap:8px;grid-template-columns:1fr}.chart-container{padding:10px}.flow-box{min-width:100px;padding:10px 8px}}.smart-packages-container{margin:0 auto;max-width:1400px;padding:20px}.smart-packages-filters{background-color:#f9f9f9;border-radius:8px;box-shadow:0 2px 8px #0000000d;margin-bottom:24px;padding:16px}.smart-package-card{position:relative;transition:transform .2s,box-shadow .2s}.smart-package-card:hover{box-shadow:0 8px 16px #0000001a;transform:translateY(-4px)}.smart-package-card .MuiCardContent-root{height:180px}.smart-package-card .card-top{display:flex;justify-content:space-between;margin-bottom:12px}.smart-package-card .card-title{color:#2c3e50;font-weight:600;margin-bottom:8px}.smart-package-card .card-category{color:#7f8c8d;font-size:12px;letter-spacing:.5px;text-transform:uppercase}.smart-package-card .card-description{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:#34495e;display:-webkit-box;height:60px;margin-bottom:12px;overflow:hidden;text-overflow:ellipsis}.smart-package-card .card-meta{align-items:center;bottom:16px;display:flex;justify-content:space-between;left:16px;margin-top:auto;position:absolute;right:16px}.smart-package-card .card-meta-item{align-items:center;color:#7f8c8d;display:flex;font-size:12px}.smart-package-card .card-meta-item svg{font-size:16px;margin-right:4px}.task-item{border:1px solid #e0e0e0;border-radius:8px;margin-bottom:12px;overflow:hidden}.task-header{background-color:#f5f5f5;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:12px 16px}.task-content{padding:16px}.task-steps{margin-top:12px}.task-step{border-bottom:1px dashed #e0e0e0;display:flex;padding:8px 0}.task-step:last-child{border-bottom:none}.task-step-number{align-items:center;background-color:#3498db;border-radius:50%;color:#fff;display:flex;font-size:12px;font-weight:700;height:24px;justify-content:center;margin-right:12px;min-width:24px}.package-detail-dialog .dialog-section{margin-bottom:24px}.package-detail-dialog .section-title{align-items:center;color:#2c3e50;display:flex;font-size:18px;font-weight:600;margin-bottom:16px}.package-detail-dialog .section-title svg{margin-right:8px}.package-detail-dialog .price-summary{background-color:#f9f9f9;border-radius:8px;padding:16px}.package-detail-dialog .price-summary-row{display:flex;justify-content:space-between;padding:4px 0}.package-detail-dialog .price-total{border-top:2px solid #e0e0e0;font-size:18px;font-weight:700;margin-top:8px;padding-top:8px}.smart-package-form .form-section{margin-bottom:32px}.smart-package-form .form-subtitle{color:#2c3e50;font-size:16px;font-weight:600;margin-bottom:16px}.smart-package-form .form-helper-text{color:#7f8c8d;font-size:12px;margin-top:4px}.draggable-item{cursor:grab;transition:background-color .2s}.draggable-item:hover{background-color:#f5f5f5}.draggable-item.dragging{background-color:#ebf5fb;box-shadow:0 4px 8px #0000001a}.material-chip{margin:4px}.material-chip .MuiChip-label{align-items:center;display:flex}.material-chip .material-quantity{background-color:#00000014;border-radius:4px;font-size:11px;margin-left:4px;padding:2px 4px}@media (max-width:960px){.smart-packages-filters{flex-direction:column}.smart-packages-filters .MuiFormControl-root{margin-bottom:16px}.smart-package-card .MuiCardContent-root{height:auto}.smart-package-card .card-meta{bottom:0;left:0;margin-top:16px;position:relative;right:0}}.project-review{margin:0 auto;max-width:1400px;padding:20px}.project-review h2{border-bottom:2px solid #3498db;color:#2c3e50;margin-bottom:20px;padding-bottom:10px}.error-message{background-color:#e74c3c;border-radius:5px;color:#fff;margin-bottom:20px;padding:15px;text-align:center}.project-review-layout{grid-gap:30px;display:grid;gap:30px;grid-template-columns:400px 1fr;height:calc(100vh - 200px)}.project-list{background:#f8f9fa;border:1px solid #dee2e6;border-radius:10px;overflow-y:auto;padding:20px}.project-list h3{border-bottom:1px solid #dee2e6;color:#495057;margin-bottom:20px;margin-top:0;padding-bottom:10px;text-align:center}.project-item{background:#fff;border:2px solid #e9ecef;border-radius:8px;box-shadow:0 2px 4px #0000001a;cursor:pointer;margin-bottom:15px;padding:15px;transition:all .3s ease}.project-item:hover{border-color:#3498db;box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.project-item.selected{background:#e8f5e8;border-color:#27ae60;box-shadow:0 4px 12px #27ae6033}.project-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.project-header h4{color:#2c3e50;font-size:16px;margin:0}.status-badge{border-radius:12px;font-size:12px;font-weight:700;padding:4px 8px;text-transform:uppercase}.status-badge.active{background:#d4edda;color:#155724}.status-badge.completed{background:#cce5ff;color:#004085}.status-badge.pending{background:#fff3cd;color:#856404}.status-badge.cancelled{background:#f8d7da;color:#721c24}.project-details p{color:#6c757d;font-size:14px;margin:5px 0}.project-stats{border-top:1px solid #e9ecef;display:flex;flex-wrap:wrap;gap:10px;margin-top:10px;padding-top:10px}.project-stats span{background:#e9ecef;border-radius:12px;color:#495057;font-size:12px;padding:3px 8px}.project-details-panel{background:#fff;border:1px solid #dee2e6;border-radius:10px;box-shadow:0 2px 8px #0000001a;overflow-y:auto;padding:25px}.project-details-panel h3{border-bottom:2px solid #3498db;color:#2c3e50;font-size:24px;margin-bottom:25px;margin-top:0;padding-bottom:10px}.project-details-panel h4{border-bottom:1px solid #ecf0f1;color:#34495e;font-size:18px;margin-bottom:15px;margin-top:30px;padding-bottom:8px}.steps-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:25px}.step-item{background:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;padding:15px;text-align:center;transition:all .3s ease}.step-item.completed{background:#d4edda;border-color:#c3e6cb}.step-item.pending{background:#fff3cd;border-color:#ffeaa7}.step-status{font-size:18px;font-weight:700;margin-bottom:8px}.step-title{color:#495057;font-weight:600;margin-bottom:5px;text-transform:capitalize}.step-timestamp{color:#6c757d;font-size:12px}.geometry-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:15px}.geometry-item{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;display:flex;justify-content:space-between;padding:12px}.geometry-item label{color:#495057;font-weight:600}.geometry-item span{color:#2c3e50;font-weight:700}.geometry-notes{background:#e3f2fd;border-left:4px solid #2196f3;border-radius:0 6px 6px 0;color:#1565c0;margin-top:15px;padding:15px}.quotes-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:25px}.quote-item{background:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;cursor:pointer;padding:20px;transition:all .3s ease}.quote-item:hover{border-color:#3498db;box-shadow:0 4px 8px #3498db33;transform:translateY(-2px)}.quote-item.selected{background:#fdf2f2;border-color:#e74c3c;box-shadow:0 4px 12px #e74c3c33}.quote-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.quote-header h5{color:#2c3e50;margin:0}.delivery-status{border-radius:12px;font-size:12px;font-weight:700;padding:4px 8px}.delivery-status.delivered{background:#d4edda;color:#155724}.delivery-status.draft{background:#fff3cd;color:#856404}.quote-status-indicators{display:flex;flex-direction:column;gap:4px}.accepted-status{background:#d4edda;color:#155724}.accepted-status,.rejected-status{border-radius:12px;font-size:12px;font-weight:700;padding:4px 8px;width:-webkit-fit-content;width:fit-content}.rejected-status{background:#f8d7da;color:#721c24}.pending-status{background:#fff3cd;border-radius:12px;color:#856404;font-size:12px;font-weight:700;padding:4px 8px;width:-webkit-fit-content;width:fit-content}.quote-status-section{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;margin-bottom:20px;padding:15px}.quote-status-section h5{color:#495057;margin-bottom:15px;margin-top:0}.status-indicators{display:flex;flex-direction:column;gap:10px}.status-item{align-items:center;display:flex;gap:10px}.status-item label{color:#495057;font-weight:600;min-width:120px}.status-item small{color:#6c757d;font-weight:400;margin-left:5px}.quote-amounts{margin-bottom:15px}.amount-item{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.amount-item label{color:#495057;font-weight:600}.total-amount{color:#27ae60;font-size:18px;font-weight:700}.amount-breakdown{color:#6c757d;display:flex;flex-direction:column;font-size:14px;gap:5px}.quote-method{background:#e3f2fd;border-radius:6px;color:#1565c0;font-size:14px;margin-bottom:10px;padding:8px 12px}.quote-date{color:#6c757d;font-size:12px;text-align:right}.quote-details{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-top:25px;padding:25px}.quote-details h4{color:#e74c3c;margin-top:0}.quote-details h5{border-bottom:1px solid #dee2e6;color:#495057;margin-bottom:10px;padding-bottom:5px}.quote-content{border:1px solid #dee2e6;font-family:Courier New,monospace;font-size:14px;line-height:1.5;max-height:300px;overflow-y:auto;padding:15px;white-space:pre-wrap}.materials-table,.quote-content{background:#fff;border-radius:6px;margin-bottom:20px}.materials-table{border:1px solid #dee2e6;border-collapse:collapse;overflow:hidden;width:100%}.materials-table td,.materials-table th{border-bottom:1px solid #e9ecef;padding:12px;text-align:left}.materials-table th{background:#f8f9fa;color:#495057;font-weight:600}.materials-table tr:last-child td{border-bottom:none}.materials-table tr:hover{background:#f8f9fa}.quote-responses{grid-gap:15px;display:grid;gap:15px}.response-item{display:flex;flex-direction:column;gap:5px}.response-item label{color:#495057;font-weight:600}.response-item span{background:#fff;border:1px solid #dee2e6;border-radius:6px;color:#495057;padding:10px}.loading{color:#6c757d;font-style:italic;padding:20px;text-align:center}@media (max-width:1024px){.project-review-layout{grid-template-columns:1fr;height:auto}.project-list{height:400px}.quotes-grid{grid-template-columns:1fr}.geometry-grid,.steps-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.project-review{padding:10px}.geometry-grid,.steps-grid{grid-template-columns:1fr}.project-stats{flex-direction:column;gap:5px}.quote-header{align-items:flex-start;flex-direction:column;gap:10px}}