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}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.custom-scrollbar{scrollbar-color:#94a3b8cc #0000;scrollbar-width:thin}.custom-scrollbar::-webkit-scrollbar{height:10px;width:10px}.custom-scrollbar::-webkit-scrollbar-track{background:#0000}.custom-scrollbar::-webkit-scrollbar-thumb{background:#94a3b899;background-clip:content-box;border:2px solid #0000;border-radius:9999px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:#94a3b8d9;background-clip:content-box;border:2px solid #0000}.container{margin:0 auto;max-width:1200px;padding:20px}.header{margin-bottom:30px;text-align:center}.header h1{color:#333;margin-bottom:10px}.header p{color:#666;font-size:16px}.form-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;padding:20px}.form-section h2{border-bottom:2px solid #007bff;color:#333;margin-top:0;padding-bottom:10px}.form-group{margin-bottom:15px}.form-group label{color:#555;display:block;font-weight:700;margin-bottom:5px}.form-group input,.form-group select{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:8px 12px;width:100%}.btn{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:16px;margin-right:10px;padding:10px 20px}.btn:hover{background-color:#0056b3}.btn:disabled{background-color:#ccc;cursor:not-allowed}.results-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;padding:20px}.visualization-container{background:#f8f9fa;border:2px solid #ddd;border-radius:8px;height:500px;width:100%}.loading{color:#666;padding:20px;text-align:center}.error{background-color:#f8d7da;color:#721c24}.error,.success{border-radius:4px;margin-bottom:15px;padding:10px}.success{background-color:#d4edda;color:#155724}.layout{display:flex;flex-direction:column;min-height:100vh}.app-header{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 10px #0000001a;color:#fff;padding:20px 0}.header-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 20px}.app-title{font-size:28px;font-weight:700;margin:0}.title-icon{margin-right:10px}.app-subtitle{font-size:14px;margin:5px 0 0;opacity:.9}.header-info{text-align:right}.info-item{margin-bottom:5px}.info-label{font-weight:700;margin-right:10px}.info-value{color:#90ee90}.app-main{background-color:#f8f9fa;flex:1 1}.main-content{margin:0 auto;max-width:1200px;padding:20px}.app-footer{background-color:#343a40;color:#fff;margin-top:auto;padding:15px 0}.footer-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 20px}.footer-links a{color:#adb5bd;margin-left:20px;text-decoration:none;transition:color .3s}.footer-links a:hover{color:#fff}.upload-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;padding:20px}.upload-area{border:2px dashed #ddd;border-radius:8px;cursor:pointer;margin-bottom:20px;padding:40px;text-align:center;transition:all .3s}.upload-area:hover{background-color:#f8f9fa;border-color:#007bff}.upload-area.dragging{background-color:#e3f2fd;border-color:#007bff}.upload-area.uploading{background-color:#d4edda;border-color:#28a745}.upload-content{align-items:center;display:flex;flex-direction:column;gap:10px}.upload-icon{font-size:48px;margin-bottom:10px}.upload-hint{color:#666;font-size:14px;margin-top:10px}.spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#007bff;height:40px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.upload-example{margin-top:20px}.example-table{margin-top:10px;overflow-x:auto}.example-table table{border-collapse:collapse;font-size:14px;width:100%}.example-table td,.example-table th{border:1px solid #ddd;padding:8px;text-align:center}.example-table th{background-color:#f8f9fa;font-weight:700}.optimization-dashboard{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.dashboard-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;justify-content:space-between;padding:20px}.dashboard-header h2{margin:0}.dashboard-actions{display:flex;gap:10px}.btn-secondary{background-color:#fff3;border:1px solid #ffffff4d;border-radius:4px;color:#fff;cursor:pointer;padding:8px 16px;transition:all .3s}.btn-secondary:hover{background-color:#ffffff4d}.dashboard-tabs{background-color:#f8f9fa;border-bottom:1px solid #dee2e6;display:flex}.tab{background:none;border:none;border-bottom:3px solid #0000;cursor:pointer;font-size:16px;padding:15px 20px;transition:all .3s}.tab:hover{background-color:#e9ecef}.tab.active{background-color:#fff;border-bottom-color:#007bff;color:#007bff}.dashboard-content{padding:20px}.metrics-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:30px}.metric-card{background:#fff;border:2px solid #e9ecef;border-radius:8px;padding:20px;text-align:center;transition:all .3s}.metric-card:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.metric-icon{font-size:32px;margin-bottom:10px}.metric-value{font-size:28px;font-weight:700;margin-bottom:5px}.metric-label{color:#666;font-size:14px}.quick-stats{background-color:#f8f9fa;border-radius:8px;padding:20px}.stat-item{display:flex;justify-content:space-between;margin-bottom:10px}.stat-label{color:#495057;font-weight:700}.stat-value{color:#007bff;font-weight:700}.details-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.details-section h3{border-bottom:2px solid #007bff;margin-bottom:15px;margin-top:0;padding-bottom:10px}.items-list{max-height:400px;overflow-y:auto}.item-card{background:#fff;border:1px solid #dee2e6;border-radius:6px;margin-bottom:10px;padding:15px;transition:all .3s}.item-card:hover{box-shadow:0 2px 4px #0000001a}.item-card.placed{border-left:4px solid #28a745}.item-card.unplaced{border-left:4px solid #dc3545}.item-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.item-volume{background-color:#e9ecef;border-radius:4px;font-size:12px;font-weight:700;padding:4px 8px}.item-details{color:#666;font-size:14px}.item-details>div{margin-bottom:5px}.unplaced-reason{color:#dc3545;font-style:italic;margin-top:5px}.analysis-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.analysis-section{background-color:#f8f9fa;border-radius:8px;padding:20px}.analysis-section h3{color:#495057;margin-bottom:15px;margin-top:0}.performance-breakdown,.volume-breakdown,.weight-breakdown{display:flex;flex-direction:column;gap:10px}.performance-item,.volume-item,.weight-item{border-bottom:1px solid #dee2e6;display:flex;justify-content:space-between;padding:8px 0}.performance-item:last-child,.volume-item:last-child,.weight-item:last-child{border-bottom:none}.binpacker-algorithm{background:#f8f9fa;min-height:100vh}.algorithm-header{align-items:center;background:#fff;box-shadow:0 2px 10px #0000001a;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;padding:20px}.header-left h1{color:#333;font-size:1.8rem;margin:0}.header-left p{color:#666;margin:5px 0 0}.header-right{align-items:center;display:flex;flex-wrap:wrap;gap:20px}.user-info p{color:#333;font-size:.9rem;margin:0}.navigation-buttons{display:flex;gap:10px}.nav-button{border:none;border-radius:5px;cursor:pointer;font-size:.9rem;padding:8px 16px;transition:background .2s}.back-button{background:#6c757d;color:#fff}.back-button:hover{background:#5a6268}.menu-button{background:#007bff;border-radius:6px;color:#fff;font-size:1.1rem;padding:8px 12px;transition:all .2s ease}.menu-button:hover{background:#0056b3;transform:scale(1.05)}.logout-button{background:#dc3545;color:#fff}.logout-button:hover{background:#c82333}.user-status-section{background:linear-gradient(45deg,#28a745,#20c997);border-radius:15px;color:#fff;margin:30px 0;padding:20px;text-align:center}.user-status-section p{font-size:1.1rem;margin:0 0 15px}.user-actions{display:flex;flex-wrap:wrap;gap:15px;justify-content:center}.logout-button-small{background:#fff3;border:2px solid #ffffff4d;border-radius:25px;color:#fff;cursor:pointer;font-size:.9rem;padding:10px 20px;transition:all .2s}.logout-button-small:hover{background:#ffffff4d;border-color:#ffffff80}.menu-button-small{align-items:center;background:#fff3;border:2px solid #ffffff4d;border-radius:25px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;gap:8px;padding:10px 20px;transition:all .2s}.menu-button-small:hover{background:#ffffff4d;border-color:#ffffff80;transform:translateY(-1px)}@media (max-width:768px){.hero-section{padding:20px}.hero-section h1{font-size:2rem}.features{grid-template-columns:1fr}.algorithm-header{flex-direction:column;text-align:center}.header-right{flex-direction:column;gap:10px}.navigation-buttons{justify-content:center;width:100%}.user-actions{align-items:center;flex-direction:column}.user-actions .cta-button,.user-actions .logout-button-small{max-width:250px;width:100%}}.App{background-color:#f5f5f5;min-height:100vh}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.section-header h2{margin:0}.section-actions{display:flex;gap:10px}.excel-import-btn{background:linear-gradient(135deg,#28a745,#20c997);border:none;border-radius:6px;box-shadow:0 2px 8px #28a7454d;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 16px;transition:all .2s ease}.excel-import-btn:hover{box-shadow:0 4px 12px #28a74566;transform:translateY(-1px)}.edit-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.edit-modal{animation:modalSlideIn .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 8px 32px #0003;max-height:90vh;max-width:600px;overflow-y:auto;width:90%}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}.edit-modal-header{align-items:center;background:linear-gradient(135deg,#ffc107,#ff9800);border-bottom:1px solid #eee;border-radius:16px 16px 0 0;color:#fff;display:flex;justify-content:space-between;padding:20px 24px}.edit-modal-header h3{color:#fff;margin:0}.edit-modal-content{padding:24px}.edit-form{display:flex;flex-direction:column;gap:20px}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{color:#333;font-size:14px;font-weight:500}.form-group input,.form-group select,.form-group textarea{border:2px solid #ddd;border-radius:6px;font-size:14px;padding:10px 12px;transition:border-color .2s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#ffc107;box-shadow:0 0 0 3px #ffc1071a;outline:none}.form-group textarea{min-height:80px;resize:vertical}.edit-modal-actions{border-top:1px solid #eee;display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:20px}.edit-modal-actions .btn-primary,.edit-modal-actions .btn-secondary{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s ease}.edit-modal-actions .btn-primary{background:#ffc107;color:#212529}.edit-modal-actions .btn-primary:hover{background:#e0a800;transform:translateY(-1px)}
/*# sourceMappingURL=main.b6c69e51.css.map*/