@charset "UTF-8";.page-container{max-width:1200px;margin:2rem auto;padding:0 1rem}.form-container{max-width:720px;margin:2rem auto;padding:0 1rem}.page-header,.form-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem}.page-header h1,.form-header h1{font-size:1.75rem;color:#2c3e50;margin-bottom:.5rem}.page-header .subtitle,.form-header .subtitle{color:#7f8c8d;font-size:.95rem}.loading-page,.loading-container{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:3rem;color:#7f8c8d;font-size:.95rem}.page-header__actions{display:flex;align-items:center;gap:.75rem}.btn-filter-trigger{display:none}@media(max-width:767px){.page-container,.form-container{margin:.5rem auto;padding:0}div[class$=-container]{margin:0!important;padding:0!important;max-width:100%!important}.page-header,.form-header{flex-wrap:wrap;gap:.75rem;margin-bottom:1.25rem}.page-header h1,.form-header h1{font-size:1.3rem}.page-header>a.btn,.page-header>button.btn,.form-header>a.btn,.form-header>button.btn{width:100%;text-align:center}.page-header__actions{width:100%;gap:.5rem}.page-header__actions .btn{flex:3;text-align:center;justify-content:center;width:auto}.btn-filter-trigger{display:inline-flex;flex:1;align-items:center;justify-content:center;gap:.35rem;padding:.6rem .5rem;background:#ecf0f1;border:1.5px solid #dcdfe6;border-radius:8px;color:#2c3e50;font-size:.8rem;font-weight:600;font-family:inherit;cursor:pointer;white-space:nowrap;transition:border-color .18s,background .18s,color .18s}.btn-filter-trigger svg{flex-shrink:0;color:#7f8c8d;transition:color .18s}.btn-filter-trigger:hover{border-color:#3498db;background:#f0f7ff;color:#2980b9}.btn-filter-trigger:hover svg{color:#3498db}}.alert{padding:1rem 1.25rem;border-radius:8px;margin-bottom:1.5rem}.alert .alert-title{font-weight:700;margin-right:.25rem}.alert ul{list-style:none;padding:0;margin:0}.alert ul li{margin-bottom:.25rem}.alert ul li:last-child{margin-bottom:0}.alert-success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.alert-error{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.alert-warning{background:#fff3cd;border:1px solid #ffc107;color:#856404}.alert-info{background:#e8f4fd;border:1px solid #bee3f8;color:#1a5276}.alert-inline{margin-top:.5rem;padding:.55rem .85rem;border-radius:6px;font-size:.85rem;line-height:1.4}.alert-inline--warning{background:#fff3cd;color:#856404;border:1px solid #ffc107}.btn{padding:.75rem 2rem;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:background-color .2s,opacity .2s;display:inline-flex;align-items:center;gap:.5rem;font-family:inherit;text-decoration:none}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:#3498db;color:#fff}.btn-primary:hover:not(:disabled){background:#2980b9}.btn-secondary{background:#ecf0f1;color:#2c3e50}.btn-secondary:hover:not(:disabled){background:#dcdfe6}.form-actions{display:flex;gap:1rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #eee}@media(max-width:600px){.form-actions{flex-direction:column}}.spinner,.spinner-small{display:inline-block;border:2px solid rgba(255,255,255,.6);border-top-color:transparent;border-radius:50%;animation:spin .6s linear infinite}.spinner{width:20px;height:20px;border-width:3px}.spinner-small{width:16px;height:16px;border:2px solid currentColor;border-top-color:transparent}@keyframes spin{to{transform:rotate(360deg)}}.form-card{background:#fff;border-radius:12px;box-shadow:0 2px 12px #00000014;padding:2rem}.form-group{margin-bottom:1.5rem}.form-group label{display:flex;font-weight:600;color:#2c3e50;margin-bottom:.5rem;font-size:.9rem}.form-group label .required{color:#e74c3c;margin-left:2px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem 1rem;border:2px solid #dcdfe6;border-radius:8px;font-size:.95rem;font-family:inherit;color:#2c3e50;background:#fff;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db26}.form-group input::placeholder,.form-group select::placeholder,.form-group textarea::placeholder{color:#bdc3c7}.form-group select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%237f8c8d' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem;cursor:pointer}.form-group textarea{resize:vertical;min-height:100px}.form-group.has-error input,.form-group.has-error select,.form-group.has-error textarea{border-color:#e74c3c}.form-group.has-error input:focus,.form-group.has-error select:focus,.form-group.has-error textarea:focus{box-shadow:0 0 0 3px #e74c3c26}.form-group .field-error{display:block;color:#e74c3c;font-size:.8rem;margin-top:.4rem;font-weight:500}.form-group .field-hint{display:block;color:#7f8c8d;font-size:.75rem;margin-top:.3rem;font-style:italic}.form-group .field-hint--warning{color:#856404;font-style:normal;font-weight:500}.readonly-field{background:#f5f5f5!important;color:#7f8c8d!important;cursor:not-allowed;border-color:#e9ecef!important}.form-row{display:flex;gap:1rem}.form-row .half{flex:1}.form-row .full{flex:1 1 100%}.form-row .quarter{flex:1 1 25%}@media(max-width:600px){.form-row{flex-direction:column;gap:0}}.toggle-row{display:flex;gap:1.5rem;padding-top:.4rem}.toggle-label{display:inline-flex;align-items:center;gap:.4rem;font-weight:400!important;cursor:pointer;font-size:.9rem}.toggle-label input[type=radio]{width:auto;padding:0;margin:0;cursor:pointer}.section-label{display:block;font-weight:700;color:#2c3e50;font-size:1rem}.accordion-section{border-bottom:1px solid #e9ecef;margin-bottom:1.5rem;padding-bottom:.5rem}.accordion-header{display:flex;align-items:center;justify-content:flex-start;gap:.5rem;background:none;border:none;padding:.75rem 0;cursor:pointer;text-align:left;color:#7f8c8d;transition:color .2s}.accordion-header:hover,.accordion-header:hover .section-label{color:#3498db}.accordion-header.expanded .accordion-icon{transform:rotate(180deg)}.accordion-header.expanded{color:#2c3e50}.accordion-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;transition:transform .2s ease}.accordion-icon svg{width:14px;height:14px}.name-visibility-row .form-group:first-child{flex:3}.visibility-group{flex:1;display:flex;flex-direction:column}.visibility-toggle{display:inline-flex;width:100%;height:100%;align-items:center;gap:.6rem;padding:.5rem .85rem .5rem .6rem;border-radius:20px;border:2px solid #e74c3c;background:#fde8e8;color:#e74c3c;font-size:.85rem;font-weight:600;cursor:pointer;transition:border-color .2s,background .2s,color .2s;-webkit-user-select:none;user-select:none;white-space:nowrap}.visibility-toggle.active{border-color:#77b82a;background:#d4edda;color:#155724}.visibility-toggle.active .toggle-track{background:#77b82a}.visibility-toggle.active .toggle-dot{transform:translate(14px)}.toggle-track{position:relative;width:32px;height:18px;border-radius:20px;background:#e74c3c;flex-shrink:0;transition:background .2s}.toggle-dot{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;transition:transform .2s}.toggle-label-text{display:inline-block;min-width:130px;line-height:1;text-align:left}.checkbox-inline{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:500;color:#2c3e50;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-inline input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#f39c12}.checkbox-inline:hover{color:#d68910}@media(max-width:767px){.form-card{padding:1.25rem;border-radius:8px}.form-group{margin-bottom:1.1rem}.form-actions{flex-direction:column;gap:.75rem}.form-actions button,.form-actions a{width:100%;text-align:center;justify-content:center}}.filters{display:flex;gap:1.5rem;margin-bottom:2rem;background:#fff;border-radius:12px;box-shadow:0 2px 12px #00000014;padding:1.5rem}.filter-group label{display:block;font-weight:600;color:#2c3e50;margin-bottom:.5rem;font-size:.9rem}.filter-group input,.filter-group select{width:100%;padding:.65rem 1rem;border:2px solid #dcdfe6;border-radius:8px;font-size:.95rem;font-family:inherit;color:#2c3e50;background:#fff;transition:border-color .2s;box-sizing:border-box}.filter-group input:focus,.filter-group select:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db26}.filter-group input::placeholder,.filter-group select::placeholder{color:#bdc3c7}.filter-group select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%237f8c8d' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem;cursor:pointer}.search-group{flex:2}.category-group,.make-group,.model-group,.warehouse-group,.unit-group{flex:1}@media(max-width:767px){.filter-group,.search-group,.category-group,.make-group,.model-group,.warehouse-group,.unit-group{flex:none!important;width:100%}}.selector-section,.variant-selector,.subcategory-selector,.material-selector{border:1px solid #dcdfe6;border-radius:8px;padding:1.25rem;background:#f2f2f2}.selector-filters{display:flex;gap:.75rem;margin-bottom:1rem}.variant-checklist{max-height:260px;overflow-y:auto;border:1px solid #e9ecef;border-radius:6px;background:#fff;padding:.35rem;display:flex;flex-direction:column;gap:2px}.variant-checklist::-webkit-scrollbar{width:6px}.variant-checklist::-webkit-scrollbar-thumb{background:#dcdfe6;border-radius:3px}.checklist-grid,.subcategory-checklist,.material-checklist{max-height:200px;overflow-y:auto;border:1px solid #e9ecef;border-radius:6px;background:#fff;padding:.35rem;display:grid;grid-template-columns:repeat(3,1fr);gap:2px}.checklist-grid::-webkit-scrollbar,.subcategory-checklist::-webkit-scrollbar,.material-checklist::-webkit-scrollbar{width:6px}.checklist-grid::-webkit-scrollbar-thumb,.subcategory-checklist::-webkit-scrollbar-thumb,.material-checklist::-webkit-scrollbar-thumb{background:#dcdfe6;border-radius:3px}.checkbox-label{display:flex;align-items:center;gap:1.3rem;padding:.55rem .75rem;font-weight:400;font-size:.88rem;color:#4a4a4a;border-radius:4px;cursor:pointer;transition:background .15s;-webkit-user-select:none;user-select:none}.checkbox-label:hover{background:#f0f7ff}.checkbox-label input[type=checkbox]{appearance:none;width:18px;height:18px;min-width:18px;min-height:18px;margin:0;border:2px solid #dcdfe6;border-radius:4px;cursor:pointer;flex-shrink:0;position:relative;transition:background .15s,border-color .15s}.checkbox-label input[type=checkbox]:checked{background:#3498db;border-color:#3498db}.checkbox-label input[type=checkbox]:checked:after{content:"\2713";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:12px;font-weight:700;line-height:1}.checkbox-label input[type=checkbox]:hover{border-color:#3498db}.check-label-sm,.subcategory-check-label,.material-check-label{display:flex;align-items:center;gap:.4rem;padding:.3rem .5rem;font-weight:400;font-size:.8rem;color:#4a4a4a;border-radius:4px;cursor:pointer;transition:background .15s;-webkit-user-select:none;user-select:none;line-height:1}.check-label-sm:hover,.subcategory-check-label:hover,.material-check-label:hover{background:#f0f7ff}.check-label-sm input[type=checkbox],.subcategory-check-label input[type=checkbox],.material-check-label input[type=checkbox]{appearance:none;width:12px;height:12px;min-width:12px;min-height:12px;margin:0;flex-shrink:0;border:1.5px solid #dcdfe6;border-radius:3px;cursor:pointer;position:relative;transition:background .15s,border-color .15s;vertical-align:middle}.check-label-sm input[type=checkbox]:checked,.subcategory-check-label input[type=checkbox]:checked,.material-check-label input[type=checkbox]:checked{background:#3498db;border-color:#3498db}.check-label-sm input[type=checkbox]:checked:after,.subcategory-check-label input[type=checkbox]:checked:after,.material-check-label input[type=checkbox]:checked:after{content:"\2713";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:9px;font-weight:700;line-height:1}.check-label-sm input[type=checkbox]:hover,.subcategory-check-label input[type=checkbox]:hover,.material-check-label input[type=checkbox]:hover{border-color:#3498db}.check-label-sm.selected,.subcategory-check-label.selected,.material-check-label.selected{background:#f0f7ff}.checklist-count,.subcategory-count,.material-count{margin-top:.75rem;font-size:.85rem;color:#3498db;font-weight:600}.no-items,.no-materials{padding:.75rem;font-size:.85rem;color:#7f8c8d;font-style:italic}.variant-detail{color:#7f8c8d;font-size:.78rem;margin-left:auto;background:#f0f0f0;padding:.15rem .5rem;border-radius:20px;white-space:nowrap}.variants-loading{display:flex;align-items:center;gap:.5rem;color:#7f8c8d;font-size:.85rem;padding:.5rem 0}.selected-variants{margin-top:.75rem}.selected-count{font-size:.85rem;color:#3498db;font-weight:600;display:flex;align-items:center;gap:.35rem;margin-bottom:.5rem}.selected-count:before{content:"\2713";font-weight:700}.variant-chips{display:flex;flex-wrap:wrap;gap:.4rem}.variant-chip{display:inline-flex;align-items:center;gap:.4rem;background:#f0f7ff;border:1px solid #3498db;color:#2c3e50;padding:.3rem .55rem;border-radius:20px;font-size:.8rem;line-height:1.3}.variant-chip small{color:#7f8c8d;font-size:.72rem}.variant-chip .chip-model{color:#2980b9;font-weight:500}.variant-chip .chip-remove{background:none;border:none;color:#e74c3c;cursor:pointer;font-size:.75rem;padding:0 .15rem;line-height:1;border-radius:50%;transition:background .15s,color .15s}.variant-chip .chip-remove:hover{background:#fdf0f0;color:#c0392b}.table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:12px;box-shadow:0 2px 12px #00000014}@media(max-width:767px){.table-wrapper{border-radius:8px}.table-wrapper table{min-width:600px}.table-wrapper th,.table-wrapper td{padding:.6rem .75rem;font-size:.82rem}.actions-buttons{display:flex;gap:.4rem;flex-wrap:nowrap}.actions-buttons .btn-edit,.actions-buttons .btn-delete{padding:.35rem .6rem;font-size:.78rem;white-space:nowrap}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Open Sans,Helvetica Neue,Helvetica,sans-serif;background:#f2f2f2;color:#4a4a4a}main{min-height:calc(100vh - 120px)}
