*{box-sizing:border-box;margin:0;padding:0}body{font-family:Arial,sans-serif;line-height:1.6;padding:20px;background-color:#f5f5f5;color:#333}.container{max-width:1200px;margin:0 auto;padding:15px}h1{text-align:center;margin-bottom:20px;color:#2196f3;font-size:28px}h2{margin-bottom:15px;color:#444;font-size:22px;border-bottom:2px solid #eee;padding-bottom:5px}.header-container{margin-bottom:25px;display:flex;flex-direction:column;align-items:center;padding-bottom:15px;border-bottom:1px solid #e0e0e0}.language-switch{display:flex;gap:5px}.language-btn{background-color:transparent;color:#2196f3;border:1px solid #2196f3;padding:4px 10px;font-size:14px;cursor:pointer;border-radius:4px;transition:all .3s}.language-btn:hover{background-color:rgba(33,150,243,.1)}.language-btn.active{background-color:#2196f3;color:#fff}.excel-import-container,.form-container{background-color:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 5px rgba(0,0,0,.1);margin-bottom:20px;flex:1 1}.form-group{margin-bottom:15px}label{display:block;margin-bottom:5px;font-weight:700;color:#555}input,textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:16px;transition:border-color .3s}input:focus,textarea:focus{border-color:#2196f3;outline:none;box-shadow:0 0 0 2px rgba(33,150,243,.2)}input[type=file]{padding:8px;border:1px dashed #ddd;background-color:#f9f9f9}.image-preview{margin-top:10px;max-width:150px;max-height:150px;overflow:hidden;border:1px solid #eee;border-radius:4px;padding:5px}.image-preview img{max-width:100%;max-height:100%;cursor:pointer;border-radius:2px}button{background-color:#4caf50;color:#fff;border:none;padding:10px 16px;font-size:14px;cursor:pointer;border-radius:4px;transition:all .3s}button:hover{background-color:#45a049;transform:translateY(-1px);box-shadow:0 2px 5px rgba(0,0,0,.1)}button:active{transform:translateY(0);box-shadow:none}button:disabled{background-color:#ccc;cursor:not-allowed;transform:none;box-shadow:none}.products-container{background-color:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 5px rgba(0,0,0,.1)}.product-actions{margin-bottom:20px;display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding-bottom:15px;border-bottom:1px solid #eee}.product-actions button{padding:8px 12px;font-size:13px}@media (max-width:768px){.excel-import-container,.form-container{padding:15px}button{padding:8px 12px;font-size:14px}}.products-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:15px;gap:15px}.product-item{border:1px solid #eee;border-radius:8px;padding:15px;position:relative;display:flex;flex-direction:column;align-items:center;text-align:center}.product-checkbox{position:absolute;top:10px;left:10px;width:20px;height:20px}.product-qr{text-align:center;margin-bottom:10px}.product-image{text-align:center;margin:10px auto;max-width:150px;max-height:150px;cursor:pointer}.product-image img{max-width:100%;max-height:100%}.product-header,.product-info{text-align:center}.product-header{font-weight:700;font-size:14px;margin:5px 0 10px}.product-details{text-align:center;margin:8px 0;padding:8px 0;width:100%}.product-id-display{font-weight:700;margin-bottom:8px;text-align:center}.qr-container{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%}.qr-container img{max-width:150px;height:auto;margin-bottom:8px}.qr-info{font-size:14px;color:#555;text-align:center}.product-buttons{display:flex;justify-content:center;gap:10px;margin-top:15px}.edit-btn{background-color:#2196f3}.edit-btn:hover{background-color:#0b7dda}.delete-btn{background-color:#f44336}.delete-btn:hover{background-color:#da190b}.image-viewer{display:none;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;background-color:rgba(0,0,0,.9);justify-content:center;align-items:center}.enlarged-image{max-width:90%;max-height:90%}.close-viewer{position:absolute;top:15px;right:35px;color:#f1f1f1;font-size:40px;font-weight:700;cursor:pointer}.print-template{display:none;width:100%;max-width:100%}@media print{body *{visibility:hidden}.print-template,.print-template *{visibility:visible}.print-template{position:absolute;left:0;top:0;width:100%;height:auto;padding:20px;box-sizing:border-box;display:block}.print-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:15px;gap:15px;width:100%}.print-item{text-align:center;padding:10px;border:1px solid #ddd;page-break-inside:avoid;height:230px;display:flex;flex-direction:column;align-items:center;justify-content:center}.print-item canvas{max-width:100%;height:auto;margin-bottom:5px}.print-info{width:100%;text-align:center;font-size:12px}.print-id{font-weight:700;margin-top:5px;font-size:12px}.print-image{max-width:150px;max-height:150px;margin:0 auto 5px}.print-image img{max-width:100%;max-height:100%}@page{size:A4;margin:1cm}}@media (max-width:1200px){.products-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:992px){.products-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.products-grid{grid-template-columns:1fr}}#exportDataBtn{background-color:#ff9800}#exportDataBtn:hover{background-color:#f57c00}#importDataBtn{background-color:#9c27b0}#importDataBtn:hover{background-color:#7b1fa2}.project-info-container{background-color:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 5px rgba(0,0,0,.1);margin-bottom:30px}.project-info-form{display:flex;flex-direction:column;gap:15px}.form-row{display:flex;gap:20px}.half-width{flex:1 1;margin-bottom:0}#updateProjectInfoBtn{align-self:flex-start;background-color:#3f51b5}#updateProjectInfoBtn:hover{background-color:#303f9f}.print-header{margin-bottom:20px}.print-project-info{margin-top:10px;font-size:14px;line-height:1.5}.print-project-info table{width:100%;border-collapse:collapse;margin-bottom:15px}.print-project-info th{text-align:left;font-weight:700;background-color:#f2f2f2}.print-project-info td,.print-project-info th{padding:5px 10px;border:1px solid #ddd}.excel-import-section{margin-top:30px;padding-top:20px;border-top:1px dashed #ccc}.excel-import-section h3{margin-bottom:15px;color:#555}.excel-buttons{display:flex;gap:10px;margin-bottom:15px;flex-wrap:wrap}#importExcelBtn{background-color:#009688}#importExcelBtn:hover{background-color:#00796b}#generateAllBtn{background-color:#673ab7}#generateAllBtn:hover{background-color:#512da8}.import-info{margin-top:10px;padding:10px;background-color:#f8f8f8;border-radius:4px;color:#555;font-size:14px;display:none}.import-info.show{display:block}.import-info.success{background-color:#e8f5e9;color:#2e7d32}.import-info.error{background-color:#ffebee;color:#c62828}#saveAllQRBtn{background-color:#e91e63}#saveAllQRBtn:hover{background-color:#c2185b}.loading-indicator{display:none;text-align:center;padding:20px;font-style:italic;color:#666}.loading-indicator.show{display:block}.error-display{background-color:#ffebee;color:#c62828;padding:15px;margin:15px 0;border-radius:4px;border:1px solid #ef9a9a;display:none}.error-display.show{display:block}.info-message{background-color:#e3f2fd;color:#0d47a1;animation:fadeInUp .3s ease-out,fadeOut .3s ease-in 4.7s forwards}.info-message,.success-message{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);padding:12px 20px;border-radius:6px;box-shadow:0 2px 10px rgba(0,0,0,.1);z-index:1000}.success-message{background-color:#e8f5e9;color:#2e7d32;animation:fadeInUp .3s ease-out,fadeOut .3s ease-in 2.7s forwards}@keyframes fadeInUp{0%{opacity:0;transform:translate(-50%,20px)}to{opacity:1;transform:translate(-50%)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.product-footer{width:100%;margin-top:auto;border-top:1px solid #eee;padding-top:10px}.product-actions input[type=checkbox]{width:24px;height:24px;margin-right:5px;vertical-align:middle}.Auth_authContainer__krRUD{background-color:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 5px rgba(0,0,0,.1);margin-bottom:20px;max-width:500px;margin-left:auto;margin-right:auto}.Auth_authForm__Q3DLf{display:flex;flex-direction:column;gap:15px}.Auth_authForm__Q3DLf h2{margin-bottom:15px;color:#333;text-align:center}.Auth_formGroup__9PGF_{margin-bottom:10px}.Auth_formGroup__9PGF_ label{display:block;margin-bottom:5px;font-weight:700;color:#555}.Auth_formGroup__9PGF_ input{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:16px}.Auth_authForm__Q3DLf button{background-color:#4caf50;color:#fff;border:none;padding:12px;font-size:16px;cursor:pointer;border-radius:4px;transition:background-color .3s}.Auth_authForm__Q3DLf button:hover{background-color:#45a049}.Auth_authSwitch__QU422{text-align:center;margin-top:10px;font-size:14px;color:#666}.Auth_authSwitch__QU422 a{color:#4caf50;text-decoration:none;font-weight:700}.Auth_authSwitch__QU422 a:hover{text-decoration:underline}.Auth_authMessage__7fzPA{padding:10px;margin-bottom:15px;border-radius:4px;font-size:14px;text-align:center;display:none}.Auth_error__npNR5{background-color:#ffebee;color:#c62828;border:1px solid #ef9a9a;display:block}.Auth_success__qQE_4{background-color:#e8f5e9;color:#2e7d32;border:1px solid #a5d6a7;display:block}.Auth_userInfo__sakvv{text-align:center;margin-bottom:15px;font-weight:700;color:#333}.Auth_logoutBtn__aTfFG{background-color:#f44336;color:#fff;border:none;padding:10px 15px;font-size:14px;cursor:pointer;border-radius:4px;transition:background-color .3s;display:block;margin:0 auto}.Auth_logoutBtn__aTfFG:hover{background-color:#d32f2f}@media (max-width:600px){.Auth_authContainer__krRUD{padding:15px}}