*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;padding:20px;color:#333}.container{max-width:1600px;width:95%;margin-left:auto;margin-right:20px;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;padding:40px}.page-content{padding:20px 0;min-height:200px}.app-header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px;border-bottom:2px solid #e0e0e0;padding-bottom:0}.app-brand{flex:0 1 auto;min-width:0;padding-bottom:12px}.app-title{color:#667eea;font-size:2em;font-weight:700;margin:0 0 4px;line-height:1.2}.app-subtitle{color:#666;font-size:1em;margin:0;font-weight:500}.app-tabs-wrap{display:flex;align-items:flex-end;gap:0;flex-shrink:0}.app-tabs{display:flex;gap:0}.app-tab{padding:12px 20px;background:#f0f0f0;color:#555;text-decoration:none;font-weight:600;font-size:.95em;border:1px solid #e0e0e0;border-bottom:none;border-radius:8px 8px 0 0;margin-bottom:-2px;transition:background .2s ease,color .2s ease}.app-tab:hover{background:#e8e8e8;color:#667eea}.app-tab.active{background:#fff;color:#667eea;border-color:#e0e0e0;border-bottom:2px solid #fff;position:relative;top:2px}.app-header-actions{display:flex;align-items:center;gap:10px;padding-bottom:12px}header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;margin-bottom:40px}header .header-spacer{flex:1;min-width:0}header .header-title{flex:0 1 auto;min-width:0;text-align:center}header .header-nav{flex:1;min-width:0;display:flex;justify-content:flex-end}header h1{color:#667eea;font-size:2.5em;margin-bottom:6px;font-weight:700}header p{color:#666;font-size:1.1em}.main-nav{display:flex;gap:10px;flex-shrink:0}.main-nav a{padding:10px 20px;background:#f5f5f5;color:#667eea;text-decoration:none;border-radius:8px;font-weight:600;transition:all .3s ease;border:2px solid transparent}.main-nav a:hover{background:#f0f0ff;border-color:#667eea}.main-nav a.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:#667eea}.controls{display:flex;gap:15px;align-items:flex-end;justify-content:center;margin-bottom:30px;flex-wrap:wrap}.controls--aligned-labels{display:flex;flex-wrap:wrap;gap:15px;align-items:center;justify-content:start}.controls--aligned-labels .control-group{display:inline-flex;align-items:center;gap:8px}.controls--aligned-labels .control-group .control-select,.controls--aligned-labels .control-group .control-input{flex-shrink:0;box-sizing:border-box}.controls--aligned-labels .control-label{margin:0;padding:12px 0;border:2px solid transparent;border-radius:8px;box-sizing:border-box;line-height:1.2;font-weight:600;color:#555;font-size:1em}.item-stock-check-mode-group{display:flex;flex-direction:row;flex-wrap:wrap;gap:10px;align-items:flex-end}.item-stock-check-input-column{display:flex;flex-direction:column;gap:8px;align-items:center}.item-stock-check-mode-group .radio-row{display:flex;justify-content:center}.control-label-row{display:flex;align-items:center;gap:10px}.mode-panels-wrap{display:flex;align-items:center;min-width:0}.mode-panels-wrap .mode-panel{min-width:120px}.controls label{font-weight:600;color:#555;font-size:1.1em}#promoSelect,#storeSelect{padding:12px 20px;border:2px solid #e0e0e0;border-radius:8px;font-size:1em;min-width:250px;background:#fff;cursor:pointer;transition:all .3s ease}#promoSelect:hover:not(:disabled),#storeSelect:hover:not(:disabled){border-color:#667eea}#promoSelect:focus,#storeSelect:focus,.control-select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.control-select{padding:12px 20px;border:2px solid #e0e0e0;border-radius:8px;font-size:1em;min-width:250px;background:#fff;cursor:pointer;transition:all .3s ease}.control-select:hover:not(:disabled){border-color:#667eea}.control-input{padding:12px 20px;border:2px solid #e0e0e0;border-radius:8px;font-size:1em;min-width:120px;background:#fff;transition:all .3s ease}.control-input:hover,.control-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.control-input--readonly{background:#f5f5f5;color:#333;min-width:180px}.control-input--readonly:focus{border-color:#e0e0e0;box-shadow:none}.hidden{display:none!important}.radio-group{display:inline-flex;align-items:center;gap:12px}.radio-label{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:#555;cursor:pointer}.radio-label input[type=radio]{accent-color:#667eea;cursor:pointer}.radio-label--disabled{color:#bbb!important;cursor:default}.radio-label--disabled input[type=radio]{opacity:.5;cursor:not-allowed}.mode-stack{display:flex;flex-direction:column;gap:8px;align-items:center}.mode-panel{display:inline-flex;align-items:center;gap:8px}.control-btn{padding:12px 30px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1em;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #667eea66}.control-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea99}.control-btn:disabled{opacity:.5;cursor:not-allowed}#loadBtn,#loadStockBtn{padding:12px 30px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1em;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #667eea66}#loadBtn:hover:not(:disabled),#loadStockBtn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea99}#loadBtn:disabled,#loadStockBtn:disabled{opacity:.5;cursor:not-allowed}.loading{text-align:center;padding:40px}.loading.hidden{display:none}.spinner{border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;width:50px;height:50px;animation:spin 1s linear infinite;margin:0 auto 20px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error{background:#fee;color:#c33;padding:15px 20px;border-radius:8px;margin-bottom:20px;border-left:4px solid #c33}.error.hidden{display:none}.results{margin-top:30px}.results.hidden{display:none}.results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:15px}.results-header h2{color:#333;font-size:1.8em}.pagination-info{color:#666;font-size:1em}.filter-container{display:flex;gap:10px;align-items:center;margin-bottom:20px;padding:15px;background:#f8f9ff;border-radius:8px}.filter-container label{font-weight:600;color:#555;font-size:1.1em;white-space:nowrap}.filter-container .control-select{min-width:150px}.search-container{display:flex;gap:20px;align-items:center;margin-bottom:20px;padding:15px;background:#f8f9ff;border-radius:8px;flex-wrap:wrap}.search-group,.filter-group{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.search-container label{font-weight:600;color:#555;font-size:1em;white-space:nowrap}#barcodeSearch{flex:1;min-width:200px;padding:10px 15px;border:2px solid #e0e0e0;border-radius:8px;font-size:1em;font-family:Courier New,monospace;letter-spacing:1px;transition:all .3s ease}#groupFilter{min-width:100px;width:150px;padding:10px 15px;border:2px solid #e0e0e0;border-radius:8px;font-size:1em;font-weight:600;text-transform:uppercase;text-align:left;letter-spacing:1px;transition:all .3s ease}#groupFilter:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}#barcodeSearch:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}#searchBtn,#searchAllBtn{padding:10px 25px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1em;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #667eea66}#searchBtn:hover,#searchAllBtn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea99}#searchAllBtn{background:linear-gradient(135deg,#f093fb,#f5576c);box-shadow:0 4px 15px #f5576c66}#searchAllBtn:hover{box-shadow:0 6px 20px #f5576c99}.table-container{overflow-x:auto;overflow-y:auto;max-height:70vh;border-radius:8px;box-shadow:0 2px 10px #0000001a}.barcode-and-table-wrap{display:flex;align-items:flex-start;gap:24px;flex-wrap:wrap}.barcode-input-group{display:flex;align-items:center;gap:8px}.barcode-input-group .control-label{font-weight:500;color:#333;white-space:nowrap}.barcode-input-column{display:flex;flex-direction:column;gap:8px}.barcode-count-label{font-size:.9em;color:#555}.table-container--narrow{width:25%;min-width:120px}table{width:100%;border-collapse:collapse;background:#fff}thead{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;position:sticky;top:0;z-index:10}th{padding:12px 10px;text-align:left;font-weight:600;font-size:.95em;white-space:nowrap}td{padding:12px 10px;border-bottom:1px solid #e0e0e0;font-size:.9em}tbody tr:hover{background:#f8f9ff;transition:background .2s ease}tbody tr:not(:first-child){border-top:1px solid #e0e0e0}tbody tr[data-item-group]{border-top:2px solid #667eea}.item-image{width:100px;height:100px;object-fit:contain;border-radius:8px;border:2px solid #e0e0e0;background:#f9f9f9;padding:5px}.item-image.loading{background:#f0f0f0;display:flex;align-items:center;justify-content:center}.item-number{font-weight:600;color:#667eea;font-size:1.1em}.sizes-table{width:100%;border-collapse:collapse;font-size:.85em;margin:0;background:#fafafa}.sizes-table thead{background:#e8e8e8}.sizes-table th{text-align:left;padding:6px 8px;background:#e8e8e8;border:1px solid #d0d0d0;font-weight:600;color:#555;font-size:.85em;white-space:nowrap}.sizes-table td{padding:6px 8px;border:1px solid #d0d0d0;color:#333;background:#fff}.sizes-table tbody tr:hover{background:#f0f0f0}.barcodes-cell{vertical-align:top;padding:10px}.barcode-row{display:flex;align-items:center;gap:10px;padding:6px 0;cursor:pointer;font-family:Courier New,monospace;font-size:.9em}.barcode-row:hover{background:#f8f9ff}.barcode-checkbox{width:18px;height:18px;cursor:pointer;accent-color:#667eea}.barcode-value{flex:1}.barcode-count-badge{display:inline-block;background:#667eea;color:#fff;font-size:.75em;font-weight:600;padding:2px 8px;border-radius:12px;margin-bottom:8px;margin-right:8px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.pagination{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:30px;flex-wrap:wrap}.pagination-btn{padding:10px 20px;background:#fff;border:2px solid #e0e0e0;border-radius:8px;font-size:1em;cursor:pointer;transition:all .3s ease;font-weight:600;color:#667eea}.pagination-btn:hover:not(:disabled){background:#667eea;color:#fff;border-color:#667eea}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.page-numbers{display:flex;gap:5px}.page-number{padding:10px 15px;background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .3s ease;font-weight:600;color:#667eea;min-width:45px;text-align:center}.page-number:hover{background:#f8f9ff;border-color:#667eea}.page-number.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:#667eea}@media (max-width: 768px){.container{padding:20px;width:100%;margin:0}header h1{font-size:2em}.controls{flex-direction:column;align-items:stretch}#promoSelect,#storeSelect,#loadBtn,#loadStockBtn{width:100%}.results-header{flex-direction:column;align-items:flex-start}.item-image{width:80px;height:80px}}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal.hidden{display:none}.modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;width:90%;max-width:500px;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 25px;border-bottom:2px solid #e0e0e0}.modal-header h2{color:#667eea;font-size:1.8em;margin:0}.modal-close{background:none;border:none;font-size:2em;color:#999;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.modal-close:hover{background:#f0f0f0;color:#333}.modal-body{padding:25px}.modal-body label{display:block;font-weight:600;color:#555;font-size:1.1em;margin-bottom:10px}.modal-body .control-select{width:100%}.modal-footer{display:flex;gap:10px;justify-content:flex-end;padding:20px 25px;border-top:2px solid #e0e0e0}.modal-footer .control-btn{min-width:100px}
