:root{--warexya-blue:#0b4a8c;--warexya-blue-light:#e3f2fd;--warexya-blue-dark:#063260;--color-success:#4caf50;--color-warning:#ff9800;--color-error:#f44336;--color-info:#2196f3;--bg-primary:#fff;--bg-card:#fff;--bg-hover:#f0f0f0;--text-primary:#333;--text-secondary:#666;--text-muted:#999;--border-color:#e0e0e0;--border-radius:10px;--border-radius-sm:6px;--shadow-card:0 1px 3px #00000014;--shadow-elevated:0 2px 8px #0000001f;--header-height:56px;--footer-height:56px;--queue-width:380px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;overflow:hidden}body{background:var(--bg-primary);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.4}button{cursor:pointer;font-family:inherit;font-size:inherit;border:none}input{font-family:inherit;font-size:inherit}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#aaa}.login-container{background:#fff;justify-content:center;align-items:center;height:100vh;display:flex}.login-card{width:400px;max-width:90vw;padding:40px}.login-header{text-align:center;margin-bottom:36px}.login-logo-img{width:100px;height:auto;margin-bottom:16px}.login-title{color:var(--warexya-blue);letter-spacing:.5px;margin:0 0 6px;font-size:32px;font-weight:700}.login-subtitle{color:var(--text-secondary);font-size:14px;font-weight:500}.login-error{color:var(--color-error);border-radius:var(--border-radius-sm);background:#ffebee;margin-bottom:16px;padding:10px 14px;font-size:13px}.login-hint{color:var(--text-secondary);margin-bottom:16px;font-size:13px}.login-field{margin-bottom:16px}.login-field label{color:var(--text-secondary);margin-bottom:6px;font-size:13px;font-weight:500;display:block}.login-field input{background:#fff;border:1.5px solid #d1d9e6;border-radius:10px;outline:none;width:100%;padding:12px 14px;font-size:15px;transition:border-color .15s}.login-field input:focus{border-color:var(--warexya-blue)}.login-password-wrapper{align-items:center;display:flex;position:relative}.login-password-wrapper input{padding-right:42px}.login-toggle-password{cursor:pointer;opacity:.5;background:0 0;border:none;padding:4px;font-size:18px;line-height:1;position:absolute;right:10px}.login-toggle-password:hover{opacity:1}.login-button{background:var(--warexya-blue);color:#fff;letter-spacing:.3px;border-radius:10px;width:100%;margin-top:8px;padding:14px;font-size:16px;font-weight:600;transition:opacity .15s}.login-button:hover:not(:disabled){opacity:.9}.login-button:disabled{opacity:.6;cursor:not-allowed}.login-footer{text-align:center;color:#999;margin-top:24px;font-size:13px}.wh-container{background:var(--bg-primary);justify-content:center;align-items:center;height:100vh;display:flex}.wh-card{background:var(--bg-card);border-radius:var(--border-radius);box-shadow:var(--shadow-elevated);width:480px;max-width:90vw;padding:32px}.wh-header{justify-content:space-between;align-items:flex-start;margin-bottom:24px;display:flex}.wh-title{color:var(--text-primary);margin:0;font-size:20px;font-weight:600}.wh-subtitle{color:var(--text-muted);margin-top:4px;font-size:13px}.wh-logout{color:var(--text-muted);border-radius:var(--border-radius-sm);background:0 0;padding:6px 12px;font-size:13px}.wh-logout:hover{background:var(--bg-hover);color:var(--color-error)}.wh-error{color:var(--color-error);border-radius:var(--border-radius-sm);background:#ffebee;justify-content:space-between;align-items:center;margin-bottom:16px;padding:12px;font-size:13px;display:flex}.wh-retry{color:var(--color-error);background:0 0;font-size:13px;font-weight:600;text-decoration:underline}.wh-loading{text-align:center;color:var(--text-muted);padding:40px}.wh-list{flex-direction:column;gap:8px;display:flex}.wh-item{background:var(--bg-primary);border-radius:var(--border-radius-sm);text-align:left;align-items:center;gap:12px;padding:14px 16px;transition:background .15s;display:flex}.wh-item:hover{background:var(--warexya-blue-light)}.wh-item-name{color:var(--text-primary);flex:1;font-size:15px;font-weight:500}.wh-item-code{color:var(--text-muted);font-family:monospace;font-size:13px}.wh-item-badge{background:var(--warexya-blue-light);color:var(--warexya-blue);border-radius:4px;padding:2px 8px;font-size:11px;font-weight:500}.queue{flex-direction:column;height:100%;display:flex}.queue-tabs{border-bottom:1px solid var(--border-color);background:var(--bg-card);flex-shrink:0;display:flex}.queue-tab{color:var(--text-muted);background:0 0;border-bottom:2px solid #0000;flex:1;justify-content:center;align-items:center;gap:6px;padding:10px 8px;font-size:12px;font-weight:600;transition:all .15s;display:flex}.queue-tab:hover{background:var(--bg-hover)}.queue-tab-active{color:var(--text-primary)}.queue-tab-badge{color:#fff;text-align:center;border-radius:10px;min-width:18px;padding:1px 6px;font-size:10px;font-weight:700}.queue-list{flex-direction:column;flex:1;gap:6px;padding:8px;display:flex;overflow-y:auto}.queue-empty{height:100%;color:var(--text-muted);justify-content:center;align-items:center;font-size:13px;display:flex}.queue-card{background:var(--bg-primary);border-radius:var(--border-radius-sm);cursor:pointer;border-left:3px solid #0000;padding:10px 12px;transition:background .15s;position:relative}.queue-card:hover{background:var(--warexya-blue-light)}.queue-card-active{border-left-color:var(--warexya-blue);background:var(--warexya-blue-light)}.queue-card-active-badge{color:#fff;background:var(--warexya-blue);border-radius:3px;padding:1px 6px;font-size:9px;font-weight:700;position:absolute;top:4px;right:4px}.queue-card-top{align-items:center;gap:6px;margin-bottom:4px;display:flex}.queue-doc-type{border-radius:3px;padding:1px 6px;font-size:10px;font-weight:700}.queue-type-so{color:#1565c0;background:#e3f2fd}.queue-type-fr{color:#e65100;background:#fff3e0}.queue-doc-num{color:var(--text-primary);font-size:13px;font-weight:600}.queue-card-dates{color:var(--text-muted);margin-left:auto;font-size:11px}.queue-date-overdue{color:var(--color-error);font-weight:600}.queue-card-client{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.queue-card-meta{color:var(--text-muted);margin-top:2px;font-size:11px}.queue-card-shipto{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;margin-top:4px;font-size:11px;overflow:hidden}.queue-card-lines{color:var(--text-muted);margin-top:4px;font-size:11px}.queue-card-delivery{color:var(--color-success);margin-top:4px;font-size:11px;font-weight:500}.queue-card-error{color:var(--color-error);background:#ffebee;border-radius:4px;margin-top:6px;padding:4px 8px;font-size:11px}.queue-card-retry{color:var(--warexya-blue);background:var(--warexya-blue-light);border-radius:4px;margin-top:6px;padding:4px 10px;font-size:11px;font-weight:600}.queue-card-retry:hover{background:#bbdefb}.queue-drag-handle{color:var(--text-muted);cursor:grab;-webkit-user-select:none;user-select:none;font-size:14px;line-height:1}.queue-card-dragging{border-left-color:var(--warexya-blue);box-shadow:0 4px 12px #00000026}.line-card{background:var(--bg-card);border-radius:var(--border-radius);box-shadow:var(--shadow-card);border:2px solid #0000;padding:12px;transition:border-color .15s,background .3s}.line-card-done{border-color:var(--color-success);background:#f1f8e9}.line-highlight-success{animation:.5s ease-out flashGreen}.line-highlight-error{animation:.5s ease-out flashRed}@keyframes flashGreen{0%{background:#c8e6c9}to{background:var(--bg-card)}}@keyframes flashRed{0%{background:#ffcdd2}to{background:var(--bg-card)}}.line-header{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:6px;display:flex}.line-info{flex:1;min-width:0}.line-item-code{color:var(--warexya-blue);font-size:13px;font-weight:600;display:block}.line-item-desc{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:12px;display:block;overflow:hidden}.line-status{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:2px;display:flex}.line-done-badge{color:var(--color-success);background:#e8f5e9;border-radius:4px;padding:1px 8px;font-size:10px;font-weight:700}.line-qty-display{font-size:16px;font-weight:700}.line-qty-done{color:var(--warexya-blue)}.line-qty-sep{color:var(--text-muted);margin:0 2px}.line-qty-pending{color:var(--text-muted);font-weight:400}.line-progress-bar{background:#e0e0e0;border-radius:2px;height:4px;margin-bottom:8px;overflow:hidden}.line-progress-fill{border-radius:2px;height:100%;transition:width .2s}.line-bin-row{margin-bottom:8px}.line-bin-selected{width:100%;color:var(--warexya-blue);background:#e3f2fd;border-radius:4px;justify-content:space-between;align-items:center;padding:6px 10px;font-size:12px;font-weight:500;display:flex}.line-bin-change{color:var(--text-muted);font-size:11px;font-weight:400}.line-bin-empty{color:#e65100;text-align:left;background:#fff3e0;border-radius:4px;width:100%;padding:6px 10px;font-size:12px}.line-bin-empty:hover{background:#ffe0b2}.line-qty-row{align-items:center;gap:8px;margin-bottom:8px;display:flex}.line-qty-label{color:var(--text-secondary);font-size:12px;font-weight:500}.line-qty-controls{border:1px solid var(--border-color);border-radius:6px;align-items:center;gap:0;display:flex;overflow:hidden}.qty-btn{background:var(--bg-primary);width:32px;height:32px;color:var(--text-primary);justify-content:center;align-items:center;font-size:16px;font-weight:600;display:flex}.qty-btn:hover:not(:disabled){background:var(--border-color)}.qty-btn:disabled{opacity:.3;cursor:not-allowed}.qty-input{text-align:center;border:none;border-left:1px solid var(--border-color);border-right:1px solid var(--border-color);-moz-appearance:textfield;outline:none;width:48px;height:32px;font-size:14px;font-weight:600}.qty-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.qty-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.qty-max-btn{background:var(--warexya-blue-light);color:var(--warexya-blue);border-radius:4px;padding:4px 12px;font-size:12px;font-weight:600}.qty-max-btn:hover{background:#bbdefb}.line-batch-serial-row{gap:8px;display:flex}.batch-btn,.serial-btn{color:#e65100;background:#fff3e0;border-radius:4px;flex:1;padding:6px 10px;font-size:12px;font-weight:500}.batch-btn:hover,.serial-btn:hover{opacity:.8}.batch-btn-ok,.serial-btn-ok{color:var(--color-success);background:#e8f5e9}.scanner-wrapper{flex:1;align-items:center;gap:8px;display:flex}.scanner-icon{color:var(--text-muted);font-size:16px}.scanner-wrapper .scanner-input{border:1px solid var(--border-color);border-radius:var(--border-radius-sm);background:var(--bg-primary);outline:none;flex:1;padding:8px 12px;font-size:14px}.scanner-wrapper .scanner-input:focus{border-color:var(--warexya-blue);background:#fff}.scanner-wrapper .scanner-input:disabled{opacity:.5}.success-banner{background:var(--color-success);color:#fff;border-radius:var(--border-radius-sm);align-items:center;gap:8px;margin-bottom:12px;padding:10px 16px;animation:.3s ease-out slideDown;display:flex}.success-banner-icon{font-size:16px;font-weight:700}.success-banner-text{font-size:14px;font-weight:500}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.modal-overlay{z-index:100;background:#00000080;justify-content:center;align-items:center;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-card);border-radius:var(--border-radius);box-shadow:var(--shadow-elevated);flex-direction:column;max-height:80vh;animation:.15s scaleIn;display:flex}.modal-md{width:480px;max-width:90vw}.modal-lg{width:600px;max-width:90vw}.modal-header{border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;align-items:flex-start;padding:16px 20px 12px;display:flex}.modal-title{color:var(--text-primary);margin:0;font-size:16px;font-weight:600}.modal-subtitle{color:var(--text-muted);margin:2px 0 0;font-size:12px}.modal-remaining{color:var(--color-warning);font-weight:600}.modal-close{color:var(--text-muted);background:0 0;border-radius:4px;padding:4px 8px;font-size:18px}.modal-close:hover{background:var(--bg-hover)}.modal-scanner{border-bottom:1px solid var(--border-color);flex-shrink:0;gap:8px;padding:10px 20px;display:flex}.modal-scanner-input,.modal-search-input{border:1px solid var(--border-color);border-radius:var(--border-radius-sm);outline:none;flex:1;padding:8px 12px;font-size:13px}.modal-scanner-input:focus,.modal-search-input:focus{border-color:var(--warexya-blue)}.modal-body{flex:1;padding:12px 20px;overflow-y:auto}.modal-empty{text-align:center;color:var(--text-muted);padding:40px;font-size:13px}.modal-footer{border-top:1px solid var(--border-color);flex-shrink:0;justify-content:flex-end;gap:8px;padding:12px 20px;display:flex}.modal-btn{border-radius:var(--border-radius-sm);padding:8px 20px;font-size:13px;font-weight:600}.modal-btn-cancel{background:var(--bg-primary);color:var(--text-secondary)}.modal-btn-cancel:hover{background:var(--border-color)}.modal-btn-confirm{background:var(--warexya-blue);color:#fff}.modal-btn-confirm:hover:not(:disabled){opacity:.9}.modal-btn-confirm:disabled{opacity:.5;cursor:not-allowed}.bin-list{flex-direction:column;gap:6px;display:flex}.bin-item{text-align:left;background:var(--bg-primary);border-radius:var(--border-radius-sm);border:2px solid #0000;width:100%;padding:10px 12px;transition:all .15s;display:block}.bin-item:hover{background:var(--warexya-blue-light)}.bin-item-suggested{border-color:var(--warexya-blue);background:var(--warexya-blue-light)}.bin-item-top{align-items:center;gap:8px;margin-bottom:4px;display:flex}.bin-suggested-badge{color:#fff;background:var(--warexya-blue);border-radius:3px;padding:1px 8px;font-size:10px;font-weight:700}.bin-code{color:var(--text-primary);font-size:14px;font-weight:600}.bin-item-details{color:var(--text-muted);gap:12px;font-size:12px;display:flex}.batch-list{flex-direction:column;gap:6px;display:flex}.batch-item{background:var(--bg-primary);border-radius:var(--border-radius-sm);border-left:3px solid #0000;padding:10px 12px}.batch-item-inbin{border-left-color:var(--warexya-blue);background:var(--warexya-blue-light)}.batch-item-top{align-items:center;gap:8px;margin-bottom:6px;display:flex}.batch-number{color:var(--text-primary);font-size:13px;font-weight:600}.batch-expiry{color:var(--text-muted);font-size:11px}.batch-bin{color:var(--warexya-blue);background:var(--warexya-blue-light);border-radius:3px;margin-left:auto;padding:1px 6px;font-size:11px}.batch-item-bottom{justify-content:space-between;align-items:center;display:flex}.batch-available{color:var(--text-muted);font-size:12px}.batch-qty-controls{border:1px solid var(--border-color);border-radius:4px;align-items:center;gap:0;display:flex;overflow:hidden}.qty-btn-sm{background:var(--bg-card);justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;font-weight:600;display:flex}.qty-btn-sm:hover:not(:disabled){background:var(--bg-hover)}.qty-btn-sm:disabled{opacity:.3;cursor:not-allowed}.batch-qty-input{text-align:center;border:none;border-left:1px solid var(--border-color);border-right:1px solid var(--border-color);-moz-appearance:textfield;outline:none;width:44px;height:28px;font-size:13px;font-weight:600}.batch-qty-input::-webkit-outer-spin-button{-webkit-appearance:none}.batch-qty-input::-webkit-inner-spin-button{-webkit-appearance:none}.serial-list{flex-direction:column;gap:4px;display:flex}.serial-item{text-align:left;background:var(--bg-primary);border-radius:var(--border-radius-sm);border:2px solid #0000;align-items:center;gap:10px;width:100%;padding:8px 12px;transition:all .15s;display:flex}.serial-item:hover:not(:disabled){background:var(--warexya-blue-light)}.serial-item:disabled{opacity:.4;cursor:not-allowed}.serial-item-selected{border-color:var(--color-success);background:#e8f5e9}.serial-item-inbin{border-left:3px solid var(--warexya-blue)}.serial-check{text-align:center;flex-shrink:0;width:20px;font-size:16px;font-weight:700}.serial-item-selected .serial-check{color:var(--color-success)}.serial-info{flex:1;min-width:0}.serial-number{color:var(--text-primary);font-size:13px;font-weight:600;display:block}.serial-details{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;display:block;overflow:hidden}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.station-layout{grid-template-rows:var(--header-height) 1fr var(--footer-height);grid-template-columns:1fr var(--queue-width);height:100vh;display:grid}.station-header{background:var(--warexya-blue);color:#fff;grid-column:1/-1;justify-content:space-between;align-items:center;padding:0 16px;display:flex}.header-left{align-items:center;gap:8px;display:flex}.header-logo{font-size:18px;font-weight:700}.header-separator{opacity:.5}.header-title{opacity:.8;font-size:14px}.header-center{align-items:center;gap:16px;display:flex}.header-warehouse{background:#ffffff26;border-radius:4px;padding:4px 12px;font-size:14px;font-weight:500}.header-stats{gap:8px;display:flex}.stat-chip{border-radius:4px;padding:2px 8px;font-size:11px;font-weight:700}.stat-pending{background:#90caf94d}.stat-error{background:#ef9a9a4d}.stat-done{background:#a5d6a74d}.header-right{align-items:center;gap:12px;font-size:13px;display:flex}.header-user{opacity:.8}.header-btn{color:#fff;background:#ffffff26;border-radius:4px;padding:6px 12px;font-size:12px}.header-btn:hover{background:#ffffff40}.header-btn-logout:hover{background:#f4433699}.header-printer-select{color:#fff;cursor:pointer;background:#ffffff26;border:1px solid #ffffff4d;border-radius:4px;max-width:200px;padding:4px 8px;font-size:12px}.header-printer-select option{color:#333;background:#fff}.station-active-panel{grid-area:2/1;padding:16px;position:relative;overflow-y:auto}.station-queue{border-left:1px solid var(--border-color);background:var(--bg-card);grid-area:2/2;overflow:hidden}.station-footer{background:var(--bg-card);border-top:1px solid var(--border-color);grid-column:1/-1;align-items:center;gap:12px;padding:0 16px;display:flex}.footer-actions{gap:8px;display:flex}.footer-btn{border-radius:var(--border-radius-sm);white-space:nowrap;padding:8px 16px;font-size:13px;font-weight:600}.footer-btn-refresh{background:var(--bg-primary);color:var(--text-secondary)}.footer-btn-refresh:hover{background:var(--border-color)}.footer-btn-create{color:#fff;background:#2e7d32}.footer-btn-create:hover:not(:disabled){background:#1b5e20}.footer-btn-create:disabled{opacity:.5;cursor:not-allowed}.order-header{background:var(--bg-card);border-radius:var(--border-radius);box-shadow:var(--shadow-card);margin-bottom:12px;padding:14px}.order-header-overdue{border-left:4px solid var(--color-error)}.order-header-top{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:6px;display:flex}.order-doc-type{background:var(--warexya-blue-light);color:var(--warexya-blue);border-radius:4px;padding:2px 8px;font-size:11px;font-weight:700}.order-doc-num{color:var(--warexya-blue);font-size:20px;font-weight:700}.order-ref{color:var(--text-secondary);font-size:12px}.order-date{color:var(--text-muted);font-size:12px}.order-overdue-badge{color:var(--color-error);background:#ffebee;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:700}.order-client{color:var(--text-primary);margin-bottom:2px;font-size:14px;font-weight:600}.order-shipto{color:var(--text-secondary);margin-bottom:6px;font-size:12px}.order-progress{align-items:center;gap:10px;margin-top:8px;display:flex}.progress-bar{background:var(--border-color);border-radius:3px;flex:1;height:6px;overflow:hidden}.progress-fill{background:var(--warexya-blue);border-radius:3px;height:100%;transition:width .3s}.progress-text{color:var(--text-secondary);white-space:nowrap;font-size:12px}.lines-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:10px;display:grid}.no-lines{text-align:center;color:var(--text-muted);grid-column:1/-1;padding:40px}.scan-error-banner{color:var(--color-error);border-radius:var(--border-radius-sm);background:#ffebee;margin-bottom:12px;padding:8px 16px;font-size:13px;font-weight:500;animation:.2s fadeIn}.station-placeholder{height:100%;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.station-placeholder h2{color:var(--text-muted);font-weight:500}.refresh-big-btn{background:var(--warexya-blue);color:#fff;border-radius:var(--border-radius-sm);margin-top:12px;padding:8px 20px;font-size:14px;font-weight:500}.refresh-big-btn:hover{opacity:.9}.creating-overlay{z-index:50;color:var(--warexya-blue);background:#ffffffd9;flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:16px;font-weight:600;animation:.15s fadeIn;display:flex;position:absolute;inset:0}.creating-spinner{border:3px solid var(--border-color);border-top-color:var(--warexya-blue);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}
