@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInLeft{0%{transform:translate(-20px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInRight{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInDown{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}:root{--bg-primary: #FFFFFF;--bg-secondary: #F9FAFB;--bg-tertiary: #F3F4F6;--bg-card: #FBFBFC;--bg-sidebar: #FFFFFF;--bg-input: #FFFFFF;--bg-gray: #F9FAFB;--bg-light: #F3F4F6;--border-primary: #E5E7EB;--border-secondary: #D1D5DB;--border-light: #F3F4F6;--text-primary: #111827;--text-secondary: #4B5563;--text-muted: #6B7280;--text-inverse: #FFFFFF;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--brand-primary: #56006E;--brand-primary-hover: #450058;--brand-primary-light: #F3E8F7;--brand-secondary: #3D5A80;--brand-secondary-hover: #2C4460;--brand-secondary-light: #E8EDF3;--brand-accent: #1E4D8C;--brand-accent-light: #E5EDF7;--brand-magenta: #9F2094;--brand-green: #239888;--brand-yellow: #EDA807;--brand-orange: #EC6B15;--status-running: #239888;--status-running-bg: #D1FAE5;--status-running-text: #065F46;--status-idle: #EDA807;--status-idle-bg: #FEF3C7;--status-idle-text: #92400E;--status-down: #DC2626;--status-down-bg: #FEE2E2;--status-down-text: #991B1B;--status-rework: #EC6B15;--status-rework-bg: #FFEDD5;--status-rework-text: #9A3412;--status-pm: #3D5A80;--status-pm-bg: #DBEAFE;--status-pm-text: #1E40AF;--status-stringing: #9F2094;--status-stringing-bg: #F5D0FE;--status-stringing-text: #86198F;--status-gray-bg: #F3F4F6;--status-gray-text: #374151;--status-blue-bg: #DBEAFE;--status-blue-text: #1E40AF;--status-yellow-bg: #FEF3C7;--status-yellow-text: #92400E;--status-orange-bg: #FFEDD5;--status-orange-text: #9A3412;--status-red-bg: #FEE2E2;--status-red-text: #991B1B;--status-green-bg: #D1FAE5;--status-green-text: #065F46;--status-purple-bg: #EDE9FE;--status-purple-text: #5B21B6;--status-indigo-bg: #F3E8F7;--status-indigo-text: #56006E;--font-family: MozaicGEO, Mozaic, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif;--font-family-display: MozaicGEO, Mozaic, -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: SF Mono, Consolas, Liberation Mono, monospace;--font-tabular: MozaicGEO, Mozaic, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif;--radius-card: 14px;--card-elev: inset 0 1px 0 rgba(255, 255, 255, .85), 0 1px 2px rgba(15, 23, 42, .04), 0 6px 16px -10px rgba(15, 23, 42, .1), 0 24px 48px -24px rgba(15, 23, 42, .12);--card-elev-hover: inset 0 1px 0 rgba(255, 255, 255, .9), 0 1px 2px rgba(15, 23, 42, .04), 0 10px 24px -12px rgba(15, 23, 42, .14), 0 28px 56px -24px rgba(15, 23, 42, .16);--card-elev-border: rgba(15, 23, 42, .05);--kpi-icon-size: 24px;--icon-safe-cap: 3rem;--chip-font-size: .6875rem;--chip-line-height: 1.4;--chip-font-weight: 600;--chip-height: 22px;--chip-height-sm: 18px;--chip-padding-x: 10px;--chip-padding-x-sm: 8px;--chip-gap: 4px;--chip-radius: 9999px;--chip-radius-tag: 6px;--chip-tag-max-width: 200px;--chip-status-min-width: 4.5rem;--chip-icon-size: 12px;--focus-ring: 0 0 0 3px color-mix(in srgb, var(--unit-primary, var(--brand-primary)) 22%, transparent);--select-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");--kpi-pad-y: 18px;--kpi-pad-x: 20px;--kpi-gap: 14px;--kpi-min-height: 84px;--kpi-value-size: 22px;--kpi-card-shadow: var(--card-elev);--kpi-card-shadow-hover: var(--card-elev-hover);--kpi-card-border: var(--card-elev-border);--kpi-card-border-hover: var(--border-secondary);--table-row-h: 48px;--table-cell-pad-x: 16px;--table-header-pad-y: 10px;--table-row-hover: var(--bg-tertiary);--color-scheme: light}[data-business-unit=straws]{--unit-primary: #56006E;--unit-primary-hover: #450058;--unit-primary-light: #F3E8F7;--unit-secondary: #9F2094;--unit-gradient: linear-gradient(90deg, #56006E 0%, #9F2094 100%)}[data-business-unit=cutlery]{--unit-primary: #0EA5E9;--unit-primary-hover: #0284C7;--unit-primary-light: #E0F2FE;--unit-secondary: #38BDF8;--unit-gradient: linear-gradient(90deg, #0EA5E9 0%, #38BDF8 100%);--brand-primary: #0EA5E9;--brand-primary-hover: #0284C7;--brand-primary-light: #E0F2FE;--brand-magenta: #38BDF8}[data-business-unit=bottling]{--unit-primary: #1E4D8C;--unit-primary-hover: #163D70;--unit-primary-light: #E5EDF7;--unit-secondary: #3D5A80;--unit-gradient: linear-gradient(90deg, #1E4D8C 0%, #3D5A80 100%);--brand-primary: #1E4D8C;--brand-primary-hover: #163D70;--brand-primary-light: #E5EDF7;--brand-magenta: #3D5A80}[data-business-unit]{--focus-ring: 0 0 0 3px color-mix(in srgb, var(--unit-primary, var(--brand-primary)) 22%, transparent);--kpi-active-border: var(--unit-primary, var(--brand-primary));--kpi-active-text: var(--unit-primary, var(--brand-primary));--kpi-active-bg: linear-gradient(180deg, color-mix(in srgb, var(--unit-primary, var(--brand-primary)) 6%, transparent) 0%, color-mix(in srgb, var(--unit-primary, var(--brand-primary)) 14%, transparent) 100%);--kpi-active-shadow: 0 1px 2px rgba(17, 24, 39, .05), 0 6px 16px -2px color-mix(in srgb, var(--unit-primary, var(--brand-primary)) 18%, transparent), inset 0 1px 0 rgba(255, 255, 255, .65);--table-row-selected: color-mix(in srgb, var(--unit-primary, var(--brand-primary)) 8%, var(--bg-card))}[data-theme=dark] [data-business-unit]{--kpi-active-border: color-mix(in srgb, var(--unit-primary, var(--brand-primary)) 70%, #ffffff);--kpi-active-text: color-mix(in srgb, var(--unit-primary, var(--brand-primary)) 55%, #ffffff);--kpi-active-bg: linear-gradient(180deg, color-mix(in srgb, var(--unit-primary, var(--brand-primary)) 26%, transparent) 0%, color-mix(in srgb, var(--unit-primary, var(--brand-primary)) 16%, transparent) 100%);--kpi-active-shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 8px 22px -8px color-mix(in srgb, var(--unit-primary, var(--brand-primary)) 30%, transparent);--table-row-selected: color-mix(in srgb, var(--unit-primary, var(--brand-primary)) 18%, var(--bg-card));--unit-primary-light: color-mix(in srgb, var(--unit-primary, var(--brand-primary)) 22%, var(--bg-card))}[data-theme=dark]{--bg-primary: #0F1117;--bg-secondary: #13151C;--bg-tertiary: #1C1F2A;--bg-card: #1A1D28;--card-elev: 0 1px 2px rgba(0, 0, 0, .3), 0 8px 22px -12px rgba(0, 0, 0, .55), 0 26px 50px -24px rgba(0, 0, 0, .45);--card-elev-hover: 0 1px 2px rgba(0, 0, 0, .3), 0 12px 28px -12px rgba(0, 0, 0, .62), 0 30px 58px -24px rgba(0, 0, 0, .5);--card-elev-border: rgba(255, 255, 255, .07);--bg-sidebar: #0F1117;--bg-input: #1C1F2A;--bg-gray: #1C1F2A;--bg-light: #252836;--border-primary: #2A2E3D;--border-secondary: #3A3F52;--border-light: #2A2E3D;--text-primary: #FFFFFF;--text-secondary: #B8BCC8;--text-muted: #8B90A0;--text-inverse: #0F1117;--brand-primary-light: color-mix(in srgb, var(--text-primary) 10%, transparent);--brand-readable: color-mix(in srgb, var(--brand-primary) 50%, #ffffff);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .5);--shadow-md: 0 4px 12px rgba(0, 0, 0, .6);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .7);--color-scheme: dark;--status-running: #2DD4A8;--status-idle: #FBBF24;--status-down: #F87171;--status-rework: #FB923C;--status-pm: #60A5FA;--status-stringing: #E879F9;--status-gray-bg: #374151;--status-gray-text: #D1D5DB;--status-blue-bg: rgba(59, 130, 246, .2);--status-blue-text: #93C5FD;--status-yellow-bg: rgba(245, 158, 11, .2);--status-yellow-text: #FCD34D;--status-orange-bg: rgba(249, 115, 22, .2);--status-orange-text: #FDBA74;--status-red-bg: rgba(239, 68, 68, .2);--status-red-text: #FCA5A5;--status-green-bg: rgba(16, 185, 129, .2);--status-green-text: #6EE7B7;--status-purple-bg: rgba(139, 92, 246, .2);--status-purple-text: #C4B5FD;--status-indigo-bg: rgba(124, 58, 237, .2);--status-indigo-text: #C4B5FD;--status-running-bg: rgba(45, 212, 168, .2);--status-running-text: #6EE7B7;--status-idle-bg: rgba(245, 158, 11, .2);--status-idle-text: #FCD34D;--status-down-bg: rgba(239, 68, 68, .2);--status-down-text: #FCA5A5;--status-rework-bg: rgba(249, 115, 22, .2);--status-rework-text: #FDBA74;--status-pm-bg: rgba(59, 130, 246, .2);--status-pm-text: #93C5FD;--status-stringing-bg: rgba(232, 121, 249, .2);--status-stringing-text: #F0ABFC;--kpi-card-border-hover: rgba(255, 255, 255, .16);--table-row-hover: #252836}[data-theme=dark] body,[data-theme=dark] p,[data-theme=dark] span,[data-theme=dark] div,[data-theme=dark] td,[data-theme=dark] th,[data-theme=dark] li,[data-theme=dark] label,[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{color:var(--text-primary)}[data-theme=dark] table{color:#fff}[data-theme=dark] table th{color:#b8bcc8!important;background:#1c1f2a!important}[data-theme=dark] table td{color:#fff!important}[data-theme=dark] table tbody tr{color:#fff}[data-theme=dark] table tbody tr:hover{background:#252836!important}[data-theme=dark]{--select-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238B90A0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E")}[data-theme=dark] .card,[data-theme=dark] [class*=card]{background:#1a1d28;border-color:#2a2e3d}[data-theme=dark] .stat-value,[data-theme=dark] .value,[data-theme=dark] [class*=stat] .value{color:#fff!important}[data-theme=dark] .status-badge,[data-theme=dark] .priority-badge,[data-theme=dark] .shift-badge,[data-theme=dark] [class*=badge]{color:inherit}[data-theme=dark] .schedule-cell.overridden,[data-theme=dark] .schedule-cell.overridden td,[data-theme=dark] [style*="background: #FEF3C7"],[data-theme=dark] [style*="background: #FEE2E2"],[data-theme=dark] [style*="background: #D1FAE5"],[data-theme=dark] [style*="background: #DBEAFE"]{color:#374151!important}[data-theme=dark] .machine-id.type-PHA,[data-theme=dark] .machine-id.type-Plastic{color:inherit!important}[data-theme=dark] .legend,[data-theme=dark] .legend-item{color:var(--text-primary)!important}[data-theme=dark] a{color:var(--brand-readable)}[data-theme=dark] .tab.active{color:var(--brand-readable);border-bottom-color:var(--brand-readable)}[data-theme=dark] .text-primary,[data-theme=dark] .btn-text,[data-theme=dark] .upload-text{color:var(--brand-readable)}[data-theme=dark][data-business-unit=cutlery]{--brand-primary: #38BDF8;--brand-primary-hover: #0EA5E9;--brand-primary-light: rgba(56, 189, 248, .15);--brand-magenta: #7DD3FC}[data-theme=dark][data-business-unit=bottling]{--brand-primary: #60A5FA;--brand-primary-hover: #3B82F6;--brand-primary-light: rgba(96, 165, 250, .15);--brand-magenta: #93C5FD}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color-scheme:var(--color-scheme)}body{font-family:var(--font-family);font-size:16px;line-height:1.5;color:var(--text-primary);background:var(--bg-secondary);min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-display);font-weight:600;line-height:1.25;color:var(--text-primary)}h1{font-size:36px;font-weight:700}h2{font-size:30px}h3{font-size:24px}h4{font-size:20px}h5{font-size:18px}h6{font-size:16px;font-weight:500}a{color:var(--brand-primary);text-decoration:none}a:hover{text-decoration:underline}input,select,textarea,button{font-family:inherit;font-size:inherit}input[type=text],input[type=number],input[type=email],input[type=password],input[type=search],input[type=tel],input[type=url],input[type=date],input[type=time],input[type=datetime-local],input[type=month],input[type=week],select,textarea,.form-input,.form-select{width:100%;padding:10px 14px;border:1px solid var(--border-primary);border-radius:8px;background-color:var(--bg-input);color:var(--text-primary);font-family:MozaicGEO,Mozaic,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.4;transition:border-color .15s ease,box-shadow .15s ease}input[type=text]::placeholder,input[type=number]::placeholder,input[type=email]::placeholder,input[type=password]::placeholder,input[type=search]::placeholder,input[type=tel]::placeholder,input[type=url]::placeholder,input[type=date]::placeholder,input[type=time]::placeholder,input[type=datetime-local]::placeholder,input[type=month]::placeholder,input[type=week]::placeholder,select::placeholder,textarea::placeholder,.form-input::placeholder,.form-select::placeholder{color:var(--text-muted)}input[type=text]:focus,input[type=number]:focus,input[type=email]:focus,input[type=password]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=url]:focus,input[type=date]:focus,input[type=time]:focus,input[type=datetime-local]:focus,input[type=month]:focus,input[type=week]:focus,select:focus,textarea:focus,.form-input:focus,.form-select:focus{outline:none;border-color:var(--unit-primary, var(--brand-primary));box-shadow:var(--focus-ring)}input[type=text]:disabled,input[type=number]:disabled,input[type=email]:disabled,input[type=password]:disabled,input[type=search]:disabled,input[type=tel]:disabled,input[type=url]:disabled,input[type=date]:disabled,input[type=time]:disabled,input[type=datetime-local]:disabled,input[type=month]:disabled,input[type=week]:disabled,select:disabled,textarea:disabled,.form-input:disabled,.form-select:disabled{background-color:var(--bg-tertiary);color:var(--text-muted);cursor:not-allowed}select,.form-select{appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:2.25rem!important;background-image:var(--select-chevron)!important;background-repeat:no-repeat!important;background-position:right .7rem center!important;background-size:16px 16px!important}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 16px;border:1px solid transparent;border-radius:10px;font-family:MozaicGEO,Mozaic,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;font-weight:500;line-height:1;white-space:nowrap;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,opacity .2s ease,transform .2s ease}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 16px;border:1px solid transparent;border-radius:10px;font-family:MozaicGEO,Mozaic,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;font-weight:500;line-height:1;white-space:nowrap;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,opacity .2s ease,transform .2s ease}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--unit-primary, var(--brand-primary));color:#fff}.btn-primary:hover:not(:disabled){background:var(--unit-primary-hover, var(--brand-primary-hover))}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 16px;border:1px solid transparent;border-radius:10px;font-family:MozaicGEO,Mozaic,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;font-weight:500;line-height:1;white-space:nowrap;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,opacity .2s ease,transform .2s ease}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background-color:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-primary)}.btn-secondary:hover:not(:disabled){background-color:var(--bg-tertiary);border-color:color-mix(in srgb,var(--unit-primary, var(--brand-primary)) 40%,var(--border-primary))}.btn-success{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 16px;border:1px solid transparent;border-radius:10px;font-family:MozaicGEO,Mozaic,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;font-weight:500;line-height:1;white-space:nowrap;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,opacity .2s ease,transform .2s ease}.btn-success:disabled{opacity:.5;cursor:not-allowed}.btn-success{background:var(--status-running);color:#fff}.btn-success:hover:not(:disabled){background:color-mix(in srgb,var(--status-running) 88%,#000)}.btn-danger{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 16px;border:1px solid transparent;border-radius:10px;font-family:MozaicGEO,Mozaic,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;font-weight:500;line-height:1;white-space:nowrap;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,opacity .2s ease,transform .2s ease}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.btn-danger{background:var(--status-down);color:#fff}.btn-danger:hover:not(:disabled){background:color-mix(in srgb,var(--status-down) 88%,#000)}.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 16px;border:1px solid transparent;border-radius:10px;font-family:MozaicGEO,Mozaic,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;font-weight:500;line-height:1;white-space:nowrap;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,opacity .2s ease,transform .2s ease}.btn-ghost:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary)}.btn-sm{padding:4px 8px;font-size:12px}.btn-lg{padding:12px 24px;font-size:18px}[data-theme=dark] .btn.btn-danger{background:color-mix(in srgb,var(--status-down) 72%,#000)}[data-theme=dark] .btn.btn-danger:hover:not(:disabled){background:color-mix(in srgb,var(--status-down) 58%,#000)}.btn-text{background:transparent;color:var(--brand-primary);border:none;padding:10px 16px;cursor:pointer;transition:background-color .15s ease}.btn-text:hover{background:var(--brand-primary-light)}.card{background:var(--bg-card);border-radius:var(--radius-card);box-shadow:var(--card-elev);padding:24px;border:1px solid var(--card-elev-border);transition:box-shadow .3s ease}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border-primary)}.card-header h3,.card-header h4{margin:0;display:flex;align-items:center;gap:8px;color:var(--text-primary);font-weight:600}.card-body{color:var(--text-secondary)}.card-footer{margin-top:16px;padding-top:12px;border-top:1px solid var(--border-primary)}.badge{display:inline-flex;align-items:center;padding:2px 8px;background:#f3f4f6;color:#374151;font-size:12px;font-weight:600;border-radius:9999px;white-space:nowrap}.badge-running{display:inline-flex;align-items:center;padding:2px 8px;background:#d1fae5;color:#065f46;font-size:12px;font-weight:600;border-radius:9999px;white-space:nowrap}.badge-idle{display:inline-flex;align-items:center;padding:2px 8px;background:#fef3c7;color:#92400e;font-size:12px;font-weight:600;border-radius:9999px;white-space:nowrap}.badge-down{display:inline-flex;align-items:center;padding:2px 8px;background:#fee2e2;color:#991b1b;font-size:12px;font-weight:600;border-radius:9999px;white-space:nowrap}.badge-rework{display:inline-flex;align-items:center;padding:2px 8px;background:#ffedd5;color:#9a3412;font-size:12px;font-weight:600;border-radius:9999px;white-space:nowrap}.badge-pm{display:inline-flex;align-items:center;padding:2px 8px;background:#dbeafe;color:#1e40af;font-size:12px;font-weight:600;border-radius:9999px;white-space:nowrap}.badge-stringing{display:inline-flex;align-items:center;padding:2px 8px;background:#f5d0fe;color:#86198f;font-size:12px;font-weight:600;border-radius:9999px;white-space:nowrap}.badge-gray{display:inline-flex;align-items:center;padding:2px 8px;background:#f3f4f6;color:#374151;font-size:12px;font-weight:600;border-radius:9999px;white-space:nowrap}.badge-blue{display:inline-flex;align-items:center;padding:2px 8px;background:#dbeafe;color:#1e40af;font-size:12px;font-weight:600;border-radius:9999px;white-space:nowrap}.badge-yellow{display:inline-flex;align-items:center;padding:2px 8px;background:#fef3c7;color:#92400e;font-size:12px;font-weight:600;border-radius:9999px;white-space:nowrap}.badge-orange{display:inline-flex;align-items:center;padding:2px 8px;background:#ffedd5;color:#9a3412;font-size:12px;font-weight:600;border-radius:9999px;white-space:nowrap}.badge-red{display:inline-flex;align-items:center;padding:2px 8px;background:#fee2e2;color:#991b1b;font-size:12px;font-weight:600;border-radius:9999px;white-space:nowrap}.badge-green{display:inline-flex;align-items:center;padding:2px 8px;background:#d1fae5;color:#065f46;font-size:12px;font-weight:600;border-radius:9999px;white-space:nowrap}.badge-purple{display:inline-flex;align-items:center;padding:2px 8px;background:#ede9fe;color:#5b21b6;font-size:12px;font-weight:600;border-radius:9999px;white-space:nowrap}.badge-indigo{display:inline-flex;align-items:center;padding:2px 8px;background:#f3e8f7;color:#56006e;font-size:12px;font-weight:600;border-radius:9999px;white-space:nowrap}.badge-primary{display:inline-flex;align-items:center;padding:2px 8px;background:#0f54ae1a;color:#0f54ae;font-size:12px;font-weight:600;border-radius:9999px;white-space:nowrap}.badge-secondary{display:inline-flex;align-items:center;padding:2px 8px;background:#56006e1a;color:#56006e;font-size:12px;font-weight:600;border-radius:9999px;white-space:nowrap}.badge-success{display:inline-flex;align-items:center;padding:2px 8px;background:#2398881a;color:#239888;font-size:12px;font-weight:600;border-radius:9999px;white-space:nowrap}.badge-warning{display:inline-flex;align-items:center;padding:2px 8px;background:#eda8071a;color:#a37305;font-size:12px;font-weight:600;border-radius:9999px;white-space:nowrap}.badge-danger{display:inline-flex;align-items:center;padding:2px 8px;background:#dc26261a;color:#dc2626;font-size:12px;font-weight:600;border-radius:9999px;white-space:nowrap}.badge-info{display:inline-flex;align-items:center;padding:2px 8px;background:#0f54ae1a;color:#0f54ae;font-size:12px;font-weight:600;border-radius:9999px;white-space:nowrap}.cati-chip{display:inline-flex;align-items:center;gap:var(--chip-gap);min-height:var(--chip-height);padding:0 var(--chip-padding-x);font-size:var(--chip-font-size);font-weight:var(--chip-font-weight);line-height:var(--chip-line-height);border-radius:var(--chip-radius);white-space:nowrap;max-width:100%;box-sizing:border-box;vertical-align:middle;background:var(--status-gray-bg);color:var(--status-gray-text)}.cati-chip__label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cati-chip__icon,.cati-chip>svg{width:var(--chip-icon-size);height:var(--chip-icon-size);flex-shrink:0}.cati-chip__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.cati-chip.cati-chip--gray{background:var(--status-gray-bg);color:var(--status-gray-text)}.cati-chip.cati-chip--blue{background:var(--status-blue-bg);color:var(--status-blue-text)}.cati-chip.cati-chip--yellow{background:var(--status-yellow-bg);color:var(--status-yellow-text)}.cati-chip.cati-chip--orange{background:var(--status-orange-bg);color:var(--status-orange-text)}.cati-chip.cati-chip--red{background:var(--status-red-bg);color:var(--status-red-text)}.cati-chip.cati-chip--green{background:var(--status-green-bg);color:var(--status-green-text)}.cati-chip.cati-chip--purple{background:var(--status-purple-bg);color:var(--status-purple-text)}.cati-chip.cati-chip--indigo{background:var(--status-indigo-bg);color:var(--status-indigo-text)}.cati-chip.cati-chip--running{background:var(--status-running-bg);color:var(--status-running-text)}.cati-chip.cati-chip--idle{background:var(--status-idle-bg);color:var(--status-idle-text)}.cati-chip.cati-chip--down{background:var(--status-down-bg);color:var(--status-down-text)}.cati-chip.cati-chip--pm{background:var(--status-pm-bg);color:var(--status-pm-text)}.cati-chip.cati-chip--rework{background:var(--status-rework-bg);color:var(--status-rework-text)}.cati-chip--status,.cati-chip--priority{min-width:var(--chip-status-min-width);justify-content:center;text-align:center}.cati-chip--tag{border-radius:var(--chip-radius-tag);padding:0 var(--chip-padding-x-sm);max-width:var(--chip-tag-max-width)}.cati-chip--tag .cati-chip__label,.cati-chip--ellipsis .cati-chip__label{overflow:hidden;text-overflow:ellipsis}.cati-chip--sm{min-height:var(--chip-height-sm);font-size:.625rem;padding:0 var(--chip-padding-x-sm)}.cati-chip--strong{font-weight:700}.cati-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:32px 16px;text-align:center;color:var(--text-secondary)}.cati-empty svg,.cati-empty .cati-empty__icon{color:var(--text-muted);opacity:.7}.cati-empty .cati-empty__title{font-size:16px;font-weight:600;color:var(--text-primary);margin:0}.cati-empty p{font-size:14px;font-weight:500;color:var(--text-secondary);margin:0}.cati-empty span{font-size:14px;color:var(--text-muted)}.cati-chart-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;margin-top:clamp(8px,1.2vh,12px);padding-top:clamp(8px,1.2vh,12px);border-top:1px solid var(--border-primary);flex-shrink:0}.cati-chart-legend__item{display:flex;align-items:center;gap:6px;min-width:0}.cati-chart-legend__swatch{width:9px;height:9px;border-radius:3px;flex-shrink:0;box-shadow:0 0 0 1px #0000000f}.cati-chart-legend__label{font-size:.6875rem;font-weight:500;color:var(--text-secondary);white-space:nowrap}.cati-chart-legend__count{font-size:.6875rem;font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums}.kpi-card.is-clickable{cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}a.kpi-card.is-clickable:hover,button.kpi-card.is-clickable:hover,div.kpi-card.is-clickable:hover{transform:translateY(-2px);box-shadow:var(--kpi-card-shadow-hover);border-color:var(--kpi-card-border-hover)}a.kpi-card.is-clickable:active,button.kpi-card.is-clickable:active,div.kpi-card.is-clickable:active{transform:translateY(0)}a.kpi-card.is-clickable:focus-visible,button.kpi-card.is-clickable:focus-visible,div.kpi-card.is-clickable:focus-visible{outline:none;border-color:var(--kpi-active-border);box-shadow:var(--kpi-card-shadow-hover),var(--focus-ring)}a.kpi-card.is-active,button.kpi-card.is-active,div.kpi-card.is-active{background-image:var(--kpi-active-bg);border-color:var(--kpi-active-border);box-shadow:var(--kpi-active-shadow)}a.kpi-card.is-active:hover,button.kpi-card.is-active:hover,div.kpi-card.is-active:hover{background-image:var(--kpi-active-bg);border-color:var(--kpi-active-border);box-shadow:var(--kpi-active-shadow);transform:translateY(-1px)}a.kpi-card.is-active:focus-visible,button.kpi-card.is-active:focus-visible,div.kpi-card.is-active:focus-visible{outline:none;box-shadow:var(--kpi-active-shadow),var(--focus-ring)}.kpi-card.is-active .kpi-eyebrow,.kpi-card.is-active .stat-label{color:var(--kpi-active-text);font-weight:700}.kpi-card.is-active .kpi-glyph,.kpi-card.is-active .stat-icon{opacity:1}@media(prefers-reduced-motion:reduce){.kpi-card.is-clickable{transition:none}a.kpi-card.is-clickable:hover,button.kpi-card.is-clickable:hover,div.kpi-card.is-clickable:hover,a.kpi-card.is-clickable:active,button.kpi-card.is-clickable:active,div.kpi-card.is-clickable:active,a.kpi-card.is-active:hover,button.kpi-card.is-active:hover,div.kpi-card.is-active:hover{transform:none}}.table{width:100%;border-collapse:collapse;font-size:14px}.table th,.table td{padding:8px 12px;text-align:left;border-bottom:1px solid var(--border-primary)}.table td{color:var(--text-primary)}.table th{background:var(--bg-tertiary);font-weight:600;color:var(--text-secondary)}.table tbody tr:hover{background:var(--bg-tertiary)}.table-striped tbody tr:nth-child(2n){background:var(--bg-tertiary)}.table-hover tbody tr:hover{background:var(--bg-tertiary)}.data-table-v2{width:100%;border-collapse:collapse;font-family:var(--font-family)}.data-table-v2 thead th{position:sticky;top:0;z-index:2;padding:var(--table-header-pad-y) var(--table-cell-pad-x);font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);background:var(--bg-tertiary);border-bottom:1px solid var(--border-primary);text-align:left;white-space:nowrap}.data-table-v2 tbody tr{height:var(--table-row-h)}.data-table-v2 tbody td{padding:8px var(--table-cell-pad-x);font-size:14px;color:var(--text-primary);border-bottom:1px solid var(--border-primary);vertical-align:middle}.data-table-v2 tbody tr{transition:background-color .1s ease}.data-table-v2 tbody tr:hover{background:var(--table-row-hover)}.data-table-v2 tbody tr:last-child td{border-bottom:none}.data-table-v2 tbody tr.is-selected{background:var(--table-row-selected)}.data-table-v2 tbody tr.is-clickable{cursor:pointer}.data-table-v2 .td-id,.data-table-v2 .td-num,.data-table-v2 .tabular{font-variant-numeric:tabular-nums}.data-table-v2 .td-id{font-size:.6875rem;color:var(--text-muted);letter-spacing:.02em}.data-table-v2 .td-num{text-align:right}.data-table-v2 .th-sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.data-table-v2 .th-sortable:hover{color:var(--text-primary)}.data-table-v2 tfoot td,.data-table-v2 tbody tr.total-row td{padding:12px var(--table-cell-pad-x);font-weight:600;color:var(--text-primary);background:var(--bg-tertiary);border-top:2px solid var(--border-primary);border-bottom:none}.tabs{display:flex;border-bottom:1px solid var(--border-primary)}.tabs .tab{padding:12px 16px;color:var(--text-secondary);border-bottom:2px solid transparent;cursor:pointer;transition:color .15s ease,border-color .15s ease}.tabs .tab:hover{color:var(--text-primary)}.tabs .tab.active{color:var(--brand-primary);border-bottom-color:var(--brand-primary)}.cati-segmented{display:inline-flex;align-items:center;gap:4px;padding:4px;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:10px}.cati-segmented__btn{appearance:none;border:none;background:transparent;padding:8px 16px;border-radius:7px;font-family:var(--font-family);font-size:14px;font-weight:500;line-height:1;color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:color .15s ease,box-shadow .15s ease}.cati-segmented__btn:hover:not(.is-active){color:var(--text-primary)}.cati-segmented__btn.is-active{background:var(--unit-primary, var(--brand-primary));color:#fff;font-weight:600;box-shadow:var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, .08))}.cati-segmented__btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}[data-business-unit=cutlery] .cati-segmented__btn.is-active{background:color-mix(in srgb,var(--unit-primary) 60%,#000)}.form-label{display:block;font-size:14px;font-weight:500;color:var(--text-primary);margin-bottom:6px}.form-hint{font-size:14px;color:var(--text-secondary);margin-top:6px}.form-error{font-size:14px;color:#dc2626;margin-top:6px}.form-input{width:100%;padding:10px 14px;border:1px solid var(--border-primary);border-radius:8px;background-color:var(--bg-input);color:var(--text-primary);font-family:MozaicGEO,Mozaic,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.4;transition:border-color .15s ease,box-shadow .15s ease}.form-input::placeholder{color:var(--text-muted)}.form-input:focus{outline:none;border-color:var(--unit-primary, var(--brand-primary));box-shadow:var(--focus-ring)}.form-input:disabled{background-color:var(--bg-tertiary);color:var(--text-muted);cursor:not-allowed}.form-input.error{border-color:#dc2626}.form-input.error:focus{box-shadow:0 0 0 3px #dc26261a}.checkbox{width:20px;height:20px;border:1px solid var(--border-secondary);border-radius:4px;cursor:pointer}.checkbox:checked{background:var(--brand-primary);border-color:var(--brand-primary)}.toggle{width:44px;height:24px;border-radius:12px;background:#e5e7eb;position:relative;cursor:pointer;transition:background-color .15s ease}.toggle.active{background:var(--brand-primary)}.toggle .toggle-knob{width:20px;height:20px;border-radius:50%;background:#fff;position:absolute;top:2px;left:2px;transition:transform .15s ease}.toggle.active .toggle-knob{transform:translate(20px)}.dropdown{border:1px solid var(--border-primary);border-radius:8px;background:var(--bg-card)}.dropdown .dropdown-trigger{padding:10px 14px;display:flex;justify-content:space-between;align-items:center;cursor:pointer}.dropdown .dropdown-menu{border:1px solid var(--border-primary);border-radius:12px;box-shadow:0 12px 40px #00000024,0 2px 8px #0000000f;margin-top:4px;padding:6px;background:var(--bg-card);z-index:100;overflow:hidden;animation:fadeIn .15s ease ease-out}.dropdown .dropdown-menu .dropdown-item{padding:8px 10px;border-radius:6px;cursor:pointer;color:var(--text-primary);transition:background-color .15s ease,color .15s ease}.dropdown .dropdown-menu .dropdown-item:hover{background:var(--bg-tertiary)}.dropdown .dropdown-menu .dropdown-item.selected{background:color-mix(in srgb,var(--unit-primary, var(--brand-primary)) 12%,transparent);color:var(--brand-readable, var(--brand-primary));font-weight:500}.pagination{display:flex;align-items:center;gap:4px}.pagination .page-btn{width:40px;height:40px;border-radius:8px;border:1px solid var(--border-primary);background:var(--bg-card);cursor:pointer;transition:all .15s ease}.pagination .page-btn.active{background:var(--brand-primary-light);border-color:var(--brand-primary);color:var(--brand-primary)}.pagination .page-btn:hover:not(.active){background:var(--bg-secondary)}.pagination .page-nav{padding:10px 16px;border-radius:8px;border:1px solid var(--border-primary);background:var(--bg-card);cursor:pointer}.pagination .page-nav:hover{background:var(--bg-secondary)}.notification{padding:16px;border-radius:8px;display:flex;gap:12px}.notification-info{background:var(--bg-card);border:1px solid var(--border-primary)}.notification-error{background:#fef2f2;border:1px solid #FECACA}.notification-warning{background:#fffbeb;border:1px solid #FDE68A}.notification-success{background:#f0fdf4;border:1px solid #BBF7D0}.upload-zone{display:flex;flex-direction:column;align-items:center;gap:8px;border:2px dashed var(--border-secondary);border-radius:12px;padding:32px 24px;text-align:center;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.upload-zone:hover,.upload-zone.drag-over{border-color:var(--unit-primary, var(--brand-primary));background:var(--brand-primary-light)}.upload-zone .upload-zone__icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:9999px;background:var(--bg-tertiary);color:var(--text-secondary);margin-bottom:4px}.upload-zone .upload-zone__icon svg{width:22px;height:22px}.upload-zone .upload-text{color:var(--text-primary);font-weight:500}.upload-zone .upload-zone__link{color:var(--brand-readable, var(--brand-primary));font-weight:600}.upload-zone .upload-hint{color:var(--text-muted);font-size:14px}.grid{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-xs{gap:4px}.gap-sm{gap:8px}.gap-md{gap:12px}.gap-lg{gap:16px}.gap-xl{gap:24px}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}.m-0{margin:0}.mt-xs{margin-top:4px}.mt-sm{margin-top:8px}.mt-md{margin-top:12px}.mt-lg{margin-top:16px}.mt-xl{margin-top:24px}.mb-xs{margin-bottom:4px}.mb-sm{margin-bottom:8px}.mb-md{margin-bottom:12px}.mb-lg{margin-bottom:16px}.mb-xl{margin-bottom:24px}.ml-auto{margin-left:auto}.mr-auto{margin-right:auto}.p-0{padding:0}.p-sm{padding:8px}.p-md{padding:12px}.p-lg{padding:16px}.p-xl{padding:24px}.text-xs{font-size:12px}.text-sm{font-size:14px}.text-base{font-size:16px}.text-lg{font-size:18px}.text-xl{font-size:20px}.text-2xl{font-size:24px}.text-center{text-align:center}.text-right{text-align:right}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.text-primary{color:var(--brand-primary)}.text-success{color:#239888}.text-warning{color:#eda807}.text-danger{color:#dc2626}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-mono{font-family:SF Mono,Consolas,Liberation Mono,monospace}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%}.status-dot-running,.status-dot-success{background:var(--status-running)}.status-dot-idle,.status-dot-warning{background:var(--status-idle)}.status-dot-down,.status-dot-danger{background:var(--status-down)}.status-dot-rework{background:var(--status-rework)}.status-dot-pm{background:var(--status-pm)}.status-dot-stringing{background:var(--status-stringing)}.icon-mask{display:inline-block;width:var(--icon-size, 20px);height:var(--icon-size, 20px);flex-shrink:0;background-color:currentColor;-webkit-mask:var(--icon) center/contain no-repeat;mask:var(--icon) center/contain no-repeat}svg:not([width]):not([height]):not(.footer-logo):not(.icon-uncontained){max-width:var(--icon-safe-cap, 3rem);max-height:var(--icon-safe-cap, 3rem);flex-shrink:0}.module-header-dashboard{background:linear-gradient(90deg,#56006e,#7c3aed);padding:12px 16px;border-radius:8px 8px 0 0;color:#fff;font-weight:600;font-family:MozaicGEO,Mozaic,-apple-system,BlinkMacSystemFont,sans-serif}.module-header-equipment{background:linear-gradient(90deg,#239888,#34d399);padding:12px 16px;border-radius:8px 8px 0 0;color:#fff;font-weight:600;font-family:MozaicGEO,Mozaic,-apple-system,BlinkMacSystemFont,sans-serif}.module-header-production{background:linear-gradient(90deg,#9f2094,#c026d3);padding:12px 16px;border-radius:8px 8px 0 0;color:#fff;font-weight:600;font-family:MozaicGEO,Mozaic,-apple-system,BlinkMacSystemFont,sans-serif}.module-header-people{background:linear-gradient(90deg,#eda807,#fcd34d);padding:12px 16px;border-radius:8px 8px 0 0;color:#fff;font-weight:600;font-family:MozaicGEO,Mozaic,-apple-system,BlinkMacSystemFont,sans-serif}.module-header-ai{background:linear-gradient(90deg,#56006e,#9f2094);padding:12px 16px;border-radius:8px 8px 0 0;color:#fff;font-weight:600;font-family:MozaicGEO,Mozaic,-apple-system,BlinkMacSystemFont,sans-serif}.module-header-system{background:linear-gradient(90deg,#3d5a80,#1e4d8c);padding:12px 16px;border-radius:8px 8px 0 0;color:#fff;font-weight:600;font-family:MozaicGEO,Mozaic,-apple-system,BlinkMacSystemFont,sans-serif}.custom-scroll::-webkit-scrollbar{width:6px;height:6px}.custom-scroll::-webkit-scrollbar-track{background:#f3f4f6;border-radius:3px}.custom-scroll::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.custom-scroll::-webkit-scrollbar-thumb:hover{background:#9ca3af}.custom-scroll{overflow:auto}.modal-overlay{position:fixed;inset:0;background:#010a1380;display:flex;align-items:center;justify-content:center;padding:16px;overflow-y:auto;z-index:400;animation:fadeIn .2s ease ease-out}.modal-content{background:var(--bg-card);border:1px solid var(--card-elev-border);border-radius:var(--radius-card);box-shadow:var(--card-elev);padding:24px;max-width:90vw;max-height:90vh;overflow:auto;animation:slideInUp .2s ease ease-out}.spinner,.loader{width:24px;height:24px;border:3px solid var(--border-primary);border-top-color:var(--brand-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.fade-in{animation:fadeIn .2s ease ease-out}.slide-in-left{animation:slideInLeft .2s ease ease-out}.slide-in-right{animation:slideInRight .2s ease ease-out}.slide-in-up{animation:slideInUp .2s ease ease-out}.slide-in-down{animation:slideInDown .2s ease ease-out}@media print{@page{size:landscape;margin:.5in}body{background:#fff!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}app-sidebar,app-header,.sidebar,.app-header,.no-print{display:none!important}.main-content,.app-main,main{margin-left:0!important;padding:0!important;width:100%!important}.print-only{display:block!important}.card{box-shadow:none;border:1px solid #D1D5DB}}.hidden{display:none}@media(max-width:768px){.hidden-mobile{display:none}}@media(min-width:768px){.hidden-desktop{display:none}}
