body{background:linear-gradient(135deg,#667eea,#764ba2);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;min-height:100vh;padding:20px}.ipqc-container{margin:0 auto;max-width:1200px}.header{align-items:center;background:#fff;border-radius:15px;box-shadow:0 10px 30px #0003;display:flex;gap:30px;margin-bottom:30px;padding:30px}.logo{background:linear-gradient(135deg,#1a237e,#283593);border-radius:10px;color:#fff;min-width:150px;padding:20px;text-align:center}.logo h1{font-size:2.5em;font-weight:700;letter-spacing:2px;margin:0}.logo p{font-size:1.2em;letter-spacing:3px;margin:5px 0 0}.title{flex:1 1}.title h2{color:#1a237e;font-size:2em;margin-bottom:10px}.title p{color:#666;font-size:1.1em}.info-banner{background:linear-gradient(135deg,#4caf50,#45a049);border-radius:10px;box-shadow:0 5px 15px #4caf504d;color:#fff;margin-bottom:30px;padding:15px 30px;text-align:center}.info-banner p{font-size:1.1em;margin:0}.form-card{background:#fff;border-radius:15px;box-shadow:0 10px 30px #0003;margin-bottom:30px;padding:40px}.form-card h3{border-bottom:3px solid #667eea;color:#1a237e;font-size:1.8em;margin-bottom:30px;padding-bottom:15px}.form-grid{grid-gap:25px;gap:25px;margin-bottom:30px}.form-group label{font-size:1em}.required{color:#f44336;font-size:1.2em}.form-group input,.form-group select{border:2px solid #ddd;font-size:1em}.form-group input:disabled,.form-group select:disabled{background:#f5f5f5;cursor:not-allowed}.message.success{border:2px solid #c3e6cb}.message.error{border:2px solid #f5c6cb}.button-group{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:20px}.btn{border-radius:8px;box-shadow:0 4px 15px #0003;font-size:1.1em;padding:15px 40px;transition:all .3s ease}.btn-primary:hover:not(:disabled){box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.btn-secondary{background:linear-gradient(135deg,#f093fb,#f5576c)}.btn-secondary:hover:not(:disabled){box-shadow:0 6px 20px #f5576c66;transform:translateY(-2px)}.btn-success{background:linear-gradient(135deg,#4caf50,#45a049)}.btn-success:hover:not(:disabled){box-shadow:0 6px 20px #4caf5066;transform:translateY(-2px)}.btn-info{background:linear-gradient(135deg,#2196f3,#1976d2)}.btn-info:hover:not(:disabled){box-shadow:0 6px 20px #2196f366;transform:translateY(-2px)}.features{background:#fff;border-radius:15px;box-shadow:0 10px 30px #0003;margin-bottom:30px;padding:40px}.features h3{color:#1a237e;font-size:1.8em;margin-bottom:30px;text-align:center}.features-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.feature-card{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border-radius:10px;padding:25px;text-align:center;transition:transform .3s ease}.feature-card:hover{transform:translateY(-5px)}.feature-card h4{color:#1a237e;font-size:1.3em;margin-bottom:10px}.feature-card p{color:#555;line-height:1.6}.footer{color:#fff;font-size:.9em;opacity:.9;padding:20px;text-align:center}@media (max-width:1024px){.ipqc-container{padding:15px}.form-card{padding:30px}}@media (max-width:768px){body{padding:10px}.ipqc-container{padding:0}.header{flex-direction:column;gap:20px;margin-bottom:20px;padding:20px;text-align:center}.logo{max-width:200px;min-width:auto;padding:15px;width:100%}.logo h1{font-size:1.8em}.logo p{font-size:1em}.title h2{font-size:1.4em}.title p{font-size:.95em}.info-banner{margin-bottom:20px;padding:12px 20px}.info-banner p{font-size:.95em}.form-card{border-radius:12px;margin-bottom:20px;padding:20px}.form-card h3{font-size:1.4em;margin-bottom:20px}.form-grid{gap:15px;grid-template-columns:1fr}.form-group input,.form-group select,.form-group textarea{font-size:16px;padding:14px}.button-group{flex-direction:column;gap:10px}.btn{font-size:15px;padding:14px;width:100%}.features-grid{gap:15px;grid-template-columns:1fr}.feature-card{padding:20px}.feature-card h4{font-size:1.1em}}@media (max-width:480px){body{padding:8px}.header{border-radius:10px;padding:15px}.logo h1{font-size:1.5em}.title h2{font-size:1.2em}.form-card{border-radius:10px;padding:15px}.form-card h3{font-size:1.2em}.info-banner{font-size:.9em;padding:10px 15px}}.daily-report-container{margin:0 auto;max-width:1200px;padding:30px}.report-card{background:#fff;border-radius:15px;box-shadow:0 4px 20px #0000001a;padding:40px}.header-section{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.report-card h2{color:#2c3e50;font-size:32px;margin:0 0 10px}.company-info-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:all .3s ease}.company-info-btn:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.company-info-form{background:#f8f9fa;border:2px solid #e0e0e0;border-radius:12px;margin:20px 0;padding:25px}.save-btn{background:linear-gradient(135deg,#11998e,#38ef7d);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:15px;padding:14px;transition:all .3s ease;width:100%}.save-btn:hover{box-shadow:0 4px 12px #11998e66;transform:translateY(-2px)}.excel-upload-section{margin:30px 0}.upload-box{background:#f8f9fa;border:3px dashed #3498db;border-radius:12px;padding:40px;transition:all .3s ease}.upload-box:hover{background:#e8f4f8;border-color:#2980b9;transform:translateY(-2px)}.upload-icon{display:block;font-size:64px;margin-bottom:15px}.upload-text{color:#2c3e50;margin:10px 0}.upload-hint{color:#7f8c8d}.upload-success{animation:slideIn .3s ease;background:linear-gradient(135deg,#11998e,#38ef7d);border-radius:8px;color:#fff;font-weight:600;margin-top:15px;padding:15px;text-align:center}.report-form{margin-top:30px}.section-title{align-items:center;border-bottom:2px solid #e0e0e0;color:#2c3e50;display:flex;font-size:18px;gap:10px;margin:30px 0 15px;padding-bottom:10px}.form-row{margin-bottom:20px}.form-group input,.form-group textarea{border:2px solid #e0e0e0;border-radius:8px;font-size:15px;padding:12px 15px;transition:all .3s ease}.form-group input:focus,.form-group textarea:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a;outline:none}.form-group textarea{font-family:inherit;resize:vertical}.summary-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:30px 0}.rejection-section{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;margin:20px 0;padding:25px}.section-header{gap:15px}.rejection-actions{display:flex;flex-wrap:wrap;gap:10px}.btn-add-rejection,.btn-upload-excel,.btn-view-rejections{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .3s ease}.btn-add-rejection{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-add-rejection:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.btn-upload-excel{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;display:inline-block}.btn-upload-excel:hover{box-shadow:0 4px 12px #f5576c66;transform:translateY(-2px)}.btn-view-rejections{background:linear-gradient(135deg,#4facfe,#00f2fe);color:#fff}.btn-view-rejections:hover{box-shadow:0 4px 12px #4facfe66;transform:translateY(-2px)}.btn-add-day{background:linear-gradient(135deg,#11998e,#38ef7d);border:none;border-radius:10px;box-shadow:0 4px 12px #11998e4d;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 30px;transition:all .3s ease}.btn-add-day:hover{box-shadow:0 6px 20px #38ef7d66;transform:translateY(-3px)}.btn-delete-all{background:linear-gradient(135deg,#ff6b6b,#ee5a6f);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .3s ease}.btn-delete-all:hover{box-shadow:0 4px 12px #ff6b6b66;transform:translateY(-2px)}.rejection-list{margin:20px 0;overflow-x:auto}.rejection-table{background:#fff;border-collapse:collapse;width:100%}.rejection-table th{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-weight:600;padding:12px;text-align:left}.rejection-table td{border-bottom:1px solid #e0e0e0;padding:10px 12px}.rejection-table tbody tr:hover{background:#f5f5f5}.btn-delete{border-radius:6px;font-size:14px;padding:6px 12px;transition:all .2s ease}.rejection-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:20px}.rejection-card{background:linear-gradient(135deg,#f093fb,#f5576c)}.modal-content h3{color:#333;font-size:24px;margin-bottom:20px;margin-top:0;text-align:center}.modal-form{gap:15px}.modal-form,.modal-form .form-group{display:flex;flex-direction:column}.modal-form label{color:#555;font-weight:600;margin-bottom:5px}.modal-form input,.modal-form select{border:2px solid #e0e0e0;border-radius:8px;font-size:14px;padding:10px;transition:border-color .3s ease}.modal-form input:focus,.modal-form select:focus{border-color:#667eea;outline:none}.btn-cancel,.btn-save{flex:1 1;padding:12px}.btn-cancel{color:#555}.btn-save:hover{box-shadow:0 4px 12px #667eea66}.btn-generate-pdf{background:linear-gradient(135deg,#11998e,#38ef7d);border:none;border-radius:12px;box-shadow:0 4px 15px #11998e4d;color:#fff;cursor:pointer;font-size:18px;font-weight:700;padding:15px 40px;transition:all .3s ease}.btn-generate-pdf:hover{box-shadow:0 6px 20px #11998e80;transform:translateY(-3px)}.company-list-view{padding:20px}.list-header{border-bottom:3px solid #f0f0f0;justify-content:space-between;margin-bottom:40px;padding-bottom:20px}.list-header,.list-header h2{align-items:center;display:flex}.list-header h2{color:#2c3e50;font-size:32px;font-weight:800;gap:12px;margin:0}.list-header h2:before{content:"🏢";font-size:36px}.btn-add-company,.btn-new-company{background:linear-gradient(135deg,#11998e,#38ef7d);border:none;border-radius:12px;box-shadow:0 4px 15px #11998e4d;color:#fff;cursor:pointer;font-size:16px;font-weight:700;letter-spacing:1px;overflow:hidden;padding:14px 32px;position:relative;text-transform:uppercase;transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.btn-add-company:before,.btn-new-company:before{content:"+";font-size:24px;font-weight:700;left:15px;position:absolute;transition:all .3s ease}.btn-add-company:hover,.btn-new-company:hover{box-shadow:0 8px 25px #11998e80;transform:translateY(-3px) scale(1.05)}.btn-add-company:active,.btn-new-company:active{transform:translateY(-1px) scale(1.02)}.empty-state{font-size:18px}.company-cards{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));margin-top:30px}.company-card{background:linear-gradient(135deg,#667eea15,#764ba215);border:2px solid #f0f0f0;border-radius:20px;box-shadow:0 10px 30px #00000014;overflow:hidden;padding:0;position:relative;transition:all .4s cubic-bezier(.175,.885,.32,1.275)}.company-card:before{background:linear-gradient(90deg,#667eea,#764ba2);content:"";height:5px;left:0;position:absolute;right:0;top:0}.company-card:hover{border-color:#667eea;box-shadow:0 15px 40px #667eea4d;transform:translateY(-8px) scale(1.02)}.card-header{align-items:flex-start;background:#fff;border-bottom:2px solid #f8f9fa;margin-bottom:20px;padding:25px 25px 20px}.card-header h3{align-items:center;color:#2c3e50;display:flex;font-size:22px;font-weight:700;gap:10px}.card-header h3:before{content:"🏢";font-size:24px}.card-date{background:#ecf0f1;border-radius:20px;color:#95a5a6;font-size:13px;font-weight:600;padding:5px 12px}.card-body{background:#fff;display:flex;flex-direction:column;gap:12px;margin-bottom:0;padding:20px 25px}.info-row{align-items:center;background:#f8f9fa;border-radius:10px;justify-content:space-between;padding:12px 15px;transition:all .3s ease}.info-row:hover{background:#e9ecef;transform:translateX(5px)}.info-label{color:#7f8c8d;font-size:14px;font-weight:600;gap:8px}.info-label,.info-value{align-items:center;display:flex}.info-value{color:#2c3e50;font-size:16px;font-weight:700;gap:5px}.info-unit{color:#95a5a6;font-size:13px;font-weight:500}.highlight-blue{background:#ebf5fb;color:#3498db}.highlight-blue,.highlight-red{border-radius:15px;padding:4px 12px}.highlight-red{background:#fadbd8;color:#e74c3c}.card-actions{background:#fafbfc;display:flex;gap:12px;padding:20px 25px}.btn-open{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:14px;box-shadow:0 6px 20px #667eea66;color:#fff;cursor:pointer;flex:1 1;font-size:15px;font-weight:800;letter-spacing:1.2px;overflow:hidden;padding:16px 28px;position:relative;text-transform:uppercase;transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.btn-open:before{background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.btn-open:hover:before{left:100%}.btn-open:hover{box-shadow:0 10px 30px #667eea80;transform:translateY(-3px) scale(1.05)}.btn-open:active{transform:translateY(-1px) scale(1.02)}.btn-delete-card{background:linear-gradient(135deg,#ff416c,#ff4b2b);border:none;border-radius:14px;box-shadow:0 6px 20px #ff416c66;color:#fff;cursor:pointer;font-size:15px;font-weight:800;letter-spacing:1px;overflow:hidden;padding:16px 24px;position:relative;text-transform:uppercase;transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.btn-delete-card:before{content:"🗑️";font-size:18px;margin-right:6px}.btn-delete-card:hover{background:linear-gradient(135deg,#ff4b2b,#ff416c);box-shadow:0 10px 30px #ff416c99;transform:translateY(-3px) scale(1.08)}.btn-delete-card:active{transform:translateY(-1px) scale(1.03)}.company-form-view{margin:0 auto;max-width:800px;padding:20px}.form-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.form-header h2{color:#333;font-size:28px}.btn-back{background:#e0e0e0;color:#555;transition:all .2s ease}.btn-back:hover{background:#d0d0d0}.btn-save-company{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:16px;font-weight:700;margin-top:20px;padding:15px 40px;transition:all .3s ease;width:100%}.btn-save-company:hover{box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.production-view{padding:20px}.production-view-container{box-sizing:border-box;padding:15px;width:100%}.production-header{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:25px;padding-bottom:20px}.production-header h2{color:#2c3e50;font-size:24px;font-weight:700;margin:0}.production-section{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000000d;margin-bottom:20px;padding:20px}.production-section h3{color:#2c3e50;font-size:18px;font-weight:600;margin:0 0 15px}.production-table-wrapper{-webkit-overflow-scrolling:touch;border-radius:8px;box-shadow:0 2px 8px #0000000d;margin:15px 0;overflow-x:auto}.view-header{align-items:flex-start;border-bottom:3px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:20px}.view-header h2{color:#333;font-size:28px;margin:0}.company-subtitle{color:#666;font-size:14px;margin-top:5px}.summary-card{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 4px 15px #0000001a;color:#fff;display:flex;gap:20px;padding:25px;transition:transform .3s ease}.summary-card:hover{transform:translateY(-5px)}.summary-card .card-icon{font-size:48px;opacity:.9}.summary-card .card-content{flex:1 1}.summary-card h3{font-size:14px;font-weight:500;letter-spacing:.5px;margin:0 0 8px;opacity:.9;text-transform:uppercase}.summary-card .big-number{font-size:28px;font-weight:700;line-height:1.2;margin:0}.summary-card .card-label{font-size:12px;opacity:.8}.generate-btn{background:linear-gradient(135deg,#11998e,#38ef7d);border-radius:10px;box-shadow:0 4px 15px #11998e4d;padding:18px;transition:all .3s ease;width:100%}.generate-btn:hover{box-shadow:0 6px 20px #11998e66}.generate-btn:active{transform:translateY(0)}.production-table{margin:20px 0;overflow-x:auto}.production-table table{background:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 2px 8px #0000000d;font-size:13px;overflow:hidden;width:100%}.production-table th{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:11px;font-weight:600;letter-spacing:.5px;padding:10px 8px;text-align:center;text-transform:uppercase;white-space:nowrap}.production-table td{border-bottom:1px solid #e0e0e0;color:#2c3e50;padding:8px 6px;text-align:center;vertical-align:middle}.production-table tbody tr:hover{background:#f8f9fa}.table-input{border:1px solid #e0e0e0;border-radius:4px;font-size:13px;padding:5px 8px;text-align:center;transition:all .3s ease;width:100%}.table-input:focus{border-color:#3498db;box-shadow:0 0 0 2px #3498db1a;outline:none}.total-cell{background:#e3f2fd;color:#3498db;font-size:14px;font-weight:700}.total-row{background:#f8f9fa!important;font-size:14px}.total-row td{border-bottom:none;border-top:2px solid #3498db;padding:12px 8px}.rejection-list-table{margin-top:15px;overflow-x:auto;width:100%}.rejection-list-table table{background:#fff;border-collapse:collapse;box-shadow:0 2px 8px #0000001a;table-layout:fixed;width:100%}.rejection-list-table td,.rejection-list-table th{word-wrap:break-word;border-bottom:1px solid #e0e0e0;font-size:13px;overflow-wrap:break-word;padding:10px 8px;text-align:left}.rejection-list-table th{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-weight:600;position:-webkit-sticky;position:sticky;top:0;z-index:10}.rejection-list-table td:first-child,.rejection-list-table th:first-child{font-family:Courier New,monospace;font-size:12px;width:35%}.rejection-list-table td:nth-child(2),.rejection-list-table th:nth-child(2){text-align:center;width:15%}.rejection-list-table td:nth-child(3),.rejection-list-table th:nth-child(3){width:25%}.rejection-list-table td:nth-child(4),.rejection-list-table th:nth-child(4){width:18%}.rejection-list-table td:nth-child(5),.rejection-list-table th:nth-child(5){text-align:center;width:7%}.rejection-list-table tbody tr:hover{background-color:#f5f5f5}.rejection-list-table tbody tr:nth-child(2n){background-color:#fafafa}@media (max-width:1024px){.daily-report-container{padding:20px}.report-card{padding:30px}.company-cards{grid-template-columns:1fr 1fr}}@media (max-width:768px){.daily-report-container{padding:10px}.report-card{border-radius:10px;padding:15px}.header-section{flex-direction:column;gap:15px;margin-bottom:15px;text-align:center}.report-card h2{font-size:20px}.subtitle{font-size:14px}.company-info-btn{padding:12px;width:100%}.company-info-form{margin:15px 0;padding:15px}.form-row{gap:12px;grid-template-columns:1fr}.form-group input,.form-group select,.form-group textarea{font-size:16px;padding:12px}.excel-upload-section{margin:20px 0}.upload-box{padding:25px 15px}.save-btn{font-size:15px;padding:14px}.summary-cards{gap:10px;grid-template-columns:1fr}.summary-card .big-number{font-size:22px}.summary-card .label{font-size:12px}.rejection-list-table td,.rejection-list-table th{font-size:10px;padding:6px 4px}.table-container{margin:0 -15px;overflow-x:auto;padding:0 15px}.list-header{flex-direction:column;gap:15px;margin-bottom:20px;padding-bottom:15px;text-align:center}.list-header h2{font-size:22px}.btn-add-company,.btn-new-company{font-size:14px;padding:14px 20px;width:100%}.company-cards{gap:15px;grid-template-columns:1fr}.company-card{border-radius:12px}.card-header{flex-direction:column;gap:10px;padding:15px}.card-header h3{font-size:16px}.card-body{padding:15px}.info-row{align-items:flex-start;flex-direction:column;gap:5px;padding:10px 12px}.card-actions{flex-direction:column;gap:10px;padding:15px}.btn-delete-card,.btn-open{font-size:14px;padding:14px 20px;width:100%}.production-view{padding:10px}.production-view-container{padding:0}.production-header{flex-direction:column!important;gap:15px;margin-bottom:15px}.production-header h2{font-size:18px;text-align:center}.production-header>div{flex-direction:column!important;width:100%}.production-header button{font-size:13px!important;padding:12px!important;width:100%!important}.production-section{padding:10px 0}.production-section h3{font-size:16px;margin-bottom:10px}.production-section>div:first-child{flex-direction:column!important;gap:10px}.production-section>div:first-child>div{flex-direction:column!important;width:100%}.production-section>div:first-child>div button{flex:1 1;font-size:12px!important;padding:10px!important}.production-table-wrapper{-webkit-overflow-scrolling:touch;margin:0 -10px;padding:0 10px}.production-table{font-size:10px!important}.production-table th{font-size:9px!important;padding:8px 4px!important;white-space:nowrap}.production-table td{font-size:10px!important;padding:6px 4px!important}.production-table .table-input{font-size:10px!important;min-width:50px;padding:4px 2px!important}.view-header{flex-direction:column;gap:15px;margin-bottom:20px;padding-bottom:15px;text-align:center}.view-header h2{font-size:20px}.summary-card{flex-direction:column;gap:10px;padding:15px;text-align:center}.summary-card .card-icon{font-size:32px}.section-header{flex-direction:column;gap:12px;text-align:center}.rejection-actions{flex-direction:column;width:100%}.btn-add-rejection,.btn-upload-excel,.btn-view-rejections{text-align:center;width:100%}.modal-content{border-radius:12px;margin:10px;max-height:85vh;padding:20px;width:95%}.modal-content h3{font-size:20px}.modal-actions{flex-direction:column}.rejection-list-table{-webkit-overflow-scrolling:touch;margin:0 -10px;overflow-x:auto}.rejection-list-table table{min-width:600px}.company-form-view{padding:10px}.form-header{flex-direction:column;gap:10px;text-align:center}.form-header h2{font-size:20px}.btn-back{width:100%}.btn-save-company{font-size:15px;padding:14px}}@media (max-width:480px){.daily-report-container{padding:8px}.report-card{padding:12px}.report-card h2{font-size:18px}.upload-box{padding:20px 12px}.summary-card{padding:12px}.summary-card .big-number{font-size:20px}.production-header h2{font-size:16px}.production-header button{font-size:12px!important;padding:10px!important}.production-section h3{font-size:14px}.production-table{font-size:9px!important;min-width:1200px!important}.production-table th{font-size:8px!important;padding:6px 3px!important}.production-table td{font-size:9px!important;padding:5px 3px!important}.production-table .table-input{font-size:9px!important;padding:3px 2px!important}.company-card{border-radius:10px}.card-header h3{font-size:14px}.card-header h3:before{font-size:18px}.info-row{padding:8px 10px}.info-label,.info-row,.info-value{font-size:12px}.btn-delete-card,.btn-open{border-radius:10px;font-size:13px;padding:12px 15px}.modal-content{padding:15px;width:98%}.modal-content h3{font-size:18px}.modal-form input,.modal-form select{font-size:16px;padding:12px 10px}.list-header h2{font-size:18px}.list-header h2:before{font-size:24px}}.peel-test-container{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0 auto;max-width:1400px;padding:20px}.peel-test-container h1{color:#2e7d32;font-size:2rem;margin-bottom:30px;text-align:center}.message{text-align:center}.message.success{background-color:#c8e6c9;border:1px solid #4caf50;color:#2e7d32}.message.error{background-color:#ffcdd2;border:1px solid #f44336;color:#c62828}.peel-test-form{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:40px;padding:30px}.form-section{margin-bottom:30px}.form-section h2{border-bottom:2px solid #4caf50;color:#2e7d32;font-size:1.4rem;margin-bottom:20px;padding-bottom:10px}.form-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:20px}.form-grid-3{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.form-group.full-width{grid-column:1/-1}.form-group label{font-size:.9rem}.form-group input,.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:6px;font-size:.95rem;padding:10px;transition:border-color .3s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a;outline:none}.test-result-card{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:20px;padding:20px}.card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.card-header h3{color:#1565c0;font-size:1.1rem;margin:0}.btn-remove{background-color:#f44336;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;padding:8px 15px;transition:background-color .3s}.btn-remove:hover{background-color:#d32f2f}.btn-add{background-color:#4caf50;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:10px;padding:12px 24px;transition:background-color .3s;width:100%}.btn-add:hover{background-color:#388e3c}.status-ok{background-color:#c8e6c9!important;color:#2e7d32!important;font-weight:600}.status-ng{background-color:#ffcdd2!important;color:#c62828!important;font-weight:600}.form-actions{display:flex;flex-wrap:wrap;gap:15px;justify-content:center;margin-top:30px}.btn-export,.btn-quick,.btn-range,.btn-submit{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;padding:15px 30px;transition:background-color .3s,transform .2s}.btn-range{background-color:#9c27b0;color:#fff}.btn-range:hover{background-color:#7b1fa2;transform:translateY(-2px)}.btn-quick{background-color:#ff9800;color:#fff}.btn-quick:hover{background-color:#f57c00;transform:translateY(-2px)}.btn-export{background-color:#1976d2;color:#fff}.btn-export:hover{background-color:#1565c0;transform:translateY(-2px)}.btn-submit{background-color:#2e7d32;color:#fff}.btn-submit:hover{background-color:#1b5e20;transform:translateY(-2px)}.date-range-selector{background:#f3e5f5;border:2px solid #9c27b0;border-radius:8px;margin-top:20px;padding:20px}.date-range-selector h3{color:#7b1fa2;font-size:1.2rem;margin-bottom:15px}.range-inputs{align-items:flex-end;display:flex;flex-wrap:wrap;gap:15px}.range-input-group{display:flex;flex:1 1;flex-direction:column;min-width:200px}.range-input-group label{color:#333;font-weight:600;margin-bottom:5px}.range-input-group input{border:1px solid #9c27b0;border-radius:6px;font-size:1rem;padding:10px}.btn-generate-range{background-color:#7b1fa2;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 24px;transition:background-color .3s,transform .2s}.btn-generate-range:hover{background-color:#6a1b9a;transform:translateY(-2px)}.saved-reports-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:30px}.saved-reports-section h2{border-bottom:2px solid #4caf50;color:#2e7d32;font-size:1.4rem;margin-bottom:20px;padding-bottom:10px}.no-reports{color:#666;font-style:italic;padding:40px;text-align:center}.reports-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.report-card{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;padding:20px;transition:transform .2s,box-shadow .2s}.report-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-4px)}.report-header{margin-bottom:15px}.report-header h3{color:#1565c0;font-size:1.1rem;margin:0}.badge{font-size:.85rem}.badge.day{background-color:#fff9c4;color:#f57f17}.badge.night{background-color:#e1bee7;color:#6a1b9a}.report-details{margin-bottom:15px}.report-details p{color:#555;font-size:.9rem;margin:8px 0}.report-details strong{color:#333}.report-actions{display:flex;gap:10px}.btn-delete,.btn-download{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-size:.9rem;font-weight:600;padding:10px;transition:background-color .3s,transform .2s}.btn-download{background-color:#1976d2}.btn-download:hover{background-color:#1565c0;transform:translateY(-2px)}.btn-delete{background-color:#f44336}.btn-delete:hover{background-color:#d32f2f;transform:translateY(-2px)}.info-box{background:#e8f4f8;border-left:4px solid #3498db;border-radius:8px;margin:20px 0;padding:20px}.info-box h3{color:#2980b9;font-size:1.1rem;margin-top:0}.info-box ul{margin:10px 0 0;padding-left:20px}.info-box li{color:#34495e;line-height:1.6;margin:8px 0}.btn-generate{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 4px 15px #667eea66;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;min-width:250px;padding:15px 40px;transition:all .3s ease}.btn-generate:hover:not(:disabled){box-shadow:0 6px 20px #667eea99;transform:translateY(-2px)}.btn-generate:disabled{cursor:not-allowed;opacity:.6}.summary-info{background:#f8f9fa;border:2px solid #dee2e6;border-radius:8px;margin-top:20px;padding:20px}.summary-info p{color:#495057;font-size:1rem;margin:10px 0}.summary-info strong{color:#212529;font-weight:600}@media (max-width:768px){.peel-test-container{padding:10px}.peel-test-container h1{font-size:1.5rem}.form-grid,.form-grid-3,.reports-grid{grid-template-columns:1fr}.report-actions{flex-direction:column}.btn-generate,.btn-submit{font-size:1rem;min-width:auto;padding:12px 30px;width:100%}.info-box{padding:15px}.info-box h3{font-size:1rem}}.ftr-download-container{margin:0 auto;max-width:1000px;padding:20px}.ftr-download-container h1{color:#2c3e50;margin-bottom:10px}.subtitle{color:#7f8c8d;font-size:16px;margin-bottom:30px}.download-section{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;padding:30px}.form-group input,.form-group select{padding:10px}.method-selector{background:#f8f9fa;border-radius:8px;display:flex;gap:30px;margin:25px 0;padding:20px}.method-selector label{align-items:center;color:#2c3e50;cursor:pointer;display:flex;font-weight:500;gap:8px}.method-selector input[type=radio]{cursor:pointer;width:auto}.range-section,.upload-section{margin-top:20px}.range-section h3,.upload-section h3{color:#34495e;font-size:18px;margin-bottom:20px}.form-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,1fr);margin-bottom:25px}.upload-section input[type=file]{background:#f8f9fa;border:2px dashed #bdc3c7;border-radius:8px;margin:15px 0;padding:12px;width:100%}.file-name{color:#27ae60;font-weight:500;margin:10px 0}.info-box{background:#fff3cd;border-left:4px solid #ffc107;border-radius:6px;margin:15px 0;padding:15px}.info-box p{color:#856404;font-size:14px;margin:5px 0}.btn-download{background:linear-gradient(135deg,#28a745,#20c997);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:10px;padding:14px 32px;transition:transform .2s,box-shadow .2s;width:100%}.btn-download:hover:not(:disabled){box-shadow:0 6px 20px #28a74566;transform:translateY(-2px)}.btn-download:disabled{cursor:not-allowed;opacity:.6}.message{animation:slideIn .3s ease-out;border-radius:8px;font-weight:500;padding:15px 20px}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.message.success{background-color:#d4edda}.message.error{background-color:#f8d7da}.message.info{background-color:#d1ecf1;border:1px solid #bee5eb;color:#0c5460}.coc-dashboard{margin:0 auto;max-width:1400px;padding:20px}.dashboard-header{align-items:center;flex-wrap:wrap;gap:15px;justify-content:space-between;disp.btn-report:hover{background:#0b7dda}.info-banner{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-left:4px solid #2196f3;border-radius:8px;color:#1565c0;display:flex;flex-direction:column;gap:5px;padding:12px 20px}.info-banner,.message{font-size:14px;margin-bottom:20px}.message{border-radius:5px;padding:15px}}.dashboard-header h1{flex:1 1;font-size:28px;margin:0;min-width:250px}.header-actions{flex-wrap:wrap}.date-filters,.header-actions{align-items:center;display:flex;gap:10px}.date-filters label{display:flex;flex-direction:column;font-size:12px;font-weight:700;gap:5px}.date-input{background:#fff;border:2px solid #e0e0e0;border-radius:5px;color:#333;cursor:pointer;font-size:14px;padding:8px 12px;transition:all .2s}.date-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea33;outline:none}.company-select{background:#fff;padding:10px 15px}.btn-report,.btn-sync,.company-select{border:none;border-radius:5px;cursor:pointer;font-size:14px}.btn-report,.btn-sync{font-weight:700;padding:10px 20px;transition:all .3s}.btn-sync{background:#4caf50;color:#fff}.btn-sync:hover{background:#45a049}.btn-sync:disabled{background:#ccc;cursor:not-allowed}.btn-report{background:#2196f3;color:#fff}.btn-report:hover{background:#0b7dda}.message{border-radius:5px;font-weight:700;margin-bottom:20px;padding:15px}.message.success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.message.error{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.section{background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000001a;margin-bottom:40px;padding:20px}.section h2{border-bottom:3px solid #667eea;color:#333;font-size:22px;margin-bottom:20px;margin-top:0;padding-bottom:10px}.stock-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.stock-card{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border-radius:10px;box-shadow:0 4px 6px #0000001a;padding:20px;transition:transform .3s}.stock-card:hover{transform:translateY(-5px)}.stock-card h3{color:#333;font-size:18px;margin:0 0 15px}.stock-info{display:flex;flex-direction:column;gap:8px;margin-bottom:15px}.stock-item{display:flex;justify-content:space-between;padding:5px 0}.stock-item.highlight{background:#ffffff80;border-radius:5px;font-weight:700;padding:10px}.stock-item .label{color:#666;font-size:14px}.stock-item .value{color:#333;font-weight:700}.stock-item .value.consumed{color:#f44336}.stock-item .value.low-stock{animation:pulse 2s infinite;color:#ff9800}.stock-bar{background:#e0e0e0;border-radius:5px;height:10px;overflow:hidden}.stock-progress{background:linear-gradient(90deg,#4caf50,#8bc34a);height:100%;transition:width .5s}.coc-table-container{overflow-x:auto}.coc-table{border-collapse:collapse;font-size:14px;width:100%}.coc-table thead{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.coc-table th{font-weight:700;padding:12px;text-align:left;white-space:nowrap}.coc-table td{border-bottom:1px solid #e0e0e0;padding:12px}.coc-table tbody tr:hover{background:#f5f5f5}.coc-table .number{font-family:Courier New,monospace;text-align:right}.coc-table .consumed{color:#f44336}.coc-table .low-stock{color:#ff9800;font-weight:700}.doc-link{background:#2196f3;border-radius:3px;color:#fff;display:inline-block;font-size:12px;margin:0 5px;padding:5px 10px;text-decoration:none;transition:background .3s}.doc-link:hover{background:#0b7dda}.loading{color:#666;font-size:18px;padding:40px;text-align:center}@media (max-width:768px){.dashboard-header{flex-direction:column;gap:15px}.header-actions{flex-direction:column;width:100%}.btn-report,.btn-sync,.company-select{width:100%}.stock-grid{grid-template-columns:1fr}}.section-header{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:20px}.search-box{flex:1 1;max-width:500px;min-width:250px;position:relative}.search-input{border:2px solid #e0e0e0;border-radius:8px;font-size:14px;outline:none;padding:12px 40px 12px 15px;transition:all .3s ease;width:100%}.search-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.clear-btn{align-items:center;background:#ff6b6b;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:16px;height:24px;justify-content:center;line-height:1;position:absolute;right:10px;top:50%;transform:translateY(-50%);transition:all .2s ease;width:24px}.clear-btn:hover{background:#ff5252;transform:translateY(-50%) scale(1.1)}.results-info{background:#f8f9fa;border-radius:6px;color:#666;font-size:14px;margin-bottom:15px;padding:8px 12px;text-align:right}.value.make{background:#667eea1a;border-radius:4px;color:#667eea;font-size:11px;font-weight:600;padding:2px 8px}@media (max-width:1024px){.coc-dashboard,.dashboard-header{padding:15px}.dashboard-header h1{font-size:24px}}@media (max-width:768px){.coc-dashboard{padding:10px}.dashboard-header{flex-direction:column;gap:15px;padding:15px;text-align:center}.dashboard-header h1{font-size:20px;min-width:auto;width:100%}.header-actions{justify-content:center;width:100%}.date-filters{flex-direction:column;gap:8px;width:100%}.date-filters label{width:100%}.date-input{font-size:16px;padding:10px 12px;width:100%}.company-select{font-size:16px;padding:12px 15px;width:100%}.btn-report,.btn-sync{padding:12px;width:100%}.section{margin-bottom:20px;padding:15px}.section h2{font-size:18px}.message{font-size:13px;padding:12px}.info-banner{font-size:13px;padding:10px 15px}.search-box{min-width:100%}.search-input{font-size:16px;padding:12px 40px 12px 15px}.results-info{font-size:13px;text-align:center}}@media (max-width:480px){.coc-dashboard{padding:8px}.dashboard-header{border-radius:8px;padding:12px}.dashboard-header h1{font-size:18px}.section{border-radius:8px;padding:12px}.section h2{font-size:16px}}.pdi-batch-manager{margin:0 auto;max-width:1400px;padding:20px}.page-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:15px}.page-header h1{color:#2c3e50;font-size:28px;margin:0}.filters-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;gap:20px;margin-bottom:20px;padding:20px}.filter-group{flex:1 1}.filter-group label{color:#555;display:block;font-size:13px;font-weight:600;margin-bottom:5px}.filter-group input,.filter-group select{border:2px solid #e0e0e0;border-radius:6px;font-size:14px;padding:8px 12px;width:100%}.batch-layout{grid-gap:20px;display:grid;gap:20px;grid-template-columns:350px 1fr;height:calc(100vh - 250px)}.batches-list{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow-y:auto;padding:20px}.batches-list h2{color:#2c3e50;font-size:18px;margin-bottom:15px}.batch-card{background:#f8f9fa;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;margin-bottom:10px;padding:15px;transition:all .3s}.batch-card:hover{border-color:#3498db;box-shadow:0 2px 8px #3498db33}.batch-card.selected{background:#e3f2fd;border-color:#3498db}.batch-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.batch-card-header h3{color:#2c3e50;font-size:16px;margin:0}.batch-card-body p{color:#555;font-size:13px;margin:5px 0}.batch-details{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow-y:auto;padding:25px}.details-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.details-header h2{color:#2c3e50;margin:0}.action-buttons{gap:10px}.details-section{margin-bottom:30px}.details-section h3{border-left:4px solid #3498db;color:#2c3e50;font-size:18px;margin-bottom:15px;padding-left:12px}.info-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(4,1fr)}.info-item{display:flex;flex-direction:column}.info-item label{color:#555;font-size:13px;font-weight:600;margin-bottom:5px}.info-item span{color:#2c3e50;font-size:15px}.serial-stats{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(3,1fr)}.stat-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;color:#fff;padding:20px;text-align:center}.stat-card:nth-child(2){background:linear-gradient(135deg,#4facfe,#00f2fe)}.stat-card:nth-child(3){background:linear-gradient(135deg,#43e97b,#38f9d7)}.stat-value{font-size:20px;font-weight:700;margin-bottom:5px;word-break:break-all}.stat-label{font-size:13px;opacity:.9}.coc-list{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.coc-item{background:#f8f9fa;border:2px solid #e0e0e0;border-radius:8px;padding:15px}.coc-item h4{color:#2c3e50;font-size:14px;margin:0 0 10px}.coc-item p{color:#555;font-size:13px;margin:5px 0}.serials-list{max-height:500px;overflow-y:auto;padding:20px}.serials-table{border-collapse:collapse;width:100%}.serials-table thead{background:#f8f9fa;position:-webkit-sticky;position:sticky;top:0;z-index:1}.serials-table th{border-bottom:2px solid #e0e0e0;color:#2c3e50;font-weight:600;padding:12px;text-align:left}.serials-table td{border-bottom:1px solid #f0f0f0;color:#555;font-size:14px;padding:10px 12px}.serials-table tbody tr:hover{background:#f8f9fa}.badge{font-size:12px;padding:4px 12px}.badge-success{background:#d4edda;color:#155724}.badge-warning{background:#fff3cd;color:#856404}.badge-info{background:#d1ecf1;color:#0c5460}.badge-secondary{background:#e2e3e5;color:#383d41}.empty-state{color:#999;padding:60px 20px;text-align:center}.empty-state p{font-size:16px}.modal-content{max-height:90vh;max-width:700px;overflow-y:auto}.modal-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:20px}.modal-header h2{color:#2c3e50;font-size:22px;margin:0}.close-btn{background:none;border:none;color:#999;cursor:pointer;font-size:32px;height:32px;line-height:32px;padding:0;width:32px}.close-btn:hover{color:#333}form{padding:20px}.form-row{grid-gap:15px;gap:15px;grid-template-columns:repeat(2,1fr)}.form-group{margin-bottom:15px}.form-group label{color:#333;margin-bottom:5px}.form-group input,.form-group select{border-radius:6px;padding:10px 12px;transition:border-color .3s}.form-group input:focus,.form-group select:focus{border-color:#3498db;outline:none}.modal-footer{border-top:1px solid #e0e0e0;display:flex;gap:10px;justify-content:flex-end;padding:15px 20px}.btn{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .3s}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover{background:#5a6268}.btn-success{background:#28a745;color:#fff}.btn-success:hover{background:#218838}.btn-danger{background:#dc3545;color:#fff}.btn-danger:hover{background:#c82333}.btn-info{background:#17a2b8;color:#fff}.btn-info:hover{background:#138496}.btn-sm{font-size:12px;padding:6px 12px}.btn:disabled{cursor:not-allowed;opacity:.6}@media (max-width:1024px){.batch-layout{grid-template-columns:1fr;height:auto}.batches-list{max-height:400px}.info-grid{grid-template-columns:repeat(2,1fr)}.serial-stats{grid-template-columns:1fr}}@media (max-width:768px){.pdi-batch-manager{padding:15px}.page-header{flex-direction:column;gap:15px;margin-bottom:20px;text-align:center}.page-header h1{font-size:22px}.filters-section{flex-direction:column;gap:15px;padding:15px}.filter-group input,.filter-group select{font-size:16px;padding:12px}.batch-layout{gap:15px;grid-template-columns:1fr;height:auto}.batches-list{max-height:350px;padding:15px}.batches-list h2{font-size:16px}.batch-card{padding:12px}.batch-card-header h3{font-size:14px}.batch-card-body p{font-size:12px}.batch-details{padding:15px}.details-header{flex-direction:column;gap:15px;text-align:center}.action-buttons{flex-wrap:wrap;justify-content:center;width:100%}.action-buttons button{flex:1 1;min-width:120px}.info-grid{gap:10px}.coc-list,.form-row,.info-grid{grid-template-columns:1fr}.details-section h3{font-size:16px}.btn{font-size:13px;padding:10px 16px}.btn-sm{font-size:12px;padding:8px 12px}}@media (max-width:480px){.pdi-batch-manager{padding:10px}.page-header h1{font-size:20px}.batch-details,.batches-list,.filters-section{padding:12px}.batch-card{padding:10px}.action-buttons button{min-width:100%}}.ftr-template-page{background:#fff;box-shadow:0 0 10px #0000001a;box-sizing:border-box;font-family:Arial,sans-serif;height:297mm;margin:20px auto;padding:0;position:relative;width:210mm}.ftr-header{background:#fff!important;background-image:none!important;border:none;padding:10mm 15mm 5mm 10mm}.ftr-logo{background:#fff;border:none;border-radius:0;height:auto;object-fit:contain;padding:0;width:75mm}.ftr-title{color:#000;font-family:Times New Roman,Times,serif;font-size:22px;font-weight:400;letter-spacing:.5px}.ftr-blue-bar{top:32mm}.ftr-blue-bar,.ftr-blue-bar-bottom{background:#1e3a6e;height:3mm;left:0;margin:0 10mm;position:absolute;right:0}.ftr-blue-bar-bottom{bottom:14mm}.ftr-content{grid-gap:10mm;display:grid;gap:10mm;grid-template-columns:1fr 1fr;margin-top:12.15mm;padding:0 10mm 0 16.46mm}.ftr-left-column,.ftr-right-column{display:flex;flex-direction:column;gap:6.4mm}.ftr-other-info,.ftr-reference-section,.ftr-section{margin-bottom:4mm}.ftr-section-title{color:#000;font-family:Arial MT,Arial,sans-serif;font-size:20px;font-weight:400;margin-bottom:3mm;padding-bottom:1mm;padding-left:3mm}.ftr-field-row{align-items:baseline;display:flex;margin-bottom:1.26mm;min-height:7.56mm;position:relative}.ftr-label{flex-shrink:0;font-size:16px;margin-right:2mm;min-width:auto;padding-left:7mm}.ftr-label,.ftr-value{color:#000;font-family:Arial MT,Arial,sans-serif;font-weight:500}.ftr-value{border-bottom:1px solid #999;flex:1 1;font-size:14.4px;line-height:18px;min-height:18px;padding-bottom:1px;padding-left:3px}.ftr-value-inline{color:#000;font-size:11px;margin-left:5px}.ftr-underline{border-bottom:1px solid #000;min-width:150px}.ftr-graph-container{align-items:center;background:#fff;border:none;box-sizing:border-box;display:flex;height:115.5mm;justify-content:center;margin-bottom:5mm;padding:0;width:105.6mm}.ftr-graph-image{height:100%;max-height:100%;max-width:100%;object-fit:contain;width:100%}.ftr-graph-placeholder{color:#999;font-size:12px}.ftr-reference-section{margin-top:3mm}.ftr-reference-section .ftr-field-row:nth-child(2) .ftr-label{padding-left:45mm}.ftr-reference-section .ftr-field-row:nth-child(3) .ftr-label{padding-left:28mm}.ftr-other-info .ftr-label{padding-left:20mm}@media print{.ftr-template-page{box-shadow:none;height:297mm;margin:0;page-break-after:always;width:210mm}body{margin:0;padding:0}}.ftr-template-page *{color-adjust:exact!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.graph-manager{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin:0 auto;max-width:1400px;padding:32px}.graph-manager-header{align-items:flex-start;border-bottom:2px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:32px;padding-bottom:24px}.graph-manager-header h2{color:#1e3a8a;font-size:28px;font-weight:700;margin:0 0 8px}.subtitle{color:#6b7280;font-size:14px;margin:0;max-width:600px}.btn-clear-all{background:#dc2626;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s}.btn-clear-all:hover{background:#b91c1c;transform:translateY(-1px)}.upload-section-graph{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 1fr;margin-bottom:40px}.upload-instructions{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;padding:24px}.upload-instructions h3{color:#1e3a8a;font-size:18px;margin:0 0 16px}.instruction-list p{color:#4b5563;font-size:14px;line-height:1.6;margin:8px 0}.instruction-list code{background:#e0e7ff;border-radius:3px;color:#1e3a8a;font-family:Courier New,monospace;font-size:13px;padding:2px 6px}.upload-box-graph{background:linear-gradient(135deg,#f8fafc,#e0e7ff);border:3px dashed #cbd5e1;border-radius:12px;cursor:pointer;padding:40px;text-align:center;transition:all .3s}.upload-box-graph:hover{background:linear-gradient(135deg,#e0e7ff,#c7d2fe);border-color:#1e3a8a;transform:translateY(-2px)}.upload-label{cursor:pointer;display:block}.upload-icon{font-size:48px;margin-bottom:12px}.upload-text{color:#1e3a8a;font-size:18px;font-weight:600;margin-bottom:8px}.upload-hint{color:#6b7280;font-size:14px}.graphs-display{margin-bottom:40px}.graphs-display h3{color:#1e3a8a;font-size:20px;font-weight:600;margin-bottom:20px}.graphs-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.graph-card{background:#fff;border:2px solid #e5e7eb;border-radius:8px;overflow:hidden;transition:all .2s}.graph-card:hover{border-color:#1e3a8a;box-shadow:0 4px 12px #1e3a8a26;transform:translateY(-2px)}.graph-card-header{align-items:center;background:#f8fafc;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:12px 16px}.power-badge{background:#1e3a8a;border-radius:12px;color:#fff;font-size:14px;font-weight:700;padding:4px 12px}.btn-delete{background:#0000;border:none;border-radius:4px;color:#dc2626;cursor:pointer;font-size:20px;padding:4px 8px;transition:all .2s}.btn-delete:hover{background:#fef2f2}.graph-preview{background:#fff;gap:12px;min-height:200px;padding:16px}.graph-item,.graph-preview{display:flex;flex-direction:column}.graph-item{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;padding:8px;position:relative}.graph-image{border-radius:4px;margin-bottom:8px;max-height:200px;max-width:100%;object-fit:contain}.btn-delete-single{background:#fee2e2;border:1px solid #fecaca;border-radius:4px;color:#dc2626;cursor:pointer;font-size:12px;margin-top:4px;padding:4px 8px;transition:all .2s}.btn-delete-single:hover{background:#fca5a5;transform:scale(1.05)}.graph-card-footer{background:#dcfce7;border-top:1px solid #bbf7d0;padding:10px 16px;text-align:center}.graph-status{color:#166534;font-size:13px;font-weight:600}.more-graphs{background:#e0e7ff;border-radius:4px;color:#1e3a8a;font-size:14px;font-weight:600;padding:10px;text-align:center}.empty-state-graph{background:#f8fafc;border:2px dashed #cbd5e1;border-radius:12px;margin-bottom:40px;padding:60px 20px;text-align:center}.empty-icon{font-size:64px;margin-bottom:16px;opacity:.5}.empty-state-graph h3{color:#374151;font-size:20px;margin:0 0 8px}.empty-state-graph p{color:#6b7280;font-size:14px;margin:0}.usage-info{background:#eff6ff;border-left:4px solid #1e3a8a;border-radius:8px;padding:24px}.usage-info h4{color:#1e3a8a;font-size:16px;margin:0 0 12px}.usage-info ul{margin:0;padding-left:20px}.usage-info li{color:#4b5563;font-size:14px;line-height:1.8;margin-bottom:8px}@media (max-width:768px){.graph-manager{padding:20px}.graphs-grid,.upload-section-graph{grid-template-columns:1fr}.graph-manager-header{flex-direction:column;gap:16px}}.pdi-ftr-generator{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:24px;padding:24px}.pdi-ftr-generator h2{color:#1e3a8a;font-size:24px;font-weight:600;margin-bottom:20px}.mode-selection{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:24px}.mode-option{align-items:flex-start;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;display:flex;gap:12px;padding:16px;transition:all .2s}.mode-option:hover{background:#f8fafc;border-color:#1e3a8a}.mode-option input[type=radio]{cursor:pointer;height:18px;margin-top:4px;width:18px}.mode-option input[type=radio]:checked+.mode-details{color:#1e3a8a}.mode-details{display:flex;flex-direction:column;gap:4px}.mode-details strong{font-size:16px;font-weight:600}.mode-details small{color:#6b7280;font-size:13px}.upload-section{grid-gap:20px;gap:20px;margin-bottom:24px}.upload-box{background:#f8fafc;border:2px dashed #cbd5e1;padding:20px;text-align:center;transition:all .2s}.upload-box:hover{background:#eff6ff;border-color:#1e3a8a}.upload-box h3{font-size:18px;margin-bottom:12px}.upload-box p{color:#6b7280;margin-bottom:16px}.file-input{background:#fff;border:1px solid #cbd5e1;padding:10px}.file-input:hover{border-color:#1e3a8a}.success-msg{background:#dcfce7;color:#166534;font-weight:500;margin-top:12px;padding:8px 12px}.generate-section{display:flex;justify-content:center;margin-bottom:16px}.generate-btn{font-size:16px;font-weight:600;min-width:200px;padding:14px 32px;transition:all .2s}.generate-btn:hover:not(:disabled){box-shadow:0 4px 8px #1e3a8a4d;transform:translateY(-1px)}.generate-btn:disabled{background:#94a3b8}.progress-bar{background:#e5e7eb;border-radius:6px;height:32px;position:relative}.progress-fill{font-size:14px;font-weight:600}.data-table-section{border:1px solid #e5e7eb}@media (max-width:768px){.mode-selection,.upload-section{grid-template-columns:1fr}.pdi-ftr-generator{padding:16px}.pdi-ftr-generator h2{font-size:20px}}.ftr-report-manager{margin:0 auto;max-width:1400px;padding:20px}.ftr-report-manager .header{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px;box-shadow:0 4px 6px #0000001a;color:#fff;margin-bottom:30px;padding:30px;text-align:center}.ftr-report-manager .header h1{font-size:32px;margin:0 0 10px}.ftr-report-manager .header p{margin:0;opacity:.9}.ftr-report-manager .controls{align-items:flex-end;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex-wrap:wrap;gap:20px;margin-bottom:20px;padding:20px}.ftr-report-manager .date-filters{display:flex;gap:15px}.ftr-report-manager .date-filters label{color:#555;display:flex;flex-direction:column;font-weight:600;gap:5px}.ftr-report-manager .date-filters input[type=date]{border:2px solid #ddd;border-radius:6px;font-size:14px;padding:8px 12px}.ftr-report-manager .search-box{flex:1 1;min-width:250px}.ftr-report-manager .search-box input{border:2px solid #ddd;border-radius:6px;font-size:14px;padding:10px 15px;width:100%}.ftr-report-manager .action-buttons{display:flex;gap:10px}.ftr-report-manager button{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .3s ease}.ftr-report-manager .btn-select-all{background:#f0f0f0;color:#333}.ftr-report-manager .btn-select-all:hover{background:#e0e0e0}.ftr-report-manager .btn-generate{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.ftr-report-manager .btn-generate:hover:not(:disabled){box-shadow:0 4px 8px #667eea66;transform:translateY(-2px)}.ftr-report-manager .btn-generate:disabled{cursor:not-allowed;opacity:.5}.ftr-report-manager .message{border-radius:6px;font-weight:600;margin-bottom:20px;padding:15px}.ftr-report-manager .message.success{background:#e8f5e9;border-left:4px solid #4caf50;color:#2e7d32}.ftr-report-manager .message.error{background:#ffebee;border-left:4px solid #f44336;color:#c62828}.ftr-report-manager .selection-info{background:#e3f2fd;border-radius:6px;color:#1976d2;font-weight:600;margin-bottom:15px;padding:10px 15px}.ftr-report-manager .loading{color:#999;font-size:18px;padding:50px;text-align:center}.ftr-report-manager .ftr-table-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow-x:auto}.ftr-report-manager .ftr-table{border-collapse:collapse;width:100%}.ftr-report-manager .ftr-table thead{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.ftr-report-manager .ftr-table th{font-size:14px;font-weight:600;padding:15px;text-align:left}.ftr-report-manager .ftr-table td{border-bottom:1px solid #f0f0f0;padding:12px 15px}.ftr-report-manager .ftr-table tbody tr:hover{background:#f5f5f5}.ftr-report-manager .ftr-table tbody tr.selected{background:#e3f2fd}.ftr-report-manager .ftr-table input[type=checkbox]{cursor:pointer;height:18px;width:18px}.ftr-report-manager .status-badge{border-radius:12px;font-size:12px;font-weight:600;padding:4px 12px;text-transform:uppercase}.ftr-report-manager .status-badge.completed,.ftr-report-manager .status-badge.pass{background:#e8f5e9;color:#2e7d32}.ftr-report-manager .status-badge.fail,.ftr-report-manager .status-badge.rejected{background:#ffebee;color:#c62828}.ftr-report-manager .status-badge.pending{background:#fff3e0;color:#e65100}.ftr-report-manager .ftr-table a{color:#1976d2;font-weight:600;text-decoration:none}.ftr-report-manager .ftr-table a:hover{text-decoration:underline}.bulk-ftr-container{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;margin:20px auto;max-width:1200px;padding:30px}.bulk-ftr-container h2{color:#333;font-size:28px;margin-bottom:30px;text-align:center}.upload-section{grid-gap:30px;display:grid;gap:30px;grid-template-columns:1fr 1fr;margin-bottom:30px}.upload-box{background:#f9f9f9;border:2px dashed #ddd;border-radius:8px;padding:25px}.upload-box h3{color:#1e3a8a;font-size:20px;margin-bottom:10px;margin-top:0}.upload-box p{color:#666;font-size:13px;line-height:1.5;margin-bottom:15px}.file-input{border:1px solid #ddd;border-radius:4px;cursor:pointer;display:block;font-size:14px;padding:12px;width:100%}.file-input:hover{background:#fff}.success-msg{background:#d4edda;border:1px solid #c3e6cb;border-radius:4px;color:#155724;font-size:14px;margin-top:15px;padding:12px}.generate-section{margin:30px 0;text-align:center}.generate-btn{background:#1e3a8a;border:none;border-radius:6px;cursor:pointer;font-size:18px;padding:15px 40px;transition:all .3s}.generate-btn:hover:not(:disabled){background:#1e40af;box-shadow:0 4px 12px #1e3a8a4d;transform:translateY(-2px)}.generate-btn:disabled{background:#ccc}.progress-bar{background:#e0e0e0;border-radius:15px;height:30px;margin-top:20px;overflow:hidden;width:100%}.progress-fill{align-items:center;background:linear-gradient(90deg,#1e3a8a,#3b82f6);color:#fff;display:flex;font-weight:700;height:100%;justify-content:center;transition:width .3s}.data-table-section{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin:24px 0;padding:20px}.table-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.table-header h3{color:#1e3a8a;font-size:18px;margin:0}.btn-clear{background:#dc2626;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;transition:all .2s}.btn-clear:hover{background:#b91c1c}.data-table{border-collapse:collapse;font-size:14px;width:100%}.data-table th{background:#f8fafc;border-bottom:2px solid #e5e7eb;color:#374151;font-weight:600;padding:12px 8px;text-align:left}.data-table td{border-bottom:1px solid #e5e7eb;padding:10px 8px}.data-table tbody tr:hover{background:#f8fafc}.data-table input{border:1px solid #cbd5e1;border-radius:4px;font-size:13px}.btn-cancel,.btn-delete,.btn-edit,.btn-save{border:none;border-radius:4px;cursor:pointer;font-size:14px;margin:0 4px;padding:6px 10px;transition:all .2s}.btn-edit{background:#3b82f6}.btn-edit:hover{background:#2563eb;transform:scale(1.1)}.btn-delete{background:#ef4444}.btn-delete:hover{background:#dc2626;transform:scale(1.1)}.btn-save{background:#10b981;font-size:16px}.btn-save:hover{background:#059669}.btn-cancel{background:#6b7280;font-size:16px;font-weight:700}.btn-cancel:hover{background:#4b5563}@media (max-width:768px){.bulk-ftr-container{margin:10px;padding:15px}.bulk-ftr-container h2{font-size:22px;margin-bottom:20px}.upload-section{gap:15px;grid-template-columns:1fr;margin-bottom:20px}.upload-box{padding:15px}.upload-box h3{font-size:16px}.upload-box p{font-size:12px}.file-input{font-size:16px}.generate-section{margin:20px 0}.generate-btn{font-size:16px;padding:14px;width:100%}.data-table{font-size:12px}.data-table td,.data-table th{padding:8px 5px}.btn-cancel,.btn-delete,.btn-edit,.btn-save{font-size:12px;margin:2px;padding:6px 8px}}@media (max-width:480px){.bulk-ftr-container{border-radius:6px;margin:8px;padding:12px}.bulk-ftr-container h2{font-size:18px}.upload-box{padding:12px}.upload-box h3{font-size:14px}}.test-report-container{background:#fff;min-height:100vh;padding:20px}.test-controls{background:#fff;border:1px solid #ddd;border-radius:0;box-shadow:none;margin-bottom:20px;padding:20px}.test-controls h2{border-bottom:2px solid #007bff;color:#333;margin-bottom:20px;padding-bottom:10px;text-align:center}.control-panel{align-items:end;display:flex;flex-wrap:wrap;gap:20px}.control-panel .form-group{flex:1 1;min-width:300px}.export-pdf-btn{background:linear-gradient(135deg,#28a745,#20c997);border:none;border-radius:25px;color:#fff;cursor:pointer;font-weight:600;padding:12px 24px;transition:all .3s ease;white-space:nowrap}.export-pdf-btn:hover{box-shadow:0 5px 15px #28a74566;transform:translateY(-2px)}.template-report{background:#fff;box-shadow:0 2px 10px #0000001a;font-family:Arial,sans-serif;font-size:11px;height:297mm;margin:20px auto;position:relative;width:210mm}.template-field{color:#000;font-family:Arial,sans-serif;font-size:10px;position:absolute;white-space:nowrap}.template-graph{height:310px;left:295px;object-fit:contain;position:absolute;top:78px;width:470px}.report-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:5px;padding-bottom:15px}.header-line{background:#003d82;box-sizing:border-box;display:block;height:6px;margin:0 0 18px;width:100%}.company-logo{align-items:center;display:flex}.logo-image{height:60px;max-width:200px;width:auto}.report-title{align-items:center;display:flex}.report-title h1{color:#000;font-family:Arial,sans-serif;font-size:18px;font-weight:700;margin:0;text-align:right}.report-content{display:table;margin-top:30px;width:100%}.left-section{padding-right:20px;width:280px}.left-section,.right-section{display:table-cell;vertical-align:top}.right-section{padding-left:20px}.section{background:#0000;border:none;box-shadow:none;margin-bottom:25px;padding:0}.section h3{color:#000;font-size:12px;font-weight:700;margin:0 0 8px;padding:0}.info-row,.section h3{font-family:Arial,sans-serif}.info-row{display:flex;font-size:10px;margin-bottom:2px;padding:2px 0}.info-row .label{color:#000;flex-shrink:0;font-weight:400;min-width:150px}.info-row .value{background:#0000!important;border-bottom:1px solid #000;border-radius:0!important;box-shadow:none!important;color:#000;flex:1 1;font-weight:400;padding-bottom:2px;padding-left:0;padding-right:0!important;padding-top:0!important}.info-row-simple{display:flex;font-family:Arial,sans-serif;font-size:10px;justify-content:flex-end;padding:2px 0}.info-row-simple .label{margin-right:10px}.info-row-simple .label,.info-row-simple .value{color:#000;font-weight:400}.info-row:last-child{border-bottom:none}.chart-container{background:#fff;border:1px solid #999;height:380px;margin-bottom:20px;padding:10px;width:100%}.chart-container,.chart-placeholder{align-items:center;display:flex;justify-content:center}.chart-placeholder{color:#6c757d;font-size:1.1rem;text-align:center}.iv-curve-chart,.svg-chart-container{display:block;height:100%;width:100%}.iv-curve-chart{background:#0000;border-radius:0}.iv-curve-image{height:auto;max-height:100%;max-width:100%;object-fit:contain;width:auto}.iv-curve-chart text{font-family:ArialMT,Arial,sans-serif;font-size:11px}.iv-curve-chart path{shape-rendering:geometricPrecision}.iv-curve-chart line{shape-rendering:crispEdges}.reference-conditions{background:#0000;border-left:none;border-radius:0;font-family:Arial,sans-serif;margin-bottom:20px;padding:10px 0}.reference-conditions h4{font-size:12px;font-weight:700;margin:0 0 8px;text-align:center}.ref-info,.reference-conditions h4{color:#000;font-family:Arial,sans-serif}.ref-info{align-items:flex-end;display:flex;flex-direction:column;font-size:10px;gap:3px}.other-info{background:#0000;border-left:none;border-radius:0;padding:10px 0}.other-info,.other-info h4{font-family:Arial,sans-serif}.other-info h4{color:#000;font-size:12px;font-weight:700;margin:0 0 8px;text-align:center}@media (max-width:1024px){.report-content{gap:20px;grid-template-columns:1fr}.report-header{flex-direction:column;gap:15px}.report-header,.report-title h1{text-align:center}}@media (max-width:768px){.test-report{padding:15px}.control-panel{align-items:stretch;flex-direction:column}.export-pdf-btn{width:100%}.chart-container{height:300px;padding:10px}.info-row{flex-direction:column;gap:5px}.info-row .label{font-weight:700;min-width:auto}.ref-info{flex-direction:column;gap:10px;text-align:center}}@media print{.test-controls{display:none}.test-report{margin:0;max-width:none;padding:15px 20px}.report-content{display:table;width:100%}.left-section{display:table-cell;width:45%}.right-section{display:table-cell;width:55%}.chart-container{height:280px;page-break-inside:avoid}}.test-report,.test-report *{background:#0000!important;background-image:none!important;border-radius:0!important;-webkit-border-radius:0!important;box-shadow:none!important}.test-report .info-row .value,.test-report .info-row .value:after,.test-report .info-row .value:before{background:#0000!important;background-image:none!important;border-radius:0!important;box-shadow:none!important;display:inline!important;margin:0!important;padding:0!important}.test-report .chart-container img,.test-report .chart-container svg{background:#0000!important}@media print{.test-report,.test-report *{background:#0000!important;border-radius:0!important;box-shadow:none!important}.test-report{background:#fff!important}}.user-management{margin:0 auto;max-width:1400px;padding:30px}.user-management-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:20px}.user-management-header h2{color:#2c3e50;font-size:28px;margin:0}.user-management-header .subtitle{color:#7f8c8d;font-size:14px;margin:5px 0 0}.btn-add-user{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 4px 15px #667eea4d;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:12px 24px;transition:all .3s ease}.btn-add-user:hover{box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.users-table-section{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;padding:25px}.users-table-section h3{color:#2c3e50;font-size:18px;margin:0 0 20px}.users-table{border-collapse:collapse;font-size:14px;width:100%}.users-table thead{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.users-table th{font-size:12px;font-weight:600;letter-spacing:.5px;padding:12px 15px;text-align:left;text-transform:uppercase}.users-table tbody tr{border-bottom:1px solid #e0e0e0;transition:background-color .2s ease}.users-table tbody tr:hover{background-color:#f8f9fa}.users-table td{padding:15px;vertical-align:middle}.username-badge{background:#e3f2fd;border-radius:6px;color:#1976d2;font-family:Courier New,monospace;font-size:13px}.role-badge,.username-badge{font-weight:600;padding:6px 12px}.role-badge{border-radius:12px;font-size:12px;letter-spacing:.5px;text-transform:uppercase}.role-badge.admin{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.role-badge.user{background:linear-gradient(135deg,#34c759,#28a745);color:#fff}.password-display{background:#f0f0f0;border-radius:6px;color:#666;font-family:Courier New,monospace;font-size:16px;letter-spacing:2px;padding:6px 12px}.btn-show-password{background:#0000;border:none;cursor:pointer;font-size:16px;margin-left:8px;padding:4px 8px;transition:transform .2s ease}.btn-show-password:hover{transform:scale(1.2)}.action-buttons{gap:8px}.btn-delete,.btn-edit{border:none;border-radius:6px;cursor:pointer;font-size:14px;padding:6px 12px;transition:all .2s ease}.btn-edit{background:#2196f3;color:#fff}.btn-edit:hover{background:#1976d2;transform:scale(1.05)}.btn-delete{background:#f44336;color:#fff}.btn-delete:hover{background:#d32f2f;transform:scale(1.05)}.modal-overlay{animation:fadeIn .3s ease;background:#00000080;z-index:2000}.modal-content{animation:slideUp .3s ease;border-radius:16px;box-shadow:0 10px 40px #0000004d}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-content h3{color:#2c3e50;font-size:22px;margin:0 0 25px}.form-group{margin-bottom:20px}.form-group label{color:#2c3e50;display:block}.form-group input,.form-group select{border:2px solid #e0e0e0;border-radius:8px;font-family:inherit;font-size:14px;outline:none;padding:12px 15px;transition:all .3s ease;width:100%}.form-group input:focus,.form-group select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group small{display:block;font-size:12px;margin-top:5px}.modal-actions{gap:12px;margin-top:25px}.btn-cancel,.btn-save{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .3s ease}.btn-save{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-save:hover{box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.btn-cancel{background:#e0e0e0;color:#666}.btn-cancel:hover{background:#d0d0d0}.access-denied{padding:60px 20px;text-align:center}.access-denied h2{color:#e74c3c;font-size:32px;margin-bottom:15px}.access-denied p{color:#7f8c8d;font-size:16px}@media (max-width:768px){.user-management{padding:15px}.user-management-header{align-items:flex-start;flex-direction:column;gap:15px}.users-table{font-size:12px}.users-table td,.users-table th{padding:10px}.modal-content{padding:20px;width:95%}}.ftr-management-container{background:#f5f5f5;margin:0 auto;max-width:1400px;min-height:100vh;padding:20px}.ftr-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;display:flex;justify-content:space-between;margin-bottom:30px;padding:20px 30px}.ftr-header h1{font-size:28px;margin:0}.btn-back{background:#fff;border:none;color:#667eea;font-weight:600;padding:10px 20px;transition:transform .2s}.btn-back:hover{transform:scale(1.05)}.company-selection{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:30px;padding:25px}.company-selection h2{color:#333;margin-top:0}.company-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-top:15px}.company-card{background:linear-gradient(135deg,#f093fb,#f5576c);border-radius:10px;color:#fff;cursor:pointer;padding:20px;text-align:center;transition:all .3s}.company-card:hover{box-shadow:0 8px 16px #0003;transform:translateY(-5px)}.company-card.active{background:linear-gradient(135deg,#4facfe,#00f2fe);box-shadow:0 8px 20px #4facfe66}.company-card h3{font-size:18px;margin:0 0 8px}.company-card p{font-size:14px;margin:0;opacity:.9}.ftr-actions{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:30px}.ftr-actions button{border:none;border-radius:10px;color:#fff;cursor:pointer;flex:1 1;font-size:16px;font-weight:600;min-width:200px;padding:15px 25px;transition:all .3s}.btn-upload-master{background:linear-gradient(135deg,#f093fb,#f5576c)}.btn-assign{background:linear-gradient(135deg,#4facfe,#00f2fe)}.btn-packed{background:linear-gradient(135deg,#43e97b,#38f9d7)}.ftr-actions button:hover{box-shadow:0 8px 16px #0003;transform:translateY(-3px)}.ftr-dashboard{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:30px}.ftr-stat-card{background:#fff;border-left:5px solid;border-radius:12px;box-shadow:0 4px 12px #0000001a;padding:25px;text-align:center;transition:transform .3s}.ftr-stat-card:hover{transform:translateY(-5px)}.ftr-stat-card.master{border-left-color:#667eea}.ftr-stat-card.assigned{border-left-color:#f093fb}.ftr-stat-card.packed{border-left-color:#43e97b}.ftr-stat-card.available{border-left-color:#4facfe}.ftr-stat-card.unpacked{border-left-color:#ffa726}.ftr-stat-card h3{color:#666;font-size:14px;letter-spacing:1px;margin:0 0 10px;text-transform:uppercase}.stat-number{color:#333;font-size:36px;font-weight:700;margin:10px 0}.ftr-stat-card p{color:#999;font-size:13px;margin:10px 0 0}.pdi-table-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:25px}.pdi-table-container h3{color:#333;margin-top:0}.pdi-table{border-collapse:collapse;margin-top:15px;width:100%}.pdi-table thead{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.pdi-table th{font-weight:600;padding:15px;text-align:left}.pdi-table td{border-bottom:1px solid #eee;padding:12px 15px}.pdi-table tbody tr:hover{background:#f8f9fa}.btn-view{background:linear-gradient(135deg,#4facfe,#00f2fe);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px}.btn-view:hover{opacity:.9}.modal-overlay{background:#000000b3}.modal-content{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000004d}.modal-content h2{color:#333;margin-top:0}.modal-content input[type=number],.modal-content input[type=text]{border:2px solid #e0e0e0;border-radius:8px;font-size:14px;margin:10px 0;padding:12px;width:100%}.modal-content input[type=file]{margin:15px 0}.modal-actions button{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:12px;transition:all .2s}.modal-actions button:first-child{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.modal-actions button:first-child:hover{opacity:.9}.modal-actions button:last-child{background:#f5f5f5;color:#666}.loading-overlay{align-items:center;background:#ffffffe6;bottom:0;color:#667eea;display:flex;font-size:24px;font-weight:600;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:999}@keyframes loading{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}@media (max-width:1024px){.ftr-management-container{padding:15px}.ftr-dashboard{gap:15px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.ftr-stat-card{padding:20px}.stat-number{font-size:28px}}@media (max-width:768px){.ftr-management-container{background:#f5f5f5;padding:10px}.ftr-header{flex-direction:column;gap:15px;padding:15px 20px;text-align:center}.ftr-header h1{font-size:20px;margin:0}.btn-back{padding:12px;width:100%}.company-selection{margin-bottom:20px;padding:15px}.company-selection h2{font-size:18px;text-align:center}.company-grid{gap:10px;grid-template-columns:1fr}.company-card{padding:15px}.company-card h3{font-size:16px}.ftr-actions{flex-direction:column;gap:10px;margin-bottom:20px}.ftr-actions button{font-size:14px;min-width:100%;padding:14px 20px}.ftr-dashboard{gap:10px;grid-template-columns:repeat(2,1fr);margin-bottom:20px}.ftr-stat-card{border-radius:10px;padding:15px}.ftr-stat-card h3{font-size:11px;margin-bottom:5px}.stat-number{font-size:24px;margin:5px 0}.ftr-stat-card p{font-size:11px;margin:5px 0 0}.pdi-table-container{overflow-x:auto;padding:15px}.pdi-table-container h3{font-size:16px}.pdi-table td,.pdi-table th{font-size:12px;padding:10px 8px}.btn-view{font-size:12px;padding:6px 12px}.modal-content{max-height:90vh;overflow-y:auto;padding:20px;width:95%}.modal-content h2{font-size:18px}.modal-content input[type=number],.modal-content input[type=text]{font-size:16px;padding:14px}.modal-actions{flex-direction:column}.modal-actions button{padding:14px}}@media (max-width:480px){.ftr-management-container{padding:8px}.ftr-header{border-radius:8px;padding:12px 15px}.ftr-header h1{font-size:18px}.company-selection{padding:12px}.ftr-dashboard{gap:8px;grid-template-columns:1fr 1fr}.ftr-stat-card{padding:12px}.stat-number{font-size:20px}.ftr-stat-card h3{font-size:10px}.pdi-table-container{border-radius:0;margin:0 -8px;padding:10px}.pdi-table td,.pdi-table th{font-size:11px;padding:8px 5px}}.ai-assistant-container{background:linear-gradient(135deg,#1a1a2e,#16213e 50%,#0f3460);color:#fff;font-family:Segoe UI,sans-serif;min-height:100vh}.ai-header{background:#0000004d;border-bottom:1px solid #ffffff1a;justify-content:space-between;padding:15px 30px}.ai-header,.ai-header-left{align-items:center;display:flex}.ai-header-left{gap:20px}.ai-header-left h1{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#00d4ff,#0f8);-webkit-background-clip:text;font-size:24px;margin:0}.ai-header-right{align-items:center;display:flex;gap:15px}.btn-back{background:#ffffff1a;border:1px solid #fff3;border-radius:8px;color:#fff;cursor:pointer;padding:8px 16px;transition:all .3s}.btn-back:hover{background:#fff3}.api-status{border-radius:20px;font-size:12px;padding:6px 12px}.api-status.configured{background:#0f83;color:#0f8}.api-status.not-configured{background:#ffc10733;color:#ffc107}.btn-config{background:#00d4ff33;border:1px solid #00d4ff;border-radius:8px;color:#00d4ff;cursor:pointer;padding:8px 16px;transition:all .3s}.btn-config:hover{background:#00d4ff66}.ai-main-content{display:flex;height:calc(100vh - 70px)}.ai-sidebar{background:#0000004d;border-right:1px solid #ffffff1a;overflow-y:auto;padding:20px;width:300px}.ai-sidebar h3{color:#00d4ff;font-size:16px;margin:0 0 15px}.ai-sidebar h4{color:#0f8;font-size:14px;margin:20px 0 10px}.sidebar-summary{background:#ffffff0d;border-radius:10px;padding:15px}.summary-item{border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;padding:8px 0}.summary-item:last-child{border-bottom:none}.summary-item .label{color:#ffffffb3;font-size:13px}.summary-item .value{color:#fff;font-weight:700}.summary-item .value.highlight{color:#0f8}.summary-item .value.warning{color:#ffc107}.company-list{display:flex;flex-direction:column;gap:8px}.company-item{background:#ffffff0d;border-radius:8px;cursor:pointer;padding:10px 12px;transition:all .3s}.company-item:hover{background:#00d4ff33;transform:translateX(5px)}.company-name{display:block;font-weight:500;margin-bottom:4px}.company-stats{color:#fff9;font-size:11px}.btn-refresh{background:#00d4ff33;border:1px solid #00d4ff80;border-radius:8px;color:#00d4ff;cursor:pointer;margin-top:20px;padding:10px;transition:all .3s;width:100%}.btn-refresh:hover{background:#00d4ff66}.company-selector{margin-bottom:10px}.company-dropdown{background:#0000004d;border:1px solid #fff3;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;padding:10px;width:100%}.company-dropdown option{background:#1a1a2e;color:#fff}.export-buttons{display:flex;flex-direction:column;gap:8px;margin-top:10px}.btn-export{background:#00ff881a;border:1px solid #00ff884d;border-radius:6px;color:#0f8;cursor:pointer;font-size:12px;padding:8px 12px;text-align:left;transition:all .3s;width:100%}.btn-export:hover:not(:disabled){background:#0f83;transform:translateX(5px)}.btn-export:disabled{cursor:not-allowed;opacity:.5;transform:none}.export-loading{animation:pulse 1s infinite;color:#00d4ff;font-size:12px;margin-top:10px;text-align:center}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.ai-chat-area{display:flex;flex:1 1;flex-direction:column;padding:20px}.quick-questions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:15px}.suggested-questions-section{background:#0003;border-radius:12px;margin-bottom:15px;padding:12px}.category-tabs{display:flex;gap:8px;margin-bottom:12px;overflow-x:auto;padding-bottom:8px}.category-tab{align-items:center;background:#ffffff14;border:1px solid #ffffff26;border-radius:20px;color:#ffffffb3;cursor:pointer;display:flex;font-size:12px;gap:5px;padding:8px 14px;transition:all .3s;white-space:nowrap}.category-tab:hover{background:#ffffff26;color:#fff}.category-tab.active{background:linear-gradient(135deg,#00d4ff,#0f8);border-color:#0000;color:#1a1a2e;font-weight:600}.category-questions{display:flex;flex-wrap:wrap;gap:8px}.quick-q-btn{background:#ffffff1a;border:1px solid #fff3;border-radius:20px;color:#fff;cursor:pointer;font-size:12px;padding:8px 16px;transition:all .3s}.quick-q-btn:hover{background:#00d4ff4d;border-color:#00d4ff}.messages-container{background:#0003;border-radius:15px;flex:1 1;margin-bottom:15px;overflow-y:auto;padding:10px}.message{animation:fadeIn .3s ease;display:flex;gap:12px;margin-bottom:15px}.message.user{flex-direction:row-reverse}.message-avatar{align-items:center;background:#ffffff1a;border-radius:50%;display:flex;flex-shrink:0;font-size:20px;height:40px;justify-content:center;width:40px}.message.user .message-avatar{background:#00d4ff4d}.message.assistant .message-avatar{background:#00ff884d}.message-content{background:#ffffff1a;border-radius:15px;max-width:70%;padding:12px 18px}.message.user .message-content{background:#00d4ff4d;border-bottom-right-radius:5px}.message.assistant .message-content{background:#ffffff1a;border-bottom-left-radius:5px}.message.error .message-content{background:#ff52524d;border:1px solid #ff525280}.message-content pre{word-wrap:break-word;font-family:Segoe UI,sans-serif;font-size:14px;line-height:1.5;margin:0;white-space:pre-wrap}.typing-indicator{display:flex;gap:4px;padding:5px 0}.typing-indicator span{animation:typing 1.4s infinite;background:#00d4ff;border-radius:50%;height:8px;width:8px}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-8px)}}.input-area{background:#ffffff1a;border-radius:15px;display:flex;gap:10px;padding:10px}.input-area textarea{background:#0000;border:none;color:#fff;flex:1 1;font-family:Segoe UI,sans-serif;font-size:14px;outline:none;padding:10px;resize:none}.input-area textarea::placeholder{color:#ffffff80}.btn-send{background:linear-gradient(135deg,#00d4ff,#0f8);border:none;border-radius:10px;color:#1a1a2e;cursor:pointer;font-weight:700;padding:10px 25px;transition:all .3s}.btn-send:hover:not(:disabled){box-shadow:0 5px 20px #00d4ff66;transform:scale(1.05)}.btn-send:disabled{cursor:not-allowed;opacity:.5}.modal-overlay{align-items:center;background:#000c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#1a1a2e;border:1px solid #00d4ff4d;border-radius:15px;max-width:500px;padding:30px;width:90%}.modal-content h2{color:#00d4ff;margin:0 0 10px}.modal-content p{color:#ffffffb3;margin-bottom:20px}.modal-content a{color:#0f8}.api-key-input input{background:#ffffff1a;border:1px solid #fff3;border-radius:8px;box-sizing:border-box;color:#fff;font-size:14px;outline:none;padding:12px 15px;width:100%}.api-key-input input:focus{border-color:#00d4ff}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.btn-cancel{background:#ffffff1a;border:1px solid #fff3;border-radius:8px;color:#fff}.btn-cancel,.btn-save{cursor:pointer;padding:10px 20px}.btn-save{background:linear-gradient(135deg,#00d4ff,#0f8);border:none;border-radius:8px;color:#1a1a2e;font-weight:700}.barcode-check-section{border-top:1px solid #ffffff1a;margin-top:15px;padding-top:15px}.check-help{color:#fff9;font-size:11px;margin-bottom:10px}.btn-upload-check{background:linear-gradient(135deg,#ff6b6b,#ff8e53);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:700;padding:12px;transition:all .3s;width:100%}.btn-upload-check:hover:not(:disabled){box-shadow:0 4px 15px #ff6b6b66;transform:scale(1.02)}.btn-upload-check:disabled{cursor:not-allowed;opacity:.5}.check-warning{color:#ff6b6b;font-size:11px;margin-top:5px;text-align:center}.btn-download-excel{background:linear-gradient(135deg,#00d4ff,#0f8);border:none;border-radius:8px;color:#1a1a2e;cursor:pointer;font-weight:700;margin-top:10px;padding:10px 20px;transition:all .3s}.btn-download-excel:hover{box-shadow:0 4px 15px #00d4ff66;transform:scale(1.05)}@media (max-width:992px){.ai-sidebar{width:250px}}@media (max-width:768px){.ai-assistant-container{min-height:100vh}.ai-main-content{flex-direction:column;height:auto;min-height:calc(100vh - 60px)}.ai-sidebar{border-bottom:1px solid #ffffff1a;border-right:none;display:none;height:auto;max-height:none;padding:15px;width:100%}.ai-sidebar.mobile-open{display:block;max-height:300px;overflow-y:auto}.ai-header{flex-direction:column;gap:10px;padding:12px 15px}.ai-header-left{justify-content:space-between;width:100%}.ai-header-left h1{font-size:18px}.ai-header-right{flex-wrap:wrap;gap:8px;justify-content:center;width:100%}.btn-back,.btn-config{font-size:12px;padding:6px 12px}.api-status{font-size:10px;padding:4px 10px}.ai-chat-area{flex:1 1;min-height:400px;padding:12px}.message-content{max-width:85%;padding:10px 14px}.message-content pre{font-size:13px}.message-avatar{font-size:16px;height:32px;width:32px}.quick-questions{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;overflow-x:auto;padding-bottom:10px}.quick-q-btn{font-size:11px;padding:6px 12px;white-space:nowrap}.suggested-questions-section{margin-bottom:10px;padding:10px}.category-tabs{-webkit-overflow-scrolling:touch;gap:6px;padding-bottom:6px}.category-tab{font-size:11px;padding:6px 10px}.category-questions{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:6px;overflow-x:auto;padding-bottom:8px}.messages-container{border-radius:10px;flex:1 1;margin-bottom:10px;min-height:300px;padding:8px}.input-area{border-radius:12px;padding:8px}.input-area textarea{font-size:16px;padding:8px}.btn-send{font-size:14px;padding:10px 18px}.modal-content{max-height:90vh;overflow-y:auto;padding:20px;width:95%}.modal-content h2{font-size:18px}.api-key-input input{font-size:16px}.modal-actions{flex-direction:column-reverse;gap:8px}.btn-cancel,.btn-save{padding:12px;width:100%}.sidebar-summary{padding:10px}.summary-item{padding:6px 0}.summary-item .label{font-size:12px}.company-list{flex-direction:row;flex-wrap:wrap;gap:6px}.company-item{padding:8px 10px}.export-buttons{flex-direction:row;flex-wrap:wrap}.btn-export{flex:1 1;font-size:11px;min-width:calc(50% - 4px);padding:8px 10px;text-align:center}}@media (max-width:480px){.ai-header{padding:10px 12px}.ai-header-left h1{font-size:16px}.ai-chat-area{padding:10px}.message{gap:8px;margin-bottom:12px}.message-avatar{font-size:14px;height:28px;width:28px}.message-content{border-radius:12px;max-width:90%;padding:8px 12px}.message-content pre{font-size:12px;line-height:1.4}.category-tab{font-size:10px;padding:5px 8px}.quick-q-btn{font-size:10px;padding:5px 10px}.btn-send{font-size:13px;padding:8px 15px}.btn-download-excel{font-size:13px;padding:10px 15px;width:100%}}.coc-management-dashboard{margin:0 auto;max-width:1400px;padding:20px}.dashboard-header{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px;color:#fff;margin-bottom:30px;padding:20px;text-align:center}.dashboard-header h2{font-size:28px;margin:0 0 10px}.dashboard-header p{font-size:16px;margin:0;opacity:.9}.dashboard-tabs{border-bottom:2px solid #e0e0e0;display:flex;gap:10px;margin-bottom:30px}.dashboard-tabs .tab,.dashboard-tabs .tab-active{background:#0000;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;font-size:15px;font-weight:500;padding:12px 24px;transition:all .3s ease}.dashboard-tabs .tab:hover{background:#f8f9fa;color:#007bff}.dashboard-tabs .tab-active{background:#f0f7ff;border-bottom-color:#007bff;color:#007bff}.dashboard-content{background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000000d;min-height:400px;padding:30px}.pdi-usage-card{border:1px solid #e0e0e0;border-radius:8px;margin-bottom:15px;overflow:hidden;transition:all .3s ease}.pdi-usage-card:hover{box-shadow:0 4px 12px #0000001a}.pdi-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:15px 20px}.pdi-header h4{color:#333;font-size:18px;margin:0}.pdi-materials{padding:15px}.materials-table{border-collapse:collapse;font-size:13px;width:100%}.materials-table th{background:#f8f9fa;border-bottom:2px solid #dee2e6;color:#555;font-weight:600;padding:10px;text-align:left}.materials-table td{border-bottom:1px solid #f0f0f0;padding:10px}.materials-table tr:hover{background:#f8f9fa}.shift-badge{border-radius:12px;display:inline-block;font-size:11px;font-weight:600;padding:4px 10px}.shift-badge.day{background:#fff3e0;border:1px solid #ff9800;color:#e65100}.shift-badge.night{background:#e3f2fd;border:1px solid #2196f3;color:#0d47a1}.fifo-material-card{background:#fff;border:2px solid #e0e0e0;border-radius:10px;margin-bottom:20px;padding:20px}.fifo-material-card h4{border-bottom:2px solid #007bff;color:#333;font-size:20px;margin:0 0 15px;padding-bottom:10px}.cocs-table{border-collapse:collapse;font-size:13px;margin-top:10px;width:100%}.cocs-table th{background:#f8f9fa;border:1px solid #dee2e6;color:#555;font-weight:600;padding:8px;text-align:left}.cocs-table td{border:1px solid #f0f0f0;padding:8px}.cocs-table tr:hover{background:#f8f9fa}.stats-table{border-collapse:collapse;font-size:14px;margin-top:20px;width:100%}.stats-table th{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-weight:600;padding:12px;text-align:left}.stats-table td{border-bottom:1px solid #e0e0e0;padding:12px}.stats-table tr:nth-child(2n){background:#f8f9fa}.stats-table tr:hover{background:#e3f2fd}.spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#007bff;height:40px;margin:0 auto;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.login-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.login-box{animation:fadeIn .5s ease;background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;max-width:450px;padding:40px;width:100%}@keyframes fadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.login-header{margin-bottom:30px;text-align:center}.login-header h1{color:#2c3e50;font-size:32px;font-weight:700;margin-bottom:10px}.login-header h2{color:#7f8c8d;font-size:20px;font-weight:500;margin:0}.login-form{margin-top:30px}.login-form .form-group{margin-bottom:20px}.login-form label{color:#2c3e50;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.login-form input{border:2px solid #e0e0e0;border-radius:10px;font-family:inherit;font-size:15px;outline:none;padding:14px 16px;transition:all .3s ease;width:100%}.login-form input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.login-form input::placeholder{color:#bdc3c7}.error-message{background:#ffe6e6;border-left:4px solid #e74c3c;border-radius:8px;color:#e74c3c;font-size:14px;font-weight:500;margin-bottom:20px;padding:12px 16px}.btn-login{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:10px;padding:14px;transition:all .3s ease;width:100%}.btn-login:hover:not(:disabled){box-shadow:0 10px 25px #667eea66;transform:translateY(-2px)}.btn-login:active:not(:disabled){transform:translateY(0)}.btn-login:disabled{cursor:not-allowed;opacity:.7}.user-info-box{background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;margin-top:30px;padding:20px}.user-info-box h3{color:#2c3e50;font-size:16px;font-weight:600;margin-bottom:15px}.credential-item{background:#fff;border-left:4px solid #667eea;border-radius:8px;margin-bottom:12px;padding:12px}.credential-item:last-child{border-left-color:#34c759;margin-bottom:0}.credential-item strong{color:#2c3e50;display:block;font-size:14px;margin-bottom:8px}.credential-item p{color:#5a6c7d;font-size:13px;margin:4px 0}.credential-item code{background:#e9ecef;border-radius:4px;color:#667eea;font-family:Courier New,monospace;font-size:12px;font-weight:600;padding:2px 8px}.badge{border-radius:12px;display:inline-block;font-size:11px;font-weight:600;letter-spacing:.5px;margin-top:6px;padding:4px 10px;text-transform:uppercase}.badge-admin{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.badge-user{background:linear-gradient(135deg,#34c759,#28a745);color:#fff}.login-footer{border-top:1px solid #ecf0f1;margin-top:30px;padding-top:20px;text-align:center}.login-footer p{color:#95a5a6;font-size:13px;margin:0}@media (max-width:768px){.login-container{align-items:flex-start;padding:50px 15px 15px}.login-box{border-radius:15px;padding:25px 20px}.login-header h1{font-size:24px}.login-header h2{font-size:16px}.login-form input{font-size:16px;padding:14px}.btn-login{font-size:15px;padding:14px}.user-info-box{margin-top:25px;padding:15px}.credential-item{padding:10px}.credential-item strong{font-size:13px}.credential-item p{font-size:12px}}@media (max-width:480px){.login-container{padding:30px 10px 10px}.login-box{padding:20px 15px}.login-header h1{font-size:22px}.login-header h2{font-size:14px}.login-form label{font-size:13px}.login-form input{padding:12px}.error-message{font-size:13px;padding:10px 12px}.user-info-box h3{font-size:14px}}.App{display:flex;height:100vh;overflow:hidden}.sidebar{background:linear-gradient(180deg,#2c3e50,#34495e);box-shadow:2px 0 10px #0000001a;height:100vh;transition:all .3s ease;z-index:1000}.sidebar.collapsed{width:70px}.sidebar-header{border-bottom:1px solid #ffffff1a;justify-content:space-between;padding:20px}.sidebar-header h2{font-size:20px;font-weight:600;white-space:nowrap}.toggle-btn{background:#0000;font-size:24px;padding:5px;transition:all .3s ease}.toggle-btn:hover{transform:scale(1.1)}.user-role-badge{align-items:center;background:linear-gradient(135deg,#3498db33,#2980b933);border:1px solid #ffffff26;border-radius:12px;display:flex;flex-direction:column;gap:12px;margin:15px;padding:15px 20px}.user-role-badge.collapsed{justify-content:center;margin:10px;padding:10px}.user-role-badge .role-icon{font-size:24px}.user-role-badge .role-text{color:#ecf0f1;font-size:14px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.user-role-badge .user-name{color:#bdc3c7;font-size:12px;margin-top:4px}.sidebar-menu{display:flex;flex-direction:column;height:calc(100vh - 80px);margin:0;overflow-y:auto;padding:0}.sidebar-menu li{border-left:4px solid #0000;gap:15px;padding:15px 20px;transition:all .3s ease}.sidebar-menu li:hover{background-color:#ffffff1a;border-left-color:#3498db}.sidebar-menu li.active{background-color:#3498db33;border-left-color:#3498db}.sidebar-menu li .icon{font-size:24px;min-width:30px;text-align:center}.sidebar-menu li .label{font-size:16px}.sidebar-menu li.logout-btn{background-color:#e74c3c1a;border-top:1px solid #ffffff1a;margin-top:auto}.sidebar-menu li.logout-btn:hover{background-color:#e74c3c4d;border-left-color:#e74c3c}.main-content{background-color:#f5f7fa;height:100vh;overflow-y:auto}.section-placeholder{align-items:center;display:flex;flex-direction:column;height:100vh;justify-content:center;text-align:center}.section-placeholder h2{color:#2c3e50;font-size:36px;margin-bottom:10px}.section-placeholder p{color:#7f8c8d;font-size:18px}@media (max-width:1024px){.sidebar{width:200px}.main-content{margin-left:200px;width:calc(100% - 200px)}}@media (max-width:768px){.sidebar{height:100vh;left:-260px;position:fixed;top:0;transition:left .3s ease;width:260px;z-index:1000}.sidebar.mobile-open{left:0}.sidebar.collapsed{left:-260px;overflow:hidden;width:0}.main-content{padding:10px}.main-content,.main-content.expanded{margin-left:0;width:100%}.toggle-btn{background:linear-gradient(135deg,#2c3e50,#34495e);border-radius:8px;box-shadow:0 4px 15px #0000004d;left:10px;padding:12px;position:fixed;top:10px;z-index:1001}.sidebar-header h2{font-size:18px}.sidebar-menu li{gap:12px;padding:12px 15px}.sidebar-menu li .icon{font-size:20px}.sidebar-menu li .label{font-size:14px}.user-role-badge{margin:10px;padding:12px 15px}.sidebar-overlay{background:#00000080;display:none;height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:999}.sidebar-overlay.active{display:block}}@media (max-width:480px){.sidebar{left:-100%;width:100%}.sidebar.mobile-open{left:0}.toggle-btn{left:8px;padding:10px;top:8px}.main-content{padding:60px 8px 8px}}*{box-sizing:border-box;margin:0;padding:0}body,html{overflow-x:hidden;width:100%}@media (max-width:768px){*{-webkit-tap-highlight-color:transparent}button,input,select,textarea{-webkit-appearance:none;appearance:none}.scrollable{-webkit-overflow-scrolling:touch}}.App{background:#f5f5f5;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;min-height:100vh}.main-layout{display:flex;min-height:100vh}.sidebar{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:2px 0 15px #00000026;color:#fff;flex-shrink:0;left:0;max-height:100vh;overflow-y:auto;padding:20px;position:fixed;top:0;width:250px}.sidebar-header{align-items:center;border-bottom:2px solid #fff3;display:flex;flex-direction:column;margin-bottom:30px;padding-bottom:20px}.sidebar-logo{filter:brightness(0) invert(1);height:60px;margin-bottom:10px;object-fit:contain;width:60px}.sidebar-header h2{border:none;font-size:1.2rem;font-weight:700;margin:0;padding:0;text-align:center;text-shadow:1px 1px 2px #0003}.toggle-btn{align-items:center;background:#fff3;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;height:30px;justify-content:center;transition:all .3s;width:30px}.toggle-btn:hover{background:#ffffff4d}.sidebar-menu{list-style:none;padding:10px 0}.sidebar-menu li{align-items:center;border-left:3px solid #0000;border-radius:6px;cursor:pointer;display:flex;font-size:13px;gap:10px;margin-bottom:5px;padding:12px 15px;transition:all .3s;white-space:nowrap}.sidebar-menu li:hover{background:#ffffff1a;border-left-color:#fff}.sidebar-menu li.active{background:#fff3;border-left-color:#fff}.sidebar-menu li .icon{flex-shrink:0;font-size:18px;min-width:18px}.sidebar-menu li .label{font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logout-btn{border-top:1px solid #ffffff1a!important;color:#fcc!important;margin-top:auto}.logout-btn:hover{background:#f003!important}.main-content{flex:1 1;margin-left:250px;padding:20px;transition:all .3s ease;width:calc(100% - 250px)}.main-content.expanded{margin-left:70px;width:calc(100% - 70px)}.content-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:30px}.section-header{border-bottom:2px solid #f0f0f0;margin-bottom:30px;padding-bottom:20px}.section-header h2{color:#2c3e50;font-size:28px;margin-bottom:10px}.section-header p{color:#7f8c8d;font-size:14px}.input-section{background:#f8f9fa;border-radius:8px;margin-bottom:30px;padding:25px}.basic-params,.limits-section,.module-selection{margin-bottom:25px}.basic-params h3,.limits-section h3,.module-selection h3{color:#34495e;font-size:18px;font-weight:600;margin-bottom:15px}.form-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:15px}.form-group{display:flex;flex-direction:column}.form-group label{color:#555;font-size:14px;font-weight:600;margin-bottom:8px}.form-group input,.form-group select,.module-dropdown{border:1px solid #ddd;border-radius:6px;font-size:14px;padding:10px 12px;transition:border-color .3s}.form-group input:focus,.form-group select:focus,.module-dropdown:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.module-info,.specs-info{background:#fff;border-left:4px solid #667eea;border-radius:6px;margin-top:15px;padding:15px}.module-info h4,.specs-info h5{color:#34495e;font-size:16px;margin-bottom:10px}.info-grid,.specs-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:10px}.info-grid div,.specs-grid div{color:#555;font-size:14px}.limits-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.limit-group{background:#fff;border:1px solid #e0e0e0;border-radius:6px;padding:15px}.limit-group h4{color:#667eea;font-size:14px;font-weight:700;margin-bottom:10px;text-transform:uppercase}.limit-inputs{display:flex;gap:10px}.limit-inputs .form-group{flex:1 1}.action-buttons{display:flex;gap:15px;justify-content:center;margin-top:25px}.export-btn,.generate-btn{border:none;border-radius:6px;box-shadow:0 2px 4px #0000001a;cursor:pointer;font-size:15px;font-weight:600;padding:12px 32px;transition:all .3s}.generate-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.generate-btn:hover{box-shadow:0 4px 8px #667eea4d;transform:translateY(-2px)}.generate-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.export-btn{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.export-btn:hover{box-shadow:0 4px 8px #f5576c4d;transform:translateY(-2px)}.results-section{margin-top:30px}.results-section h2{color:#2c3e50;font-size:24px;margin-bottom:20px}.table-container{border-radius:8px;box-shadow:0 2px 4px #0000000d;overflow-x:auto}.results-table{background:#fff;border-collapse:collapse;width:100%}.results-table thead{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.results-table th{font-size:14px;font-weight:600;padding:15px;text-align:left}.results-table td{border-bottom:1px solid #f0f0f0;color:#555;font-size:13px;padding:12px 15px}.results-table tbody tr:hover{background:#f8f9fa}.results-table tbody tr:last-child td{border-bottom:none}@media (max-width:1024px){.sidebar{width:70px}.sidebar.collapsed{width:250px}.main-content{margin-left:70px;width:calc(100% - 70px)}.main-content.expanded{margin-left:250px;width:calc(100% - 250px)}}@media (max-width:768px){.main-layout{flex-direction:column}.sidebar{height:100vh;left:-260px;position:fixed;top:0;transition:left .3s ease;width:260px!important;z-index:1000}.sidebar.mobile-open{left:0}.main-content{margin-left:0!important;padding:60px 15px 15px;width:100%!important}.content-section{border-radius:8px;padding:15px}.section-header{margin-bottom:20px;padding-bottom:15px}.section-header h2{font-size:20px}.section-header p{font-size:13px}.input-section{padding:15px}.form-row,.limits-grid{gap:15px;grid-template-columns:1fr}.form-group input,.form-group select,.module-dropdown{font-size:16px;padding:12px}.info-grid,.specs-grid{grid-template-columns:1fr}.action-buttons,.limit-inputs{flex-direction:column}.action-buttons{gap:10px}.export-btn,.generate-btn{padding:14px;width:100%}.table-container{border-radius:0;margin:0 -15px}.results-table td,.results-table th{font-size:12px;padding:10px 8px}}@media (max-width:480px){.main-content{padding:55px 10px 10px}.content-section{padding:12px}.section-header h2{font-size:18px}.input-section{padding:12px}.form-group label{font-size:13px}.results-table{font-size:11px}.results-table td,.results-table th{padding:8px 5px}}
/*# sourceMappingURL=main.3df83d03.css.map*/