@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_fe8b9d92-module__LINzvG__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_fe8b9d92-module__LINzvG__variable{--font-inter:"Inter", "Inter Fallback"}
@font-face{font-family:Outfit;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/b2ea385cb5ae8625-s.1spbknb88wd48.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1b99372b3eaef0c8-s.p.1gsd1jahc5dg_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit Fallback;src:local(Arial);ascent-override:100.18%;descent-override:26.05%;line-gap-override:0.0%;size-adjust:99.82%}.outfit_ca35ecd4-module__VNkuCW__className{font-family:Outfit,Outfit Fallback;font-style:normal}.outfit_ca35ecd4-module__VNkuCW__variable{--font-outfit:"Outfit", "Outfit Fallback"}
:root{--bg-primary:#0a0e17;--bg-secondary:#131a26;--bg-tertiary:#1b2536;--border-color:#ffffff14;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#64748b;--accent-blue:#3b82f6;--accent-green:#10b981;--accent-yellow:#f59e0b;--accent-red:#ef4444;--card-shadow:0 8px 32px 0 #0000005e;--glass-bg:#131a26a6;--glass-blur:blur(12px)}[data-theme=light]{--bg-primary:#f8fafc;--bg-secondary:#fff;--bg-tertiary:#f1f5f9;--border-color:#00000014;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--accent-blue:#2563eb;--accent-green:#16a34a;--accent-yellow:#d97706;--accent-red:#dc2626;--card-shadow:0 10px 30px #0000000d;--glass-bg:#ffffffd9;--glass-blur:blur(12px)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);height:100vh;font-family:Inter,sans-serif;transition:background-color .3s,border-color .3s;overflow-x:hidden}h1,h2,h3,h4,h5{font-family:Outfit,sans-serif;font-weight:600}.app-layout{grid-template-columns:260px 1fr;width:100vw;height:100vh;display:grid}.sidebar{background-color:var(--bg-secondary);border-right:1px solid var(--border-color);z-index:100;flex-direction:column;height:100vh;padding:20px 0;display:flex}.sidebar-brand{border-bottom:1px solid var(--border-color);align-items:center;gap:12px;padding:0 20px 20px;display:flex}.brand-logo{background:linear-gradient(135deg, var(--accent-blue), var(--accent-green));border-radius:8px;width:32px;height:32px}.brand-name h1{letter-spacing:.5px;font-size:1.2rem;font-weight:700;line-height:1}.brand-name span{color:var(--text-muted);font-size:.7rem;font-weight:500}.sidebar-nav{flex:1;margin-top:25px;padding:0 12px;overflow-y:auto}.sidebar-nav ul{list-style:none}.nav-item{margin-bottom:5px}.nav-item button{width:100%;color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:12px;padding:12px 16px;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.nav-item:hover button{background-color:var(--bg-tertiary);color:var(--text-primary)}.nav-item.active button{background-color:var(--accent-blue);color:#fff}.sidebar-footer{border-top:1px solid var(--border-color);padding:15px 20px 0}.connection-status{align-items:center;gap:8px;display:flex}.status-dot{border-radius:50%;width:8px;height:8px}.status-dot.online{background-color:var(--accent-green);box-shadow:0 0 8px var(--accent-green)}.status-text{color:var(--text-secondary);font-size:.75rem}.main-content{flex-direction:column;height:100vh;display:flex;overflow-y:auto}.main-header{background-color:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--border-color);z-index:90;justify-content:space-between;align-items:center;padding:20px 30px;display:flex;position:sticky;top:0}.main-header h2{font-size:1.5rem;font-weight:700}.subtitle{color:var(--text-muted);margin-top:2px;font-size:.85rem}.header-actions{align-items:center;gap:15px;display:flex}.header-btn{border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;font-size:1rem;display:flex}.header-btn:hover{background-color:var(--bg-tertiary)}.role-selector-wrapper{color:var(--text-secondary);align-items:center;gap:8px;font-size:.85rem;display:flex}.role-select{background-color:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;border-radius:8px;outline:none;padding:8px 12px;font-weight:500}.card{background-color:var(--bg-secondary);border:1px solid var(--border-color);box-shadow:var(--card-shadow);border-radius:12px;padding:20px}.card-header{margin-bottom:18px}.card-header h3{font-size:1.1rem;font-weight:600}.content-wrapper{flex:1;padding:30px}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;display:grid}.grid-2col{grid-template-columns:1fr 1fr;gap:20px;display:grid}@media (max-width:900px){.grid-2col{grid-template-columns:1fr}}.mt-20{margin-top:20px}.mt-15{margin-top:15px}.mt-30{margin-top:30px}.w-full{width:100%}.flex-col{flex-direction:column;display:flex}.flex-row{flex-direction:row;display:flex}.flex-center{justify-content:center;align-items:center;display:flex}.flex-center-col{flex-direction:column;justify-content:center;align-items:center;display:flex}.gap-10{gap:10px}.gap-15{gap:15px}.gap-20{gap:20px}.kpi-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);box-shadow:var(--card-shadow);border-radius:12px;align-items:center;gap:15px;padding:20px;display:flex}.kpi-icon{border-radius:10px;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.5rem;display:flex}.color-blue{color:var(--accent-blue);background-color:#3b82f626}.color-green{color:var(--accent-green);background-color:#10b98126}.color-yellow{color:var(--accent-yellow);background-color:#f59e0b26}.color-red{color:var(--accent-red);background-color:#ef444426}.kpi-data h3{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.8rem;font-weight:500}.kpi-value{margin:2px 0;font-family:Outfit,sans-serif;font-size:1.6rem;font-weight:700;display:block}.kpi-subtext{color:var(--text-muted);font-size:.75rem}.form-grid{grid-template-columns:1fr 1fr;gap:15px;display:grid}.col-span-2{grid-column:span 2}.col-span-3{grid-column:span 3}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{color:var(--text-secondary);font-size:.8rem;font-weight:500}.form-group input,.form-group select,.form-control{background-color:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);border-radius:8px;outline:none;padding:10px 14px;font-size:.9rem}.form-group input:focus,.form-group select:focus{border-color:var(--accent-blue)}.form-divider{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);border-bottom:1px solid var(--border-color);grid-column:span 2;margin-top:10px;padding-bottom:5px;font-size:.85rem;font-weight:600}.input-readonly{color:var(--text-secondary);font-weight:600;background-color:var(--bg-primary)!important}.btn{cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:.9rem;font-weight:500;transition:all .2s;display:inline-flex}.btn-primary{background-color:var(--accent-blue);color:#fff}.btn-primary:hover:not(:disabled){background-color:#2563eb}.btn-primary:disabled{background-color:var(--border-color);color:var(--text-muted);cursor:not-allowed}.btn-secondary{background-color:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary)}.btn-secondary:hover{background-color:var(--border-color)}.form-actions{justify-content:flex-end;gap:10px;display:flex}.ocr-textarea{background-color:var(--bg-tertiary);border:1px solid var(--border-color);width:100%;height:250px;color:var(--text-primary);resize:none;border-radius:8px;outline:none;padding:15px;font-family:Courier New,monospace;font-size:.9rem;line-height:1.4}.layout-result-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.layout-val{flex-direction:column;display:flex}.layout-val .label{color:var(--text-muted);font-size:.8rem}.layout-val .value{color:var(--accent-blue);font-size:1.4rem;font-weight:700}.hidden{display:none!important}.table-responsive{width:100%;overflow-x:auto}.table{border-collapse:collapse;width:100%;margin-top:10px}.table th,.table td{text-align:left;border-bottom:1px solid var(--border-color);padding:12px 15px;font-size:.88rem}.table th{background-color:var(--bg-tertiary);color:var(--text-secondary);font-weight:500}.table tbody tr:hover{background-color:#ffffff05}.badge{border-radius:20px;padding:4px 8px;font-size:.75rem;font-weight:600}.badge-draft{background-color:var(--bg-tertiary);color:var(--text-secondary)}.badge-pending-planning{color:var(--accent-yellow);background-color:#f59e0b26}.badge-scheduled{color:var(--accent-blue);background-color:#3b82f626}.badge-converting{color:#8b5cf6;background-color:#8b5cf626}.badge-qc-fail{color:var(--accent-red);background-color:#ef444426}.badge-qc-pass{color:var(--accent-green);background-color:#10b98126}.badge-dispatched{background-color:var(--text-muted);color:#fff}.optimization-visualizer{flex-direction:column;display:flex}.roll-diagram{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;width:100%;height:48px;display:flex;overflow:hidden}.roll-used{color:#fff;background:linear-gradient(90deg,#3b82f6,#60a5fa);justify-content:center;align-items:center;font-size:.8rem;font-weight:600;display:flex}.roll-trim{background-color:var(--accent-red);color:#fff;justify-content:center;align-items:center;font-size:.8rem;font-weight:600;display:flex}.metric-line{border-bottom:1px solid var(--border-color);justify-content:space-between;padding:8px 0;font-size:.9rem;display:flex}.metric-line strong{font-family:Outfit,sans-serif}.corrugator-svg-wrapper{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;width:100%;padding:15px}.corrugator-svg{width:100%;height:100%}.svg-reel{fill:#4b5563;stroke:#374151;stroke-width:2px;transform-origin:50%}.svg-roller{fill:#9ca3af;stroke:#6b7280;stroke-width:2px;transform-origin:50%}.svg-paper-path{fill:none;stroke-width:3px}.svg-hotplate{fill:#1f2937;stroke:#374151;stroke-width:2px}@keyframes spin-clockwise{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.svg-spin-active{animation:3s linear infinite spin-clockwise}.telemetry-stats{grid-template-columns:repeat(3,1fr);gap:15px;display:grid}.stat-bubble{background-color:var(--bg-tertiary);border:1px solid var(--border-color);text-align:center;border-radius:8px;flex-direction:column;padding:10px;display:flex}.stat-bubble span{color:var(--text-muted);font-size:.75rem}.stat-bubble strong{color:var(--text-primary);font-size:1.1rem}.slider{appearance:none;background:var(--bg-tertiary);border-radius:5px;outline:none;width:100%;height:8px}.slider::-webkit-slider-thumb{appearance:none;background:var(--accent-blue);cursor:pointer;border-radius:50%;width:20px;height:20px}.slider-labels{color:var(--text-muted);justify-content:space-between;margin-top:5px;font-size:.75rem;display:flex}.job-status-panel{background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;padding:15px}.meta-row{justify-content:space-between;margin-bottom:8px;font-size:.9rem;display:flex}.meta-row:last-child{margin-bottom:0}.conversion-checklist h4{margin-bottom:10px;font-size:.9rem}.check-container{cursor:pointer;-webkit-user-select:none;user-select:none;margin-bottom:8px;padding-left:28px;font-size:.85rem;display:block;position:relative}.check-container input{opacity:0;cursor:pointer;width:0;height:0;position:absolute}.checkmark{background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;width:18px;height:18px;position:absolute;top:0;left:0}.check-container:hover input~.checkmark{background-color:var(--border-color)}.check-container input:checked~.checkmark{background-color:var(--accent-blue)}.checkmark:after{content:"";display:none;position:absolute}.check-container input:checked~.checkmark:after{display:block}.check-container .checkmark:after{border:2px solid #fff;border-width:0 2px 2px 0;width:4px;height:8px;top:2px;left:6px;transform:rotate(45deg)}.qc-spec-list{background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;padding:15px}.qc-spec-row{border-bottom:1px solid var(--border-color);justify-content:space-between;padding:10px 0;display:flex}.qc-spec-row:last-child{border-bottom:none}.qc-badge{letter-spacing:.5px;box-shadow:var(--card-shadow);border-radius:30px;padding:15px 30px;font-family:Outfit,sans-serif;font-size:1.2rem;font-weight:700}.badge-neutral{background-color:var(--bg-tertiary);color:var(--text-muted)}.badge-pass{color:var(--accent-green);border:2px solid var(--accent-green);background-color:#10b98126}.badge-fail{color:var(--accent-red);border:2px solid var(--accent-red);background-color:#ef444426}.machine-status-list{flex-direction:column;gap:15px;display:flex}.machine-status-item{border-bottom:1px solid var(--border-color);grid-template-columns:1fr 1fr;gap:20px;padding-bottom:15px;display:grid}.machine-status-item:last-child{border-bottom:none;padding-bottom:0}.machine-info h4{font-size:.95rem}.status-running{color:var(--accent-green);margin-top:2px;font-size:.8rem;font-weight:600}.status-neutral{color:var(--text-muted);margin-top:2px;font-size:.8rem;font-weight:600}.color-red{color:var(--accent-red)!important}.progress-bar-wrapper{flex-direction:column;justify-content:center;gap:6px;display:flex}.progress-label{color:var(--text-muted);font-size:.75rem}.progress-bar{background-color:var(--bg-tertiary);border-radius:4px;width:100%;height:8px;overflow:hidden}.progress-fill{background-color:var(--accent-blue);width:0%;height:100%;transition:width .4s}.stock-list{list-style:none}.stock-list li{border-bottom:1px solid var(--border-color);justify-content:space-between;padding:10px 0;font-size:.9rem;display:flex}.stock-list li:last-child{border-bottom:none}.invoice-container{border-radius:8px;padding:30px;box-shadow:0 4px 6px #0000000d;color:#1e293b!important;background-color:#fff!important;border:1px solid #e2e8f0!important}.invoice-header{justify-content:space-between;display:flex}.comp-details h3{color:#0f172a;font-size:1.2rem}.comp-details p,.inv-title p{color:#475569;margin-top:2px;font-size:.85rem}.inv-title h2{color:var(--accent-blue);font-size:1.4rem}.inv-divider{border:none;border-top:1px solid #e2e8f0;margin:20px 0}.invoice-bill-row{grid-template-columns:1fr 1fr;gap:20px;font-size:.88rem;display:grid}.invoice-items-table{border-collapse:collapse;width:100%}.invoice-items-table th,.invoice-items-table td{text-align:left;border-bottom:1px solid #e2e8f0;padding:10px;font-size:.85rem}.invoice-items-table th{color:#475569;background-color:#f8fafc}.invoice-summary-block{flex-direction:column;align-items:flex-end;gap:8px;font-size:.88rem;display:flex}.summary-line{justify-content:space-between;width:250px;display:flex}.grand-total{color:#0f172a;font-size:1.1rem;font-weight:700}.invoice-footer p{color:#64748b;font-size:.75rem;line-height:1.4}.signature-box{flex-direction:column;align-items:flex-end;font-size:.85rem;font-weight:500;display:flex}@media print{body{color:#000!important;background-color:#fff!important}.sidebar,.main-header,.no-print,.alert-banner,.header-actions{display:none!important}.app-layout{display:block!important}.content-wrapper{padding:0!important}.tab-pane{display:none!important}#tab-dispatch-billing,.grid-2col{display:block!important}.invoice-container{box-shadow:none!important;border:none!important;width:100%!important;max-width:100%!important;padding:0!important}}.login-wrapper{background:radial-gradient(circle at top right, var(--bg-tertiary), var(--bg-primary));justify-content:center;align-items:center;width:100vw;height:100vh;display:flex}.login-card{background-color:var(--glass-bg);width:420px;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--border-color);box-shadow:var(--card-shadow);border-radius:16px;flex-direction:column;gap:24px;padding:40px 30px;display:flex}.login-header{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.login-logo{background:linear-gradient(135deg, var(--accent-blue), var(--accent-green));border-radius:12px;width:48px;height:48px}.login-header h2{letter-spacing:.5px;font-size:1.6rem}.login-header p{color:var(--text-secondary);font-size:.85rem}.login-form{flex-direction:column;gap:15px;display:flex}.login-error{border:1px solid var(--accent-red);color:var(--accent-red);text-align:center;background-color:#ef44441a;border-radius:8px;padding:10px;font-size:.8rem}.login-demo-helper{border-top:1px dashed var(--border-color);margin-top:10px;padding-top:15px}.login-demo-helper h4{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:.8rem}.demo-account-select{background-color:var(--bg-tertiary);border:1px solid var(--border-color);width:100%;color:var(--text-primary);cursor:pointer;border-radius:8px;outline:none;padding:8px 12px;font-size:.8rem}.logout-btn-wrapper{border-top:1px solid var(--border-color);margin-top:auto;padding:15px 20px}.logout-btn{border:1px solid var(--border-color);width:100%;color:var(--text-secondary);cursor:pointer;background-color:#0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px;font-size:.85rem;transition:all .2s;display:flex}.logout-btn:hover{border-color:var(--accent-red);color:var(--accent-red);background-color:#ef44441a}
