:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#ffffffde;background-color:#0a0e14;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{width:100%;min-height:100vh}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;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}.leaflet-container{font-family:inherit}.custom-truck-icon{background:transparent!important;border:none!important}.leaflet-popup-content-wrapper{border-radius:8px}.leaflet-popup-content{margin:12px}:root{--bg-primary: #0a0e14;--bg-secondary: #141a24;--bg-tertiary: #1e2632;--status-running: #00ff88;--status-stopped: #ff4757;--status-warning: #ffa502;--status-idle: #3498db;--bin-fill: #4a90d9;--bin-empty: #2d3a4a;--pipe-color: #5a6a7a;--valve-open: #00ff88;--valve-closed: #ff4757;--text-primary: #ffffff;--text-secondary: #8892a0;--text-accent: #00d4ff;--border-color: #2d3a4a;--border-glow: rgba(0, 212, 255, .3);--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--font-size-xs: 10px;--font-size-sm: 12px;--font-size-md: 14px;--font-size-lg: 16px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 32px;--sidebar-width: 240px;--sidebar-collapsed-width: 64px;--header-height: 56px;--bin-width: 120px;--bin-height: 160px;--silo-width: 100px;--silo-height: 200px;--mixer-width: 300px;--mixer-height: 150px;--scale-width: 100px;--scale-height: 60px}@media screen and (min-width:1920px){:root{--spacing-xs: 6px;--spacing-sm: 12px;--spacing-md: 20px;--spacing-lg: 32px;--spacing-xl: 48px;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-md: 16px;--font-size-lg: 18px;--font-size-xl: 24px;--font-size-2xl: 32px;--font-size-3xl: 40px;--sidebar-width: 280px;--header-height: 64px;--bin-width: 160px;--bin-height: 220px;--silo-width: 140px;--silo-height: 280px;--mixer-width: 400px;--mixer-height: 200px;--scale-width: 140px;--scale-height: 80px}}@media screen and (min-width:2560px){:root{--spacing-xs: 8px;--spacing-sm: 16px;--spacing-md: 24px;--spacing-lg: 40px;--spacing-xl: 64px;--font-size-xs: 14px;--font-size-sm: 16px;--font-size-md: 18px;--font-size-lg: 22px;--font-size-xl: 28px;--font-size-2xl: 40px;--font-size-3xl: 52px;--sidebar-width: 320px;--header-height: 72px;--bin-width: 200px;--bin-height: 280px;--silo-width: 180px;--silo-height: 360px;--mixer-width: 500px;--mixer-height: 260px;--scale-width: 180px;--scale-height: 100px}}.industrial-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;box-shadow:0 0 20px #0000004d}.value-display{font-family:Roboto Mono,monospace;font-size:var(--font-size-xl);color:var(--text-accent);text-shadow:0 0 10px rgba(0,212,255,.5)}.value-display-lg{font-family:Roboto Mono,monospace;font-size:var(--font-size-2xl);color:var(--text-accent);text-shadow:0 0 15px rgba(0,212,255,.6)}.status-running{color:var(--status-running);text-shadow:0 0 8px var(--status-running)}.status-stopped{color:var(--status-stopped);text-shadow:0 0 8px var(--status-stopped)}.status-warning{color:var(--status-warning);text-shadow:0 0 8px var(--status-warning)}.status-idle{color:var(--status-idle);text-shadow:0 0 8px var(--status-idle)}@keyframes alarm-blink{0%,to{opacity:1}50%{opacity:.3}}.alarm-active{animation:alarm-blink .5s infinite}@keyframes mixer-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.mixer-blade.running{animation:mixer-rotate 1s linear infinite}@keyframes material-flow{0%{stroke-dashoffset:20}to{stroke-dashoffset:0}}.pipe-flow{stroke-dasharray:10 10;animation:material-flow .5s linear infinite}.glow-effect{box-shadow:0 0 10px var(--border-glow)}.glow-effect-strong{box-shadow:0 0 20px var(--border-glow),0 0 40px #00d4ff33}body{background:var(--bg-primary);color:var(--text-primary)}.ant-table{background:transparent!important}.ant-table-thead>tr>th{background:var(--bg-tertiary)!important;color:var(--text-secondary)!important;border-bottom:1px solid var(--border-color)!important}.ant-table-tbody>tr>td{background:var(--bg-secondary)!important;border-bottom:1px solid var(--border-color)!important}.ant-table-tbody>tr:hover>td{background:var(--bg-tertiary)!important}.ant-table-cell{color:var(--text-primary)!important}.ant-card{background:var(--bg-secondary)!important;border-color:var(--border-color)!important}.ant-card-head{border-bottom-color:var(--border-color)!important;color:var(--text-primary)!important}.ant-card-head-title{color:var(--text-primary)!important}.ant-input{background:var(--bg-tertiary)!important;border-color:var(--border-color)!important;color:var(--text-primary)!important}.ant-input::-moz-placeholder{color:var(--text-secondary)!important}.ant-input::placeholder{color:var(--text-secondary)!important}.ant-input-affix-wrapper,.ant-select-selector{background:var(--bg-tertiary)!important;border-color:var(--border-color)!important}.ant-select-selection-placeholder{color:var(--text-secondary)!important}.ant-modal-content{background:var(--bg-secondary)!important}.ant-modal-header{background:var(--bg-secondary)!important;border-bottom-color:var(--border-color)!important}.ant-modal-title{color:var(--text-primary)!important}.ant-statistic-title{color:var(--text-secondary)!important}.ant-statistic-content,.ant-progress-text{color:var(--text-primary)!important}.ant-pagination-item{background:var(--bg-tertiary)!important;border-color:var(--border-color)!important}.ant-pagination-item a{color:var(--text-primary)!important}.ant-pagination-item-active{border-color:var(--text-accent)!important}.ant-empty-description,.ant-tabs-tab{color:var(--text-secondary)!important}.ant-tabs-tab-active .ant-tabs-tab-btn{color:var(--text-accent)!important}.ant-timeline-item-content{color:var(--text-primary)!important}.ant-descriptions-item-label{color:var(--text-secondary)!important}.ant-descriptions-item-content{color:var(--text-primary)!important}.ant-badge-count{box-shadow:none!important}.ant-menu-dark{background:transparent!important}.ant-menu-dark .ant-menu-item-selected{background:var(--text-accent)!important}.ant-picker{background:var(--bg-tertiary)!important;border-color:var(--border-color)!important}.ant-picker-input>input{color:var(--text-primary)!important}.ant-picker-suffix{color:var(--text-secondary)!important}.dashboard-container{display:grid;grid-template-rows:auto 1fr auto;grid-template-columns:1fr auto;height:100vh;width:100vw;background:var(--bg-primary);overflow:hidden}.task-info-bar{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-secondary);border-bottom:1px solid var(--border-color);height:var(--header-height)}.plant-layout{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:1fr auto;gap:var(--spacing-md);padding:var(--spacing-md);overflow:hidden}.aggregate-section{display:flex;flex-direction:column;gap:var(--spacing-md);justify-content:flex-start}.powder-section{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-lg)}.mixer-section{grid-column:1 / -1;display:flex;justify-content:center;align-items:center;padding:var(--spacing-md)}.info-panel{display:flex;flex-direction:column;gap:var(--spacing-md);width:320px;padding:var(--spacing-md);background:var(--bg-secondary);border-left:1px solid var(--border-color);overflow-y:auto}.bin-group{display:flex;gap:var(--spacing-md);flex-wrap:wrap;justify-content:center}.silo-group{display:flex;gap:var(--spacing-lg);justify-content:center}.tank-group{display:flex;gap:var(--spacing-md);justify-content:center}.recipe-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.recipe-table th,.recipe-table td{padding:var(--spacing-xs) var(--spacing-sm);text-align:left;border-bottom:1px solid var(--border-color)}.recipe-table th{color:var(--text-secondary);font-weight:500}.recipe-table td{color:var(--text-primary);font-family:Roboto Mono,monospace}.production-log{flex:1;overflow-y:auto;max-height:300px}.production-log-item{display:grid;grid-template-columns:auto 1fr auto;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);border-bottom:1px solid var(--border-color);font-size:var(--font-size-sm)}@media screen and (min-width:1920px){.dashboard-container{grid-template-columns:1fr 380px}.info-panel{width:380px}.plant-layout{gap:var(--spacing-lg);padding:var(--spacing-lg)}.bin-group{gap:var(--spacing-lg)}.silo-group{gap:var(--spacing-xl)}.recipe-table{font-size:var(--font-size-md)}.recipe-table th,.recipe-table td{padding:var(--spacing-sm) var(--spacing-md)}.production-log{max-height:400px}.production-log-item{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-md)}}@media screen and (min-width:2560px){.dashboard-container{grid-template-columns:1fr 480px}.info-panel{width:480px}.plant-layout{gap:var(--spacing-xl);padding:var(--spacing-xl)}.recipe-table{font-size:var(--font-size-lg)}.production-log{max-height:500px}}.fullscreen-mode{position:fixed;inset:0;z-index:9999}.fullscreen-mode .task-info-bar{height:calc(var(--header-height) * 1.2);font-size:var(--font-size-lg)}.fullscreen-mode .value-display{font-size:var(--font-size-2xl)}.fullscreen-mode .value-display-lg{font-size:var(--font-size-3xl)}.app-layout{display:flex;min-height:100vh;background:var(--bg-primary)}.app-sidebar{width:var(--sidebar-width);background:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;transition:width .3s ease}.app-sidebar.collapsed{width:var(--sidebar-collapsed-width)}.app-main{flex:1;display:flex;flex-direction:column;overflow:hidden}.app-header{height:var(--header-height);background:var(--bg-secondary);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;padding:0 var(--spacing-md)}.app-content{flex:1;overflow:auto;padding:var(--spacing-md)}@media screen and (min-width:1920px){.app-sidebar{width:var(--sidebar-width)}.app-content{padding:var(--spacing-lg)}}.data-table-container{width:100%;overflow-x:auto}.data-table{width:100%;min-width:800px;border-collapse:collapse}.data-table th,.data-table td{padding:var(--spacing-sm) var(--spacing-md);text-align:left;border-bottom:1px solid var(--border-color)}.data-table th{background:var(--bg-tertiary);color:var(--text-secondary);font-weight:600;position:sticky;top:0}.data-table tr:hover{background:var(--bg-tertiary)}@media screen and (min-width:1920px){.data-table{min-width:1000px}.data-table th,.data-table td{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-md)}}.form-container{max-width:600px;margin:0 auto}.form-row{display:grid;grid-template-columns:1fr;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}@media screen and (min-width:1280px){.form-row{grid-template-columns:1fr 1fr}.form-row.full-width{grid-template-columns:1fr}}@media screen and (min-width:1920px){.form-container{max-width:800px}.form-row{gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}}.queue-board{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-md);padding:var(--spacing-md)}.queue-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:var(--spacing-md)}.queue-card.active{border-color:var(--status-running);box-shadow:0 0 15px #00ff884d}@media screen and (min-width:1920px){.queue-board{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:var(--spacing-lg);padding:var(--spacing-lg)}.queue-card{padding:var(--spacing-lg)}}.hide-below-desktop{display:none}@media screen and (min-width:1280px){.hide-below-desktop{display:block}}.hide-below-hd{display:none}@media screen and (min-width:1920px){.hide-below-hd{display:block}}.text-responsive-sm{font-size:var(--font-size-xs)}.text-responsive-md{font-size:var(--font-size-sm)}.text-responsive-lg{font-size:var(--font-size-md)}@media screen and (min-width:1920px){.text-responsive-sm{font-size:var(--font-size-sm)}.text-responsive-md{font-size:var(--font-size-md)}.text-responsive-lg{font-size:var(--font-size-lg)}}.p-responsive{padding:var(--spacing-md)}.m-responsive{margin:var(--spacing-md)}.gap-responsive{gap:var(--spacing-md)}@media screen and (min-width:1920px){.p-responsive{padding:var(--spacing-lg)}.m-responsive{margin:var(--spacing-lg)}.gap-responsive{gap:var(--spacing-lg)}}
