.app{min-height:100vh;display:flex;flex-direction:column}.app-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1.5rem 2rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 8px #0000001a}.header-actions{display:flex;gap:1rem}.app-header h1{font-size:1.5rem;font-weight:600}.app-main{flex:1;padding:2rem;max-width:1600px;margin:0 auto;width:100%}.loading{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100vh;font-size:1.2rem;color:#666}.loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-state,.error-boundary{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100vh;padding:2rem;text-align:center}.error-state h2,.error-boundary h2{color:#dc3545;margin-bottom:1rem}.error-state p,.error-boundary p{color:#666;margin-bottom:1.5rem}.settings-panel{background:#fff;border-radius:8px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 2px 4px #0000001a}.scenario-settings,.score-settings{margin-bottom:2rem}.scenario-settings:last-child,.score-settings:last-child{margin-bottom:0}.scenario-settings h3,.score-settings h3{margin-bottom:1rem;color:#333;font-size:1.1rem}.score-settings h4{margin-top:1rem;margin-bottom:.5rem;color:#666;font-size:.95rem}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#555;font-size:.9rem}.form-group .required{color:#e74c3c}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group input,.form-group textarea{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:.95rem;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#667eea}.weights-section{background:#f9f9f9;padding:1rem;border-radius:4px;margin-top:1rem}.weights-sum{margin-top:.5rem;padding-top:.5rem;border-top:1px solid #ddd;font-weight:600;color:#667eea}button{padding:.75rem 1.5rem;border:none;border-radius:4px;font-size:.95rem;cursor:pointer;transition:all .2s;font-weight:500}.btn-primary{background:#667eea;color:#fff}.btn-primary:hover{background:#5568d3}.btn-primary:disabled{background:#ccc;cursor:not-allowed}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover{background:#5a6268}.btn-edit{background:#17a2b8;color:#fff;padding:.5rem 1rem;font-size:.85rem}.btn-edit:hover{background:#138496}.btn-delete{background:#dc3545;color:#fff;padding:.5rem 1rem;font-size:.85rem}.btn-delete:hover{background:#c82333}.btn-cancel{background:#6c757d;color:#fff}.btn-cancel:hover{background:#5a6268}.btn-import{background:#28a745;color:#fff;padding:.5rem 1rem;font-size:.85rem;white-space:nowrap}.btn-import:hover:not(:disabled){background:#218838}.btn-import:disabled{background:#ccc;cursor:not-allowed}.properties-section h2{margin-bottom:1.5rem;color:#333;font-size:1.3rem}.properties-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;margin-bottom:2rem}.empty-state{text-align:center;padding:4rem 2rem;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.empty-state p{margin-bottom:1.5rem;color:#666;font-size:1.1rem}.property-card{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000001a;transition:transform .2s,box-shadow .2s}.property-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.property-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #eee}.property-card-header h3{font-size:1.1rem;color:#333;flex:1;margin-right:1rem}.property-card-actions{display:flex;gap:.5rem}.property-card-body{display:flex;flex-direction:column;gap:.75rem}.property-info-row{display:flex;justify-content:space-between;font-size:.9rem}.property-info-row .label{color:#666}.property-info-row .value{font-weight:600;color:#333}.property-info-row.highlight{padding-top:.5rem;border-top:2px solid #667eea;margin-top:.5rem}.property-info-row.highlight .value{color:#667eea;font-size:1.05rem}.property-info-row.score{padding-top:.5rem;border-top:2px solid #28a745;margin-top:.5rem}.property-info-row.score .value{color:#28a745;font-size:1.1rem}.comparison-section{margin-top:3rem}.comparison-section h2{margin-bottom:1rem}.comparison-table-container{overflow-x:auto;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.comparison-table-wrapper{min-width:100%}.comparison-table{width:100%;border-collapse:collapse;font-size:.9rem}.comparison-table th{background:#f8f9fa;padding:1rem .75rem;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #dee2e6;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.comparison-table th:hover{background:#e9ecef}.comparison-table td{padding:.75rem;border-bottom:1px solid #eee}.comparison-table tbody tr:hover{background:#f8f9fa}.comparison-table td.highlight{font-weight:600;color:#667eea}.comparison-table td.score{font-weight:600;color:#28a745;font-size:1rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:2rem}.modal-content{background:#fff;border-radius:8px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #eee}.modal-header h2{font-size:1.3rem;color:#333}.modal-close{background:none;border:none;font-size:2rem;color:#666;cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:4px}.modal-close:hover{background:#f0f0f0}.modal-body{padding:1.5rem}.modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem;border-top:1px solid #eee}.url-input-group{display:flex;gap:.5rem}.url-input-group input{flex:1}.initial-cost-detail{margin-top:1rem;padding:1rem;background:#f9f9f9;border-radius:4px}.initial-cost-detail h4{margin-bottom:.75rem;font-size:.95rem;color:#333}.cost-breakdown-table{width:100%;border-collapse:collapse;font-size:.9rem}.cost-breakdown-table td{padding:.5rem;border-bottom:1px solid #eee}.cost-breakdown-table .amount{text-align:right;font-weight:500}.cost-breakdown-table .total-row{border-top:2px solid #667eea;margin-top:.5rem}.cost-breakdown-table .total-row td{padding-top:.75rem}.score-detail{margin-top:1rem;padding:1rem;background:#f9f9f9;border-radius:4px}.score-detail h4{margin-bottom:.75rem;font-size:.95rem;color:#333}.score-bars{margin-bottom:1rem}.score-bar-item{margin-bottom:.75rem}.score-bar-header{display:flex;justify-content:space-between;margin-bottom:.25rem;font-size:.85rem}.score-label{color:#666}.score-value{font-weight:600}.score-bar-container{width:100%;height:8px;background:#e9ecef;border-radius:4px;overflow:hidden}.score-bar-fill{height:100%;transition:width .3s ease}.score-total{padding-top:.75rem;border-top:2px solid #28a745;display:flex;justify-content:space-between;font-weight:600}.btn-link{background:none;border:none;color:#667eea;cursor:pointer;text-decoration:underline;padding:0;font-size:inherit}.btn-link:hover{color:#5568d3}.file-input{width:100%;padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:.95rem}.form-help{margin-top:.5rem;font-size:.85rem;color:#666}.error-message{background:#fee;color:#c33;padding:.75rem;border-radius:4px;margin:1rem 0;font-size:.9rem}.csv-preview{margin-top:1.5rem;padding:1rem;background:#f9f9f9;border-radius:4px}.csv-preview h3{margin-bottom:.75rem;font-size:1rem;color:#333}.csv-preview-table{overflow-x:auto}.csv-preview-table table{width:100%;border-collapse:collapse;font-size:.85rem}.csv-preview-table th,.csv-preview-table td{padding:.5rem;border:1px solid #ddd;text-align:left}.csv-preview-table th{background:#f0f0f0;font-weight:600}.preview-more{margin-top:.5rem;font-size:.85rem;color:#666;text-align:center}@media (max-width: 768px){.app-header{flex-direction:column;gap:1rem;align-items:flex-start}.app-main{padding:1rem}.form-row,.properties-grid{grid-template-columns:1fr}.comparison-table-container{font-size:.8rem}.comparison-table th,.comparison-table td{padding:.5rem}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;color:#333}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{min-height:100vh}
