:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;font-family:Segoe UI,sans-serif;background-color:#0f172a;color:#fff;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.card{background-color:#1e293b;border-radius:12px;padding:16px;color:#fff}.card h2{font-size:24px;margin:0}.card p{font-size:14px;opacity:.7}.grid-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-bottom:24px}.section{margin-bottom:24px}:root{--color-bg-primary: #0f172a;--color-bg-secondary: #1e293b;--color-bg-tertiary: #1e3a52;--color-border-primary: #334155;--color-border-secondary: #475569;--color-border-hover: #64748b;--color-text-primary: #ffffff;--color-text-secondary: #f1f5f9;--color-text-muted: #cbd5e1;--color-text-disabled: #64748b;--color-accent-primary: #3b82f6;--color-accent-primary-dark: #2563eb;--color-accent-primary-darker: #1d4ed8;--color-error: #ef4444;--color-error-light: #f87171;--color-warning: #f59e0b;--color-warning-light: #fbbf24;--color-success: #10b981;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 20px;--spacing-2xl: 24px;--spacing-3xl: 32px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .3);--shadow-lg: 0 6px 32px 0 rgba(0, 0, 0, .35);--shadow-focus: 0 0 0 3px rgba(59, 130, 246, .2);--shadow-error-focus: 0 0 0 3px rgba(220, 38, 38, .2);--transition-base: .2s ease;--transition-slow: .3s ease}.page-container{width:100%;max-width:900px;margin:0 auto;padding:var(--spacing-3xl);box-sizing:border-box}.page-header{margin-bottom:var(--spacing-3xl);padding-bottom:var(--spacing-lg);border-bottom:2px solid var(--color-border-primary)}.page-header h1{font-size:2rem;font-weight:600;color:var(--color-text-secondary);margin:0 0 var(--spacing-sm) 0}.page-subtitle{color:#94a3b8;font-size:1rem;margin:0}.form-container{background:linear-gradient(135deg,var(--color-bg-secondary) 0%,var(--color-bg-tertiary) 100%);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:1rem var(--spacing-3xl);border:1px solid var(--color-border-primary)}.form-section{margin-bottom:var(--spacing-2xl);display:flex;flex-direction:column}.form-section:last-of-type{margin-bottom:var(--spacing-xl)}.form-section h2,.form-section-title{font-size:1.25rem;font-weight:600;color:var(--color-text-primary);margin:0 0 var(--spacing-xl) 0;padding-bottom:var(--spacing-md);border-bottom:2px solid var(--color-border-secondary)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xl)}.form-row-auto{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-xl)}.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xl)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-xl)}.form-label,.form-group label{display:block;font-size:.875rem;font-weight:500;color:var(--color-text-muted);margin-bottom:var(--spacing-sm)}.required{color:var(--color-error);font-weight:700;margin-left:var(--spacing-xs)}.form-input,.form-group input,.form-group select,.form-group textarea{width:100%;padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-sm);border:1px solid var(--color-border-secondary);background-color:var(--color-bg-primary);color:var(--color-text-primary);font-size:.875rem;transition:border-color var(--transition-base),background-color var(--transition-base)}.form-input:focus,.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-accent-primary);background-color:var(--color-bg-secondary);box-shadow:var(--shadow-focus)}.form-input::placeholder,.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-text-disabled)}.form-input:disabled,.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background-color:var(--color-bg-secondary);color:var(--color-text-disabled);cursor:not-allowed;opacity:.6}.form-input.error,.form-group input.error{border-color:var(--color-error)}.form-input.error:focus,.form-group input.error:focus{box-shadow:var(--shadow-error-focus)}.form-textarea,.form-group textarea{resize:vertical;min-height:100px;font-family:inherit}.error-message{color:var(--color-error);font-size:.875rem;margin-top:var(--spacing-sm);padding:var(--spacing-md);background-color:#ef44441a;border-radius:var(--radius-sm);border-left:3px solid var(--color-error)}.form-group .error-message{margin-top:-.25rem}.form-actions{display:flex;gap:var(--spacing-lg);justify-content:flex-end;padding-top:var(--spacing-2xl);border-top:2px solid var(--color-border-secondary)}.btn,.btn-primary,.btn-secondary,.btn-cancel,.btn-submit,.btn-reset,.btn-retry,.btn-back{padding:var(--spacing-md) var(--spacing-2xl);border-radius:var(--radius-md);font-size:1rem;font-weight:500;cursor:pointer;transition:var(--transition-base);border:none;white-space:nowrap}.btn-primary,.btn-submit,.btn-retry,.btn-back{background:linear-gradient(135deg,var(--color-accent-primary) 0%,var(--color-accent-primary-dark) 100%);color:#fff;box-shadow:0 2px 4px #3b82f633}.btn-primary:hover:not(:disabled),.btn-submit:hover:not(:disabled),.btn-retry:hover:not(:disabled),.btn-back:hover:not(:disabled){background:linear-gradient(135deg,var(--color-accent-primary-dark) 0%,var(--color-accent-primary-darker) 100%);box-shadow:0 4px 12px #3b82f64d}.btn-submit:hover:not(:disabled){transform:translateY(-2px)}.btn-secondary,.btn-cancel{background:var(--color-bg-secondary);color:#94a3b8;border:2px solid var(--color-border-primary)}.btn-secondary:hover:not(:disabled),.btn-cancel:hover:not(:disabled){background:var(--color-border-primary);border-color:var(--color-border-secondary);color:var(--color-text-muted)}.btn-reset{background:var(--color-bg-secondary);color:var(--color-warning-light);border:2px solid var(--color-warning)}.btn-reset:hover:not(:disabled){background:#fbbf241a;border-color:var(--color-warning-light)}.btn:disabled,.btn-primary:disabled,.btn-secondary:disabled,.btn-cancel:disabled,.btn-reset:disabled,.btn-submit:disabled{cursor:not-allowed;opacity:.5;transform:none}.badge,.status-badge,.role-badge,.product-badge,.shift-badge,.user-badge{padding:6px 12px;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;text-transform:uppercase;display:inline-block}.status-active,.user-status-active,.product-status-active,.shift-status-active{background-color:var(--color-success);color:#fff}.status-inactive,.user-status-inactive,.product-status-inactive,.status-completed,.shift-status-completed{background-color:#6b7280;color:#fff}.status-upcoming,.shift-status-upcoming{background-color:var(--color-accent-primary);color:#fff}.role-admin{background-color:var(--color-error);color:#fff}.role-supervisor{background-color:var(--color-warning);color:#fff}.role-operator{background-color:var(--color-accent-primary);color:#fff}.role-viewer{background-color:#6b7280;color:#fff}.card,.summary-card,.product-card,.shift-card{background:linear-gradient(135deg,var(--color-bg-secondary) 0%,var(--color-border-primary) 100%);border-radius:var(--radius-lg);padding:var(--spacing-2xl);box-shadow:var(--shadow-md);border:1px solid var(--color-border-secondary);transition:var(--transition-base)}.card:hover,.summary-card:hover,.product-card:hover,.shift-card:hover{transform:translateY(-4px);box-shadow:0 8px 12px #0006}.card-header,.product-card-header,.shift-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg);border-bottom:2px solid var(--color-border-secondary)}.card-title,.product-card-title,.shift-card-title{font-size:1.25rem;font-weight:700;color:var(--color-text-primary);margin:0}.card-body,.product-card-body,.shift-card-body{display:flex;flex-direction:column;gap:var(--spacing-md)}.summary-card-title{font-size:.875rem;color:#94a3b8;margin-bottom:var(--spacing-md);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.summary-card-value{font-size:2.25rem;font-weight:700;color:var(--color-text-primary);margin:0}.info-item,.product-info-item,.shift-info-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) 0}.info-label,.product-info-label,.shift-info-label{font-size:.875rem;color:#94a3b8;font-weight:500}.info-value,.product-info-value,.shift-info-value{font-size:.875rem;color:#e2e8f0;font-weight:600;text-align:right}.table-container,.role-table-container,.production-table-container{background:linear-gradient(135deg,var(--color-bg-secondary) 0%,var(--color-bg-tertiary) 100%);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;margin-bottom:var(--spacing-2xl);border:1px solid var(--color-border-primary)}.data-table,.role-table,.production-table{width:100%;border-collapse:collapse}.data-table thead,.role-table thead,.production-table thead{background:linear-gradient(135deg,var(--color-bg-primary) 0%,var(--color-bg-secondary) 100%)}.data-table th,.role-table th,.production-table th{padding:var(--spacing-lg);text-align:left;font-weight:600;color:#94a3b8;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid var(--color-border-primary)}.data-table td,.role-table td,.production-table td{padding:var(--spacing-lg);border-bottom:1px solid var(--color-border-primary);color:var(--color-text-muted)}.data-table tbody tr,.role-table tbody tr,.production-table tbody tr{transition:var(--transition-base)}.data-table tbody tr:hover,.role-table tbody tr:hover,.production-table tbody tr:hover{background-color:#3341554d}.data-table tbody tr:last-child td,.role-table tbody tr:last-child td,.production-table tbody tr:last-child td{border-bottom:none}.no-data{text-align:center;padding:3rem var(--spacing-lg)!important;color:var(--color-text-disabled);font-style:italic}.action-buttons{display:flex;gap:var(--spacing-sm)}.btn-edit,.table-action-button{display:flex;align-items:center;gap:.35rem;padding:var(--spacing-sm) var(--spacing-lg);background:var(--color-accent-primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.875rem;cursor:pointer;transition:var(--transition-base);font-weight:500}.btn-edit:hover,.table-action-button:hover{background:var(--color-accent-primary-dark);transform:translateY(-1px)}.search-box{max-width:500px}.search-input{width:100%;padding:.75rem var(--spacing-lg);border:2px solid var(--color-border-primary);border-radius:var(--radius-md);font-size:1rem;transition:var(--transition-slow);background:var(--color-bg-secondary);color:var(--color-text-secondary)}.search-input:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:var(--shadow-focus)}.search-input::placeholder{color:var(--color-text-disabled)}.page-header-with-action{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-3xl);padding-bottom:var(--spacing-lg);border-bottom:2px solid var(--color-border-primary)}.page-header-with-action h1{font-size:2rem;font-weight:600;color:var(--color-text-secondary);margin:0}.btn-add{display:flex;align-items:center;gap:var(--spacing-sm);padding:.75rem var(--spacing-2xl);background:linear-gradient(135deg,var(--color-accent-primary) 0%,var(--color-accent-primary-dark) 100%);color:#fff;border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:500;cursor:pointer;transition:var(--transition-slow);box-shadow:var(--shadow-sm)}.btn-add:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);background:linear-gradient(135deg,var(--color-accent-primary-dark) 0%,var(--color-accent-primary-darker) 100%)}.btn-add .icon{font-size:1.25rem;font-weight:700}.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:var(--spacing-2xl);margin-bottom:var(--spacing-3xl);width:100%}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-xl);margin-bottom:var(--spacing-3xl);width:100%}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem var(--spacing-3xl);text-align:center}.loading-spinner{width:48px;height:48px;border:4px solid var(--color-border-primary);border-top-color:var(--color-accent-primary);border-radius:50%;animation:common-spin 1s linear infinite;margin-bottom:var(--spacing-lg)}@keyframes common-spin{to{transform:rotate(360deg)}}.loading-container p{color:var(--color-text-secondary)}.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem var(--spacing-3xl);text-align:center}.error-container p{color:var(--color-error-light);font-size:1rem;margin-bottom:var(--spacing-lg)}@media(max-width:768px){.page-container{padding:var(--spacing-lg)}.form-container{padding:var(--spacing-2xl)}.form-row,.form-row-2{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.form-actions button{width:100%}.page-header-with-action{flex-direction:column;align-items:flex-start;gap:var(--spacing-lg)}.page-header-with-action h1{font-size:1.5rem}.btn-add{width:100%;justify-content:center}.summary-card-value{font-size:1.75rem}.search-box{max-width:100%}}@media(max-width:480px){.page-container{padding:var(--spacing-md)}.form-container{padding:var(--spacing-lg)}.page-header h1{font-size:1.5rem}.page-header-with-action h1{font-size:1.25rem}.info-item,.product-info-item,.shift-info-item{flex-direction:column;align-items:flex-start;gap:var(--spacing-xs)}.info-value,.product-info-value,.shift-info-value{text-align:left}}@tailwind base;@tailwind components;@tailwind utilities;.machine-title{font-size:1.25rem;font-weight:600;margin-bottom:1rem;color:#f1f5f9}.e-sidebar.e-sidebar-dark{background:#1e293b!important;border-right:1px solid #334155!important;box-shadow:2px 0 16px #1e293b14!important;overflow-x:hidden!important;overflow-y:auto!important}@media(min-width:769px){.e-sidebar.e-sidebar-dark{z-index:100!important;transition:width .3s ease!important;position:sticky!important;top:0!important;height:100vh!important;align-self:flex-start!important;flex-shrink:0!important}}@media(max-width:768px){.e-sidebar.e-sidebar-dark{position:fixed!important;top:0!important;left:0!important;z-index:9999!important;height:100vh!important;width:260px!important;transition:transform .3s ease!important}}.menu-item{padding:.75rem 1rem;border-radius:.75rem;margin-bottom:.25rem;color:#cbd5e1;font-size:1rem;cursor:pointer;transition:background .2s,color .2s;display:flex;align-items:center;gap:.75rem;width:100%;box-sizing:border-box;text-align:left}.menu-item.active{background:#0ea5e9;color:#fff}.menu-item:hover{background:#334155;color:#fff}#root{min-height:100vh;width:100%;background:#0f172a;display:flex;flex-direction:row}.layout-container{display:flex;flex-direction:row;flex:1;width:100%;min-height:100vh;position:relative}.main-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:2rem 0;min-height:100vh;background:#0f172a;overflow-x:hidden;min-width:0}@media(max-width:768px){.main-content{padding:4rem 0 1rem;width:100%}}@media(max-width:1280px){.main-content .page-container{max-width:100%;padding:var(--spacing-lg)}}@media(max-width:480px){.main-content .page-container{padding:var(--spacing-md)}}.dashboard-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;width:100%;max-width:960px;margin:2rem auto 0;padding:0 1.5rem;box-sizing:border-box;align-items:start}.machine-card{background:linear-gradient(135deg,#1e293b 80%,#334155);border-radius:1.5rem;box-shadow:0 6px 32px #00000059;padding:1.75rem 1.5rem;display:flex;flex-direction:column;align-items:flex-start;transition:box-shadow .2s,transform .2s;border:1px solid #334155;width:100%;box-sizing:border-box}.machine-card:hover{box-shadow:0 12px 40px #0009;border-color:#38bdf8;transform:translateY(-4px) scale(1.01)}.machine-title{font-size:1.25rem;font-weight:600;margin-bottom:0;color:#f1f5f9}.machine-data{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem 1.5rem;width:100%;margin-top:1rem}.data-label{font-size:.8rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.03em;margin-bottom:.2rem}.data-value{font-size:1.35rem;font-weight:700;color:#38bdf8}.dashboard-title{font-size:2rem;font-weight:900;color:#fff;text-align:center;line-height:1.2;padding:0 1rem;margin:0 0 1.5rem}@media(max-width:900px){.dashboard-grid{gap:1.25rem;padding:0 1rem}}@media(max-width:600px){.dashboard-grid{grid-template-columns:1fr;gap:1rem;padding:0 .75rem;margin-top:1rem}.machine-card{padding:1.25rem 1rem}.machine-data{grid-template-columns:repeat(2,1fr);gap:.75rem 1rem}.data-value{font-size:1.15rem}.dashboard-title{font-size:1.25rem;padding:0 .75rem}}@media(max-width:768px){.sidebar-menu{left:-240px;transition:left .3s}.sidebar-menu.open{left:0}}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.read-the-docs{color:#888}.machine-info-container{width:100%;max-width:1300px;margin:0rem auto;overflow-anchor:none}.machine-details,.charts-section{flex:1 1 0;min-width:340px;max-width:600px}.detail-section{background:linear-gradient(135deg,#1e293b 80%,#334155);border-radius:1.5rem;box-shadow:0 6px 32px #00000059;padding:2.5rem 2rem;margin-bottom:2rem;border:1px solid #334155;width:100%;box-sizing:border-box}@media(max-width:768px){.detail-grid{grid-template-columns:1fr}.detail-item{flex-direction:column;align-items:flex-start;gap:.5rem}.quick-actions{flex-direction:column}.action-button{width:100%}}.login-page{min-height:100vh;background:linear-gradient(135deg,#0f172a,#1e293b);display:flex;align-items:center;justify-content:center;padding:20px;position:fixed;inset:0}.login-container{background:#1e293b;border-radius:12px;padding:40px;box-shadow:0 10px 40px #0000004d;border:1px solid #475569;width:100%;max-width:450px}.login-header{margin-bottom:30px;text-align:center}.login-logo{width:200px;height:auto;margin:0 auto 20px;display:block;object-fit:contain}.login-title{font-size:28px;font-weight:700;color:#fff;margin:0 0 8px;text-align:center}.login-subtitle{font-size:14px;color:#94a3b8;margin:0;text-align:center}.login-form{margin-bottom:24px}.form-group{margin-bottom:20px;text-align:left}.form-label{display:block;font-size:14px;font-weight:500;color:#cbd5e1;margin-bottom:8px}.form-input{width:100%;padding:12px 16px;border-radius:6px;border:1px solid #475569;background-color:#0f172a;color:#fff;font-size:14px;transition:border-color .2s ease,background-color .2s ease;box-sizing:border-box}.form-input:focus{outline:none;border-color:#3b82f6;background-color:#1e293b}.form-input::placeholder{color:#64748b}.error-message{color:#ef4444;font-size:14px;margin:0 0 16px;text-align:center}.login-button{width:100%;padding:14px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:none;border-radius:6px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.login-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #3b82f666}.login-button:active{transform:translateY(0)}.login-footer{border-top:1px solid #475569;padding-top:20px;text-align:center}.login-footer p{font-size:12px;color:#64748b;margin:0}@media(max-width:480px){.login-container{padding:30px 20px;max-width:100%}.login-logo{width:150px}.login-title{font-size:24px}}ejs-sidebar{display:none}.e-sidebar-display{display:block}.e-sidebar{-webkit-tap-highlight-color:transparent;background:#f3f4f6;height:100%;overflow:auto;position:fixed;top:0;-webkit-transition:none;transition:none;vertical-align:middle;visibility:hidden;will-change:transform}.e-sidebar.e-right.e-open,.e-sidebar.e-left.e-open{-webkit-transform:translateX(0%);transform:translate(0);-webkit-transition:-webkit-transform .5s ease;transition:-webkit-transform .5s ease;transition:transform .5s ease;transition:transform .5s ease,-webkit-transform .5s ease;visibility:visible}.e-sidebar.e-right.e-close,.e-sidebar.e-left.e-close{-webkit-box-shadow:none;box-shadow:none;visibility:hidden}.e-sidebar.e-right.e-close{-webkit-transform:translateX(100%);transform:translate(100%)}.e-sidebar.e-left.e-close{-webkit-transform:translateX(-100%);transform:translate(-100%)}.e-sidebar.e-left.e-transition.e-close,.e-sidebar.e-right.e-transition.e-close,.e-sidebar.e-right.e-close{-webkit-transition:visibility .5s,-webkit-transform .5s ease;transition:visibility .5s,-webkit-transform .5s ease;transition:transform .5s ease,visibility .5s;transition:transform .5s ease,visibility .5s,-webkit-transform .5s ease}.e-sidebar.e-right{border-left:0 solid transparent;left:auto;right:0;top:0}.e-sidebar.e-left{border-right:0 solid transparent;left:0;right:auto;top:0}.e-sidebar.e-left.e-close.e-dock,.e-sidebar.e-right.e-close.e-dock{-webkit-transform:translateX(0%);transform:translate(0);-webkit-transition:width .5s ease,visibility .5s;transition:width .5s ease,visibility .5s;visibility:visible}.e-sidebar.e-left.e-open.e-dock.e-blazor-dock,.e-sidebar.e-right.e-open.e-dock.e-blazor-dock{-webkit-transition:width .5s ease,visibility .5s;transition:width .5s ease,visibility .5s}.e-sidebar.e-left.e-open.e-disable-animation,.e-sidebar.e-right.e-open.e-disable-animation,.e-sidebar.e-right.e-close.e-disable-animation,.e-sidebar.e-left.e-close.e-disable-animation{-webkit-transition:none;transition:none}.e-sidebar.e-visibility{visibility:hidden}.e-sidebar.e-over{-webkit-box-shadow:0 1px 2px 0 rgba(0,0,0,.05);box-shadow:0 1px 2px #0000000d}.e-sidebarcontainer.e-sidebar.e-over,.e-sidebarcontainer.e-sidebar.e-auto,.e-sidebarcontainer.e-sidebar.e-push,.e-sidebarcontainer.e-sidebar.e-slide+div{-webkit-transition:margin .5s ease,-webkit-transform .5s ease;transition:margin .5s ease,-webkit-transform .5s ease;transition:margin .5s ease,transform .5s ease;transition:margin .5s ease,transform .5s ease,-webkit-transform .5s ease}.e-sidebarcontainer.e-left.e-open.e-auto+div{margin-right:0;-webkit-transform:translateX(0);transform:translate(0);margin-left:var(--sidebar-width)}.e-sidebarcontainer.e-left.e-close.e-auto+div{margin-right:0;-webkit-transform:translateX(0);transform:translate(0);margin-left:0}.e-sidebarcontainer.e-right.e-open.e-auto+div{margin-left:0;-webkit-transform:translateX(0);transform:translate(0);margin-right:var(--sidebar-width)}.e-sidebarcontainer.e-right.e-close.e-auto+div{margin-right:0;-webkit-transform:translateX(0);transform:translate(0);margin-left:0}.e-sidebarcontainer.e-left.e-open.e-push+div{margin-right:0;-webkit-transform:translateX(0);transform:translate(0);margin-left:var(--sidebar-width)}.e-sidebarcontainer.e-left.e-close.e-push+div{margin-right:0;-webkit-transform:translateX(0);transform:translate(0);margin-left:0}.e-sidebarcontainer.e-right.e-open.e-push+div{margin-left:0;-webkit-transform:translateX(0);transform:translate(0);margin-right:var(--sidebar-width)}.e-sidebarcontainer.e-right.e-close.e-push+div{margin-right:0;-webkit-transform:translateX(0);transform:translate(0);margin-left:0}.e-sidebarcontainer.e-left.e-open.e-slide+div{margin-left:0;-webkit-transform:translate(var(--sidebar-width));transform:translate(var(--sidebar-width))}.e-sidebarcontainer.e-left.e-close.e-slide+div{margin-left:0;-webkit-transform:translate(0);transform:translate(0)}.e-sidebarcontainer.e-right.e-open.e-slide+div{margin-right:0;margin-left:0;-webkit-transform:translate(calc(-1 * var(--sidebar-width)));transform:translate(calc(-1 * var(--sidebar-width)))}.e-sidebarcontainer.e-right.e-close.e-slide+div{margin-right:0;margin-left:0;-webkit-transform:translate(0);transform:translate(0)}.e-sidebar-absolute{position:absolute}.e-sidebar-context{overflow-x:hidden;position:relative}.e-backdrop,.e-sidebar-overlay{background-color:#6b7280bf;height:100%;left:0;pointer-events:auto;top:0;z-index:999}.e-backdrop{width:auto}.e-sidebar-overlay{position:fixed;width:100%}.e-content-animation{transition:margin .5s ease,-webkit-transform .5s ease,transform .5s ease}.e-content-animation.e-overlay{-webkit-box-sizing:border-box;box-sizing:border-box;overflow:auto;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.e-disable-interaction{pointer-events:none;-ms-touch-action:none;touch-action:none}.e-sidebar-overflow{overflow-x:hidden}.e-content-placeholder.e-sidebar.e-placeholder-sidebar{left:0;position:fixed;right:auto;top:0;visibility:visible}.modal-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background-color:#1e293b;border-radius:12px;padding:30px;max-width:700px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #00000080}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;border-bottom:2px solid #334155;padding-bottom:16px}.modal-title{font-size:24px;font-weight:700;color:#fff;margin:0}.modal-close-btn{background:none;border:none;font-size:32px;cursor:pointer;color:#94a3b8;padding:0;width:32px;height:32px;line-height:1;transition:color .2s}.modal-close-btn:hover{color:#fff}.selection-grid{display:grid;gap:16px;margin-bottom:24px}.selection-row{display:flex;align-items:center;gap:12px}.selection-label{min-width:140px;font-weight:500;color:#cbd5e1;font-size:14px}.selection-input{padding:10px 12px;border-radius:6px;border:1px solid #475569;background-color:#0f172a;color:#fff;flex:1;font-size:14px;cursor:pointer;transition:border-color .2s,background-color .2s}.selection-input:hover{border-color:#64748b}.selection-input:focus{outline:none;border-color:#3b82f6;background-color:#1e293b}.selection-input option{background-color:#0f172a;color:#fff}.modal-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:16px;border-top:2px solid #334155}.machine-info-flex-row{display:flex;gap:2rem;justify-content:center;align-items:flex-start;width:100%;max-width:1300px;margin:2rem auto}.machine-details,.temperature-section,.production-list-section,.charts-section{flex:1 1 0;min-width:0;max-width:100%}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.detail-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid #334155}.detail-item:last-child{border-bottom:none}.detail-label{color:#94a3b8;font-weight:500}.detail-value{color:#f1f5f9;font-weight:600}.activity-log{display:flex;flex-direction:column;gap:1rem}.activity-item{display:flex;gap:1rem;align-items:center;padding:.75rem;background:#0f172a;border-radius:.5rem;border:1px solid #334155}.activity-time{color:#38bdf8;font-weight:600;min-width:80px}.activity-text{color:#cbd5e1}.quick-actions{display:flex;gap:1rem;justify-content:center;margin:2rem auto;flex-wrap:wrap}.action-button{padding:.75rem 1.5rem;border-radius:.5rem;font-weight:600;border:none;cursor:pointer;transition:all .2s}.action-button.primary{background:#0ea5e9;color:#fff}.action-button.primary:hover{background:#0284c7}.action-button.secondary{background:#334155;color:#f1f5f9;border:1px solid #475569}.action-button.secondary:hover{background:#475569}@media(max-width:900px){.machine-info-flex-row{flex-direction:column;gap:1.5rem;padding:0 1rem;margin:1rem auto}}@media(max-width:768px){.machine-info-flex-row{padding:0 .75rem}.detail-grid{grid-template-columns:1fr}.detail-item{flex-direction:column;align-items:flex-start;gap:.5rem}.quick-actions{flex-direction:column}.action-button{width:100%}}border: 1px solid #475569; width: 100%; box-sizing: border-box; } .table-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.production-table tbody tr{transition:background-color .2s ease}@media(max-width:1400px){.shift-cards-container{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.shift-cards-container{grid-template-columns:1fr}.summary-cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.summary-cards{grid-template-columns:1fr}.table-header{flex-direction:column;gap:16px;align-items:flex-start}.production-table{font-size:12px}.production-table th,.production-table td{padding:12px 8px}.summary-card-value{font-size:28px}}@media(max-width:480px){.shift-card,.summary-card,.production-table-container{padding:16px}.shift-info-item{flex-direction:column;align-items:flex-start;gap:4px}.shift-info-value{text-align:left}}.machines-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--spacing-lg)}.machine-checkbox{display:flex;align-items:center;gap:10px;padding:var(--spacing-md);background:var(--color-bg-primary);border:1px solid var(--color-border-secondary);border-radius:var(--radius-sm);transition:var(--transition-base)}.machine-checkbox:hover{background:var(--color-bg-secondary);border-color:var(--color-border-hover)}.checkbox-input{width:18px;height:18px;cursor:pointer;accent-color:var(--color-accent-primary)}.checkbox-label{font-size:.875rem;color:#e2e8f0;font-weight:500;cursor:pointer;-webkit-user-select:none;user-select:none}@media(max-width:768px){.machines-grid{grid-template-columns:1fr}}.product-card-code{font-size:.75rem;color:#94a3b8;margin:0 0 var(--spacing-xs) 0;font-family:Courier New,monospace}@media(max-width:1400px){.product-cards-container,.cards-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.product-cards-container,.cards-grid{grid-template-columns:1fr}}@media(max-width:480px){.product-card,.card{padding:var(--spacing-lg)}.product-info-item,.info-item{flex-direction:column;align-items:flex-start;gap:var(--spacing-xs)}.product-info-value,.info-value{text-align:left}}@media(max-width:480px){.add-product-container{padding:0 var(--spacing-sm)}}@media(max-width:480px){.add-user-container{padding:0 var(--spacing-sm)}}.edit-user-container{display:flex;flex-direction:column;gap:var(--spacing-2xl)}.password-section{background:var(--color-bg-secondary);border-radius:var(--radius-lg);padding:var(--spacing-3xl);box-shadow:var(--shadow-md);border:1px solid var(--color-border-secondary);margin-top:var(--spacing-2xl)}.password-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl)}.password-header .form-section-title{margin-bottom:0;padding-bottom:0;border-bottom:none}.password-form{margin-top:var(--spacing-xl);padding-top:var(--spacing-xl);border-top:2px solid var(--color-border-secondary)}@media(max-width:768px){.password-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.password-header button{width:100%}}@media(max-width:480px){.edit-user-container{padding:0 var(--spacing-sm)}}.role-code{display:inline-block;padding:.25rem .75rem;background:#3b82f633;color:#60a5fa;border-radius:var(--radius-sm);font-weight:500;font-size:.875rem;font-family:Courier New,monospace;border:1px solid rgba(59,130,246,.3)}.role-summary{display:flex;gap:var(--spacing-3xl);padding:var(--spacing-lg);background:#1e293b80;border-radius:var(--radius-md);font-size:.875rem;color:#94a3b8;border:1px solid var(--color-border-primary)}.role-summary strong{color:var(--color-text-secondary);font-weight:600}@media(max-width:768px){.role-page{padding:var(--spacing-lg)}.role-summary{flex-direction:column;gap:var(--spacing-lg)}}.loading-spinner{width:48px;height:48px;border:4px solid #334155;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{to{transform:rotate(360deg)}}.loading-container p,.error-container p{color:#f1f5f9}.error-message{color:#f87171;font-size:1rem;margin-bottom:1rem}.btn-retry{padding:.75rem 1.5rem;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:1rem;cursor:pointer;transition:background .2s ease}.btn-retry:hover{background:#2563eb}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:40px;width:100%}.summary-card{background:linear-gradient(135deg,#1e293b,#334155);border-radius:12px;padding:24px;box-shadow:0 4px 6px #0000004d;border:1px solid #475569;transition:transform .2s,box-shadow .2s}.summary-card:hover{transform:translateY(-4px);box-shadow:0 8px 12px #0006}.summary-card-title{font-size:14px;color:#94a3b8;margin-bottom:12px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.summary-card-value{font-size:36px;font-weight:700;color:#fff;margin:0}.production-table-container{background:#1e293b;border-radius:12px;padding:24px;box-shadow:0 4px 6px #0000004d;border:1px solid #475569;width:100%;box-sizing:border-box}.table-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.table-wrapper{overflow-x:auto}.production-table{width:100%;border-collapse:collapse;color:#fff}.production-table thead{background:#334155}.production-table th{padding:16px;text-align:left;font-weight:600;font-size:14px;color:#cbd5e1;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #475569}.production-table td{padding:16px;border-bottom:1px solid #334155;font-size:14px;color:#e2e8f0}.production-table tbody tr{transition:background-color .2s}.production-table tbody tr:hover{background-color:#334155}.status-badge{padding:6px 12px;border-radius:6px;font-size:12px;font-weight:600;text-transform:uppercase;display:inline-block}.status-completed{background-color:#10b981;color:#fff}.status-in-progress{background-color:#f59e0b;color:#fff}.status-failed{background-color:#ef4444;color:#fff}.date-filter-container{display:flex;gap:16px;align-items:flex-end;justify-content:center;margin-bottom:24px}.date-filter-group{display:flex;flex-direction:column}.date-filter-label{color:#cbd5e1;margin-bottom:8px;font-size:14px;font-weight:500}.date-filter-input{padding:10px 16px;border-radius:8px;border:1px solid #475569;background:#334155;color:#fff;font-size:14px;transition:all .2s;min-width:220px}.date-filter-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.date-filter-input::-webkit-calendar-picker-indicator{filter:invert(1);cursor:pointer}@media(max-width:768px){.summary-cards{grid-template-columns:1fr}.table-header{flex-direction:column;gap:16px;align-items:flex-start}.production-table{font-size:12px}.production-table th,.production-table td{padding:12px 8px}.pagination-controls{flex-direction:column;gap:16px;align-items:flex-start}.pagination-buttons{flex-wrap:wrap}.date-filter-container{flex-direction:column;align-items:stretch}.date-filter-input{min-width:100%}}.shift-info-card{background:linear-gradient(135deg,#1e293b,#334155);border-radius:12px;padding:24px;margin-bottom:32px;box-shadow:0 4px 6px #0000004d;border:1px solid #475569;width:100%;box-sizing:border-box}.shift-info-title{font-size:24px;font-weight:700;color:#fff;margin-bottom:16px}.shift-info-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.shift-info-item{display:flex;flex-direction:column;gap:4px}.shift-info-item .label{font-size:12px;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px}.shift-info-item .value{font-size:16px;color:#e2e8f0;font-weight:600}.prod-status-completed{background-color:#10b981;color:#fff}.prod-status-progress{background-color:#3b82f6;color:#fff}.prod-status-failed{background-color:#ef4444;color:#fff}.pagination-controls{display:flex;align-items:center;justify-content:space-between;margin-top:20px;padding:0 16px}.pagination-info{color:#cbd5e1;font-size:14px}.pagination-buttons{display:flex;align-items:center;gap:8px}.pagination-btn{padding:8px 16px;border-radius:6px;border:none;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;background:#475569;color:#fff}.pagination-btn:hover:not(:disabled){background:#64748b;transform:translateY(-1px)}.pagination-btn:disabled{background:#334155;color:#64748b;cursor:not-allowed;opacity:.5}.pagination-btn.active{background:#3b82f6;color:#fff;font-weight:700}.pagination-btn.ellipsis{background:transparent;color:#cbd5e1;cursor:default}.pagination-btn.ellipsis:hover{background:transparent;transform:none}.items-per-page-container{display:flex;align-items:center;gap:12px}.items-per-page-label{color:#cbd5e1;font-size:14px}.items-per-page-select{padding:6px 12px;border-radius:6px;border:1px solid #475569;background:#334155;color:#fff;font-size:14px;cursor:pointer;transition:border-color .2s}.items-per-page-select:focus{outline:none;border-color:#3b82f6}.master-row{cursor:pointer}.master-row:hover{background-color:#2d3f56!important}.expand-btn{background:none;border:1px solid #475569;color:#94a3b8;width:28px;height:28px;border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:10px;transition:all .2s}.expand-btn:hover{background:#334155;border-color:#64748b;color:#e2e8f0}.expand-btn.expanded{background:#3b82f6;border-color:#3b82f6;color:#fff}.detail-header td{padding:8px 16px;font-size:11px;color:#64748b;font-weight:600;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #1e3a52;background:#0d1a29}.detail-row td{padding:10px 16px;border-bottom:1px solid #1e3a52;font-size:13px;color:#94a3b8;background:#0f1f33}.detail-row:last-of-type td{border-bottom:2px solid #475569}.detail-row:hover td{background-color:#1a2d42!important}.detail-indent{padding-left:40px!important}.position-badge{display:inline-flex;align-items:center;justify-content:center;background:#1e3a52;color:#34d399;border:1px solid #065f46;border-radius:6px;padding:2px 8px;font-size:12px;font-weight:700;min-width:32px;font-family:monospace}.production-nth-badge{display:inline-flex;align-items:center;justify-content:center;background:#1e3a52;color:#f59e0b;border:1px solid #78350f;border-radius:6px;padding:2px 8px;font-size:12px;font-weight:700;min-width:32px;font-family:monospace}.products-count-badge{display:inline-flex;align-items:center;justify-content:center;background:#1e3a52;color:#60a5fa;border:1px solid #2d5a8e;border-radius:12px;padding:2px 10px;font-size:12px;font-weight:600;min-width:28px}@media(max-width:768px){.shift-info-details{grid-template-columns:1fr}.pagination-controls{flex-direction:column;gap:16px;align-items:flex-start}.pagination-buttons{flex-wrap:wrap}.items-per-page-container{width:100%;justify-content:space-between}.production-table{font-size:12px}.production-table th,.production-table td{padding:10px 8px}}@media(max-width:480px){.production-table th,.production-table td{padding:8px 6px;font-size:11px}.pagination-info{font-size:12px}}.edit-input{width:100%;padding:8px 12px;border-radius:4px;border:1px solid #3b82f6;background-color:#1e293b;color:#fff;font-size:14px;transition:border-color .2s ease}.edit-input:focus{outline:none;border-color:#60a5fa;background-color:#0f172a}.edit-input:disabled{background-color:#334155;cursor:not-allowed;opacity:.6}.edit-input::-webkit-outer-spin-button,.edit-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.edit-input[type=number]{-moz-appearance:textfield}.access-rights-page{padding:2rem;min-height:100vh;background-color:#1a1a2e;color:#fff;width:100%;box-sizing:border-box}.page-title{font-size:2rem;font-weight:700;margin-bottom:2rem;color:#fff}.access-rights-container{background-color:#16213e;border-radius:8px;padding:2.5rem;box-shadow:0 4px 6px #0000004d;width:100%;max-width:100%;box-sizing:border-box}.access-rights-header{display:flex;align-items:flex-end;gap:2rem;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid #2d3e5f}.role-selection{display:flex;flex-direction:column;gap:.5rem;flex:1;max-width:300px}.role-selection label{font-size:.9rem;color:#b8c5d6;font-weight:500}.role-select{padding:.75rem 1rem;background-color:#0f1624;color:#fff;border:1px solid #2d3e5f;border-radius:6px;font-size:1rem;cursor:pointer;transition:all .3s ease}.role-select:hover{border-color:#4a90e2}.role-select:focus{outline:none;border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a}.save-button{padding:.75rem 2rem;background-color:#4a90e2;color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 4px #4a90e233}.save-button:hover{background-color:#357abd;transform:translateY(-1px);box-shadow:0 4px 8px #4a90e24d}.save-button:active{transform:translateY(0)}.permissions-tree{background-color:#0f1624;border-radius:6px;padding:1.5rem;min-height:400px;max-height:calc(100vh - 400px);overflow-y:auto;overflow-x:hidden}.permissions-tree::-webkit-scrollbar{width:8px}.permissions-tree::-webkit-scrollbar-track{background:#16213e;border-radius:4px}.permissions-tree::-webkit-scrollbar-thumb{background:#2d3e5f;border-radius:4px}.permissions-tree::-webkit-scrollbar-thumb:hover{background:#3d4e6f}.menu-item-container{margin-bottom:.25rem;width:100%}.menu-item{display:flex;align-items:center;padding:.5rem .75rem;border-radius:4px;transition:background-color .2s ease;width:100%}.menu-item:hover{background-color:#1a2538}.expand-button{background:none;border:none;color:#b8c5d6;cursor:pointer;padding:0;margin-right:.5rem;font-size:.75rem;width:20px;height:20px;display:flex;align-items:center;justify-content:center;transition:color .2s ease;flex-shrink:0}.expand-button:hover{color:#fff}.expand-spacer{width:20px;margin-right:.5rem;flex-shrink:0}.checkbox-label{display:flex;align-items:center;cursor:pointer;color:#e8f0f8;font-size:.95rem;-webkit-user-select:none;user-select:none;flex:1;min-width:0}.checkbox-label input[type=checkbox]{width:18px;height:18px;margin-right:.75rem;cursor:pointer;accent-color:#4a90e2;flex-shrink:0}.checkbox-label span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-children{margin-left:0;width:100%}@media(max-width:768px){.access-rights-page,.access-rights-container{padding:1rem}.access-rights-header{flex-direction:column;align-items:stretch;gap:1rem}.role-selection{max-width:100%}.save-button{width:100%}.page-title{font-size:1.5rem}.permissions-tree{max-height:calc(100vh - 350px)}}
